/* 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; }