qzdoom-gpl/wadsrc/static/zscript/heretic/ironlich.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

191 lines
2.6 KiB
Text

// Ironlich -----------------------------------------------------------------
class Ironlich : Actor
{
Default
{
Health 700;
Radius 40;
Height 72;
Mass 325;
Speed 6;
Painchance 32;
Monster;
+NOBLOOD
+DONTMORPH
+DONTSQUASH
+BOSSDEATH
SeeSound "ironlich/sight";
AttackSound "ironlich/attack";
PainSound "ironlich/pain";
DeathSound "ironlich/death";
ActiveSound "ironlich/active";
Obituary "$OB_IRONLICH";
HitObituary "$OB_IRONLICHHIT";
DropItem "BlasterAmmo", 84, 10;
DropItem "ArtiEgg", 51, 0;
}
native void A_LichAttack ();
States
{
Spawn:
LICH A 10 A_Look;
Loop;
See:
LICH A 4 A_Chase;
Loop;
Missile:
LICH A 5 A_FaceTarget;
LICH B 20 A_LichAttack;
Goto See;
Pain:
LICH A 4;
LICH A 4 A_Pain;
Goto See;
Death:
LICH C 7;
LICH D 7 A_Scream;
LICH EF 7;
LICH G 7 A_NoBlocking;
LICH H 7;
LICH I -1 A_BossDeath;
Stop;
}
}
// Head FX 1 ----------------------------------------------------------------
class HeadFX1 : Actor
{
Default
{
Radius 12;
Height 6;
Speed 13;
FastSpeed 20;
Damage 1;
Projectile;
-ACTIVATEIMPACT
-ACTIVATEPCROSS
+THRUGHOST
RenderStyle "Add";
}
native void A_LichIceImpact();
States
{
Spawn:
FX05 ABC 6 BRIGHT;
Loop;
Death:
FX05 D 5 BRIGHT A_LichIceImpact;
FX05 EFG 5 BRIGHT;
Stop;
}
}
// Head FX 2 ----------------------------------------------------------------
class HeadFX2 : Actor
{
Default
{
Radius 12;
Height 6;
Speed 8;
Damage 3;
Projectile;
-ACTIVATEIMPACT
-ACTIVATEPCROSS
RenderStyle "Add";
}
States
{
Spawn:
FX05 HIJ 6 BRIGHT;
Loop;
Death:
FX05 DEFG 5 BRIGHT;
Stop;
}
}
// Head FX 3 ----------------------------------------------------------------
class HeadFX3 : Actor
{
Default
{
Radius 14;
Height 12;
Speed 10;
FastSpeed 18;
Damage 5;
Projectile;
+WINDTHRUST
-ACTIVATEIMPACT
-ACTIVATEPCROSS
-NOBLOCKMAP
RenderStyle "Add";
}
native void A_LichFireGrow ();
States
{
Spawn:
FX06 ABC 4 BRIGHT A_LichFireGrow;
Loop;
NoGrow:
FX06 ABC 5 BRIGHT;
Loop;
Death:
FX06 DEFG 5 BRIGHT;
Stop;
}
}
// Whirlwind ----------------------------------------------------------------
class Whirlwind : Actor native
{
Default
{
Radius 16;
Height 74;
Speed 10;
Damage 1;
Projectile;
-ACTIVATEIMPACT
-ACTIVATEMCROSS
+SEEKERMISSILE
+EXPLOCOUNT
+StepMissile
RenderStyle "Translucent";
DefThreshold 60;
Threshold 50;
Alpha 0.4;
}
native void A_WhirlwindSeek();
States
{
Spawn:
FX07 DEFG 3;
FX07 ABC 3 A_WhirlwindSeek;
Goto Spawn+4;
Death:
FX07 GFED 4;
Stop;
}
}