mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-30 07:41:22 +00:00
633da6e5d8
- added a DActorIterator class. - fixed: It was not possible to have functions of the same name in two different classes because the name they were searched for was not qualified by the class. Changed so that the class name is included now, but to avoid renaming several hundreds of functions all at once, if the search fails, it will repeat with 'Actor' as class name. This commit contains preparations for scriptifying Hexen's Dragon, but that doesn't work yet so it's not included.
254 lines
4 KiB
Text
254 lines
4 KiB
Text
|
|
// Base class for the acolytes ----------------------------------------------
|
|
|
|
class Acolyte : StrifeHumanoid
|
|
{
|
|
Default
|
|
{
|
|
Health 70;
|
|
PainChance 150;
|
|
Speed 7;
|
|
Radius 24;
|
|
Height 64;
|
|
Mass 400;
|
|
Monster;
|
|
+SEESDAGGERS
|
|
+NOSPLASHALERT
|
|
+FLOORCLIP
|
|
+NEVERRESPAWN
|
|
MinMissileChance 150;
|
|
Tag "$TAG_ACOLYTE";
|
|
SeeSound "acolyte/sight";
|
|
PainSound "acolyte/pain";
|
|
AttackSound "acolyte/rifle";
|
|
DeathSound "acolyte/death";
|
|
ActiveSound "acolyte/active";
|
|
Obituary "$OB_ACOLYTE";
|
|
}
|
|
|
|
native void A_AcolyteDie ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
AGRD A 5 A_Look2;
|
|
Wait;
|
|
AGRD B 8 A_ClearShadow;
|
|
Loop;
|
|
AGRD D 8;
|
|
Loop;
|
|
AGRD ABCDABCD 5 A_Wander;
|
|
Loop;
|
|
See:
|
|
AGRD A 6 Fast Slow A_AcolyteBits;
|
|
AGRD BCD 6 Fast Slow A_Chase;
|
|
Loop;
|
|
Missile:
|
|
AGRD E 8 Fast Slow A_FaceTarget;
|
|
AGRD FE 4 Fast Slow A_ShootGun;
|
|
AGRD F 6 Fast Slow A_ShootGun;
|
|
Goto See;
|
|
Pain:
|
|
AGRD O 8 Fast Slow A_Pain;
|
|
Goto See;
|
|
Death:
|
|
AGRD G 4;
|
|
AGRD H 4 A_Scream;
|
|
AGRD I 4;
|
|
AGRD J 3;
|
|
AGRD K 3 A_NoBlocking;
|
|
AGRD L 3;
|
|
AGRD M 3 A_AcolyteDie;
|
|
AGRD N -1;
|
|
Stop;
|
|
XDeath:
|
|
GIBS A 5 A_NoBlocking;
|
|
GIBS BC 5 A_TossGib;
|
|
GIBS D 4 A_TossGib;
|
|
GIBS E 4 A_XScream;
|
|
GIBS F 4 A_TossGib;
|
|
GIBS GH 4;
|
|
GIBS I 5;
|
|
GIBS J 5 A_AcolyteDie;
|
|
GIBS K 5;
|
|
GIBS L 1400;
|
|
Stop;
|
|
}
|
|
|
|
//============================================================================
|
|
//
|
|
// A_BeShadowyFoe
|
|
//
|
|
//============================================================================
|
|
|
|
void A_BeShadowyFoe()
|
|
{
|
|
A_SetRenderStyle(HR_SHADOW, STYLE_Translucent);
|
|
bFriendly = false;
|
|
}
|
|
|
|
//============================================================================
|
|
//
|
|
// A_AcolyteBits
|
|
//
|
|
//============================================================================
|
|
|
|
void A_AcolyteBits()
|
|
{
|
|
if (SpawnFlags & MTF_SHADOW)
|
|
{
|
|
A_BeShadowyFoe();
|
|
}
|
|
if (SpawnFlags & MTF_ALTSHADOW)
|
|
{
|
|
if (bShadow)
|
|
{
|
|
// I dunno.
|
|
}
|
|
else
|
|
{
|
|
A_SetRenderStyle(0, STYLE_None);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// Acolyte 1 ----------------------------------------------------------------
|
|
|
|
class AcolyteTan : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
DropItem "ClipOfBullets";
|
|
}
|
|
}
|
|
|
|
// Acolyte 2 ----------------------------------------------------------------
|
|
|
|
class AcolyteRed : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
Translation 0;
|
|
}
|
|
}
|
|
|
|
// Acolyte 3 ----------------------------------------------------------------
|
|
|
|
class AcolyteRust : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
Translation 1;
|
|
}
|
|
}
|
|
|
|
// Acolyte 4 ----------------------------------------------------------------
|
|
|
|
class AcolyteGray : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
Translation 2;
|
|
}
|
|
}
|
|
|
|
// Acolyte 5 ----------------------------------------------------------------
|
|
|
|
class AcolyteDGreen : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
Translation 3;
|
|
}
|
|
}
|
|
|
|
// Acolyte 6 ----------------------------------------------------------------
|
|
|
|
class AcolyteGold : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE +MISSILEEVENMORE
|
|
Translation 4;
|
|
}
|
|
}
|
|
|
|
// Acolyte 7 ----------------------------------------------------------------
|
|
|
|
class AcolyteLGreen : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
Health 60;
|
|
Translation 5;
|
|
}
|
|
}
|
|
|
|
// Acolyte 8 ----------------------------------------------------------------
|
|
|
|
class AcolyteBlue : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
Health 60;
|
|
Translation 6;
|
|
}
|
|
}
|
|
|
|
// Shadow Acolyte -----------------------------------------------------------
|
|
|
|
class AcolyteShadow : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
+MISSILEMORE
|
|
DropItem "ClipOfBullets";
|
|
}
|
|
States
|
|
{
|
|
See:
|
|
AGRD A 6 A_BeShadowyFoe;
|
|
Goto Super::See+1;
|
|
Pain:
|
|
AGRD O 0 Fast Slow A_SetShadow;
|
|
AGRD O 8 Fast Slow A_Pain;
|
|
Goto See;
|
|
}
|
|
}
|
|
|
|
// Some guy turning into an acolyte -----------------------------------------
|
|
|
|
class AcolyteToBe : Acolyte
|
|
{
|
|
Default
|
|
{
|
|
Health 61;
|
|
Radius 20;
|
|
Height 56;
|
|
DeathSound "becoming/death";
|
|
-COUNTKILL
|
|
-ISMONSTER
|
|
}
|
|
|
|
native void A_HideDecepticon ();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
ARMR A -1;
|
|
Stop;
|
|
Pain:
|
|
ARMR A -1 A_HideDecepticon;
|
|
Stop;
|
|
Death:
|
|
Goto XDeath;
|
|
}
|
|
}
|