Crusader_Decomp/USECODE/REGRET/BOUNCBOX.unk

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;
}