gzdoom/wadsrc/static/zscript/strife/sentinel.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

104 lines
1.5 KiB
Text

// Sentinel -----------------------------------------------------------------
class Sentinel : Actor
{
Default
{
Health 100;
Painchance 255;
Speed 7;
Radius 23;
Height 53;
Mass 300;
Monster;
+SPAWNCEILING
+NOGRAVITY
+DROPOFF
+NOBLOOD
+NOBLOCKMONST
+INCOMBAT
+MISSILEMORE
+LOOKALLAROUND
+NEVERRESPAWN
MinMissileChance 150;
SeeSound "sentinel/sight";
DeathSound "sentinel/death";
ActiveSound "sentinel/active";
Obituary "$OB_SENTINEL";
}
native void A_SentinelAttack ();
States
{
Spawn:
SEWR A 10 A_Look;
Loop;
See:
SEWR A 6 A_SentinelBob;
SEWR A 6 A_Chase;
Loop;
Missile:
SEWR B 4 A_FaceTarget;
SEWR C 8 Bright A_SentinelAttack;
SEWR C 4 Bright A_SentinelRefire;
Goto Missile+1;
Pain:
SEWR D 5 A_Pain;
Goto Missile+2;
Death:
SEWR D 7 A_Fall;
SEWR E 8 Bright A_TossGib;
SEWR F 5 Bright A_Scream;
SEWR GH 4 Bright A_TossGib;
SEWR I 4;
SEWR J 5;
Stop;
}
}
// Sentinel FX 1 ------------------------------------------------------------
class SentinelFX1 : Actor
{
Default
{
Speed 40;
Radius 10;
Height 8;
Damage 0;
DamageType "Disintegrate";
Projectile;
+STRIFEDAMAGE
MaxStepHeight 4;
RenderStyle "Add";
}
States
{
Spawn:
SHT1 AB 4;
Loop;
Death:
POW1 J 4;
Stop;
}
}
// Sentinel FX 2 ------------------------------------------------------------
class SentinelFX2 : SentinelFX1
{
Default
{
SeeSound "sentinel/plasma";
Damage 1;
}
States
{
Death:
POW1 FGHI 4;
Goto Super::Death;
}
}