From e34d2846a36979694e7dbf7579fca45b568ba166 Mon Sep 17 00:00:00 2001 From: qndel Date: Fri, 20 Sep 2019 12:08:30 +0200 Subject: [PATCH] [hellfire] MI_Rune bin exact --- Source/missiles.cpp | 51 ++++++++++++++++----------------------------- 1 file changed, 18 insertions(+), 33 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index 24ab41413..8e8daf10d 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -3593,45 +3593,30 @@ void missiles_4359A0(int i) void MI_Rune(int i) { - int dir; - int mid; - int pid; + int mid, pid, dir, mx, my; - mid = dMonster[missile[i]._mix][missile[i]._miy]; - pid = dPlayer[missile[i]._mix][missile[i]._miy]; - - if (mid == 0) { - if (pid == 0) { - PutMissile(i); - return; - } else { - if (pid <= 0) - pid = -1 - pid; + mx = missile[i]._mix; + my = missile[i]._miy; + mid = dMonster[mx][my]; + pid = dPlayer[mx][my]; + if (mid != 0 || pid != 0) { + if (mid != 0) { + if (mid > 0) + mid = mid - 1; else + mid = -(mid + 1); + dir = GetDirection(missile[i]._mix, missile[i]._miy, monster[mid]._mx, monster[mid]._my); + } else { + if (pid > 0) pid = pid - 1; + else + pid = -(pid + 1); dir = GetDirection(missile[i]._mix, missile[i]._miy, plr[pid].WorldX, plr[pid].WorldY); } - } else { - if (mid <= 0) - mid = -1 - mid; - else - mid = mid - 1; - dir = GetDirection(missile[i]._mix, missile[i]._miy, monster[mid]._mx, monster[mid]._my); + missile[i]._miDelFlag = TRUE; + AddUnLight(missile[i]._mlid); + AddMissile(mx, my, mx, my, dir, missile[i]._miVar1, 2, missile[i]._misource, missile[i]._midam, missile[i]._mispllvl); } - - missile[i]._miDelFlag = TRUE; - AddUnLight(missile[i]._mlid); - AddMissile( - missile[i]._mix, - missile[i]._miy, - missile[i]._mix, - missile[i]._miy, - dir, - missile[i]._miVar1, - 2, - missile[i]._misource, - missile[i]._midam, - missile[i]._mispllvl); PutMissile(i); }