Browse Source

Clean up Obj_BCrossDamage.

pull/88/head
Sergey Semushin 7 years ago
parent
commit
b0fac7e542
  1. 62
      Source/objects.cpp

62
Source/objects.cpp

@ -2029,45 +2029,33 @@ void Obj_Trap(int i)
void Obj_BCrossDamage(int i) void Obj_BCrossDamage(int i)
{ {
int v1; // esi int fire_resist;
BOOLEAN v2; // zf int damage[4] = { 6, 8, 10, 12 };
int v3; // ecx
int v4; // edx if (plr[myplr]._pmode == PM_DEATH)
int v6; // ecx return;
int damage[4]; // [esp+4h] [ebp-18h]
int v8; // [esp+18h] [ebp-4h] fire_resist = plr[myplr]._pFireResist;
if (fire_resist > 0)
v1 = myplr; damage[leveltype - 1] -= fire_resist * damage[leveltype - 1] / 100;
v8 = i;
v2 = plr[myplr]._pmode == PM_DEATH; if (plr[myplr].WorldX != object[i]._ox || plr[myplr].WorldY != object[i]._oy - 1)
damage[0] = 6; return;
damage[1] = 8;
damage[2] = 10; plr[myplr]._pHitPoints -= damage[leveltype - 1];
damage[3] = 12; plr[myplr]._pHPBase -= damage[leveltype - 1];
if (!v2) { if (plr[myplr]._pHitPoints >> 6 <= 0) {
v3 = plr[v1]._pFireResist; SyncPlrKill(myplr, 0);
if (v3 > 0) } else {
damage[leveltype - 1] -= v3 * damage[leveltype - 1] / 100; if (plr[myplr]._pClass == PC_WARRIOR) {
if (plr[v1].WorldX == object[v8]._ox && plr[v1].WorldY == object[v8]._oy - 1) { PlaySfxLoc(PS_WARR68, plr[myplr].WorldX, plr[myplr].WorldY);
v4 = damage[leveltype - 1]; } else if (plr[myplr]._pClass == PC_ROGUE) {
plr[v1]._pHitPoints -= v4; PlaySfxLoc(PS_ROGUE68, plr[myplr].WorldX, plr[myplr].WorldY);
plr[v1]._pHPBase -= v4; } else if (plr[myplr]._pClass == PC_SORCERER) {
if (plr[v1]._pHitPoints >> 6 <= 0) { PlaySfxLoc(PS_MAGE68, plr[myplr].WorldX, plr[myplr].WorldY);
SyncPlrKill(myplr, 0);
drawhpflag = TRUE;
return;
}
if (plr[myplr]._pClass == PC_WARRIOR) {
v6 = PS_WARR68;
} else if (plr[myplr]._pClass == PC_ROGUE) {
v6 = PS_ROGUE68;
} else if (plr[myplr]._pClass == PC_SORCERER) {
v6 = PS_MAGE68;
}
PlaySfxLoc(v6, plr[v1].WorldX, plr[v1].WorldY);
drawhpflag = TRUE;
} }
} }
drawhpflag = TRUE;
} }
void ProcessObjects() void ProcessObjects()

Loading…
Cancel
Save