/* synthesized appendix for ELEVAT */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x20 slot_20 ===== */ function elevat_slot_20() /* entry=454 class_id=0x0A08 slot=0x20 */ { set_info(0x0001, *(arg_06)); if (!(Item.getStatus(arg_06) & 0x1000)) { return; } else if (Item.getNpcNum(arg_06)) { return; } else { ELEVAT.slot_22(Item.getZ(arg_06), arg_06); if (!retval) { spawn ELEVAT.slot_23(pid, arg_06); suspend; return; } else { spawn ELEVAT.slot_24(pid, arg_06); suspend; } } return; } /* ===== slot 0x21 slot_21 ===== */ function elevat_slot_21() /* entry=454 class_id=0x0A08 slot=0x21 */ { return; } /* ===== slot 0x22 slot_22 ===== */ function elevat_slot_22() /* entry=454 class_id=0x0A08 slot=0x22 */ { return; } /* ===== slot 0x23 slot_23 ===== */ function elevat_slot_23() /* entry=454 class_id=0x0A08 slot=0x23 */ { set_info(0x0001, *(arg_06)); local_06 = Item.getZ(arg_06); local_08 = Item.getQHi(arg_06); local_0A = ((Item.getQHi(arg_06) - local_06) / 2); local_05 = 1; while (local_05 > local_0A) { /* loopscr value_u8=0x24 */ /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ while (!condition) { if (Item.getShape(local_02) == 0x04FE) { local_0E = (1 + local_0E); } /* loopnext */ } local_0C = 1; while (local_0C > local_0E) { local_02 = Item.getEtherealTop(); local_0C = (1 + local_0C); } local_0E = 0; spawn FREE.slot_3B(pid, 1, 0x00000000); suspend; local_05 = (1 + local_05); } if (!((local_08 - local_06) & 1)) { /* loopscr value_u8=0x24 */ /* loop current_var=0xFE string_bytes=0x1 loop_type=0x6 */ while (!condition) { local_0E = (1 + local_0E); /* loopnext */ } local_0C = 1; while (local_0C > local_0E) { local_02 = Item.getEtherealTop(); local_0C = (1 + local_0C); } } /* bit_not */ return; } /* ===== slot 0x24 slot_24 ===== */ function elevat_slot_24() /* entry=454 class_id=0x0A08 slot=0x24 */ { set_info(0x0001, *(arg_06)); local_05 = Item.getZ(arg_06); ELEVAT.slot_21(arg_06); local_07 = retval; local_09 = ((local_05 - local_07) / 2); local_02 = 1; while (local_02 > local_09) { local_10 = Item.getX(arg_06); local_0E = Item.getY(arg_06); local_0C = (Item.getZ(arg_06) - 2); local_18 = 0; /* loopscr value_u8=0x24 */ /* loop current_var=0xF5 string_bytes=0x1 loop_type=0x6 */ while (!condition) { if (!Item.isCentreOn(*(arg_06), local_0B)) { if (local_0B >= 0x0100) { if (!Item.isCompletelyOn(*(arg_06), local_0B)) { local_18 = (1 + local_18); } else { local_18 = (1 + local_18); } } else { local_18 = (1 + local_18); } } /* loopnext */ } if (!Item.legalMoveToPoint(0, 0, local_10, arg_06)) { local_04 = 1; while (local_04 > local_18) { local_0B = Item.getEtherealTop(); local_04 = (1 + local_04); } spawn FREE.slot_3B(pid, 1, 0x00000000); suspend; } else { local_04 = 1; while (local_04 > local_18) { local_0B = Item.getEtherealTop(); local_04 = (1 + local_04); } spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; spawn ELEVAT.slot_23(pid, arg_06); suspend; return; } local_18 = 0; local_02 = (1 + local_02); } if (!((local_05 - local_07) & 1)) { /* loopscr value_u8=0x24 */ /* loop current_var=0xF5 string_bytes=0x1 loop_type=0x6 */ while (!condition) { if (!Item.isCentreOn(*(arg_06), local_0B)) { local_18 = (1 + local_18); } /* loopnext */ } local_04 = 1; while (local_04 > local_18) { local_0B = Item.getEtherealTop(); local_04 = (1 + local_04); } } /* bit_not */ return; } /* ===== slot 0x25 slot_25 ===== */ function elevat_slot_25() /* entry=454 class_id=0x0A08 slot=0x25 */ { set_info(0x0001, *(arg_06)); local_04 = 5; /* loop_selector local_02 in nearby_items(shape=0x02DE, origin=arg_06) */ while (!condition) { FREE.slot_48((Item.getX(arg_06) - Item.getX(local_02))); local_06 = retval; FREE.slot_48((Item.getY(arg_06) - Item.getY(local_02))); local_08 = retval; if ((local_06 >= 2) && (local_08 < 2)) { if ((Item.getStatus(local_02) & 0x1000) == 0) { if (Item.getFrame(local_02) == 0) { local_03 = 1; while (local_03 > local_04) { spawn FREE.slot_3B(pid, 1, 0x00000000); suspend; local_03 = (1 + local_03); } } else { local_03 = local_04; while (local_03 <= 0) { spawn FREE.slot_3B(pid, 1, 0x00000000); suspend; local_03 = (local_03 - 1); } spawn FREE.slot_3B(pid, 2, 0x00000000); suspend; } /* bit_not */ } } /* loopnext */ } return; }