Crusader_Decomp/USECODE/REGRET/DISRUPT.unk

138 lines
3.2 KiB
Text

/* synthesized appendix for DISRUPT */
/* sparse lines above preserve recovered debugger line numbers where available */
/* ===== slot 0x01 use ===== */
function disrupt_use() /* entry=401 class_id=0x0616 slot=0x01 */
{
set_info(0x0207, *(arg_06));
process_exclude();
set_info(0x00F0, 0);
/* global_address global_id=0x1E */
if (Actor.getMap() == 25) {
return;
}
else {
local_05 = *(arg_06);
set_info(0x00F0, 0);
/* global_address global_id=0x1E */
local_0D = Actor.getLastAnimSet();
/* 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_0F = -1;
local_11 = -3;
}
else if (Actor.getDir() == 1) {
local_0F = 0;
local_11 = -3;
}
else if (Actor.getDir() == 2) {
local_0F = 1;
local_11 = -3;
}
else if (Actor.getDir() == 3) {
local_0F = 2;
local_11 = -2;
}
else if (Actor.getDir() == 4) {
local_0F = 2;
local_11 = -1;
}
else if (Actor.getDir() == 5) {
local_0F = 2;
local_11 = 0;
}
else if (Actor.getDir() == 6) {
local_0F = 2;
local_11 = 2;
}
else if (Actor.getDir() == 7) {
local_0F = 0;
local_11 = 2;
}
else if (Actor.getDir() == 8) {
local_0F = -1;
local_11 = 2;
}
else if (Actor.getDir() == 9) {
local_0F = -2;
local_11 = 2;
}
else if (Actor.getDir() == 10) {
local_0F = -3;
local_11 = 2;
}
else if (Actor.getDir() == 11) {
local_0F = -3;
local_11 = 1;
}
else if (Actor.getDir() == 12) {
local_0F = -3;
local_11 = 0;
}
else if (Actor.getDir() == 13) {
local_0F = -3;
local_11 = -1;
}
else if (Actor.getDir() == 14) {
local_0F = -3;
local_11 = -2;
}
else if (Actor.getDir() == 15) {
local_0F = -3;
local_11 = -3;
}
/* global_address global_id=0x1E */
if (!Intrinsic0061()) {
local_03 = 1;
}
else {
local_03 = 0;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
/* global_address global_id=0x1E */
local_16 = (Item.getX() + (local_0F * 16));
/* global_address global_id=0x1E */
local_14 = (Item.getY() + (local_11 * 16));
/* global_address global_id=0x1E */
local_12 = Item.getZ();
if (Item.legalCreateAtPoint(local_16, 0, 0x0616, local_02)) {
spawn FREE.slot_21(pid, 0x01A7, 0x00000000);
suspend;
}
else {
local_17 = 0;
/* loopscr value_u8=0x24 */
/* loopscr value_u8=0x44 */
/* loop current_var=0xF7 string_bytes=0xA loop_type=0x2 */
while (!condition) {
local_17 = 1;
/* loopnext */
}
if (local_17) {
spawn FREE.slot_21(pid, 0x01AA, 0x00000000);
suspend;
}
else {
spawn FREE.slot_21(pid, 0x01A9, 0x00000000);
suspend;
}
}
if (local_03) {
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
/* global_address global_id=0x1E */
/* global_address global_id=0x1E */
suspend;
}
}
return;
}