From 6b2e87064df278e4fc3ca769d0d9798c27d9c4e7 Mon Sep 17 00:00:00 2001 From: qndel Date: Wed, 20 Mar 2019 00:10:11 +0100 Subject: [PATCH] Sentfire bin exact --- Source/missiles.cpp | 46 +++++++++++++-------------------------------- 1 file changed, 13 insertions(+), 33 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index ff727a31f..20342815e 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3128,41 +3128,21 @@ int __fastcall AddMissile(int sx, int sy, int dx, int dy, int midir, int mitype, int __fastcall Sentfire(int i, int sx, int sy) { - int v3; // esi - int v4; // ebx - int v5; // edi - //int v6; // eax - int v7; // eax - int v8; // eax - int v9; // edi - int midir; // ST30_4 - int v11; // ecx - int v12; // eax - //int v13; // edx - int mi; // [esp+Ch] [ebp-8h] - - mi = i; - v3 = i; - v4 = sx; - v5 = 0; - //_LOBYTE(v6) = LineClear(missile[i]._mix, missile[i]._miy, sx, sy); + int ex, dir; + + ex = 0; if (LineClear(missile[i]._mix, missile[i]._miy, sx, sy)) { - v7 = dMonster[v4][sy]; - if (v7 > 0 && monster[v7 - 1]._mhitpoints >> 6 > 0 && v7 - 1 > 3) /* fix monstactive */ - { - v8 = GetDirection(missile[v3]._mix, missile[v3]._miy, v4, sy); - v9 = missile[v3]._misource; - midir = v8; - v11 = missile[v3]._misource; - missile[v3]._miVar3 = missileavail[0]; - v12 = GetSpellLevel(v11, 1); - AddMissile(missile[v3]._mix, missile[v3]._miy, v4, sy, midir, MIS_FIREBOLT, 0, v9, missile[v3]._midam, v12); /* check mtype v13 */ - v5 = -1; - SetMissDir(mi, 2); - missile[v3]._miVar2 = 3; + if (dMonster[sx][sy] > 0 && monster[dMonster[sx][sy] - 1]._mhitpoints >> 6 > 0 && dMonster[sx][sy] - 1 > 3) { + dir = GetDirection(missile[i]._mix, missile[i]._miy, sx, sy); + missile[i]._miVar3 = missileavail[0]; + AddMissile(missile[i]._mix, missile[i]._miy, sx, sy, dir, MIS_FIREBOLT, 0, missile[i]._misource, missile[i]._midam, GetSpellLevel(missile[i]._misource, 1)); + ex = -1; + SetMissDir(i, 2); + missile[i]._miVar2 = 3; } } - return v5; + + return ex; } void __fastcall MI_Dummy(int i) @@ -4764,7 +4744,7 @@ void __fastcall MI_Flamec(int i) void __fastcall MI_Cbolt(int i) { - int sx, sy, dy, md; + int md; int bpath[16] = { -1, 0, 1, -1, 0, 1, -1, -1, 0, 0, 1, 1, 0, 1, -1, 0 }; missile[i]._mirange--;