Browse Source

Clean up MAI_SkelBow

pull/25/head
Anders Jenbo 7 years ago
parent
commit
5cc5661676
  1. 82
      Source/monster.cpp

82
Source/monster.cpp

@ -3887,65 +3887,43 @@ void __fastcall MAI_Bat(int i)
void __fastcall MAI_SkelBow(int i)
{
int v1; // esi
MonsterStruct *v2; // esi
int v3; // edi
int v4; // ebx
int v5; // eax
int v7; // eax
//int v8; // ST04_4
int v9; // ecx
int v10; // eax
//int v11; // ST04_4
int v12; // eax
//int v13; // eax
int v14; // edi
int v15; // ebx
//int v16; // eax
int v17; // [esp+4h] [ebp-10h]
bool v18; // [esp+8h] [ebp-Ch]
int v19; // [esp+Ch] [ebp-8h]
int arglist; // [esp+10h] [ebp-4h]
MonsterStruct *Monst;
int mx, my, md, v;
BOOL walking;
v18 = 0;
v1 = i;
arglist = i;
walking = FALSE;
if ((DWORD)i >= MAXMONSTERS)
TermMsg("MAI_SkelBow: Invalid monster %d", i);
v2 = &monster[v1];
if (v2->_mmode == MM_STAND && v2->_msquelch) {
v3 = v2->_mx - (unsigned char)v2->_menemyx;
v4 = v2->_my - (unsigned char)v2->_menemyy;
v5 = M_GetDir(arglist);
v17 = v5;
v2->_mdir = v5;
v19 = random(110, 100);
v7 = abs(v3);
//v9 = v8;
if (v7 < 4) {
v10 = abs(v4);
//v9 = v11;
if (v10 < 4) {
if ((v9 = v2->_mVar2, v9 > 20) && v19 < 2 * (unsigned char)v2->_mint + 13
|| ((v12 = v2->_mVar1, v12 == 1) || v12 == 2 || v12 == 3)
&& !v9
&& v19 < 2 * (unsigned char)v2->_mint + 63) {
//_LOBYTE(v13) = M_DumbWalk(arglist, opposite[v17]);
v18 = M_DumbWalk(arglist, opposite[v17]);
}
Monst = &monster[i];
if (Monst->_mmode == MM_STAND && Monst->_msquelch) {
mx = Monst->_mx - Monst->_menemyx;
my = Monst->_my - Monst->_menemyy;
md = M_GetDir(i);
Monst->_mdir = md;
v = random(110, 100);
if (abs(mx) < 4 && abs(my) < 4) {
if (Monst->_mVar2 > 20 && v < 2 * Monst->_mint + 13
|| (Monst->_mVar1 == 1 || Monst->_mVar1 == 2 || Monst->_mVar1 == 3)
&& !Monst->_mVar2
&& v < 2 * Monst->_mint + 63) {
walking = M_DumbWalk(i, opposite[md]);
}
}
v14 = (unsigned char)v2->_menemyx;
v15 = (unsigned char)v2->_menemyy;
if (!v18) {
if (random(110, 100) < 2 * (unsigned char)v2->_mint + 3) {
//_LOBYTE(v16) = LineClear(v2->_mx, v2->_my, v14, v15);
if (LineClear(v2->_mx, v2->_my, v14, v15))
M_StartRAttack(arglist, MIS_ARROW, 4);
mx = Monst->_menemyx;
my = Monst->_menemyy;
if (!walking) {
if (random(110, 100) < 2 * Monst->_mint + 3) {
if (LineClear(Monst->_mx, Monst->_my, mx, my))
M_StartRAttack(i, MIS_ARROW, 4);
}
}
if (v2->_mmode == MM_STAND)
v2->_mAnimData = v2->MType->Anims[MA_STAND].Data[v17];
if (Monst->_mmode == MM_STAND)
Monst->_mAnimData = Monst->MType->Anims[MA_STAND].Data[md];
}
}

Loading…
Cancel
Save