gzdoom/wadsrc/static/zscript/strife/inquisitor.txt
Christoph Oelckers 371712c53a - turned everything I could into non-action functions.
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00

150 lines
2.6 KiB
Text

// Inquisitor ---------------------------------------------------------------
class Inquisitor : Actor
{
Default
{
Health 1000;
Speed 12;
Radius 40;
Height 110;
Mass 0x7fffffff;
Monster;
+DROPOFF
+NOBLOOD
+BOSS
+FLOORCLIP
+DONTMORPH
+NORADIUSDMG
MaxDropOffHeight 32;
MinMissileChance 150;
SeeSound "inquisitor/sight";
DeathSound "inquisitor/death";
ActiveSound "inquisitor/active";
Obituary "$OB_INQUISITOR";
}
native void A_InquisitorWalk ();
native void A_InquisitorDecide ();
native void A_InquisitorAttack ();
native void A_InquisitorJump ();
native void A_InquisitorCheckLand ();
native void A_TossArm ();
native void A_ReaverRanged ();
States
{
Spawn:
ROB3 AB 10 A_Look;
Loop;
See:
ROB3 B 3 A_InquisitorWalk;
ROB3 B 3 A_Chase;
ROB3 CCDD 4 A_Chase;
ROB3 E 3 A_InquisitorWalk;
ROB3 E 3 A_InquisitorDecide;
Loop;
Missile:
ROB3 A 2 A_InquisitorDecide;
ROB3 F 6 A_FaceTarget;
ROB3 G 8 Bright A_ReaverRanged;
ROB3 G 8 A_ReaverRanged;
Goto See;
Grenade:
ROB3 K 12 A_FaceTarget;
ROB3 J 6 Bright A_InquisitorAttack;
ROB3 K 12;
Goto See;
Jump:
ROB3 H 8 Bright A_InquisitorJump;
ROB3 I 4 Bright A_InquisitorCheckLand;
ROB3 H 4 Bright A_InquisitorCheckLand;
Goto Jump+1;
Death:
ROB3 L 0 A_StopSound(CHAN_ITEM);
ROB3 L 4 A_TossGib;
ROB3 M 4 A_Scream;
ROB3 N 4 A_TossGib;
ROB3 O 4 Bright A_Explode(128,128,1,1);
ROB3 P 4 Bright A_TossGib;
ROB3 Q 4 Bright A_NoBlocking;
ROB3 RSTUV 4 A_TossGib;
ROB3 W 4 Bright A_Explode(128,128,1,1);
ROB3 XY 4 Bright A_TossGib;
ROB3 Z 4 A_TossGib;
ROB3 [ 4 A_TossGib;
ROB3 \ 3 A_TossGib;
ROB3 ] 3 Bright A_Explode(128,128,1,1);
RBB3 A 3 Bright A_TossArm;
RBB3 B 3 Bright A_TossGib;
RBB3 CD 3 A_TossGib;
RBB3 E -1;
Stop;
}
}
// Inquisitor Shot ----------------------------------------------------------
class InquisitorShot : Actor
{
Default
{
ReactionTime 15;
Speed 25;
Radius 13;
Height 13;
Mass 15;
Projectile;
-ACTIVATEIMPACT
-ACTIVATEPCROSS
-NOGRAVITY
+STRIFEDAMAGE
MaxStepHeight 4;
SeeSound "inquisitor/attack";
DeathSound "inquisitor/atkexplode";
}
States
{
Spawn:
UBAM AB 3 A_Countdown;
Loop;
Death:
BNG2 A 0 Bright A_SetTranslucent(1,1);
BNG2 A 4 Bright A_Explode(192, 192, 1, 1);
BNG2 B 4 Bright;
BNG2 C 4 Bright;
BNG2 D 4 Bright;
BNG2 E 4 Bright;
BNG2 F 4 Bright;
BNG2 G 4 Bright;
BNG2 H 4 Bright;
BNG2 I 4 Bright;
Stop;
}
}
// The Dead Inquisitor's Detached Arm ---------------------------------------
class InquisitorArm : Actor
{
Default
{
Speed 25;
+NOBLOCKMAP
+NOCLIP
+NOBLOOD
}
States
{
Spawn:
RBB3 FG 5 Bright;
RBB3 H -1;
Stop;
}
}