232 lines
4.5 KiB
Text
232 lines
4.5 KiB
Text
function landmine_use() /* entry=206 class_id=0x039A slot=0x01 */
|
|
{
|
|
var
|
|
referent, /* [BP+00h] type=0x69 */
|
|
InCrouch, /* [BP-01h] type=0x62 */
|
|
landMine, /* [BP-03h] type=0x24 */
|
|
item, /* [BP-05h] type=0x24 */
|
|
xOff, /* [BP-07h] type=0x69 */
|
|
yOff, /* [BP-09h] type=0x69 */
|
|
mine, /* [BP-0Bh] type=0x24 */
|
|
wp; /* [BP-10h] type=0x24 */
|
|
|
|
entry:
|
|
set_info(0x0207, *(arg_06));
|
|
process_exclude();
|
|
landMine = *(arg_06);
|
|
/* global_address global_id=0x3C */
|
|
if (Item.getType() != 40) goto block_013E;
|
|
|
|
block_010A:
|
|
goto block_0502;
|
|
|
|
block_013E:
|
|
set_info(0x00F0, 0);
|
|
|
|
block_0152:
|
|
/* global_address global_id=0x3C */
|
|
if Intrinsic0033() goto block_0188;
|
|
|
|
block_0162:
|
|
spawn class_0A0C_slot_32(pid, 2, 0x00000000);
|
|
suspend;
|
|
goto block_0152;
|
|
|
|
block_0188:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 0) goto block_01A6;
|
|
|
|
block_0198:
|
|
xOff = -1;
|
|
yOff = -3;
|
|
goto block_0368;
|
|
|
|
block_01A6:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 1) goto block_01C4;
|
|
|
|
block_01B6:
|
|
xOff = 0;
|
|
yOff = -3;
|
|
goto block_0368;
|
|
|
|
block_01C4:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 2) goto block_01E2;
|
|
|
|
block_01D4:
|
|
xOff = 2;
|
|
yOff = -3;
|
|
goto block_0368;
|
|
|
|
block_01E2:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 3) goto block_0200;
|
|
|
|
block_01F2:
|
|
xOff = 2;
|
|
yOff = -2;
|
|
goto block_0368;
|
|
|
|
block_0200:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 4) goto block_021E;
|
|
|
|
block_0210:
|
|
xOff = 2;
|
|
yOff = -1;
|
|
goto block_0368;
|
|
|
|
block_021E:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 5) goto block_023C;
|
|
|
|
block_022E:
|
|
xOff = 2;
|
|
yOff = 0;
|
|
goto block_0368;
|
|
|
|
block_023C:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 6) goto block_025A;
|
|
|
|
block_024C:
|
|
xOff = 2;
|
|
yOff = 2;
|
|
goto block_0368;
|
|
|
|
block_025A:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 7) goto block_0278;
|
|
|
|
block_026A:
|
|
xOff = 0;
|
|
yOff = 2;
|
|
goto block_0368;
|
|
|
|
block_0278:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 8) goto block_0296;
|
|
|
|
block_0288:
|
|
xOff = -1;
|
|
yOff = 2;
|
|
goto block_0368;
|
|
|
|
block_0296:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 9) goto block_02B4;
|
|
|
|
block_02A6:
|
|
xOff = -2;
|
|
yOff = 2;
|
|
goto block_0368;
|
|
|
|
block_02B4:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 10) goto block_02D2;
|
|
|
|
block_02C4:
|
|
xOff = -3;
|
|
yOff = 2;
|
|
goto block_0368;
|
|
|
|
block_02D2:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 11) goto block_02F0;
|
|
|
|
block_02E2:
|
|
xOff = -3;
|
|
yOff = 1;
|
|
goto block_0368;
|
|
|
|
block_02F0:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 12) goto block_030E;
|
|
|
|
block_0300:
|
|
xOff = -3;
|
|
yOff = 0;
|
|
goto block_0368;
|
|
|
|
block_030E:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 13) goto block_032C;
|
|
|
|
block_031E:
|
|
xOff = -3;
|
|
yOff = -1;
|
|
goto block_0368;
|
|
|
|
block_032C:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 14) goto block_034A;
|
|
|
|
block_033C:
|
|
xOff = -3;
|
|
yOff = -2;
|
|
goto block_0368;
|
|
|
|
block_034A:
|
|
/* global_address global_id=0x3C */
|
|
if (Intrinsic00FA() != 15) goto block_0368;
|
|
|
|
block_035A:
|
|
xOff = -3;
|
|
yOff = -3;
|
|
goto block_0368;
|
|
|
|
block_0368:
|
|
/* global_address global_id=0x3C */
|
|
if Intrinsic0035() goto block_0382;
|
|
|
|
block_0378:
|
|
InCrouch = 1;
|
|
goto block_03B9;
|
|
|
|
block_0382:
|
|
InCrouch = 0;
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_03B9:
|
|
/* global_address global_id=0x3C */
|
|
wp = (Intrinsic0013() + (xOff * 16));
|
|
/* global_address global_id=0x3C */
|
|
local_0E = (Item.legal_create() + (yOff * 16));
|
|
/* global_address global_id=0x3C */
|
|
local_0C = Item.getZ();
|
|
if Item.getSurfaceWeight(wp, 0, 0x039A, mine) goto block_0416;
|
|
|
|
block_0408:
|
|
goto block_048E;
|
|
|
|
block_0416:
|
|
if (!InCrouch) goto block_047D;
|
|
|
|
block_044D:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_047D:
|
|
goto block_0502;
|
|
|
|
block_048E:
|
|
if (!InCrouch) goto block_04C7;
|
|
|
|
block_0497:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_04C7:
|
|
/* global_address global_id=0x3C */
|
|
/* global_address global_id=0x3C */
|
|
suspend;
|
|
|
|
block_0502:
|
|
return;
|
|
|
|
}
|