Browse Source

MI_Weapexp bin exact (#645)

pull/35/head
qndel 7 years ago committed by Robin Eklind
parent
commit
08b0725c33
  1. 67
      Source/missiles.cpp

67
Source/missiles.cpp

@ -4732,59 +4732,32 @@ void __fastcall mi_null_11(int i)
void __fastcall MI_Weapexp(int i)
{
int v1; // esi
int v2; // ecx
int v3; // eax
int v4; // ecx
BOOLEAN v5; // zf
int v6; // edx
int v7; // eax
int v8; // eax
int v9; // ecx
int ExpLight[10]; // [esp+4h] [ebp-2Ch]
int ia; // [esp+2Ch] [ebp-4h]
int id, mind, maxd;
int ExpLight[10] = { 9, 10, 11, 12, 11, 10, 8, 6, 4, 2 };
ia = i;
v1 = i;
--missile[v1]._mirange;
ExpLight[0] = 9;
ExpLight[1] = 10;
ExpLight[5] = 10;
v2 = missile[i]._mitype;
ExpLight[2] = 11;
ExpLight[4] = 11;
v3 = missile[v1]._misource;
v4 = v2;
v5 = missile[v1]._miVar2 == 1;
ExpLight[3] = 12;
ExpLight[6] = 8;
ExpLight[7] = 6;
ExpLight[8] = 4;
ExpLight[9] = 2;
if (v5) {
v6 = plr[v3]._pIFMinDam;
v7 = plr[v3]._pIFMaxDam;
missiledata[v4].mResist = MISR_FIRE;
missile[i]._mirange--;
if (missile[i]._miVar2 == 1) {
mind = plr[id]._pIFMinDam;
maxd = plr[id]._pIFMaxDam;
missiledata[missile[i]._mitype].mResist = MISR_FIRE;
} else {
v6 = plr[v3]._pILMinDam;
v7 = plr[v3]._pILMaxDam;
missiledata[v4].mResist = MISR_LIGHTNING;
mind = plr[id]._pILMinDam;
maxd = plr[id]._pILMaxDam;
missiledata[missile[i]._mitype].mResist = MISR_LIGHTNING;
}
CheckMissileCol(ia, v6, v7, 0, missile[v1]._mix, missile[v1]._miy, 0);
v8 = missile[v1]._miVar1;
if (v8) {
if (missile[v1]._mirange)
ChangeLight(missile[v1]._mlid, missile[v1]._mix, missile[v1]._miy, ExpLight[v8]);
CheckMissileCol(i, mind, maxd, 0, missile[i]._mix, missile[i]._miy, 0);
if (!missile[i]._miVar1) {
missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 9);
} else {
missile[v1]._mlid = AddLight(missile[v1]._mix, missile[v1]._miy, 9);
if (missile[i]._mirange)
ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar1]);
}
++missile[v1]._miVar1;
if (missile[v1]._mirange) {
PutMissile(ia);
missile[i]._miVar1++;
if (!missile[i]._mirange) {
missile[i]._miDelFlag = TRUE;
AddUnLight(missile[i]._mlid);
} else {
v9 = missile[v1]._mlid;
missile[v1]._miDelFlag = TRUE;
AddUnLight(v9);
PutMissile(i);
}
}

Loading…
Cancel
Save