/* synthesized appendix for KEYPAD */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x20 slot_20 ===== */ function keypad_slot_20() /* entry=459 class_id=0x0A0D slot=0x20 */ { set_info(0x0207, *(arg_06)); local_06 = 0; local_08 = 0; /* loop_selector local_02 in nearby_items(shape=0x0251, origin=arg_06) */ while (!condition) { if (Item.getQLo(local_02) == Item.getQLo(arg_06)) { VALBOX.slot_20(local_02); local_0A = retval; if (local_0A <= 0x03E7) { return; } } /* loopnext */ } if ((Item.getStatus(arg_06) & 0x1000) == 0) { local_0C = KeypadGump.showKeypad(local_0A); if (local_0C == -1) { /* bit_not */ return; } else if (local_0C == local_0A) { spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); suspend; } else { spawn TRIGGER.slot_20(pid, 1, *(arg_06), arg_06); suspend; spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; if (World.getAlertActive()) { spawn FREE.slot_44(0x00000000); } } /* bit_not */ } return; }