Crusader_Decomp/USECODE/REGRET/TELEPAD.unk

174 lines
4.4 KiB
Text

/* synthesized appendix for TELEPAD */
/* sparse lines above preserve recovered debugger line numbers where available */
/* ===== slot 0x06 gotHit ===== */
function telepad_gotHit() /* entry=118 class_id=0x01DB slot=0x06 */
{
set_info(0x020C, *(arg_06));
process_exclude();
local_02 = arg_0A;
local_04 = *(arg_06);
local_08 = Item.getQLo(local_04);
set_info(1, 0);
spawn FREE.slot_3B(pid, 1, 0x00000000);
suspend;
FREE.slot_35(arg_0C, arg_0A);
if ((retval <= 0) || (Item.getFrame(local_04) > 1)) {
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), local_02)) {
return;
}
else {
/* global_address global_id=0x1E */
if (Item.getShape((local_02 == 1)) != 1) {
if (local_08 == 0x00FF) {
return;
}
else {
/* pop_global global_id=0x9 size=0x1 */
if ((local_08 > 0) && (local_08 >= 100)) {
/* global_address global_id=0x1E */
spawn TELEPAD.slot_20(Actor.getMap(local_08), arg_06);
return;
}
else if (local_08 == 109) {
spawn TELEPAD.slot_20(109, 20, arg_06);
return;
}
else if (local_08 == 110) {
spawn TELEPAD.slot_20(111, 21, arg_06);
return;
}
else if (local_08 == 111) {
spawn TELEPAD.slot_20(65, 20, arg_06);
return;
}
else if (local_08 == 112) {
spawn TELEPAD.slot_20(66, 20, arg_06);
return;
}
else if (local_08 == 113) {
spawn TELEPAD.slot_20(30, 3, arg_06);
return;
}
else if (local_08 == 114) {
spawn TELEPAD.slot_20(30, 22, arg_06);
return;
}
else if (local_08 == 115) {
spawn TELEPAD.slot_20(115, 20, arg_06);
return;
}
else {
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
return;
}
}
}
}
return;
}
/* ===== slot 0x09 release ===== */
function telepad_release() /* entry=118 class_id=0x01DB slot=0x09 */
{
set_info(0x020D, *(arg_06));
process_exclude();
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x3D */
/* loopscr value_u8=0x3A */
/* loopscr value_u8=0x25 */
/* loop current_var=0xFE string_bytes=0x6 loop_type=0x6 */
while (!condition) {
if (local_02 == 1) {
local_03 = 1;
}
/* loopnext */
}
return;
}
/* ===== slot 0x0F enterFastArea ===== */
function telepad_enterFastArea() /* entry=118 class_id=0x01DB slot=0x0F */
{
set_info(0x021B, *(arg_06));
process_exclude();
return;
}
/* ===== slot 0x20 slot_20 ===== */
function telepad_slot_20() /* entry=118 class_id=0x01DB slot=0x20 */
{
set_info(1, 0);
/* global_address global_id=0x1E */
if (!Actor.isDead()) {
return;
}
else {
/* global_address global_id=0x1E */
/* pop_global global_id=0xB size=0x1 */
/* pop_global global_id=0xC size=0x1 */
spawn FREE.slot_3B(0, 0, pid, 0, 0x00000000);
suspend;
FREE.slot_3C(0x0215, 0);
FREE.slot_3C(0x0228, 0);
/* global_address global_id=0x1E */
while (!Actor.isBusy()) {
spawn FREE.slot_3B(pid, 2, 0x00000000);
suspend;
}
/* global_address global_id=0x1E */
if (!Intrinsic0061()) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
/* global_address global_id=0x1E */
spawn NPC.slot_24(pid);
suspend;
/* global_address global_id=0x1E */
if (Actor.getMap() == arg_0A) {
suspend;
FREE.slot_22();
if (arg_0A == 3) {
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
return;
}
if (!arg_0A) {
suspend;
}
FREE.slot_23();
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
else {
suspend;
}
/* global_address global_id=0x1E */
spawn NPC.slot_23(pid);
suspend;
/* global_address global_id=0x1E */
}
return;
}