Browse Source

AddBoneSpirit bin exact (#615)

pull/36/head
qndel 7 years ago committed by Robin Eklind
parent
commit
b00c33c654
  1. 41
      Source/missiles.cpp

41
Source/missiles.cpp

@ -3423,40 +3423,25 @@ void __fastcall AddTelekinesis(int mi, int sx, int sy, int dx, int dy, int midir
void __fastcall AddBoneSpirit(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam)
{
int v9; // ebx
int v10; // edi
int v11; // esi
int v12; // eax
int v13; // eax
int mia; // [esp+Ch] [ebp-8h]
int x; // [esp+10h] [ebp-4h]
v9 = dx;
v10 = dy;
x = sx;
mia = mi;
if (sx == dx && sy == dy) {
v9 = XDirAdd[midir] + dx;
v10 = YDirAdd[midir] + dy;
dx = XDirAdd[midir] + dx;
dy = YDirAdd[midir] + dy;
}
v11 = mi;
missile[mi]._midam = 0;
GetMissileVel(mi, sx, sy, v9, v10, 16);
v12 = GetDirection8(x, sy, v9, v10);
SetMissDir(mia, v12);
missile[v11]._miVar3 = 0;
missile[v11]._mirange = 256;
missile[v11]._miVar1 = x;
missile[v11]._miVar2 = sy;
missile[v11]._miVar4 = v9;
missile[v11]._miVar5 = v10;
missile[v11]._mlid = AddLight(x, sy, 8);
GetMissileVel(mi, sx, sy, dx, dy, 16);
SetMissDir(mi, GetDirection8(sx, sy, dx, dy));
missile[mi]._mirange = 256;
missile[mi]._miVar1 = sx;
missile[mi]._miVar2 = sy;
missile[mi]._miVar3 = 0;
missile[mi]._miVar4 = dx;
missile[mi]._miVar5 = dy;
missile[mi]._mlid = AddLight(sx, sy, 8);
if (!(_BYTE)mienemy) {
UseMana(id, 36);
v13 = id;
drawhpflag = TRUE;
plr[v13]._pHPBase -= 384;
plr[v13]._pHitPoints -= 384;
plr[id]._pHitPoints -= 384;
plr[id]._pHPBase -= 384;
if (plr[id]._pHitPoints <= 0)
SyncPlrKill(id, 0);
}

Loading…
Cancel
Save