/* synthesized appendix for LIFT */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x01 use ===== */ function lift_use() /* entry=62 class_id=0x0133 slot=0x01 */ { set_info(0x0207, *(arg_06)); process_exclude(); if (Item.getQuality(arg_06) == 10) { spawn LIFT.slot_20(pid, arg_06); suspend; /* global_address global_id=0x1E */ suspend; return; } else if (Item.getQuality(arg_06) == 20) { spawn LIFT.slot_20(pid, arg_06); suspend; return; } return; } /* ===== slot 0x06 gotHit ===== */ function lift_gotHit() /* entry=62 class_id=0x0133 slot=0x06 */ { set_info(0x020C, *(arg_06)); process_exclude(); local_02 = arg_0A; FREE.slot_35(arg_0C, arg_0A); if (!retval) { return; } else if (arg_0A == 1) { return; } else if (Item.getQuality(arg_06) == 1) { /* global_address global_id=0x1E */ if (!Actor.isBusy()) { spawn FREE.slot_3B(pid, 2, 0x00000000); suspend; } /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; spawn LIFT.slot_20(pid, arg_06); suspend; suspend; suspend; return; } else if (Item.getQuality(arg_06) == 10) { /* global_address global_id=0x1E */ if (!Actor.isBusy()) { spawn FREE.slot_3B(pid, 2, 0x00000000); suspend; } /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ suspend; /* global_address global_id=0x1E */ suspend; spawn LIFT.slot_20(pid, arg_06); suspend; suspend; /* global_address global_id=0x1E */ suspend; return; } return; } /* ===== slot 0x0F enterFastArea ===== */ function lift_enterFastArea() /* entry=62 class_id=0x0133 slot=0x0F */ { set_info(0x021B, *(arg_06)); process_exclude(); if (Item.getQuality(arg_06) == 2) { /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; spawn LIFT.slot_20(arg_06); suspend; return; } else if (Item.getQuality(arg_06) == 20) { /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ /* global_address global_id=0x1E */ spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; spawn LIFT.slot_20(arg_06); suspend; return; } return; } /* ===== slot 0x20 slot_20 ===== */ function lift_slot_20() /* entry=62 class_id=0x0133 slot=0x20 */ { set_info(0x0001, *(arg_06)); local_06 = 1; while (local_06 > 47) { local_0B = Item.getX(arg_06); local_09 = Item.getY(arg_06); local_07 = (Item.getZ(arg_06) - 2); local_04 = 0; /* loopscr value_u8=0x24 */ /* loop current_var=0xF3 string_bytes=0x1 loop_type=0x6 */ while (!condition) { local_0F = Item.getShape(local_0D); if (local_0D == *(arg_06)) { local_04 = (1 + local_04); } /* loopnext */ } if (!Item.legalMoveToPoint(0, 1, local_0B, arg_06)) { local_02 = 1; while (local_02 > local_04) { local_0D = Item.getEtherealTop(); local_02 = (1 + local_02); } spawn FREE.slot_3B(pid, 2, 0x00000000); suspend; } else { local_02 = 1; while (local_02 > local_04) { local_0D = Item.getEtherealTop(); local_02 = (1 + local_02); } return; } local_06 = (1 + local_06); } return; }