mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-16 09:31:14 +00:00
b64057b738
Why? So mods that reveal enemy names don't show internal monster class names.
Tags are based on language.enu lump:
- Tags for Doom/Doom 2 monsters are referring directly to CC_* strings.
- Tags for Heretic monsters are based on obituaries.
- All tags match corresponding obituaries.
(cherry picked from commit 97aba0c416
)
90 lines
1.5 KiB
Text
90 lines
1.5 KiB
Text
|
|
//===========================================================================
|
|
//
|
|
// Cyberdemon
|
|
//
|
|
//===========================================================================
|
|
class Cyberdemon : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 4000;
|
|
Radius 40;
|
|
Height 110;
|
|
Mass 1000;
|
|
Speed 16;
|
|
PainChance 20;
|
|
Monster;
|
|
MinMissileChance 160;
|
|
+BOSS
|
|
+MISSILEMORE
|
|
+FLOORCLIP
|
|
+NORADIUSDMG
|
|
+DONTMORPH
|
|
+BOSSDEATH
|
|
SeeSound "cyber/sight";
|
|
PainSound "cyber/pain";
|
|
DeathSound "cyber/death";
|
|
ActiveSound "cyber/active";
|
|
Obituary "$OB_CYBORG";
|
|
Tag "$FN_CYBER";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
CYBR AB 10 A_Look;
|
|
Loop;
|
|
See:
|
|
CYBR A 3 A_Hoof;
|
|
CYBR ABBCC 3 A_Chase;
|
|
CYBR D 3 A_Metal;
|
|
CYBR D 3 A_Chase;
|
|
Loop;
|
|
Missile:
|
|
CYBR E 6 A_FaceTarget;
|
|
CYBR F 12 A_CyberAttack;
|
|
CYBR E 12 A_FaceTarget;
|
|
CYBR F 12 A_CyberAttack;
|
|
CYBR E 12 A_FaceTarget;
|
|
CYBR F 12 A_CyberAttack;
|
|
Goto See;
|
|
Pain:
|
|
CYBR G 10 A_Pain;
|
|
Goto See;
|
|
Death:
|
|
CYBR H 10;
|
|
CYBR I 10 A_Scream;
|
|
CYBR JKL 10;
|
|
CYBR M 10 A_NoBlocking;
|
|
CYBR NO 10;
|
|
CYBR P 30;
|
|
CYBR P -1 A_BossDeath;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
|
|
//===========================================================================
|
|
//
|
|
// Code (must be attached to Actor)
|
|
//
|
|
//===========================================================================
|
|
|
|
extend class Actor
|
|
{
|
|
void A_CyberAttack()
|
|
{
|
|
if (target)
|
|
{
|
|
A_FaceTarget();
|
|
SpawnMissile (target, "Rocket");
|
|
}
|
|
}
|
|
|
|
void A_Hoof()
|
|
{
|
|
A_PlaySound("cyber/hoof", CHAN_BODY, 1, false, ATTN_IDLE);
|
|
A_Chase();
|
|
}
|
|
|
|
}
|