Browse Source

Clean up MAI_Zombie (#514)

pull/25/head
Anders Jenbo 7 years ago committed by Robin Eklind
parent
commit
43f98614b0
  1. 65
      Source/monster.cpp

65
Source/monster.cpp

@ -3529,57 +3529,40 @@ LABEL_12:
void __fastcall MAI_Zombie(int i)
{
int v1; // esi
//int v2; // ST04_4
MonsterStruct *v3; // esi
int v4; // edi
int v5; // ebx
int v6; // edi
int v7; // eax
int v8; // ecx
int v9; // eax
int v10; // eax
int v11; // eax
int v12; // ecx
int md; // [esp+Ch] [ebp-Ch]
int v14; // [esp+10h] [ebp-8h]
int arglist; // [esp+14h] [ebp-4h]
MonsterStruct *Monst;
int mx, my;
int md, v;
v1 = i;
arglist = i;
if ((DWORD)i >= MAXMONSTERS) {
TermMsg("MAI_Zombie: Invalid monster %d", i);
//i = v2;
}
v3 = &monster[v1];
if (v3->_mmode == MM_STAND) {
v4 = v3->_my;
if (dFlags[v3->_mx][v4] & DFLAG_VISIBLE) {
v5 = v3->_mx - (unsigned char)v3->_menemyx;
v6 = v4 - (unsigned char)v3->_menemyy;
md = v3->_mdir;
v14 = random(103, 100);
if (abs(v5) >= 2 || abs(v6) >= 2) {
if (v14 < 2 * (unsigned char)v3->_mint + 10) {
v7 = abs(v5);
v8 = 2 * (unsigned char)v3->_mint + 4;
if (v7 >= v8 || (v9 = abs(v6), v8 = 2 * (unsigned char)v3->_mint + 4, v9 >= v8)) {
v11 = random(104, 100);
v12 = 2 * (unsigned char)v3->_mint + 20;
if (v11 < v12) {
Monst = &monster[i];
if (Monst->_mmode == MM_STAND) {
mx = Monst->_mx;
my = Monst->_my;
if (dFlags[mx][my] & DFLAG_VISIBLE) {
mx = mx - Monst->_menemyx;
my = my - Monst->_menemyy;
md = Monst->_mdir;
v = random(103, 100);
if (abs(mx) >= 2 || abs(my) >= 2) {
if (v < 2 * Monst->_mint + 10) {
if (abs(mx) >= 2 * Monst->_mint + 4 || abs(my) >= 2 * Monst->_mint + 4) {
if (random(104, 100) < 2 * Monst->_mint + 20) {
md = random(104, 8);
}
M_DumbWalk(arglist, md);
M_DumbWalk(i, md);
} else {
v10 = M_GetDir(arglist);
M_CallWalk(arglist, v10);
md = M_GetDir(i);
M_CallWalk(i, md);
}
}
} else if (v14 < 2 * (unsigned char)v3->_mint + 10) {
M_StartAttack(arglist);
} else if (v < 2 * Monst->_mint + 10) {
M_StartAttack(i);
}
if (v3->_mmode == MM_STAND)
v3->_mAnimData = v3->MType->Anims[MA_STAND].Data[v3->_mdir];
if (Monst->_mmode == MM_STAND)
Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[Monst->_mdir];
}
}
}

Loading…
Cancel
Save