96 lines
2 KiB
Text
96 lines
2 KiB
Text
function trigpad_gotHit() /* entry=273 class_id=0x04CD slot=0x06 */
|
|
{
|
|
var
|
|
referent, /* [BP+00h] type=0x69 */
|
|
ref, /* [BP+0Ah] type=0x69 */
|
|
vel, /* [BP+0Ch] type=0x69 */
|
|
a, /* [BP-02h] type=0x69 */
|
|
item, /* [BP-04h] type=0x24 */
|
|
elev; /* [BP-06h] type=0x24 */
|
|
|
|
entry:
|
|
set_info(0x020C, *(arg_06));
|
|
process_exclude();
|
|
a = ref;
|
|
class_0A0C_slot_2B(vel, ref);
|
|
if retval goto block_010A;
|
|
|
|
block_0104:
|
|
goto block_0321;
|
|
|
|
block_010A:
|
|
item = ref;
|
|
if (Item.getMapNum(arg_06) != 0) goto block_0321;
|
|
|
|
block_0123:
|
|
if ((Intrinsic0057(arg_06) != 0) || (Item.isInNpc(*(arg_06), item) != 0)) goto block_014F;
|
|
|
|
block_0149:
|
|
goto block_0321;
|
|
|
|
block_014F:
|
|
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
|
|
suspend;
|
|
spawn class_0A18_slot_20(pid, 0, *(arg_06), arg_06);
|
|
suspend;
|
|
|
|
block_01A9:
|
|
if 1 goto block_0321;
|
|
|
|
block_01B1:
|
|
if (Intrinsic0057(arg_06) != 0) goto block_01EC;
|
|
|
|
block_01C3:
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
goto block_031E;
|
|
|
|
block_01EC:
|
|
spawn class_0A18_slot_20(pid, 1, *(arg_06), arg_06);
|
|
suspend;
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
/* loopscr value_u8=0x24 */
|
|
/* loopscr value_u8=0x3D */
|
|
/* loopscr value_u8=0x40 */
|
|
/* loopscr value_u8=0x25 */
|
|
/* loop current_var=0xFA string_bytes=0x6 loop_type=0x6 */
|
|
|
|
block_0262:
|
|
if condition goto block_0316;
|
|
|
|
block_0265:
|
|
if (Item.getStatus(elev) & 0x1000) goto block_02A1;
|
|
|
|
block_0278:
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
goto block_0265;
|
|
|
|
block_02A1:
|
|
spawn class_0A0C_slot_32(pid, 120, 0x00000000);
|
|
suspend;
|
|
/* global_address global_id=0x3C */
|
|
if (Item.getZ() < (Item.getZ(elev) - 5)) goto block_0312;
|
|
|
|
block_02E7:
|
|
class_0A09_slot_21(Item.getZ(elev), elev);
|
|
if retval goto block_0312;
|
|
|
|
block_0304:
|
|
spawn class_0A09_slot_20(elev);
|
|
|
|
block_0312:
|
|
/* loopnext */
|
|
goto block_0262;
|
|
|
|
block_0316:
|
|
goto block_0321;
|
|
|
|
block_031E:
|
|
goto block_01A9;
|
|
|
|
block_0321:
|
|
return;
|
|
|
|
}
|