Browse Source

AddFireball almost bin exact

pull/78/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
7d9030f629
  1. 70
      Source/missiles.cpp

70
Source/missiles.cpp

@ -1769,57 +1769,33 @@ void __fastcall AddFirewall(int mi, int sx, int sy, int dx, int dy, int midir, i
void __fastcall AddFireball(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam) void __fastcall AddFireball(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)
{ {
int v9; // edi int i;
int v10; // eax
int v12; // ecx if (sx == dx && sy == dy) {
int v13; // edx dx += XDirAdd[midir];
int v14; // esi dy += YDirAdd[midir];
int v15; // eax
int v16; // esi
int i; // [esp+Ch] [ebp-4h]
int mienemya; // [esp+28h] [ebp+18h]
v9 = sx;
i = mi;
if (sx == dx) {
mi = dy;
if (sy == dy) {
mi = YDirAdd[midir] + dy;
dx += XDirAdd[midir];
dy += YDirAdd[midir];
}
} }
if ((_BYTE)mienemy) { if (!(_BYTE)mienemy) {
v14 = 16; missile[mi]._midam = 2 * (plr[id]._pLevel + random(60, 10) + random(60, 10)) + 4;
} else { for (i = 0; i < missile[mi]._mispllvl; i++) {
v10 = random(60, 10); missile[mi]._midam += missile[mi]._midam >> 3;
v12 = 2 * (plr[id]._pLevel + random(60, 10) + v10) + 4;
v13 = missile[i]._mispllvl;
missile[i]._midam = v12;
if (v13 > 0) {
mienemya = v13;
do {
v12 += v12 >> 3;
--mienemya;
} while (mienemya);
missile[i]._midam = v12;
} }
v14 = 2 * v13 + 16; i = 2 * missile[mi]._mispllvl + 16;
if (v14 > 50) if (i > 50)
v14 = 50; i = 50;
UseMana(id, 12); UseMana(id, 12);
} else {
i = 16;
} }
GetMissileVel(i, v9, sy, dx, dy, v14); GetMissileVel(mi, sx, sy, dx, dy, i);
v15 = GetDirection16(v9, sy, dx, dy); SetMissDir(mi, GetDirection16(sx, sy, dx, dy));
SetMissDir(i, v15); missile[mi]._mirange = 256;
v16 = i; missile[mi]._miVar1 = sx;
missile[v16]._miVar3 = 0; missile[mi]._miVar2 = sy;
missile[v16]._mirange = 256; missile[mi]._miVar3 = 0;
missile[v16]._miVar1 = v9; missile[mi]._miVar4 = sx;
missile[v16]._miVar2 = sy; missile[mi]._miVar5 = sy;
missile[v16]._miVar4 = v9; missile[mi]._mlid = AddLight(sx, sy, 8);
missile[v16]._miVar5 = sy;
missile[v16]._mlid = AddLight(v9, sy, 8);
} }
void __fastcall AddLightctrl(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam) void __fastcall AddLightctrl(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)

Loading…
Cancel
Save