Browse Source

Clean up PlaceUniques.

pull/100/head
Sergey Semushin 7 years ago committed by Anders Jenbo
parent
commit
661a621873
  1. 89
      Source/monster.cpp

89
Source/monster.cpp

@ -1006,69 +1006,32 @@ void InitMonsters()
void PlaceUniques() void PlaceUniques()
{ {
int v0; // edi int u;
int v1; // eax BOOL done;
UniqMonstStruct *v2; // ecx int mt;
int v3; // eax
int v4; // edx for (u = 0; UniqMonst[u].mtype != -1; u++) {
CMonster *v5; // esi if (UniqMonst[u].mlevel != currlevel)
int v6; // eax continue;
int v7; // edx done = FALSE;
for (mt = 0; mt < nummtypes; mt++) {
v0 = 0; if (done)
if (UniqMonst[0].mtype != -1) { break;
v1 = 0; done = (Monsters[mt].mtype == UniqMonst[u].mtype);
v2 = UniqMonst; }
while (UniqMonst[v1].mlevel != currlevel) { mt--;
LABEL_25: if (u == 0 && quests[QTYPE_GARB]._qactive == 0)
v1 = ++v0; done = FALSE;
v2 = &UniqMonst[v0]; if (u == 2 && quests[QTYPE_ZHAR]._qactive == 0)
if (v2->mtype == -1) done = FALSE;
return; if (u == 3 && quests[QTYPE_BOL]._qactive == 0)
} done = FALSE;
v3 = 0; if (u == 7 && quests[QTYPE_VEIL]._qactive == 0)
v4 = 0; done = FALSE;
if (nummtypes > 0) { if (u == 8 && quests[QTYPE_WARLRD]._qactive == 0)
v5 = Monsters; done = FALSE;
do { if (done)
if (v3) PlaceUniqueMonst(u, mt, 8);
break;
v6 = -((char)v2->mtype != (unsigned char)v5->mtype);
++v5;
v3 = v6 + 1;
++v4;
} while (v4 < nummtypes);
}
v7 = v4 - 1;
if (!v0) {
if (quests[QTYPE_GARB]._qactive)
goto LABEL_23;
v3 = 0;
}
if (v0 == 2) {
if (quests[QTYPE_ZHAR]._qactive)
goto LABEL_23;
v3 = 0;
}
if (v0 == 3) {
if (quests[QTYPE_BOL]._qactive)
goto LABEL_23;
v3 = 0;
}
if (v0 != 7) {
LABEL_20:
if (v0 == 8 && !quests[QTYPE_WARLRD]._qactive)
v3 = 0;
goto LABEL_23;
}
if (!quests[QTYPE_VEIL]._qactive) {
v3 = 0;
goto LABEL_20;
}
LABEL_23:
if (v3)
PlaceUniqueMonst(v0, v7, 8);
goto LABEL_25;
} }
} }

Loading…
Cancel
Save