280 lines
5.7 KiB
Text
280 lines
5.7 KiB
Text
function blastpac_use() /* entry=207 class_id=0x039B slot=0x01 */
|
|
{
|
|
var
|
|
referent, /* [BP+00h] type=0x69 */
|
|
InCrouch, /* [BP-01h] type=0x62 */
|
|
Blastpac, /* [BP-03h] type=0x24 */
|
|
target, /* [BP-05h] type=0x24 */
|
|
item, /* [BP-07h] type=0x24 */
|
|
counter, /* [BP-09h] type=0x69 */
|
|
lastAnim, /* [BP-0Bh] type=0x69 */
|
|
xOff, /* [BP-0Dh] type=0x69 */
|
|
yOff, /* [BP-0Fh] type=0x69 */
|
|
mine; /* [BP-11h] type=0x24 */
|
|
|
|
entry:
|
|
set_info(0x0207, *(arg_06));
|
|
process_exclude();
|
|
Blastpac = *(arg_06);
|
|
set_info(0x00F0, 0);
|
|
/* global_address global_id=0x3C */
|
|
lastAnim = Item.push();
|
|
|
|
block_011D:
|
|
/* global_address global_id=0x3C */
|
|
if Intrinsic0033() goto block_0153;
|
|
|
|
block_012D:
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
goto block_011D;
|
|
|
|
block_0153:
|
|
/* loopscr value_u8=0x24 */
|
|
/* loopscr value_u8=0x3D */
|
|
/* loopscr value_u8=0x40 */
|
|
/* loopscr value_u8=0x25 */
|
|
/* loop current_var=0xF9 string_bytes=0x6 loop_type=0x2 */
|
|
|
|
block_0171:
|
|
if condition goto block_0233;
|
|
|
|
block_0174:
|
|
target = item;
|
|
|
|
block_017B:
|
|
class_0A0C_slot_29(target, global[0x003C]);
|
|
if ((retval > 3) && (counter != 6)) goto block_01FC;
|
|
|
|
block_019E:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
spawn class_0A11_slot_22(Item.getDirToItem(Intrinsic0013(pid, 1, Item.legal_create(Item.legal_create(target), Intrinsic0013(target)))));
|
|
suspend;
|
|
counter = (1 + counter);
|
|
goto block_017B;
|
|
|
|
block_01FC:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
goto block_0233;
|
|
|
|
block_022F:
|
|
/* loopnext */
|
|
goto block_0171;
|
|
|
|
block_0233:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 0) goto block_0253;
|
|
|
|
block_0245:
|
|
xOff = -1;
|
|
yOff = -3;
|
|
goto block_0415;
|
|
|
|
block_0253:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 1) goto block_0271;
|
|
|
|
block_0263:
|
|
xOff = 0;
|
|
yOff = -3;
|
|
goto block_0415;
|
|
|
|
block_0271:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 2) goto block_028F;
|
|
|
|
block_0281:
|
|
xOff = 1;
|
|
yOff = -3;
|
|
goto block_0415;
|
|
|
|
block_028F:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 3) goto block_02AD;
|
|
|
|
block_029F:
|
|
xOff = 2;
|
|
yOff = -2;
|
|
goto block_0415;
|
|
|
|
block_02AD:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 4) goto block_02CB;
|
|
|
|
block_02BD:
|
|
xOff = 2;
|
|
yOff = -1;
|
|
goto block_0415;
|
|
|
|
block_02CB:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 5) goto block_02E9;
|
|
|
|
block_02DB:
|
|
xOff = 2;
|
|
yOff = 0;
|
|
goto block_0415;
|
|
|
|
block_02E9:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 6) goto block_0307;
|
|
|
|
block_02F9:
|
|
xOff = 2;
|
|
yOff = 2;
|
|
goto block_0415;
|
|
|
|
block_0307:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 7) goto block_0325;
|
|
|
|
block_0317:
|
|
xOff = 0;
|
|
yOff = 2;
|
|
goto block_0415;
|
|
|
|
block_0325:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 8) goto block_0343;
|
|
|
|
block_0335:
|
|
xOff = -1;
|
|
yOff = 2;
|
|
goto block_0415;
|
|
|
|
block_0343:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 9) goto block_0361;
|
|
|
|
block_0353:
|
|
xOff = -2;
|
|
yOff = 2;
|
|
goto block_0415;
|
|
|
|
block_0361:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 10) goto block_037F;
|
|
|
|
block_0371:
|
|
xOff = -3;
|
|
yOff = 2;
|
|
goto block_0415;
|
|
|
|
block_037F:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 11) goto block_039D;
|
|
|
|
block_038F:
|
|
xOff = -3;
|
|
yOff = 1;
|
|
goto block_0415;
|
|
|
|
block_039D:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 12) goto block_03BB;
|
|
|
|
block_03AD:
|
|
xOff = -3;
|
|
yOff = 0;
|
|
goto block_0415;
|
|
|
|
block_03BB:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 13) goto block_03D9;
|
|
|
|
block_03CB:
|
|
xOff = -3;
|
|
yOff = -1;
|
|
goto block_0415;
|
|
|
|
block_03D9:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 14) goto block_03F7;
|
|
|
|
block_03E9:
|
|
xOff = -3;
|
|
yOff = -2;
|
|
goto block_0415;
|
|
|
|
block_03F7:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 15) goto block_0415;
|
|
|
|
block_0407:
|
|
xOff = -3;
|
|
yOff = -3;
|
|
goto block_0415;
|
|
|
|
block_0415:
|
|
if target goto block_061D;
|
|
|
|
block_041D:
|
|
/* global_address global_id=0x3C */
|
|
if Intrinsic0035() goto block_0437;
|
|
|
|
block_042D:
|
|
InCrouch = 1;
|
|
goto block_046E;
|
|
|
|
block_0437:
|
|
InCrouch = 0;
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_046E:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
spawn class_039B_slot_20(mine, arg_06);
|
|
|
|
block_04C5:
|
|
/* global_address global_id=0x3C */
|
|
if Intrinsic0033() goto block_04FB;
|
|
|
|
block_04D5:
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
goto block_04C5;
|
|
|
|
block_04FB:
|
|
spawn class_0A0C_slot_21(pid, 13, 0x00000000);
|
|
suspend;
|
|
if (!InCrouch) goto block_05C5;
|
|
|
|
block_052A:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
if target goto block_05C2;
|
|
|
|
block_0562:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_05C2:
|
|
goto block_061A;
|
|
|
|
block_05C5:
|
|
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
|
|
suspend;
|
|
|
|
block_061A:
|
|
goto block_0672;
|
|
|
|
block_061D:
|
|
spawn class_0A0C_slot_21(pid, 0x00B0, 0x00000000);
|
|
suspend;
|
|
|
|
block_0672:
|
|
return;
|
|
|
|
}
|