116 lines
2.9 KiB
Text
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;
|
|
}
|