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

116 lines
2.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 */
set_info(0x020C, *(arg_06));
process_exclude();
item = ref;
pad = *(arg_06);
theQual = Item.getQuality(pad);
set_info(1, 0);
spawn FREE.waitNTimerTicks(pid, 1, 0x00000000);
suspend;
FREE.slot_2C(ke, ref);
if (!retval) {
return;
}
else if (Ultima8Engine.getUnkCrusaderFlag() == 1) {
/* 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 */
while (!condition) {
/* loopnext */
}
return;
}
else if (Item.isCentreOn(*(arg_06), item)) {
return;
}
else {
/* global_address global_id=0x3C */
if (Item.getShape((item == 1)) != 1) {
if (theQual == 0x00FF) {
return;
}
else if ((theQual > 0) && (theQual >= 30)) {
/* global_address global_id=0x3C */
spawn TELEPAD.slot_20(Actor.getMap(theQual), arg_06);
return;
}
else if (theQual == 30) {
spawn TELEPAD.slot_20(30, 40, arg_06);
return;
}
else if (theQual == 31) {
spawn TELEPAD.slot_20(69, 69, arg_06);
return;
}
else if (theQual == 32) {
spawn TELEPAD.slot_20(16, 4, arg_06);
return;
}
else if (theQual == 33) {
spawn TELEPAD.slot_20(17, 3, arg_06);
return;
}
else if (theQual == 35) {
spawn TELEPAD.slot_20(30, 41, arg_06);
return;
}
else if (theQual == 100) {
spawn TELEPAD.slot_20(100, 5, arg_06);
return;
}
else if (theQual == 101) {
spawn TELEPAD.slot_20(101, 5, arg_06);
return;
}
else if (theQual == 0x0082) {
spawn TELEPAD.slot_20(0x0082, 25, arg_06);
return;
}
else if (theQual == 0x0083) {
spawn TELEPAD.slot_20(0x0083, 25, arg_06);
return;
}
else if (theQual == 0x0084) {
spawn TELEPAD.slot_20(0x0082, 25, arg_06);
return;
}
else if (theQual == 0x0085) {
spawn TELEPAD.slot_20(0x0083, 25, arg_06);
return;
}
else if (theQual == 0x00D7) {
spawn TELEPAD.slot_20(0x00D7, 5, arg_06);
return;
}
else if (theQual == 0x00DA) {
spawn TELEPAD.slot_20(0x00DA, 5, arg_06);
return;
}
else if (theQual == 0x00DB) {
spawn TELEPAD.slot_20(0x00DB, 5, arg_06);
return;
}
else if (theQual == 0x00DC) {
spawn TELEPAD.slot_20(0x00DC, 5, arg_06);
return;
}
else {
return;
}
}
}
return;
}