Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/TELEPAD/slot_06_gotHit.txt
2026-03-25 23:32:36 +01:00

196 lines
3.9 KiB
Text

function telepad_gotHit() /* entry=111 class_id=0x01DB slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
ke, /* [BP+0Ch] type=0x69 */
item, /* [BP-02h] type=0x24 */
pad, /* [BP-04h] type=0x24 */
pad2, /* [BP-06h] type=0x24 */
theQual, /* [BP-08h] type=0x69 */
npc; /* [BP-0Ah] type=0x24 */
entry:
set_info(0x020C, *(arg_06));
process_exclude();
item = ref;
pad = *(arg_06);
theQual = Intrinsic007E(pad);
set_info(1, 0);
spawn class_0A0C_slot_32(pid, 1, 0x00000000);
suspend;
class_0A0C_slot_2C(ke, ref);
if retval goto block_01A1;
block_019B:
goto block_0499;
block_01A1:
if (Item.isNpc(item) != 0) goto block_01C2;
block_01B3:
block_01C2:
if (Intrinsic0070() != 1) goto block_0234;
block_01D0:
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x3A */
/* loopscr value_u8=0x25 */
/* loop current_var=0xF6 string_bytes=0x6 loop_type=0x6 */
block_01EB:
if condition goto block_022C;
block_01EE:
if (npc < 0x0100) goto block_0228;
block_01FA:
if (npc != 1) goto block_0228;
block_0205:
block_0228:
/* loopnext */
goto block_01EB;
block_022C:
goto block_0499;
block_0234:
if (!Item.use(*(arg_06), item)) goto block_024E;
block_0248:
goto block_0499;
block_024E:
/* global_address global_id=0x3C */
if (Intrinsic0016((item != 1)) != 1) goto block_0499;
block_026A:
if (theQual != 0x00FF) goto block_027C;
block_0276:
goto block_0499;
block_027C:
if ((theQual > 0) && (theQual < 30)) goto block_02B2;
block_0290:
/* global_address global_id=0x3C */
spawn class_01DB_slot_20(Item.getType(theQual), arg_06);
goto block_0499;
block_02B2:
if (theQual != 30) goto block_02D1;
block_02BA:
spawn class_01DB_slot_20(30, 40, arg_06);
goto block_0499;
block_02D1:
if (theQual != 31) goto block_02F0;
block_02D9:
spawn class_01DB_slot_20(69, 69, arg_06);
goto block_0499;
block_02F0:
if (theQual != 32) goto block_030F;
block_02F8:
spawn class_01DB_slot_20(16, 4, arg_06);
goto block_0499;
block_030F:
if (theQual != 33) goto block_032E;
block_0317:
spawn class_01DB_slot_20(17, 3, arg_06);
goto block_0499;
block_032E:
if (theQual != 35) goto block_034D;
block_0336:
spawn class_01DB_slot_20(30, 41, arg_06);
goto block_0499;
block_034D:
if (theQual != 100) goto block_036C;
block_0355:
spawn class_01DB_slot_20(100, 5, arg_06);
goto block_0499;
block_036C:
if (theQual != 101) goto block_038B;
block_0374:
spawn class_01DB_slot_20(101, 5, arg_06);
goto block_0499;
block_038B:
if (theQual != 0x0082) goto block_03AC;
block_0394:
spawn class_01DB_slot_20(0x0082, 25, arg_06);
goto block_0499;
block_03AC:
if (theQual != 0x0083) goto block_03CD;
block_03B5:
spawn class_01DB_slot_20(0x0083, 25, arg_06);
goto block_0499;
block_03CD:
if (theQual != 0x0084) goto block_03EE;
block_03D6:
spawn class_01DB_slot_20(0x0082, 25, arg_06);
goto block_0499;
block_03EE:
if (theQual != 0x0085) goto block_040F;
block_03F7:
spawn class_01DB_slot_20(0x0083, 25, arg_06);
goto block_0499;
block_040F:
if (theQual != 0x00D7) goto block_0430;
block_0418:
spawn class_01DB_slot_20(0x00D7, 5, arg_06);
goto block_0499;
block_0430:
if (theQual != 0x00DA) goto block_0451;
block_0439:
spawn class_01DB_slot_20(0x00DA, 5, arg_06);
goto block_0499;
block_0451:
if (theQual != 0x00DB) goto block_0472;
block_045A:
spawn class_01DB_slot_20(0x00DB, 5, arg_06);
goto block_0499;
block_0472:
if (theQual != 0x00DC) goto block_0493;
block_047B:
spawn class_01DB_slot_20(0x00DC, 5, arg_06);
goto block_0499;
block_0493:
goto block_0499;
block_0499:
return;
}