mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-14 16:40:56 +00:00
371712c53a
- 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.
236 lines
3.6 KiB
Text
236 lines
3.6 KiB
Text
class Minotaur : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Health 3000;
|
|
Radius 28;
|
|
Height 100;
|
|
Mass 800;
|
|
Speed 16;
|
|
Damage 7;
|
|
Painchance 25;
|
|
Monster;
|
|
+DROPOFF
|
|
+FLOORCLIP
|
|
+BOSS
|
|
+NORADIUSDMG
|
|
+DONTMORPH
|
|
+NOTARGET
|
|
+BOSSDEATH
|
|
SeeSound "minotaur/sight";
|
|
AttackSound "minotaur/attack1";
|
|
PainSound "minotaur/pain";
|
|
DeathSound "minotaur/death";
|
|
ActiveSound "minotaur/active";
|
|
DropItem "ArtiSuperHealth", 51;
|
|
DropItem "PhoenixRodAmmo", 84, 10;
|
|
}
|
|
|
|
native void A_MinotaurDecide();
|
|
native void A_MinotaurAtk1();
|
|
native void A_MinotaurAtk2();
|
|
native void A_MinotaurAtk3();
|
|
native void A_MinotaurCharge();
|
|
native void A_MinotaurLook();
|
|
native void A_MinotaurRoam();
|
|
native void A_MinotaurChase();
|
|
native void A_MinotaurDeath();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
MNTR AB 10 A_MinotaurLook;
|
|
Loop;
|
|
Roam:
|
|
MNTR ABCD 5 A_MinotaurRoam;
|
|
Loop;
|
|
See:
|
|
MNTR ABCD 5 A_MinotaurChase;
|
|
Loop;
|
|
Melee:
|
|
MNTR V 10 A_FaceTarget;
|
|
MNTR W 7 A_FaceTarget;
|
|
MNTR X 12 A_MinotaurAtk1;
|
|
Goto See;
|
|
Missile:
|
|
MNTR V 10 A_MinotaurDecide;
|
|
MNTR Y 4 A_FaceTarget;
|
|
MNTR Z 9 A_MinotaurAtk2;
|
|
Goto See;
|
|
Hammer:
|
|
MNTR V 10 A_FaceTarget;
|
|
MNTR W 7 A_FaceTarget;
|
|
MNTR X 12 A_MinotaurAtk3;
|
|
Goto See;
|
|
HammerLoop:
|
|
MNTR X 12;
|
|
Goto Hammer;
|
|
Charge:
|
|
MNTR U 2 A_MinotaurCharge;
|
|
Loop;
|
|
Pain:
|
|
MNTR E 3;
|
|
MNTR E 6 A_Pain;
|
|
Goto See;
|
|
Death:
|
|
MNTR F 6 A_MinotaurDeath;
|
|
MNTR G 5;
|
|
MNTR H 6 A_Scream;
|
|
MNTR I 5;
|
|
MNTR J 6;
|
|
MNTR K 5;
|
|
MNTR L 6;
|
|
MNTR M 5 A_NoBlocking;
|
|
MNTR N 6;
|
|
MNTR O 5;
|
|
MNTR P 6;
|
|
MNTR Q 5;
|
|
MNTR R 6;
|
|
MNTR S 5;
|
|
MNTR T -1 A_BossDeath;
|
|
Stop;
|
|
FadeOut:
|
|
MNTR E 6;
|
|
MNTR E 2 A_Scream;
|
|
MNTR E 5 A_SpawnItemEx("MinotaurSmokeExit");
|
|
MNTR E 5;
|
|
MNTR E 5 A_NoBlocking;
|
|
MNTR E 5;
|
|
MNTR E 5 A_SetTranslucent(0.66, 0);
|
|
MNTR E 5 A_SetTranslucent(0.33, 0);
|
|
MNTR E 10 A_BossDeath;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
class MinotaurFriend : Minotaur native
|
|
{
|
|
Default
|
|
{
|
|
Health 2500;
|
|
-DROPOFF
|
|
-BOSS
|
|
-DONTMORPH
|
|
+FRIENDLY
|
|
+NOTARGETSWITCH
|
|
+STAYMORPHED
|
|
+TELESTOMP
|
|
+SUMMONEDMONSTER
|
|
RenderStyle "Translucent";
|
|
Alpha 0.3333;
|
|
DropItem "None";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MNTR A 15;
|
|
MNTR A 15 A_SetTranslucent(0.66, 0);
|
|
MNTR A 3 A_SetTranslucent(1, 0);
|
|
Goto Super::Spawn;
|
|
Idle:
|
|
Goto Super::Spawn;
|
|
Death:
|
|
Goto FadeOut;
|
|
}
|
|
}
|
|
|
|
// Minotaur FX 1 ------------------------------------------------------------
|
|
|
|
class MinotaurFX1 : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 10;
|
|
Height 6;
|
|
Speed 20;
|
|
FastSpeed 26;
|
|
Damage 3;
|
|
DamageType "Fire";
|
|
Projectile;
|
|
-ACTIVATEIMPACT
|
|
-ACTIVATEPCROSS
|
|
RenderStyle "Add";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FX12 AB 6 Bright;
|
|
Loop;
|
|
Death:
|
|
FX12 CDEFGH 5 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
|
|
// Minotaur FX 2 ------------------------------------------------------------
|
|
|
|
class MinotaurFX2 : MinotaurFX1
|
|
{
|
|
Default
|
|
{
|
|
Radius 5;
|
|
Height 12;
|
|
Speed 14;
|
|
FastSpeed 20;
|
|
Damage 4;
|
|
+FLOORHUGGER
|
|
ExplosionDamage 24;
|
|
DeathSound "minotaur/fx2hit";
|
|
}
|
|
|
|
native void A_MntrFloorFire();
|
|
|
|
states
|
|
{
|
|
Spawn:
|
|
FX13 A 2 Bright A_MntrFloorFire;
|
|
Loop;
|
|
Death:
|
|
FX13 I 4 Bright A_Explode;
|
|
FX13 JKLM 4 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Minotaur FX 3 ------------------------------------------------------------
|
|
|
|
class MinotaurFX3 : MinotaurFX2
|
|
{
|
|
Default
|
|
{
|
|
Radius 8;
|
|
Height 16;
|
|
Speed 0;
|
|
DeathSound "minotaur/fx3hit";
|
|
ExplosionDamage 128;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FX13 DC 4 Bright;
|
|
FX13 BCDE 5 Bright;
|
|
FX13 FGH 4 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Minotaur Smoke Exit ------------------------------------------------------
|
|
|
|
class MinotaurSmokeExit : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP
|
|
+NOTELEPORT
|
|
RenderStyle "Translucent";
|
|
Alpha 0.4;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MNSM ABCDEFGHIJIHGFEDCBA 3;
|
|
Stop;
|
|
}
|
|
}
|
|
|