Crusader_Decomp/USECODE/REGRET/TRAMFLOR.unk

261 lines
7.5 KiB
Text

/* synthesized appendix for TRAMFLOR */
/* sparse lines above preserve recovered debugger line numbers where available */
/* ===== slot 0x06 gotHit ===== */
function tramflor_gotHit() /* entry=376 class_id=0x05D8 slot=0x06 */
{
set_info(0x020C, *(arg_06));
process_exclude();
if (((arg_0A == 1) || (Ultima8Engine.getUnkCrusaderFlag() != 1)) || (Item.getQLo(arg_06) != 0)) {
return;
}
else {
FREE.slot_3C(0x0220, 0);
FREE.slot_22();
/* 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;
}
local_04 = arg_0A;
local_06 = Item.getQLo(arg_06);
/* loopscr value_u8=0x24 */
/* loop current_var=0xFC string_bytes=0x1 loop_type=0x6 */
while (!condition) {
if (local_04 == *(arg_06)) {
if (!Item.isNpc(local_04)) {
if (local_04 == 1) {
local_08 = local_04;
}
}
else {
local_0A = Item.getShape(local_04);
}
}
/* loopnext */
}
set_info(0x0220, 0);
/* global_address global_id=0x1E */
if (!Actor.isDead()) {
return;
}
else {
for local_04 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=arg_06) {
local_02 = local_04;
/* loopnext */
}
if (local_02) {
return;
}
else if (Item.getShape(local_02) == 0x0287) {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
}
else {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
}
spawn DOOR.slot_21(pid, 2, local_02);
suspend;
suspend;
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
if (global[0x000F] == 3) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
}
if (local_06 == 0x00FF) {
/* global_address global_id=0x1E */
if (Actor.getMap() == 6) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 25;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 8) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 25;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 10) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 25;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 11) {
if (global[0x0016] == 1) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
}
else {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
}
local_0C = 25;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 14) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 25;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 16) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 17;
}
else {
/* global_address global_id=0x1E */
if (Actor.getMap() == 18) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
local_0C = 19;
}
else {
local_0C = 25;
}
}
}
}
}
}
}
/* global_address global_id=0x1E */
return;
}
else if (local_06 == 0x00FE) {
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
/* str_to_ptr */
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
return;
}
else if (local_06 == 0x00FD) {
return;
}
}
}
return;
}
/* ===== slot 0x09 release ===== */
function tramflor_release() /* entry=376 class_id=0x05D8 slot=0x09 */
{
set_info(0x020D, *(arg_06));
process_exclude();
local_02 = Item.getSurfaceWeight(arg_06);
if (local_02 == 0) {
spawn FREE.slot_3B(pid, 30, 0x00000000);
suspend;
/* loop_selector local_04 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=global[0x001E]) */
while (!condition) {
local_06 = local_04;
spawn DOOR.slot_21(pid, 2, local_06);
suspend;
/* loopnext */
}
}
return;
}
/* ===== slot 0x20 slot_20 ===== */
function tramflor_slot_20() /* entry=376 class_id=0x05D8 slot=0x20 */
{
set_info(1, 0);
/* loop_selector local_02 in selector_0x42(arg0=0x028D, arg1=0x0287, arg2=(10 * 32), origin=arg_06) */
while (!condition) {
local_06 = local_02;
/* loopnext */
}
if (local_06) {
return;
}
else if (Item.getShape(local_06) == 0x0287) {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
}
else {
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
suspend;
}
spawn DOOR.slot_21(pid, 2, local_06);
suspend;
suspend;
spawn FREE.slot_45(pid, 0x00000000);
suspend;
spawn FREE.slot_3B(pid, 60, 0x00000000);
suspend;
suspend;
/* loop_selector local_02 in nearby_items(shape=0x05D8, origin=global[0x001E]) */
while (!condition) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* loopnext */
}
suspend;
spawn FREE.slot_3B(pid, 120, 0x00000000);
suspend;
/* loop_selector local_02 in selector_0x42(arg0=0x0193, arg1=0x00C0, arg2=(10 * 32), origin=global[0x001E]) */
while (!condition) {
local_06 = local_02;
spawn DOOR.slot_21(pid, 1, local_06);
suspend;
/* loopnext */
}
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
return;
}