From 287dc74e2fc4e1af8c44a8b86920975dc3b2d4ff Mon Sep 17 00:00:00 2001 From: aperturesecurity Date: Thu, 21 Mar 2019 21:07:12 +0200 Subject: [PATCH] AddHeal Bin Exact --- Source/missiles.cpp | 68 +++++++++++++++++++-------------------------- 1 file changed, 28 insertions(+), 40 deletions(-) diff --git a/Source/missiles.cpp b/Source/missiles.cpp index d33dd2085..7e99ad780 100644 --- a/Source/missiles.cpp +++ b/Source/missiles.cpp @@ -2609,50 +2609,38 @@ void __fastcall AddBoom(int mi, int sx, int sy, int dx, int dy, int midir, int m void __fastcall AddHeal(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam) { - int v9; // esi - signed int v10; // ebx - int v12; // edi - int i; // ebx - int v15; // ecx - int *v16; // eax - int *v17; // eax - int v18; // esi - int v19; // [esp+Ch] [ebp-8h] - int v20; // [esp+10h] [ebp-4h] - - v19 = mi; - v9 = id; - v10 = 0; - v12 = (random(57, 10) + 1) << 6; - if (plr[id]._pLevel > 0) { - do { - v12 += (random(57, 4) + 1) << 6; - ++v10; - } while (v10 < plr[v9]._pLevel); - } - v20 = 0; - for (i = v19; v20 < missile[i]._mispllvl; ++v20) { - v12 += (random(57, 6) + 1) << 6; - } - if (plr[v9]._pClass == PC_WARRIOR) - v12 *= 2; - if (plr[v9]._pClass == PC_ROGUE) - v12 += v12 >> 1; - v15 = plr[v9]._pMaxHP; - v16 = &plr[v9]._pHitPoints; - *v16 += v12; - if (plr[v9]._pHitPoints > v15) - *v16 = v15; - v17 = &plr[v9]._pHPBase; - v18 = plr[v9]._pMaxHPBase; - *v17 += v12; - if (*v17 > v18) - *v17 = v18; + int i; + signed int HealAmount = (random(57, 10) + 1) << 6; + for(i = 0 ; i < plr[id]._pLevel ; i++){ + HealAmount += (random(57, 4) + 1) << 6; + } + for (i = 0; i < missile[mi]._mispllvl; i++) { + HealAmount += (random(57, 6) + 1) << 6; + } + + if (plr[id]._pClass == PC_WARRIOR) + HealAmount *= 2; + + if (plr[id]._pClass == PC_ROGUE) + HealAmount += HealAmount >> 1; + + plr[id]._pHitPoints += HealAmount; + if (plr[id]._pHitPoints > plr[id]._pMaxHP) + plr[id]._pHitPoints = plr[id]._pMaxHP; + + plr[id]._pHPBase += HealAmount; + if (plr[id]._pHPBase > plr[id]._pMaxHPBase) + plr[id]._pHPBase = plr[id]._pMaxHPBase; + UseMana(id, 2); - missile[i]._miDelFlag = TRUE; + missile[mi]._miDelFlag = TRUE; drawhpflag = TRUE; } + + + + void __fastcall AddHealOther(int mi, int sx, int sy, int dx, int dy, int midir, int mienemy, int id, int dam) { missile[mi]._miDelFlag = TRUE;