Browse Source

MI_Town bin exact

pull/44/head
qndel 7 years ago committed by Anders Jenbo
parent
commit
fa59e036c8
  1. 82
      Source/missiles.cpp

82
Source/missiles.cpp

@ -3819,69 +3819,35 @@ void __fastcall MI_Lightning(int i)
void __fastcall MI_Town(int i)
{
int v1; // esi
int v2; // eax
int *v3; // edi
int v4; // ecx
int ExpLight[17]; // [esp+8h] [ebp-4Ch]
int ia; // [esp+4Ch] [ebp-8h]
int arglist; // [esp+50h] [ebp-4h]
int ExpLight[17] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 15, 15 };
int p;
v1 = i;
ExpLight[14] = 15;
ExpLight[15] = 15;
ExpLight[16] = 15;
v2 = missile[i]._mirange;
ia = i;
ExpLight[0] = 1;
ExpLight[1] = 2;
ExpLight[2] = 3;
ExpLight[3] = 4;
ExpLight[4] = 5;
ExpLight[5] = 6;
ExpLight[6] = 7;
ExpLight[7] = 8;
ExpLight[8] = 9;
ExpLight[9] = 10;
ExpLight[10] = 11;
ExpLight[11] = 12;
ExpLight[12] = 13;
ExpLight[13] = 14;
if (v2 > 1)
missile[v1]._mirange = v2 - 1;
if (missile[v1]._mirange == missile[v1]._miVar1)
if (missile[i]._mirange > 1)
missile[i]._mirange--;
if (missile[i]._mirange == missile[i]._miVar1)
SetMissDir(i, 1);
if (currlevel && missile[v1]._mimfnum != 1 && missile[v1]._mirange) {
if (!missile[v1]._miVar2)
missile[v1]._mlid = AddLight(missile[v1]._mix, missile[v1]._miy, 1);
ChangeLight(missile[v1]._mlid, missile[v1]._mix, missile[v1]._miy, ExpLight[missile[v1]._miVar2]);
++missile[v1]._miVar2;
}
arglist = 0;
v3 = &plr[0].plrlevel;
do {
if (*((_BYTE *)v3 - 23)) {
if (currlevel == *v3
&& !*((_BYTE *)v3 + 267)
&& !*(v3 - 13)
&& v3[1] == missile[v1]._mix
&& v3[2] == missile[v1]._miy) {
ClrPlrPath(arglist);
if (arglist == myplr) {
NetSendCmdParam1(TRUE, CMD_WARP, missile[v1]._misource);
*(v3 - 13) = 10;
}
if (currlevel && missile[i]._mimfnum != 1 && missile[i]._mirange) {
if (!missile[i]._miVar2)
missile[i]._mlid = AddLight(missile[i]._mix, missile[i]._miy, 1);
ChangeLight(missile[i]._mlid, missile[i]._mix, missile[i]._miy, ExpLight[missile[i]._miVar2]);
missile[i]._miVar2++;
}
for (p = 0; p < 4; p++) {
if (plr[p].plractive && currlevel == plr[p].plrlevel && !plr[p]._pLvlChanging && !plr[p]._pmode && plr[p].WorldX == missile[i]._mix && plr[p].WorldY == missile[i]._miy) {
ClrPlrPath(p);
if (p == myplr) {
NetSendCmdParam1(TRUE, CMD_WARP, missile[i]._misource);
plr[p]._pmode = 10;
}
}
++arglist;
v3 += 5430;
} while ((signed int)v3 < (signed int)&plr[4].plrlevel);
if (!missile[v1]._mirange) {
v4 = missile[v1]._mlid;
missile[v1]._miDelFlag = TRUE;
AddUnLight(v4);
}
PutMissile(ia);
if (!missile[i]._mirange) {
missile[i]._miDelFlag = TRUE;
AddUnLight(missile[i]._mlid);
}
PutMissile(i);
}
void __fastcall MI_Flash(int i)

Loading…
Cancel
Save