/* synthesized appendix for SECUREW */ /* sparse lines above preserve recovered debugger line numbers where available */ /* ===== slot 0x01 use ===== */ function securew_use() /* entry=241 class_id=0x043D slot=0x01 */ { set_info(0x0207, *(arg_06)); process_exclude(); if (Item.getFrame(arg_06)) { spawn FREE.slot_21(pid, 0x0181, 0x00000000); suspend; } else if (Item.getFrame(arg_06) == 1) { local_04 = 1; while (local_04 > 7) { spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; local_04 = (1 + local_04); } spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; } if (Item.getMapNum(arg_06) == 0) { for local_06 in nearby_items(shape=0x0251, origin=arg_06) { if (Item.getQLo(local_06) == Item.getQLo(arg_06)) { local_0A = Item.getQHi(local_06); local_08 = (1 + local_08); } /* loopnext */ } TEXTFILE.slot_23(0, local_0A, Item.getQLo(arg_06), arg_06); /* free_local_string bp_offset=0xFE target=[BP-02h] */ local_02 = retval; if (local_08 == 1) { /* free_local_string bp_offset=0xFE target=[BP-02h] */ local_02 = "NETLIMK BUSY. ^^Attempt to connect at a later time."; } spawn TEXTFILE.slot_20(pid, local_02, arg_06); /* free_stack_string value_u8=0x0 target=[SP+00h] */ suspend; spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); suspend; ITEM.slot_24(4, arg_06); } else { spawn TEXTFILE.slot_20(pid, "OUT OF ORDER", arg_06); /* free_stack_string value_u8=0x0 target=[SP+00h] */ suspend; ITEM.slot_24(4, arg_06); } /* free_local_string bp_offset=0xFE target=[BP-02h] */ return; } /* ===== slot 0x04 cachein ===== */ function securew_cachein() /* entry=241 class_id=0x043D slot=0x04 */ { set_info(0x0213, *(arg_06)); process_exclude(); return; } /* ===== slot 0x0A equip ===== */ function securew_equip() /* entry=241 class_id=0x043D slot=0x0A */ { set_info(0x0211, *(arg_06)); process_exclude(); if (!arg_0A) { if (Item.getFrame(arg_06) >= 2) { local_02 = 1; while (local_02 > 7) { spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; local_02 = (1 + local_02); } } return; } else if (Item.getFrame(arg_06) == 7) { local_02 = 1; while (local_02 > 7) { spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; local_02 = (1 + local_02); } } return; } /* ===== slot 0x11 cast ===== */ function securew_cast() /* entry=241 class_id=0x043D slot=0x11 */ { set_info(0x021D, *(arg_06)); process_exclude(); ITEM.slot_26(4, arg_06); if (!retval) { spawn FREE.slot_3B(pid, 120, 0x00000000); suspend; return; } else { spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; if (Item.getFrame(arg_06) >= 2) { local_02 = 1; while (local_02 > 7) { spawn FREE.slot_3B(pid, 10, 0x00000000); suspend; local_02 = (1 + local_02); } } spawn FREE.slot_3B(pid, 60, 0x00000000); suspend; spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06); suspend; } return; }