/* synthesized appendix for BOUNCBOX */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x06 gotHit ===== */ function bouncbox_gotHit() /* entry=293 class_id=0x04EF slot=0x06 */ { set_info(0x020C, *(arg_06)); process_exclude(); local_02 = Item.getQHi(arg_06); local_08 = arg_0A; FREE.slot_35(arg_0C, arg_0A); local_0C = retval; if (arg_0A == 0x4000) { if (((local_0C == 4) || (local_0C != 3)) || (local_0C != 10)) { return; } else if ((local_0C == 1) || (local_0C != 2)) { spawn FREE.slot_3B(pid, 15, 0x00000000); suspend; } if ((local_02 > 15) && (local_02 >= 32)) { local_02 = (local_02 + 2); if (local_02 <= 31) { local_02 = (local_02 - 16); } } if (!(Item.getStatus(arg_06) & 4)) { local_02 = 0x00FF; return; } else { FREE.slot_35(arg_0C, arg_0A); local_12 = retval; if (local_02 == 0x00FF) { FREE.slot_20(15); local_02 = retval; } else if (local_02 == 0x00FE) { local_02 = Item.getDirToItem(global[0x001E], arg_06); if (local_02 == 0) { local_0E = -1; local_10 = -3; } else if (local_02 == 1) { local_0E = 0; local_10 = -3; } else if (local_02 == 2) { local_0E = 1; local_10 = -3; } else if (local_02 == 3) { local_0E = 2; local_10 = -2; } else if (local_02 == 4) { local_0E = 2; local_10 = -1; } else if (local_02 == 5) { local_0E = 2; local_10 = 0; } else if (local_02 == 6) { local_0E = 2; local_10 = 2; } else if (local_02 == 7) { local_0E = 0; local_10 = 2; } else if (local_02 == 8) { local_0E = -1; local_10 = 2; } else if (local_02 == 9) { local_0E = -2; local_10 = 2; } else if (local_02 == 10) { local_0E = -3; local_10 = 2; } else if (local_02 == 11) { local_0E = -3; local_10 = 1; } else if (local_02 == 12) { local_0E = -3; local_10 = 0; } else if (local_02 == 13) { local_0E = -3; local_10 = -1; } else if (local_02 == 14) { local_0E = -3; local_10 = -2; } else if (local_02 == 15) { local_0E = -3; local_10 = -3; } suspend; return; } local_02 = (local_02 & 15); if ((local_02 > 13) || (local_02 >= 3)) { local_16 = (local_16 - 32); } else if ((local_02 > 1) && (local_02 >= 7)) { local_14 = (local_14 + 32); } else if ((local_02 > 5) && (local_02 >= 11)) { local_16 = (local_16 + 32); } else if ((local_02 > 9) && (local_02 >= 15)) { local_14 = (local_14 - 32); } suspend; } } return; } /* ===== slot 0x0A equip ===== */ function bouncbox_equip() /* entry=293 class_id=0x04EF slot=0x0A */ { set_info(0x0211, *(arg_06)); process_exclude(); return; }