/* synthesized appendix for PU_GUN */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x06 gotHit ===== */ function pu_gun_gotHit() /* entry=361 class_id=0x05BA slot=0x06 */ { set_info(0x020C, *(arg_06)); process_exclude(); spawn WALLGUN2.slot_21(arg_0C, arg_0A, arg_06); return; } /* ===== slot 0x0A equip ===== */ function pu_gun_equip() /* entry=361 class_id=0x05BA slot=0x0A */ { set_info(0x0211, *(arg_06)); process_exclude(); if (World.getControlledNPCNum() == 0) { spawn WALLGUN.slot_24(pid, arg_0A, World.getControlledNPCNum(), arg_06); suspend; return; } else { spawn WALLGUN.slot_24(pid, arg_0A, global[0x001E], arg_06); suspend; } return; } /* ===== slot 0x0B unequip ===== */ function pu_gun_unequip() /* entry=361 class_id=0x05BA slot=0x0B */ { set_info(0x0212, *(arg_06)); process_exclude(); if (!(Item.getStatus(arg_06) & 4)) { return; } else { spawn WALLGUN.slot_27(arg_06); } return; } /* ===== slot 0x0E calledFromAnim ===== */ function pu_gun_calledFromAnim() /* entry=361 class_id=0x05BA slot=0x0E */ { entry: set_info(0x021A, *(arg_06)); process_exclude(); local_02 = *(arg_06); local_05 = Actor.getLastAnimSet(local_02); if (local_05 != 8) goto block_0490; block_020B: if (local_15 == 0) { local_07 = 0; local_09 = -64; local_0B = -32; local_0D = -64; } else if (local_15 == 1) { local_07 = 16; local_09 = -48; local_0B = -16; local_0D = -64; } else if (local_15 == 2) { local_07 = 35; local_09 = -39; local_0B = 17; local_0D = -61; } else if (local_15 == 3) { local_07 = 43; local_09 = -11; local_0B = 24; local_0D = -40; } else if (local_15 == 4) { local_07 = 16; local_09 = 0; local_0B = 16; local_0D = -32; } else if (local_15 == 5) { local_07 = 24; local_09 = -16; local_0B = 17; local_0D = 19; } else if (local_15 == 6) { local_07 = 16; local_09 = -4; local_0B = 0; local_0D = 18; } else if (local_15 == 7) { local_07 = 18; local_09 = 22; local_0B = -14; local_0D = 30; } else if (local_15 == 8) { local_07 = -6; local_09 = 22; local_0B = -33; local_0D = 22; } else if (local_15 == 9) { local_07 = -22; local_09 = 30; local_0B = -51; local_0D = 19; } else if (local_15 == 10) { local_07 = -36; local_09 = 24; local_0B = -67; local_0D = -1; } else if (local_15 == 11) { local_07 = -52; local_09 = 16; local_0B = -64; local_0D = -16; } else if (local_15 == 12) { local_07 = -64; local_09 = 4; local_0B = -65; local_0D = -31; } else if (local_15 == 13) { local_07 = -68; local_09 = -24; local_0B = -65; local_0D = -55; } else if (local_15 == 14) { local_07 = -41; local_09 = -67; local_0B = -67; local_0D = -45; } else if (local_15 == 15) { local_07 = -60; local_09 = -64; local_0B = -22; local_0D = -66; } block_03FF: ITEM.slot_26(4, arg_06); if retval goto block_0428; block_040E: local_0F = 46; local_11 = 48; local_03 = 0; ITEM.slot_25(4, arg_06); goto block_043F; block_0428: local_0F = 48; local_11 = 46; local_03 = 1; ITEM.slot_24(4, arg_06); block_043F: spawn FREE.slot_3B(pid, 5, 0x00000000); suspend; goto block_0541; block_0490: set_info(0x00F0, 0); /* loop_selector local_17 in nearby_items(shape=0x04E7, origin=local_02) */ block_04AC: if condition goto block_04F1; block_04AF: if (Intrinsic000D(local_02) != Item.getQLo(local_17)) goto block_04ED; block_04C5: if (Item.getMapNum(local_17) != 0) goto block_04ED; block_04D4: spawn TRIGGER.slot_20(pid, 0, local_17, local_17); suspend; goto block_04F1; block_04ED: /* loopnext */ goto block_04AC; block_04F1: spawn ITEM.slot_2A(pid, 1, 2, local_02); suspend; block_0541: return; } /* ===== slot 0x0F enterFastArea ===== */ function pu_gun_enterFastArea() /* entry=361 class_id=0x05BA slot=0x0F */ { set_info(0x021B, *(arg_06)); process_exclude(); if (*(arg_06) >= 0x0100) { return; } else if (!(Item.getStatus(arg_06) & 4)) { return; } else { spawn WALLGUN.slot_27(arg_06); } return; } /* ===== slot 0x10 leaveFastArea ===== */ function pu_gun_leaveFastArea() /* entry=361 class_id=0x05BA slot=0x10 */ { set_info(0x021C, *(arg_06)); process_exclude(); /* bit_not */ FREE.slot_3C(1, *(arg_06)); FREE.slot_3C(0x020A, *(arg_06)); return; }