Browse Source

AddFirebolt almost bin exact

pull/78/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
52c415a98a
  1. 72
      Source/missiles.cpp

72
Source/missiles.cpp

@ -1651,54 +1651,36 @@ void __fastcall AddRndTeleport(int mi, int sx, int sy, int dx, int dy, int midir
void __fastcall AddFirebolt(int mi, int sx, int sy, int dx, int dy, int midir, int micaster, int id, int dam)
{
int v9; // ebx
int v10; // esi
int v11; // edi
int v12; // eax
int v13; // eax
int v14; // eax
int v15; // esi
signed int v16; // [esp-4h] [ebp-14h]
int i; // [esp+Ch] [ebp-4h]
int micastera; // [esp+28h] [ebp+18h]
v9 = dx;
v10 = dy;
v11 = sx;
i = mi;
int i, mx, sp;
if (sx == dx && sy == dy) {
v9 = XDirAdd[midir] + dx;
v10 = YDirAdd[midir] + dy;
}
if ((_BYTE)micaster) {
v16 = 26;
goto LABEL_17;
}
for (micastera = 0; micastera < nummissiles; ++micastera) {
v12 = missileactive[micastera];
if (missile[v12]._mitype == MIS_GUARDIAN && missile[v12]._misource == id && missile[v12]._miVar3 == mi)
break;
dx += XDirAdd[midir];
dy += YDirAdd[midir];
}
if (micastera == nummissiles)
UseMana(id, 1);
if (id == -1) {
v16 = 16;
goto LABEL_17;
if (!(_BYTE)micaster) {
for (i = 0; i < nummissiles; i++) {
mx = missileactive[i];
if (missile[mx]._mitype == MIS_GUARDIAN && missile[mx]._misource == id && missile[mx]._miVar3 == mi)
break;
}
if (i == nummissiles)
UseMana(id, 1);
if (id != -1) {
sp = 2 * missile[mi]._mispllvl + 16;
if (sp >= 63)
sp = 63;
} else {
sp = 16;
}
} else {
sp = 26;
}
v13 = 2 * missile[i]._mispllvl + 16;
if (v13 >= 63) {
v16 = 63;
LABEL_17:
v13 = v16;
}
GetMissileVel(i, v11, sy, v9, v10, v13);
v14 = GetDirection16(v11, sy, v9, v10);
SetMissDir(i, v14);
v15 = i;
missile[v15]._mirange = 256;
missile[v15]._miVar1 = v11;
missile[v15]._miVar2 = sy;
missile[v15]._mlid = AddLight(v11, sy, 8);
GetMissileVel(mi, sx, sy, dx, dy, sp);
SetMissDir(mi, GetDirection16(sx, sy, dx, dy));
missile[mi]._mirange = 256;
missile[mi]._miVar1 = sx;
missile[mi]._miVar2 = sy;
missile[mi]._mlid = AddLight(sx, sy, 8);
}
void __fastcall AddMagmaball(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)

Loading…
Cancel
Save