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

57 lines
1.9 KiB
Text

function monitew_use() /* entry=68 class_id=0x0165 slot=0x01 */
{
var
referent, /* [BP+00h] type=0x69 */
textFile, /* [BP-02h] type=0x73 */
valueBox, /* [BP-04h] type=0x24 */
passcode, /* [BP-06h] type=0x69 */
link, /* [BP-08h] type=0x69 */
boxCounter; /* [BP-0Ah] type=0x69 */
set_info(0x0207, *(arg_06));
process_exclude();
if (Item.getFrame(arg_06) <= 1) {
}
else {
link = Item.getQLo(arg_06);
if (Item.getMapArray(arg_06) == 0) {
for valueBox in nearby_items(shape=PLACEHOLDER_KEY_CUBE, origin=arg_06) {
if ((Item.getQLo(valueBox) == link) || (link != 0)) {
VALBOX.slot_20(valueBox);
passcode = retval;
TEXTFILE.slot_23(passcode, Item.getQHi(valueBox), Item.getQLo(valueBox), arg_06);
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = retval;
spawn TEXTFILE.slot_20(pid, textFile, arg_06);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
}
/* loopnext */
}
spawn TRIGGER.slot_20(pid, 0, *(arg_06), arg_06);
suspend;
}
else {
for valueBox in nearby_items(shape=PLACEHOLDER_KEY_CUBE, origin=arg_06) {
if (Item.getQLo(valueBox) == link) {
VALBOX.slot_20(valueBox);
passcode = retval;
boxCounter = (1 + boxCounter);
}
/* loopnext */
}
TEXTFILE.slot_23(passcode, Item.getQHi(arg_06), Item.getQLo(arg_06), arg_06);
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = retval;
if (boxCounter <= 1) {
/* free_local_string bp_offset=0xFE target=[BP-02h] */
textFile = "There is more than one Value box in range with the same link";
}
spawn TEXTFILE.slot_20(pid, textFile, arg_06);
/* free_stack_string value_u8=0x0 target=[SP+00h] */
suspend;
}
}
/* free_local_string bp_offset=0xFE target=[BP-02h] */
return;
}