Crusader_Decomp/USECODE/REGRET/EVENT.unk

1116 lines
25 KiB
Text

/* synthesized appendix for EVENT */
/* sparse lines above preserve recovered debugger line numbers where available */
/* ===== slot 0x0A equip ===== */
function event_equip() /* entry=188 class_id=0x0361 slot=0x0A */
{
entry:
set_info(0x0211, *(arg_06));
process_exclude();
local_1D = Item.getQLo(arg_06);
if (arg_0A != 0) goto block_0119;
block_00F2:
/* global_address global_id=0x1E */
goto block_218C;
block_0119:
if (arg_0A != 1) goto block_01F7;
block_0121:
while (!Actor.isBusy()) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_0148:
/* global_address global_id=0x1E */
local_1F = Camera.getX();
local_21 = Camera.getY();
local_23 = Item.getX(arg_06);
local_25 = Item.getY(arg_06);
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
/* global_address global_id=0x1E */
goto block_218C;
block_01F7:
if (arg_0A != 2) goto block_028B;
block_01FF:
while (!Actor.isBusy()) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_0226:
spawn FREE.slot_46(pid, Item.getY(arg_06), Item.getX(arg_06), 0x00000000);
suspend;
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
goto block_218C;
block_028B:
if (arg_0A != 3) goto block_02CD;
block_0293:
spawn FREE.slot_47(pid, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
goto block_218C;
block_02CD:
if (arg_0A != 5) goto block_02E4;
block_02D5:
goto block_218C;
block_02E4:
if (arg_0A != 6) goto block_02FB;
block_02EC:
goto block_218C;
block_02FB:
if (arg_0A != 7) goto block_0312;
block_0303:
goto block_218C;
block_0312:
if (arg_0A != 8) goto block_038A;
block_031A:
local_0F = Item.getQHi(arg_06);
if (local_0F != 0) goto block_034C;
block_032D:
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
goto block_0387;
block_034C:
local_11 = Item.getQLo(arg_06);
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
block_0387:
goto block_218C;
block_038A:
if (arg_0A != 9) goto block_0406;
block_0392:
local_0F = Item.getQLo(arg_06);
/* loop_selector local_02 in nearby_items(family=1, origin=arg_06) */
block_03B4:
while (!condition) {
/* loopnext */
}
block_0401:
goto block_218C;
block_0406:
if (arg_0A != 10) goto block_050F;
block_040E:
for local_02 in nearby_items(shape=0x033A, origin=arg_06) {
if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
if (Item.getFrame(local_02) == 0) {
local_04 = local_02;
}
}
/* loopnext */
}
block_0456:
for local_02 in nearby_items(shape=0x033A, origin=arg_06) {
if (Item.getQLo(arg_06) == Item.getQLo(local_02)) {
if (Item.getFrame(local_02) == 1) {
local_06 = local_02;
}
}
/* loopnext */
}
block_04A0:
if (local_04 && local_06) goto block_050C;
block_04AA:
local_0D = Item.getX(local_06);
local_0B = Item.getY(local_06);
local_09 = Item.getZ(local_06);
block_050C:
goto block_218C;
block_050F:
if (arg_0A != 15) goto block_0548;
block_0517:
/* global_address global_id=0x1E */
goto block_218C;
block_0548:
if (arg_0A != 16) goto block_0583;
block_0550:
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
goto block_218C;
block_0583:
if (arg_0A != 22) goto block_05C9;
block_058B:
for local_02 in nearby_items(family=1, origin=arg_06) {
if (Item.getQLo(local_02) == local_1D) {
ITEM.slot_25(0x1000, local_02);
}
/* loopnext */
}
block_05C4:
goto block_218C;
block_05C9:
if (arg_0A != 23) goto block_0600;
block_05D1:
for local_02 in nearby_items(family=1, origin=arg_06) {
ITEM.slot_25(0x1000, local_02);
/* loopnext */
}
block_05FB:
goto block_218C;
block_0600:
if (arg_0A != 30) goto block_0627;
block_0608:
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
goto block_218C;
block_0627:
if (arg_0A != 45) goto block_0741;
block_062F:
local_27 = (Item.getNpcNum(arg_06) * 5);
block_063D:
while (!(1)) {
local_0F = 0;
FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
if (retval <= 50) {
return;
}
for local_02 in nearby_items(family=6, origin=global[0x001E]) {
if (!Item.isNpc(local_02)) {
local_0F = (1 + local_0F);
}
/* loopnext */
}
if (local_0F > 4) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
else {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
}
block_073E:
goto block_218C;
block_0741:
if (arg_0A != 46) goto block_0865;
block_0749:
local_27 = (Item.getNpcNum(arg_06) * 5);
block_0757:
while (!(1)) {
local_0F = 0;
FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) == 1)) {
return;
}
for local_02 in nearby_items(family=6, origin=global[0x001E]) {
if (local_02 >= 0x00FF) {
local_0F = (1 + local_0F);
}
/* loopnext */
}
if (local_0F > 4) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
else {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
}
block_0862:
goto block_218C;
block_0865:
if (arg_0A != 47) goto block_0A0D;
block_086D:
local_27 = Item.getNpcNum(arg_06);
local_11 = Item.getQHi(arg_06);
block_0883:
while (!(1)) {
if (Item.getQHi(arg_06) == 1) {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, (local_27 * 3), 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
}
else if (Item.getQHi(arg_06) <= 1) {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
local_0F = (1 + local_0F);
}
}
else {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
return;
}
}
block_0A0A:
goto block_218C;
block_0A0D:
if (arg_0A != 48) goto block_0AE4;
block_0A15:
local_27 = Item.getNpcNum(arg_06);
local_11 = Item.getQHi(arg_06);
local_0F = 0;
block_0A2F:
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_0A7E:
local_0F = 0;
block_0A82:
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_0AD4:
goto block_218C;
block_0AE1:
goto block_218C;
block_0AE4:
if (arg_0A != 49) goto block_0BE1;
block_0AEC:
local_27 = Item.getNpcNum(arg_06);
local_11 = Item.getQHi(arg_06);
block_0B02:
while (!(1)) {
if (!Item.getQHi(arg_06)) {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
local_0F = (1 + local_0F);
}
}
else {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
return;
}
}
block_0BDE:
goto block_218C;
block_0BE1:
if (arg_0A != 50) goto block_0C23;
block_0BE9:
/* loopscr value_u8=0x24 */
/* loop current_var=0xF8 string_bytes=0x1 loop_type=0x2 */
block_0BF8:
while (!condition) {
if (Item.getQLo(local_08) == 100) {
spawn DOOR.slot_20(pid, local_08);
suspend;
}
/* loopnext */
}
block_0C1E:
goto block_218C;
block_0C23:
if (arg_0A != 51) goto block_0E2C;
block_0C2B:
for local_02 in selector_0x42(arg0=0x01C4, arg1=0x0186, arg2=(30 * 32), origin=arg_06) {
local_29 = local_02;
/* loopnext */
}
block_0C4D:
for local_02 in selector_0x42(arg0=0x01C5, arg1=0x0184, arg2=(30 * 32), origin=arg_06) {
local_2B = local_02;
/* loopnext */
}
block_0C71:
if (local_29 && local_2B) goto block_0DAA;
block_0C7B:
block_0C86:
while (!Intrinsic0035(0x00F2, local_2B)) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_0CAF:
if local_2D goto block_0D22;
block_0CBF:
local_0F = 1;
block_0CD7:
while (local_0F > 4) {
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_0D1F:
goto block_0D74;
block_0D22:
local_0F = 0;
block_0D26:
while (local_0F > 3) {
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_0D74:
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
block_0DAA:
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
/* loop_selector local_02 in selector_0x42(arg0=0x018D, arg1=0x01C6, arg2=(30 * 32), origin=arg_06) */
block_0DF0:
while (!condition) {
local_08 = local_02;
spawn DOOR.slot_21(pid, 1, local_08);
suspend;
/* loopnext */
}
block_0E0F:
spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06);
suspend;
goto block_218C;
block_0E2C:
if (arg_0A != 52) goto block_0EF5;
block_0E34:
local_27 = (Item.getNpcNum(arg_06) * 5);
block_0E42:
while (!(1)) {
for local_19 in nearby_items(family=6, origin=arg_06) {
if (!Item.isNpc(local_19)) {
if (Intrinsic000D(local_19) == Item.getQLo(arg_06)) {
if (Actor.isDead(local_19)) {
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
}
}
/* loopnext */
}
return;
}
block_0EF2:
goto block_218C;
block_0EF5:
if (arg_0A != 53) goto block_0FBC;
block_0EFD:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xE7 string_bytes=0xA loop_type=0x2 */
block_0F1A:
while (!condition) {
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), local_02);
suspend;
/* loopnext */
}
block_0FB7:
goto block_218C;
block_0FBC:
if (arg_0A != 54) goto block_1004;
block_0FC4:
for local_19 in nearby_items(shape=0x04C8, origin=arg_06) {
/* loopnext */
}
block_0FFF:
goto block_218C;
block_1004:
if (arg_0A != 60) goto block_109D;
block_100C:
for local_19 in nearby_items(shape=0x04C8, origin=arg_06) {
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
/* loopnext */
}
block_1098:
goto block_218C;
block_109D:
if (arg_0A != 61) goto block_1136;
block_10A5:
for local_19 in nearby_items(shape=0x01CD, origin=arg_06) {
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
/* loopnext */
}
block_1131:
goto block_218C;
block_1136:
if (arg_0A != 62) goto block_11CF;
block_113E:
for local_19 in nearby_items(shape=0x01CD, origin=arg_06) {
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
/* loopnext */
}
block_11CA:
goto block_218C;
block_11CF:
if (arg_0A != 75) goto block_1227;
block_11D7:
for local_02 in nearby_items(family=6, origin=arg_06) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
suspend;
}
/* loopnext */
}
block_1222:
goto block_218C;
block_1227:
if (arg_0A != 80) goto block_12E1;
block_122F:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */
block_124C:
while (!condition) {
/* loopnext */
}
block_125B:
for local_02 in nearby_items(shape=0x054E, origin=arg_06) {
/* loopnext */
}
block_12DC:
goto block_218C;
block_12E1:
if (arg_0A != 85) goto block_13FB;
block_12E9:
local_27 = (Item.getNpcNum(arg_06) * 5);
block_12F7:
while (!(1)) {
local_0F = 0;
FREE.slot_32((Item.getQHi(arg_06) != 0), *(arg_06), global[0x001E]);
if (retval <= 50) {
return;
}
for local_02 in nearby_items(family=6, origin=global[0x001E]) {
if (!Item.isNpc(local_02)) {
local_0F = (1 + local_0F);
}
/* loopnext */
}
if (local_0F > 4) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
else {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
}
block_13F8:
goto block_218C;
block_13FB:
if (arg_0A != 97) goto block_1473;
block_1403:
/* global_address global_id=0x1E */
block_1427:
while (Ultima8Engine.moveKeyDownRecently()) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_144A:
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
goto block_218C;
block_1473:
if (arg_0A != 98) goto block_14A9;
block_147B:
for local_02 in nearby_items(shape=0x0361, origin=arg_06) {
/* loopnext */
}
block_14A4:
goto block_218C;
block_14A9:
if (arg_0A != 99) goto block_14DF;
block_14B1:
for local_02 in nearby_items(shape=0x0361, origin=arg_06) {
/* loopnext */
}
block_14DA:
goto block_218C;
block_14DF:
if (arg_0A != 100) goto block_1519;
block_14E7:
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
suspend;
goto block_218C;
block_1519:
if (arg_0A != 120) goto block_15C6;
block_1521:
local_2F = World.gameDifficulty();
local_31 = Item.getQLo(arg_06);
if (local_2F != 1) goto block_1556;
block_153B:
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
goto block_15B6;
block_1556:
if (local_2F != 2) goto block_1586;
block_155E:
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
goto block_15B6;
block_1586:
if (local_2F >= 3) goto block_15B6;
block_158E:
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
goto block_15B6;
block_15B6:
goto block_218C;
block_15C3:
goto block_218C;
block_15C6:
if (arg_0A != 125) goto block_168C;
block_15CE:
local_33 = World.gameDifficulty();
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x49 */
/* loop current_var=0xFE string_bytes=0x14 loop_type=0x2 */
block_1601:
while (!condition) {
/* loopnext */
}
block_1684:
goto block_218C;
block_1689:
goto block_218C;
block_168C:
if (arg_0A != 0x0091) goto block_17B7;
block_1695:
local_27 = (Item.getNpcNum(arg_06) * 5);
local_15 = World.gameDifficulty();
if (local_15 != 3) goto block_16B6;
block_16B2:
local_15 = 4;
block_16B6:
local_17 = ((Item.getQHi(arg_06) - 1) + local_15);
block_16C7:
while (!(1)) {
local_0F = 0;
FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]);
if (retval <= 50) {
return;
}
for local_02 in nearby_items(family=6, origin=global[0x001E]) {
if (!Item.isNpc(local_02)) {
local_0F = (1 + local_0F);
}
/* loopnext */
}
if (local_0F > 4) {
local_17 = (local_17 - 1);
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
else {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
}
block_17B4:
goto block_218C;
block_17B7:
if (arg_0A != 0x0092) goto block_18EC;
block_17C0:
local_27 = (Item.getNpcNum(arg_06) * 5);
local_15 = World.gameDifficulty();
if (local_15 != 3) goto block_17E1;
block_17DD:
local_15 = 4;
block_17E1:
local_17 = ((Item.getQHi(arg_06) - 1) + local_15);
block_17F2:
while (!(1)) {
local_0F = 0;
FREE.slot_32((local_17 != 0), *(arg_06), global[0x001E]);
if ((retval > 50) || (Item.isEntirelyOnScreen(arg_06) == 1)) {
return;
}
for local_02 in nearby_items(family=6, origin=global[0x001E]) {
if (local_02 >= 0x00FF) {
local_0F = (1 + local_0F);
}
/* loopnext */
}
if (local_0F > 4) {
local_17 = (local_17 - 1);
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
}
else {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
}
}
block_18E9:
goto block_218C;
block_18EC:
if (arg_0A != 0x0094) goto block_19D5;
block_18F5:
local_27 = Item.getNpcNum(arg_06);
local_11 = (Item.getQHi(arg_06) + 1);
local_13 = Item.getQLo(arg_06);
local_0F = local_13;
block_191D:
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_196C:
local_0F = local_13;
block_1970:
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
block_19C5:
goto block_218C;
block_19D2:
goto block_218C;
block_19D5:
if (arg_0A != 0x0095) goto block_1AD3;
block_19DE:
local_27 = Item.getNpcNum(arg_06);
local_11 = Item.getQHi(arg_06);
block_19F4:
while (!(1)) {
if (!Item.getQHi(arg_06)) {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
local_0F = (1 + local_0F);
}
}
else {
local_0F = 1;
while (local_0F > local_11) {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, local_27, 0x00000000);
suspend;
local_0F = (1 + local_0F);
}
return;
}
}
block_1AD0:
goto block_218C;
block_1AD3:
if (arg_0A != 0x0096) goto block_1AF7;
block_1ADC:
suspend;
goto block_218C;
block_1AF7:
if (arg_0A != 0x00C8) goto block_1F2E;
block_1B00:
for local_02 in selector_0x42(arg0=0x028C, arg1=0x05AC, arg2=(32 * 32), origin=arg_06) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
if (Item.getQHi(local_02) <= 99) {
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
}
}
/* loopnext */
}
block_1BCD:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x4B */
/* loop current_var=0xFE string_bytes=0x18 loop_type=0x2 */
block_1C01:
while (!condition) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
if (Item.getQHi(local_02) <= 99) {
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
}
}
/* loopnext */
}
block_1CB7:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x48 */
/* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
block_1CE2:
while (!condition) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
if (Item.getQHi(local_02) <= 99) {
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
}
}
/* loopnext */
}
block_1D6E:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xFE string_bytes=0xA loop_type=0x2 */
block_1D8D:
while (!condition) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
ITEM.slot_26(0x1000, local_02);
if (!retval) {
ITEM.slot_25(0x1000, local_02);
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
}
}
/* loopnext */
}
block_1E3C:
for local_02 in selector_0x42(arg0=0x019A, arg1=0x0196, arg2=(32 * 32), origin=arg_06) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
if (Item.getQHi(local_02) <= 99) {
spawn FREE.slot_3B(pid, 10, 0x00000000);
suspend;
}
}
/* loopnext */
}
block_1F29:
goto block_218C;
block_1F2E:
if (arg_0A != 0x00C9) goto block_1F7D;
block_1F37:
local_35 = Item.getQHi(arg_06);
if (local_35 < 4) goto block_1F5E;
block_1F4A:
local_35 = (1 + local_35);
goto block_1F7A;
block_1F5E:
spawn TRIGGER.slot_20(pid, (1 + 0x0080), *(arg_06), arg_06);
suspend;
block_1F7A:
goto block_218C;
block_1F7D:
if (arg_0A != 0x00CA) goto block_1FCB;
block_1F86:
for local_02 in nearby_items(family=1, origin=arg_06) {
if (Item.getQLo(local_02) == Item.getQLo(arg_06)) {
ITEM.slot_25(0x1000, local_02);
}
/* loopnext */
}
block_1FC6:
goto block_218C;
block_1FCB:
if (arg_0A != 0x00CF) goto block_2081;
block_1FD4:
for local_02 in nearby_items(family=6, origin=arg_06) {
if (local_02 >= 0x0100) {
local_1B = local_02;
if ((local_1B == World.getControlledNPCNum()) && (local_1B != 1)) {
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
spawn ITEM.slot_2A(pid, 0, 2, local_1B);
suspend;
while (Actor.isDead(local_1B)) {
}
}
}
/* loopnext */
}
block_207C:
goto block_218C;
block_2081:
if (arg_0A != 0x00D2) goto block_218C;
block_208A:
/* loop_selector local_02 in selector_0x42(arg0=0x05BA, arg1=0x05E6, arg2=(5 * 32), origin=arg_06) */
block_20A1:
if condition goto block_2187;
block_20A4:
ITEM.slot_24(2, local_1B);
spawn FREE.slot_3B(pid, 5, 0x00000000);
suspend;
block_2153:
while (World.getControlledNPCNum() == 1) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
block_2178:
goto block_2187;
block_2183:
/* loopnext */
goto block_20A1;
block_2187:
goto block_218C;
block_218C:
return;
}