Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/OPC/slot_01_use.txt

54 lines
1.5 KiB
Text

function opc_use() /* entry=220 class_id=0x03BC slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
item; /* [BP-02h] type=0x24 */
set_info(0x0207, *(arg_06));
process_exclude();
ITEM.slot_23(0x1000, arg_06);
/* global_address global_id=0x3C */
if (Actor.getMap() == 21) {
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
/* pop_global global_id=0x2A size=0x1 */
spawn FREE.waitNTimerTicks(1, pid, 20, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
spawn FREE.waitNTimerTicks(pid, 0x00B4, 0x00000000);
suspend;
/* global_address global_id=0x3C */
if (Actor.isDead()) {
spawn FREE.slot_26(pid, "11g", 0x00000000);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
}
for item in nearby_items(shape=TELEPORTER_LIGHTS, origin=arg_06) {
/* loopnext */
}
return;
}
else {
/* global_address global_id=0x3C */
/* global_address global_id=0x3C */
suspend;
/* str_to_ptr */
/* free_stack_string value_u8=0x4 target=[SP+04h] */
suspend;
/* pop_global global_id=0x2B size=0x1 */
spawn FREE.waitNTimerTicks(1, pid, 20, 0x00000000);
suspend;
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
/* loop_selector item in nearby_items(shape=TELEPORTER_LIGHTS, origin=arg_06) */
while (!condition) {
/* loopnext */
}
}
return;
}