123 lines
2.8 KiB
Text
123 lines
2.8 KiB
Text
|
|
/* synthesized appendix for DETPAC */
|
|
/* sparse lines above preserve recovered debugger line numbers where available */
|
|
|
|
/* ===== slot 0x01 use ===== */
|
|
function detpac_use() /* entry=323 class_id=0x055F slot=0x01 */
|
|
{
|
|
set_info(0x0207, *(arg_06));
|
|
process_exclude();
|
|
local_03 = *(arg_06);
|
|
if (!Item.isInNpc(arg_06)) {
|
|
/* global_address global_id=0x1E */
|
|
if (Actor.getMap() == 25) {
|
|
return;
|
|
}
|
|
set_info(0x00F0, 0);
|
|
local_07 = 0;
|
|
/* global_address global_id=0x1E */
|
|
while (!Actor.isBusy()) {
|
|
spawn FREE.slot_3B(pid, 2, 0x00000000);
|
|
suspend;
|
|
}
|
|
/* global_address global_id=0x1E */
|
|
if (Actor.getDir() == 0) {
|
|
local_09 = -1;
|
|
local_0B = -3;
|
|
}
|
|
else if (Actor.getDir() == 1) {
|
|
local_09 = 0;
|
|
local_0B = -3;
|
|
}
|
|
else if (Actor.getDir() == 2) {
|
|
local_09 = 1;
|
|
local_0B = -3;
|
|
}
|
|
else if (Actor.getDir() == 3) {
|
|
local_09 = 2;
|
|
local_0B = -2;
|
|
}
|
|
else if (Actor.getDir() == 4) {
|
|
local_09 = 2;
|
|
local_0B = -1;
|
|
}
|
|
else if (Actor.getDir() == 5) {
|
|
local_09 = 2;
|
|
local_0B = 0;
|
|
}
|
|
else if (Actor.getDir() == 6) {
|
|
local_09 = 2;
|
|
local_0B = 2;
|
|
}
|
|
else if (Actor.getDir() == 7) {
|
|
local_09 = 0;
|
|
local_0B = 2;
|
|
}
|
|
else if (Actor.getDir() == 8) {
|
|
local_09 = -1;
|
|
local_0B = 2;
|
|
}
|
|
else if (Actor.getDir() == 9) {
|
|
local_09 = -2;
|
|
local_0B = 2;
|
|
}
|
|
else if (Actor.getDir() == 10) {
|
|
local_09 = -3;
|
|
local_0B = 2;
|
|
}
|
|
else if (Actor.getDir() == 11) {
|
|
local_09 = -3;
|
|
local_0B = 1;
|
|
}
|
|
else if (Actor.getDir() == 12) {
|
|
local_09 = -3;
|
|
local_0B = 0;
|
|
}
|
|
else if (Actor.getDir() == 13) {
|
|
local_09 = -3;
|
|
local_0B = -1;
|
|
}
|
|
else if (Actor.getDir() == 14) {
|
|
local_09 = -3;
|
|
local_0B = -2;
|
|
}
|
|
else if (Actor.getDir() == 15) {
|
|
local_09 = -3;
|
|
local_0B = -3;
|
|
}
|
|
/* global_address global_id=0x1E */
|
|
if (!Intrinsic0061()) {
|
|
local_01 = 1;
|
|
}
|
|
else {
|
|
local_01 = 0;
|
|
/* global_address global_id=0x1E */
|
|
/* global_address global_id=0x1E */
|
|
suspend;
|
|
}
|
|
/* global_address global_id=0x1E */
|
|
local_12 = (Item.getX() + (local_09 * 16));
|
|
/* global_address global_id=0x1E */
|
|
local_10 = (Item.getY() + (local_0B * 16));
|
|
/* global_address global_id=0x1E */
|
|
local_0E = Item.getZ();
|
|
if (!Item.legalCreateAtPoint(local_12, 0, 0x055F, local_0D)) {
|
|
}
|
|
else {
|
|
/* global_address global_id=0x1E */
|
|
}
|
|
if (local_01) {
|
|
/* global_address global_id=0x1E */
|
|
/* global_address global_id=0x1E */
|
|
suspend;
|
|
/* global_address global_id=0x1E */
|
|
/* global_address global_id=0x1E */
|
|
suspend;
|
|
}
|
|
return;
|
|
}
|
|
else {
|
|
/* global_address global_id=0x1E */
|
|
}
|
|
return;
|
|
}
|