1341 lines
36 KiB
Text
1341 lines
36 KiB
Text
|
|
/* synthesized appendix for TRIGGER */
|
|
/* sparse lines above preserve recovered debugger line numbers where available */
|
|
|
|
/* ===== slot 0x20 slot_20 ===== */
|
|
function trigger_slot_20() /* entry=469 class_id=0x0A17 slot=0x20 */
|
|
{
|
|
entry:
|
|
set_info(0x021B, 0);
|
|
local_10 = 0;
|
|
local_12 = 0;
|
|
local_14 = 0;
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
local_0E = arg_0A;
|
|
if (arg_0C != 0x00FE) goto block_0161;
|
|
|
|
block_0154:
|
|
local_10 = 0x00FE;
|
|
arg_0C = 0x0080;
|
|
goto block_018D;
|
|
|
|
block_0161:
|
|
local_06 = Item.getQHi(local_0E);
|
|
local_10 = Item.getQLo(local_0E);
|
|
local_0A = Item.getMapNum(local_0E);
|
|
local_08 = Item.getNpcNum(local_0E);
|
|
|
|
block_018D:
|
|
local_12 = local_10;
|
|
/* pop_global global_id=0x22 size=0x2 */
|
|
if (arg_0C < 0x0080) goto block_03A6;
|
|
|
|
block_01A0:
|
|
local_14 = (((local_0A & 0x00E0) * 8) + local_08);
|
|
if (local_0A != 0) goto block_01B9;
|
|
|
|
block_01B6:
|
|
goto block_0485;
|
|
|
|
block_01B9:
|
|
if (local_10 != 0) goto block_01C4;
|
|
|
|
block_01C1:
|
|
goto block_0485;
|
|
|
|
block_01C4:
|
|
local_04 = 0;
|
|
if (local_0A & 8) goto block_01D4;
|
|
|
|
block_01D0:
|
|
local_04 = 1;
|
|
|
|
block_01D4:
|
|
if (arg_0C != local_04) goto block_03A6;
|
|
|
|
block_01DC:
|
|
if (local_0A & 4) goto block_0306;
|
|
|
|
block_01E4:
|
|
if Item.isCrusTypeNPC(local_14) goto block_0275;
|
|
|
|
block_01F0:
|
|
if (local_10 != 0x00FF) goto block_0222;
|
|
|
|
block_01F9:
|
|
if (local_14 != 0) goto block_021F;
|
|
|
|
block_0201:
|
|
spawn TRIGGER.slot_2A(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
|
|
block_021F:
|
|
goto block_0272;
|
|
|
|
block_0222:
|
|
if (local_14 != 0x07FE) goto block_024C;
|
|
|
|
block_022B:
|
|
spawn TRIGGER.slot_2B(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
goto block_0272;
|
|
|
|
block_024C:
|
|
if (local_14 != 0) goto block_0272;
|
|
|
|
block_0254:
|
|
spawn TRIGGER.slot_29(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
|
|
block_0272:
|
|
goto block_0303;
|
|
|
|
block_0275:
|
|
if (local_10 != 0x00FF) goto block_02AB;
|
|
|
|
block_027E:
|
|
if (local_14 != 0) goto block_02A8;
|
|
|
|
block_0286:
|
|
spawn TRIGGER.slot_25(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
|
|
block_02A8:
|
|
goto block_0303;
|
|
|
|
block_02AB:
|
|
if (local_14 != 0x07FF) goto block_02D9;
|
|
|
|
block_02B4:
|
|
spawn TRIGGER.slot_24(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
goto block_0303;
|
|
|
|
block_02D9:
|
|
if (local_14 != 0) goto block_0303;
|
|
|
|
block_02E1:
|
|
spawn TRIGGER.slot_23(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
|
|
block_0303:
|
|
goto block_0394;
|
|
|
|
block_0306:
|
|
if (local_10 != 0x00FF) goto block_033C;
|
|
|
|
block_030F:
|
|
if (local_14 != 0) goto block_0339;
|
|
|
|
block_0317:
|
|
spawn TRIGGER.slot_28(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
|
|
block_0339:
|
|
goto block_0394;
|
|
|
|
block_033C:
|
|
if (local_14 != 0x07FF) goto block_036A;
|
|
|
|
block_0345:
|
|
spawn TRIGGER.slot_27(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
goto block_0394;
|
|
|
|
block_036A:
|
|
if (local_14 != 0) goto block_0394;
|
|
|
|
block_0372:
|
|
spawn TRIGGER.slot_26(pid, local_14, local_10, local_0A, local_08, local_06, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
|
|
block_0394:
|
|
if (local_0A & 16) goto block_03A6;
|
|
|
|
block_039C:
|
|
|
|
block_03A6:
|
|
local_16 = (arg_0C & 1);
|
|
|
|
block_03AD:
|
|
if 1 goto block_0485;
|
|
|
|
block_03B2:
|
|
for local_0C in nearby_items(shape=0x04B1, origin=local_0E) {
|
|
if (Item.getQLo(local_0C) == local_10) {
|
|
local_0A = Item.getMapNum(local_0C);
|
|
local_04 = 0;
|
|
if (!(local_0A & 8)) {
|
|
local_04 = 1;
|
|
}
|
|
if (local_16 == local_04) {
|
|
if (!(local_0A & 16)) {
|
|
spawn TRIGGER.slot_21(pid, local_0C, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_12 = process_result;
|
|
}
|
|
else {
|
|
/* create_list element_size=0x2 count=0x1 */
|
|
/* append_list */
|
|
/* free_local_list bp_offset=0xFE target=[BP-02h] */
|
|
local_02 = local_0C;
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
|
|
block_0431:
|
|
|
|
block_0439:
|
|
while (true) {
|
|
foreach_list local_0C -> block_0473;
|
|
spawn TRIGGER.slot_21(pid, local_0C, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_18 = process_result;
|
|
/* create_list element_size=0x2 count=0x1 */
|
|
/* remove_matching_inline element_size=0x2 */
|
|
/* free_local_list bp_offset=0xFE target=[BP-02h] */
|
|
local_02 = local_0C;
|
|
if (local_18 == local_10) {
|
|
local_12 = local_18;
|
|
}
|
|
}
|
|
|
|
block_0473:
|
|
if (local_12 != local_10) goto block_047E;
|
|
|
|
block_047B:
|
|
goto block_0485;
|
|
|
|
block_047E:
|
|
local_10 = local_12;
|
|
goto block_03AD;
|
|
|
|
block_0485:
|
|
/* free_local_list bp_offset=0xFE target=[BP-02h] */
|
|
return;
|
|
|
|
}
|
|
|
|
/* ===== slot 0x21 slot_21 ===== */
|
|
function trigger_slot_21() /* entry=469 class_id=0x0A17 slot=0x21 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_0C = arg_0A;
|
|
local_0E = Item.getQLo(local_0C);
|
|
local_10 = local_0E;
|
|
local_04 = Item.getQHi(local_0C);
|
|
local_08 = Item.getMapNum(local_0C);
|
|
local_06 = Item.getNpcNum(local_0C);
|
|
local_0A = (((local_08 & 0x00E0) * 8) + local_06);
|
|
if (local_08 == 0) {
|
|
return;
|
|
}
|
|
else if (!(local_08 & 4)) {
|
|
if (!Item.isCrusTypeNPC(local_0A)) {
|
|
if (local_0E == 0x00FF) {
|
|
if (local_0A == 0) {
|
|
spawn TRIGGER.slot_2A(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
}
|
|
}
|
|
else if (local_0A == 0x07FE) {
|
|
spawn TRIGGER.slot_2B(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
}
|
|
else if (local_0A == 0) {
|
|
spawn TRIGGER.slot_29(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
}
|
|
}
|
|
else if (local_0E == 0x00FF) {
|
|
if (local_0A == 0) {
|
|
spawn TRIGGER.slot_25(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
}
|
|
else if (local_0A == 0x07FF) {
|
|
spawn TRIGGER.slot_24(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
else if (local_0A == 0) {
|
|
spawn TRIGGER.slot_23(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
}
|
|
else if (local_0E == 0x00FF) {
|
|
if (local_0A == 0) {
|
|
spawn TRIGGER.slot_28(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
}
|
|
else if (local_0A == 0x07FF) {
|
|
spawn TRIGGER.slot_27(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
else if (local_0A == 0) {
|
|
spawn TRIGGER.slot_26(pid, local_0A, local_0E, local_08, local_06, local_04, arg_0A, arg_06);
|
|
suspend;
|
|
/* dword_to_word */
|
|
local_10 = process_result;
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x22 slot_22 ===== */
|
|
function trigger_slot_22() /* entry=469 class_id=0x0A17 slot=0x22 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_02 = arg_0A;
|
|
while (!(1)) {
|
|
if ((Item.getStatus(local_02) & 0x1000) == 0) {
|
|
spawn DOOR.slot_21(pid, arg_0C, local_02);
|
|
suspend;
|
|
/* bit_not */
|
|
return;
|
|
}
|
|
else {
|
|
spawn FREE.slot_3B(pid, 10, 0x00000000);
|
|
suspend;
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x23 slot_23 ===== */
|
|
function trigger_slot_23() /* entry=469 class_id=0x0A17 slot=0x23 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (arg_0A == local_0E) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (arg_0A == local_0E) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_14) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x24 slot_24 ===== */
|
|
function trigger_slot_24() /* entry=469 class_id=0x0A17 slot=0x24 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(family=1, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (arg_0A == local_0E) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(family=1, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
if (global[0x0022] == 100) {
|
|
local_14 = 32;
|
|
}
|
|
else {
|
|
local_14 = global[0x0022];
|
|
}
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (arg_0A == local_0E) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_16) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x25 slot_25 ===== */
|
|
function trigger_slot_25() /* entry=469 class_id=0x0A17 slot=0x25 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
if (arg_0A == local_0E) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
if (arg_0A == local_0E) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_14) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x26 slot_26 ===== */
|
|
function trigger_slot_26() /* entry=469 class_id=0x0A17 slot=0x26 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_14) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x27 slot_27 ===== */
|
|
function trigger_slot_27() /* entry=469 class_id=0x0A17 slot=0x27 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(family=1, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(family=1, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
if (global[0x0022] == 100) {
|
|
local_14 = 32;
|
|
}
|
|
else {
|
|
local_14 = global[0x0022];
|
|
}
|
|
for local_0E in nearby_items(family=1, origin=local_10) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
if (Item.getQLo(local_0E) == arg_12) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_16) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x28 slot_28 ===== */
|
|
function trigger_slot_28() /* entry=469 class_id=0x0A17 slot=0x28 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_12 = arg_12;
|
|
local_10 = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
if (local_02 == 0) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
FREE.slot_39(local_0C, local_0A, local_08, local_0E);
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
if (local_0C == 31) {
|
|
suspend;
|
|
}
|
|
else {
|
|
local_0A = Item.getFrame(local_0E);
|
|
local_08 = Item.getShape(local_0E);
|
|
local_06 = (local_08 & 0x00FF);
|
|
local_08 = (local_08 & 0x0700);
|
|
local_08 = (local_08 / 8);
|
|
local_08 = (local_08 + local_0A);
|
|
suspend;
|
|
/* bit_not */
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
local_06 = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=arg_14, origin=local_10) */
|
|
while (!condition) {
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_0E in nearby_items(shape=arg_14, origin=local_10) {
|
|
local_06 = (arg_0C / 8);
|
|
spawn TRIGGER.slot_22(local_06, local_0E, arg_06);
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 + local_06);
|
|
}
|
|
else if (local_02 == 5) {
|
|
local_06 = (arg_0C / 8);
|
|
local_12 = (local_12 - local_06);
|
|
}
|
|
else if (local_02 == 6) {
|
|
local_0C = (arg_0C / 8);
|
|
/* loop_selector local_0E in nearby_items(shape=0x0476, origin=local_10) */
|
|
while (!condition) {
|
|
local_06 = Item.getNpcNum(local_0E);
|
|
local_0A = (local_06 & 15);
|
|
local_08 = Item.getMapNum(local_0E);
|
|
local_08 = (((local_06 & 0x00E0) * 8) + local_08);
|
|
if (local_08 == 0) {
|
|
if (Item.create(local_0A, local_08, local_14) == 1) {
|
|
suspend;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
}
|
|
/* word_to_dword */
|
|
/* pop_result */
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x29 slot_29 ===== */
|
|
function trigger_slot_29() /* entry=469 class_id=0x0A17 slot=0x29 */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_0E = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
local_06 = (arg_0C / 16);
|
|
local_08 = (arg_0C & 15);
|
|
if (local_06 == 0) {
|
|
local_12 = Actor.getNPCDataField0x4(local_10);
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
local_14 = Actor.getNPCDataField0x4(local_10);
|
|
}
|
|
else {
|
|
local_16 = Actor.getNPCDataField0x4(local_10);
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
if (Actor.isDead(local_10) == 1) {
|
|
return;
|
|
}
|
|
local_18 = 1;
|
|
while (local_18 > local_06) {
|
|
if (Actor.isDead(local_10) == 0) {
|
|
suspend;
|
|
}
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
local_18 = (1 + local_18);
|
|
}
|
|
local_1A = Actor.getNPCDataField0x4(local_10);
|
|
local_1C = Actor.getCurrentActivityNo(local_10);
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
local_06 = (arg_0C / 8);
|
|
if (local_02 == 0) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
if (local_06 == 1) {
|
|
}
|
|
else if (local_06 == 2) {
|
|
}
|
|
else if (local_06 == 3) {
|
|
}
|
|
else if (local_06 == 4) {
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
local_1E = local_06;
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 5) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn NPC.equip(local_06, local_10);
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x2A slot_2A ===== */
|
|
function trigger_slot_2A() /* entry=469 class_id=0x0A17 slot=0x2A */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_0E = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
local_06 = (arg_0C / 16);
|
|
local_08 = (arg_0C & 15);
|
|
if (local_06 == 0) {
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
}
|
|
else {
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
if (Actor.isDead(local_10) == 1) {
|
|
return;
|
|
}
|
|
local_12 = 1;
|
|
while (local_12 > local_06) {
|
|
if (Actor.isDead(local_10)) {
|
|
suspend;
|
|
}
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
local_12 = (1 + local_12);
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
local_06 = (arg_0C / 8);
|
|
if (local_02 == 0) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
if (local_06 == 1) {
|
|
}
|
|
else if (local_06 == 2) {
|
|
}
|
|
else if (local_06 == 3) {
|
|
}
|
|
else if (local_06 == 4) {
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
local_14 = local_06;
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 5) {
|
|
for local_10 in nearby_items(shape=arg_14, origin=local_0E) {
|
|
spawn NPC.equip(local_06, local_10);
|
|
/* loopnext */
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
return;
|
|
}
|
|
|
|
/* ===== slot 0x2B slot_2B ===== */
|
|
function trigger_slot_2B() /* entry=469 class_id=0x0A17 slot=0x2B */
|
|
{
|
|
set_info(0x021B, 0);
|
|
local_0E = arg_0A;
|
|
local_04 = (arg_10 & 3);
|
|
if (local_04 == 0) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
local_06 = (arg_0C / 16);
|
|
local_08 = (arg_0C & 15);
|
|
if (local_06 == 0) {
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
}
|
|
else {
|
|
suspend;
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
if (Actor.isDead(local_10) == 1) {
|
|
return;
|
|
}
|
|
local_12 = 1;
|
|
while (local_12 > local_06) {
|
|
if (Actor.isDead(local_10) == 0) {
|
|
suspend;
|
|
}
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
local_12 = (1 + local_12);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 1) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 2) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
/* loopnext */
|
|
}
|
|
return;
|
|
}
|
|
else if (local_04 == 3) {
|
|
local_02 = (arg_0C & 7);
|
|
local_06 = (arg_0C / 8);
|
|
if (local_02 == 0) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
if (local_06 == 1) {
|
|
}
|
|
else if (local_06 == 2) {
|
|
}
|
|
else if (local_06 == 3) {
|
|
}
|
|
else if (local_06 == 4) {
|
|
}
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 1) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 2) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 3) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn FREE.slot_3B(pid, 1, 0x00000000);
|
|
suspend;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 4) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
local_14 = local_06;
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
else if (local_02 == 5) {
|
|
for local_10 in nearby_items(family=6, origin=local_0E) {
|
|
if (!Item.isCrusTypeNPC(Item.getShape(local_10))) {
|
|
if (Intrinsic000D(local_10) == arg_12) {
|
|
spawn NPC.equip(local_06, local_10);
|
|
}
|
|
}
|
|
/* loopnext */
|
|
}
|
|
}
|
|
return;
|
|
}
|
|
return;
|
|
}
|