133 lines
3.2 KiB
Text
133 lines
3.2 KiB
Text
|
|
/* 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;
|
|
}
|