qzdoom-gpl/wadsrc/static/zscript/strife/stalker.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

79 lines
1.3 KiB
Text

// Stalker ------------------------------------------------------------------
class Stalker : Actor
{
Default
{
Health 80;
Painchance 40;
Speed 16;
Radius 31;
Height 25;
Monster;
+NOGRAVITY
+DROPOFF
+NOBLOOD
+SPAWNCEILING
+INCOMBAT
+NOVERTICALMELEERANGE
MaxDropOffHeight 32;
MinMissileChance 150;
SeeSound "stalker/sight";
AttackSound "stalker/attack";
PainSound "stalker/pain";
DeathSound "stalker/death";
ActiveSound "stalker/active";
HitObituary "$OB_STALKER";
}
native void A_StalkerLookInit ();
native void A_StalkerChaseDecide ();
native void A_StalkerWalk ();
native void A_StalkerDrop ();
native void A_StalkerAttack ();
States
{
Spawn:
STLK A 1 A_StalkerLookInit;
Loop;
LookCeiling:
STLK A 10 A_Look;
Loop;
LookFloor:
STLK J 10 A_Look;
Loop;
See:
STLK A 1 Slow A_StalkerChaseDecide;
STLK ABB 3 Slow A_Chase;
STLK C 3 Slow A_StalkerWalk;
STLK C 3 Slow A_Chase;
Loop;
Melee:
STLK J 3 Slow A_FaceTarget;
STLK K 3 Slow A_StalkerAttack;
SeeFloor:
STLK J 3 A_StalkerWalk;
STLK KK 3 A_Chase;
STLK L 3 A_StalkerWalk;
STLK L 3 A_Chase;
Loop;
Pain:
STLK L 1 A_Pain;
Goto See;
Drop:
STLK C 2 A_StalkerDrop;
STLK IHGFED 3;
Goto SeeFloor;
Death:
STLK O 4;
STLK P 4 A_Scream;
STLK QRST 4;
STLK U 4 A_NoBlocking;
STLK VW 4;
STLK "XYZ[" 4 Bright;
Stop;
}
}