Code: Select all
class Archvile : Actor
{
state nullstate;
Default
{
Health 700;
Radius 20;
Height 56;
Mass 500;
Speed 15;
PainChance 10;
Monster;
MaxTargetRange 896;
+QUICKTORETALIATE
+FLOORCLIP
+NOTARGET
SeeSound "vile/sight";
PainSound "vile/pain";
DeathSound "vile/death";
ActiveSound "vile/active";
MeleeSound "vile/stop";
Obituary "$OB_VILE";
Tag "$FN_ARCH";
}
override void PostBeginPlay()
{
let nullstate = SetState(null);
}
States
{
Spawn:
VILE AB 10 A_Look;
Loop;
See:
VILE AABBCCDDEEFF 2 A_Chase ((CheckLOF (CLOFF_MUSTBESOLID)) ? "nullstate" : "Melee", (CheckLOF (CLOFF_MUSTBESOLID)) ? "nullstate" : "Missile", CHF_RESURRECT);
Loop;
Missile:
VILE G 0 BRIGHT A_VileStart;
VILE G 10 BRIGHT A_FaceTarget;
VILE H 8 BRIGHT A_VileTarget;
VILE IJKLMN 8 BRIGHT A_FaceTarget;
VILE O 8 BRIGHT A_VileAttack;
VILE P 20 BRIGHT;
Goto See;
Heal:
VILE [\] 10 BRIGHT;
Goto See;
Pain:
VILE Q 5;
VILE Q 5 A_Pain;
Goto See;
Death:
VILE Q 7;
VILE R 7 A_Scream;
VILE S 7 A_NoBlocking;
VILE TUVWXY 7;
VILE Z -1;
Stop;
}
}