qzdoom-gpl/wadsrc/static/zscript/hexen/korax.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

133 lines
2 KiB
Text

class Korax : Actor
{
Default
{
Health 5000;
Painchance 20;
Speed 10;
Radius 65;
Height 115;
Mass 2000;
Damage 15;
Monster;
+BOSS
+FLOORCLIP
+TELESTOMP
+DONTMORPH
+NOTARGET
+NOICEDEATH
SeeSound "KoraxSight";
AttackSound "KoraxAttack";
PainSound "KoraxPain";
DeathSound "KoraxDeath";
ActiveSound "KoraxActive";
Obituary "$OB_KORAX";
}
native void A_KoraxChase();
native void A_KoraxDecide();
native void A_KoraxBonePop();
native void A_KoraxMissile();
native void A_KoraxCommand();
States
{
Spawn:
KORX A 5 A_Look;
Loop;
See:
KORX AAA 3 A_KoraxChase;
KORX B 3 A_Chase;
KORX BBB 3 A_KoraxChase;
KORX C 0 A_PlaySound("KoraxStep");
KORX C 3 A_Chase;
KORX CCC 3 A_KoraxChase;
KORX D 3 A_Chase;
KORX DDD 3 A_KoraxChase;
KORX A 0 A_PlaySound("KoraxStep");
KORX A 3 A_Chase;
Loop;
Pain:
KORX H 5 A_Pain;
KORX H 5;
Goto See;
Missile:
KORX E 2 Bright A_FaceTarget;
KORX E 5 Bright A_KoraxDecide;
Wait;
Death:
KORX I 5;
KORX J 5 A_FaceTarget;
KORX K 5 A_Scream;
KORX LMNOP 5;
KORX Q 10;
KORX R 5 A_KoraxBonePop;
KORX S 5 A_NoBlocking;
KORX TU 5;
KORX V -1;
Stop;
Attack:
KORX E 4 Bright A_FaceTarget;
KORX F 8 Bright A_KoraxMissile;
KORX E 8 Bright;
Goto See;
Command:
KORX E 5 Bright A_FaceTarget;
KORX W 10 Bright A_FaceTarget;
KORX G 15 Bright A_KoraxCommand;
KORX W 10 Bright;
KORX E 5 Bright;
Goto See;
}
}
class KoraxSpirit : Actor
{
Default
{
Speed 8;
Projectile;
+NOCLIP
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle "Translucent";
Alpha 0.4;
}
native void A_KSpiritRoam();
States
{
Spawn:
SPIR AB 5 A_KSpiritRoam;
Loop;
Death:
SPIR DEFGHI 5;
Stop;
}
}
class KoraxBolt : Actor
{
Default
{
Radius 15;
Height 35;
Projectile;
-ACTIVATEPCROSS
-ACTIVATEIMPACT
RenderStyle "Add";
}
native void A_KBolt();
native void A_KBoltRaise();
States
{
Spawn:
MLFX I 2 Bright;
MLFX J 2 Bright A_KBoltRaise;
MLFX IJKLM 2 Bright A_KBolt;
Stop;
}
}