gzdoom/wadsrc/static/zscript/hexen/mageboss.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

86 lines
1.3 KiB
Text

// Mage Boss (Menelkir) -----------------------------------------------------
class MageBoss : Actor
{
Default
{
Health 800;
PainChance 50;
Speed 25;
Radius 16;
Height 64;
Monster;
+FLOORCLIP +TELESTOMP
+DONTMORPH
PainSound "PlayerMagePain";
DeathSound "PlayerMageCrazyDeath";
Obituary "$OB_MBOSS";
}
native void A_MageAttack();
States
{
Spawn:
MAGE A 2;
MAGE A 3 A_ClassBossHealth;
MAGE A 5 A_Look;
Wait;
See:
MAGE ABCD 4 A_FastChase;
Loop;
Pain:
MAGE G 4;
MAGE G 4 A_Pain;
Goto See;
Melee:
Missile:
MAGE E 8 A_FaceTarget;
MAGE F 8 Bright A_MageAttack;
Goto See;
Death:
MAGE H 6;
MAGE I 6 A_Scream;
MAGE JK 6;
MAGE L 6 A_NoBlocking;
MAGE M 6;
MAGE N -1;
Stop;
XDeath:
MAGE O 5 A_Scream;
MAGE P 5;
MAGE R 5 A_NoBlocking;
MAGE S 5;
MAGE T 5;
MAGE U 5;
MAGE V 5;
MAGE W 5;
MAGE X -1;
Stop;
Ice:
MAGE Y 5 A_FreezeDeath;
MAGE Y 1 A_FreezeDeathChunks;
Wait;
Burn:
FDTH E 5 Bright A_PlaySound("PlayerMageBurnDeath");
FDTH F 4 Bright;
FDTH G 5 Bright;
FDTH H 4 Bright A_Scream;
FDTH I 5 Bright;
FDTH J 4 Bright;
FDTH K 5 Bright;
FDTH L 4 Bright;
FDTH M 5 Bright;
FDTH N 4 Bright;
FDTH O 5 Bright;
FDTH P 4 Bright;
FDTH Q 5 Bright;
FDTH R 4 Bright;
FDTH S 5 Bright A_NoBlocking;
FDTH T 4 Bright;
FDTH U 5 Bright;
FDTH V 4 Bright;
Stop;
}
}