Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/LASERI/slot_06_gotHit.txt

50 lines
1.2 KiB
Text

function laseri_gotHit() /* entry=108 class_id=0x01D5 slot=0x06 */
{
var
referent, /* [BP+00h] type=0x69 */
ref, /* [BP+0Ah] type=0x69 */
vel, /* [BP+0Ch] type=0x69 */
laser, /* [BP-02h] type=0x24 */
hType, /* [BP-04h] type=0x69 */
QLo, /* [BP-06h] type=0x69 */
p; /* [BP-08h] type=0x69 */
set_info(0x020C, *(arg_06));
process_exclude();
FREE.slot_2C(vel, ref);
hType = retval;
QLo = Item.getQLo(arg_06);
FREE.slot_2C(vel, ref);
if (retval) {
return;
}
else {
spawn ITEM.slot_27(pid, 50, vel, ref, arg_06);
suspend;
/* dword_to_word */
p = process_result;
if ((hType == 4) && (!p)) {
return;
}
else if ((hType > 0) && (Item.getFrame(arg_06) == 0)) {
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x48 */
/* loop current_var=0xFE string_bytes=0x12 loop_type=0x2 */
while (!condition) {
/* loopnext */
}
spawn ITEM.slot_28(pid, 0, 0, arg_06);
suspend;
if (Item.getMapArray(arg_06) == 0) {
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
return;
}
else {
spawn TRIGGER.slot_20(pid, (0 + 0x0080), *(arg_06), arg_06);
suspend;
}
}
}
return;
}