ZDaemon Actors particular to Doom only
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArachnotron, Doom, 68, 6)
PROP_SpawnHealth (500)
PROP_RadiusFixed (64)
PROP_HeightFixed (64)
PROP_Mass (600)
PROP_SpeedFixed (12)
PROP_PainChance (128)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_BSPI_STND)
PROP_SeeState (S_BSPI_SIGHT)
PROP_PainState (S_BSPI_PAIN)
PROP_MissileState (S_BSPI_ATK)
PROP_DeathState (S_BSPI_DIE)
PROP_RaiseState (S_BSPI_RAISE)
PROP_SeeSound ("baby/sight")
PROP_PainSound ("baby/pain")
PROP_DeathSound ("baby/death")
PROP_ActiveSound ("baby/active")
END_DEFAULTS
FState AArachnotron::States[] =
{
#define S_BSPI_STND 0
S_NORMAL1 (BSPI, 'A', 10, A_Look , &States[S_BSPI_STND+1]),
S_NORMAL1 (BSPI, 'B', 10, A_Look , &States[S_BSPI_STND]),
#define S_BSPI_SIGHT (S_BSPI_STND+2)
#define S_BSPI_RUN (S_BSPI_SIGHT+1)
S_NORMAL1 (BSPI, 'A', 20, NULL , &States[S_BSPI_RUN+0]),
S_NORMAL1 (BSPI, 'A', 3, A_BabyMetal , &States[S_BSPI_RUN+1]),
S_NORMAL1 (BSPI, 'A', 3, A_Chase , &States[S_BSPI_RUN+2]),
S_NORMAL1 (BSPI, 'B', 3, A_Chase , &States[S_BSPI_RUN+3]),
S_NORMAL1 (BSPI, 'B', 3, A_Chase , &States[S_BSPI_RUN+4]),
S_NORMAL1 (BSPI, 'C', 3, A_Chase , &States[S_BSPI_RUN+5]),
S_NORMAL1 (BSPI, 'C', 3, A_Chase , &States[S_BSPI_RUN+6]),
S_NORMAL1 (BSPI, 'D', 3, A_BabyMetal , &States[S_BSPI_RUN+7]),
S_NORMAL1 (BSPI, 'D', 3, A_Chase , &States[S_BSPI_RUN+8]),
S_NORMAL1 (BSPI, 'E', 3, A_Chase , &States[S_BSPI_RUN+9]),
S_NORMAL1 (BSPI, 'E', 3, A_Chase , &States[S_BSPI_RUN+10]),
S_NORMAL1 (BSPI, 'F', 3, A_Chase , &States[S_BSPI_RUN+11]),
S_NORMAL1 (BSPI, 'F', 3, A_Chase , &States[S_BSPI_RUN+0]),
#define S_BSPI_ATK (S_BSPI_RUN+12)
S_BRIGHT (BSPI, 'A', 20, A_FaceTarget , &States[S_BSPI_ATK+1]),
S_BRIGHT (BSPI, 'G', 4, A_BspiAttack , &States[S_BSPI_ATK+2]),
S_BRIGHT (BSPI, 'H', 4, NULL , &States[S_BSPI_ATK+3]),
S_BRIGHT (BSPI, 'H', 1, A_SpidRefire , &States[S_BSPI_ATK+1]),
#define S_BSPI_PAIN (S_BSPI_ATK+4)
S_NORMAL1 (BSPI, 'I', 3, NULL , &States[S_BSPI_PAIN+1]),
S_NORMAL1 (BSPI, 'I', 3, A_Pain , &States[S_BSPI_RUN+0]),
#define S_BSPI_DIE (S_BSPI_PAIN+2)
S_NORMAL1 (BSPI, 'J', 20, A_Scream , &States[S_BSPI_DIE+1]),
S_NORMAL1 (BSPI, 'K', 7, A_NoBlocking , &States[S_BSPI_DIE+2]),
S_NORMAL1 (BSPI, 'L', 7, NULL , &States[S_BSPI_DIE+3]),
S_NORMAL1 (BSPI, 'M', 7, NULL , &States[S_BSPI_DIE+4]),
S_NORMAL1 (BSPI, 'N', 7, NULL , &States[S_BSPI_DIE+5]),
S_NORMAL1 (BSPI, 'O', 7, NULL , &States[S_BSPI_DIE+6]),
S_NORMAL1 (BSPI, 'P', -1, A_BossDeath , NULL),
#define S_BSPI_RAISE (S_BSPI_DIE+7)
S_NORMAL1 (BSPI, 'P', 5, NULL , &States[S_BSPI_RAISE+1]),
S_NORMAL1 (BSPI, 'O', 5, NULL , &States[S_BSPI_RAISE+2]),
S_NORMAL1 (BSPI, 'N', 5, NULL , &States[S_BSPI_RAISE+3]),
S_NORMAL1 (BSPI, 'M', 5, NULL , &States[S_BSPI_RAISE+4]),
S_NORMAL1 (BSPI, 'L', 5, NULL , &States[S_BSPI_RAISE+5]),
S_NORMAL1 (BSPI, 'K', 5, NULL , &States[S_BSPI_RAISE+6]),
S_NORMAL1 (BSPI, 'J', 5, NULL , &States[S_BSPI_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthArachnotron, Doom, 9050, 117)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArachnotronPlasma, Doom, -1, 129)
PROP_RadiusFixed (13)
PROP_HeightFixed (8)
PROP_SpeedFixed (25)
PROP_Damage (5)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_ARACH_PLAZ)
PROP_DeathState (S_ARACH_PLEX)
PROP_SeeSound ("baby/attack")
PROP_DeathSound ("baby/shotx")
END_DEFAULTS
FState AArachnotronPlasma::States[] =
{
#define S_ARACH_PLAZ 0
S_BRIGHT (APLS, 'A', 5, NULL , &States[S_ARACH_PLAZ+1]),
S_BRIGHT (APLS, 'B', 5, NULL , &States[S_ARACH_PLAZ]),
#define S_ARACH_PLEX (S_ARACH_PLAZ+2)
S_BRIGHT (APBX, 'A', 5, NULL , &States[S_ARACH_PLEX+1]),
S_BRIGHT (APBX, 'B', 5, NULL , &States[S_ARACH_PLEX+2]),
S_BRIGHT (APBX, 'C', 5, NULL , &States[S_ARACH_PLEX+3]),
S_BRIGHT (APBX, 'D', 5, NULL , &States[S_ARACH_PLEX+4]),
S_BRIGHT (APBX, 'E', 5, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArchvile, Doom, 64, 111)
PROP_SpawnHealth (700)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (500)
PROP_SpeedFixed (15)
PROP_PainChance (10)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags3 (MF3_NOTARGET)
PROP_Flags4 (MF4_QUICKTORETALIATE)
PROP_SpawnState (S_VILE_STND)
PROP_SeeState (S_VILE_RUN)
PROP_PainState (S_VILE_PAIN)
PROP_MissileState (S_VILE_ATK)
PROP_DeathState (S_VILE_DIE)
PROP_SeeSound ("vile/sight")
PROP_PainSound ("vile/pain")
PROP_DeathSound ("vile/death")
PROP_ActiveSound ("vile/active")
END_DEFAULTS
FState AArchvile::States[] =
{
#define S_VILE_STND 0
S_NORMAL1 (VILE, 'A', 10, A_Look , &States[S_VILE_STND+1]),
S_NORMAL1 (VILE, 'B', 10, A_Look , &States[S_VILE_STND]),
#define S_VILE_RUN (S_VILE_STND+2)
S_NORMAL1 (VILE, 'A', 2, A_VileChase , &States[S_VILE_RUN+1]),
S_NORMAL1 (VILE, 'A', 2, A_VileChase , &States[S_VILE_RUN+2]),
S_NORMAL1 (VILE, 'B', 2, A_VileChase , &States[S_VILE_RUN+3]),
S_NORMAL1 (VILE, 'B', 2, A_VileChase , &States[S_VILE_RUN+4]),
S_NORMAL1 (VILE, 'C', 2, A_VileChase , &States[S_VILE_RUN+5]),
S_NORMAL1 (VILE, 'C', 2, A_VileChase , &States[S_VILE_RUN+6]),
S_NORMAL1 (VILE, 'D', 2, A_VileChase , &States[S_VILE_RUN+7]),
S_NORMAL1 (VILE, 'D', 2, A_VileChase , &States[S_VILE_RUN+8]),
S_NORMAL1 (VILE, 'E', 2, A_VileChase , &States[S_VILE_RUN+9]),
S_NORMAL1 (VILE, 'E', 2, A_VileChase , &States[S_VILE_RUN+10]),
S_NORMAL1 (VILE, 'F', 2, A_VileChase , &States[S_VILE_RUN+11]),
S_NORMAL1 (VILE, 'F', 2, A_VileChase , &States[S_VILE_RUN+0]),
#define S_VILE_ATK (S_VILE_RUN+12)
S_BRIGHT (VILE, 'G', 0, A_VileStart , &States[S_VILE_ATK+1]),
S_BRIGHT (VILE, 'G', 10, A_FaceTarget , &States[S_VILE_ATK+2]),
S_BRIGHT (VILE, 'H', 8, A_VileTarget , &States[S_VILE_ATK+3]),
S_BRIGHT (VILE, 'I', 8, A_FaceTarget , &States[S_VILE_ATK+4]),
S_BRIGHT (VILE, 'J', 8, A_FaceTarget , &States[S_VILE_ATK+5]),
S_BRIGHT (VILE, 'K', 8, A_FaceTarget , &States[S_VILE_ATK+6]),
S_BRIGHT (VILE, 'L', 8, A_FaceTarget , &States[S_VILE_ATK+7]),
S_BRIGHT (VILE, 'M', 8, A_FaceTarget , &States[S_VILE_ATK+8]),
S_BRIGHT (VILE, 'N', 8, A_FaceTarget , &States[S_VILE_ATK+9]),
S_BRIGHT (VILE, 'O', 8, A_VileAttack , &States[S_VILE_ATK+10]),
S_BRIGHT (VILE, 'P', 20, NULL , &States[S_VILE_RUN+0]),
#define S_VILE_HEAL (S_VILE_ATK+11)
S_BRIGHT (VILE, '[', 10, NULL , &States[S_VILE_HEAL+1]),
S_BRIGHT (VILE, '\\', 10, NULL , &States[S_VILE_HEAL+2]),
S_BRIGHT (VILE, ']', 10, NULL , &States[S_VILE_RUN+0]),
#define S_VILE_PAIN (S_VILE_HEAL+3)
S_NORMAL1 (VILE, 'Q', 5, NULL , &States[S_VILE_PAIN+1]),
S_NORMAL1 (VILE, 'Q', 5, A_Pain , &States[S_VILE_RUN+0]),
#define S_VILE_DIE (S_VILE_PAIN+2)
S_NORMAL1 (VILE, 'Q', 7, NULL , &States[S_VILE_DIE+1]),
S_NORMAL1 (VILE, 'R', 7, A_Scream , &States[S_VILE_DIE+2]),
S_NORMAL1 (VILE, 'S', 7, A_NoBlocking , &States[S_VILE_DIE+3]),
S_NORMAL1 (VILE, 'T', 7, NULL , &States[S_VILE_DIE+4]),
S_NORMAL1 (VILE, 'U', 7, NULL , &States[S_VILE_DIE+5]),
S_NORMAL1 (VILE, 'V', 7, NULL , &States[S_VILE_DIE+6]),
S_NORMAL1 (VILE, 'W', 7, NULL , &States[S_VILE_DIE+7]),
S_NORMAL1 (VILE, 'X', 5, NULL , &States[S_VILE_DIE+8]),
S_NORMAL1 (VILE, 'Y', 5, NULL , &States[S_VILE_DIE+9]),
S_NORMAL1 (VILE, 'Z', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthArchvile, Doom, 9051, 118)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArchvileFire, Doom, -1, 98)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (0)
END_DEFAULTS
FState AArchvileFire::States[] =
{
S_BRIGHT (FIRE, 'A', 2, A_StartFire , &States[1]),
S_BRIGHT (FIRE, 'B', 2, A_Fire , &States[2]),
S_BRIGHT (FIRE, 'A', 2, A_Fire , &States[3]),
S_BRIGHT (FIRE, 'B', 2, A_Fire , &States[4]),
S_BRIGHT (FIRE, 'C', 2, A_FireCrackle , &States[5]),
S_BRIGHT (FIRE, 'B', 2, A_Fire , &States[6]),
S_BRIGHT (FIRE, 'C', 2, A_Fire , &States[7]),
S_BRIGHT (FIRE, 'B', 2, A_Fire , &States[8]),
S_BRIGHT (FIRE, 'C', 2, A_Fire , &States[9]),
S_BRIGHT (FIRE, 'D', 2, A_Fire , &States[10]),
S_BRIGHT (FIRE, 'C', 2, A_Fire , &States[11]),
S_BRIGHT (FIRE, 'D', 2, A_Fire , &States[12]),
S_BRIGHT (FIRE, 'C', 2, A_Fire , &States[13]),
S_BRIGHT (FIRE, 'D', 2, A_Fire , &States[14]),
S_BRIGHT (FIRE, 'E', 2, A_Fire , &States[15]),
S_BRIGHT (FIRE, 'D', 2, A_Fire , &States[16]),
S_BRIGHT (FIRE, 'E', 2, A_Fire , &States[17]),
S_BRIGHT (FIRE, 'D', 2, A_Fire , &States[18]),
S_BRIGHT (FIRE, 'E', 2, A_FireCrackle , &States[19]),
S_BRIGHT (FIRE, 'F', 2, A_Fire , &States[20]),
S_BRIGHT (FIRE, 'E', 2, A_Fire , &States[21]),
S_BRIGHT (FIRE, 'F', 2, A_Fire , &States[22]),
S_BRIGHT (FIRE, 'E', 2, A_Fire , &States[23]),
S_BRIGHT (FIRE, 'F', 2, A_Fire , &States[24]),
S_BRIGHT (FIRE, 'G', 2, A_Fire , &States[25]),
S_BRIGHT (FIRE, 'H', 2, A_Fire , &States[26]),
S_BRIGHT (FIRE, 'G', 2, A_Fire , &States[27]),
S_BRIGHT (FIRE, 'H', 2, A_Fire , &States[28]),
S_BRIGHT (FIRE, 'G', 2, A_Fire , &States[29]),
S_BRIGHT (FIRE, 'H', 2, A_Fire , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABossBrain, Doom, 88, 0)
PROP_SpawnHealth (250)
PROP_MassLong (10000000)
PROP_PainChance (255)
PROP_Flags (MF_SOLID|MF_SHOOTABLE)
PROP_SpawnState (S_BRAIN)
PROP_PainState (S_BRAIN_PAIN)
PROP_DeathState (S_BRAIN_DIE)
PROP_PainSound ("brain/pain")
PROP_DeathSound ("brain/death")
END_DEFAULTS
FState ABossBrain::States[] =
{
#define S_BRAINEXPLODE 0
S_BRIGHT (MISL, 'B', 10, NULL , &States[S_BRAINEXPLODE+1]),
S_BRIGHT (MISL, 'C', 10, NULL , &States[S_BRAINEXPLODE+2]),
S_BRIGHT (MISL, 'D', 10, A_BrainExplode , NULL),
#define S_BRAIN (S_BRAINEXPLODE+3)
S_NORMAL1 (BBRN, 'A', -1, NULL , NULL),
#define S_BRAIN_PAIN (S_BRAIN+1)
S_NORMAL1 (BBRN, 'B', 36, A_BrainPain , &States[S_BRAIN]),
#define S_BRAIN_DIE (S_BRAIN_PAIN+1)
S_NORMAL1 (BBRN, 'A', 100, A_BrainScream , &States[S_BRAIN_DIE+1]),
S_NORMAL1 (BBRN, 'A', 10, NULL , &States[S_BRAIN_DIE+2]),
S_NORMAL1 (BBRN, 'A', 10, NULL , &States[S_BRAIN_DIE+3]),
S_NORMAL1 (BBRN, 'A', -1, A_BrainDie , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABossEye, Doom, 89, 0)
PROP_HeightFixed (32)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR)
PROP_SpawnState (S_BRAINEYE)
PROP_SeeState (S_BRAINEYESEE)
END_DEFAULTS
FState ABossEye::States[] =
{
#define S_BRAINEYE 0
S_NORMAL1 (SSWV, 'A', 10, A_Look , &States[S_BRAINEYE]),
#define S_BRAINEYESEE (S_BRAINEYE+1)
S_NORMAL1 (SSWV, 'A', 181, A_BrainAwake , &States[S_BRAINEYESEE+1]),
S_NORMAL1 (SSWV, 'A', 150, A_BrainSpit , &States[S_BRAINEYESEE+1])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ABossTarget, Doom, 87, 0)
PROP_HeightFixed (32)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASpawnShot, Doom, -1, 0)
PROP_RadiusFixed (6)
PROP_HeightFixed (32)
PROP_SpeedFixed (10)
PROP_Damage (3)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY|MF_NOCLIP)
PROP_Flags2 (MF2_NOTELEPORT)
PROP_SpawnState (0)
PROP_SeeSound ("brain/spit")
PROP_DeathSound ("brain/spawn")
END_DEFAULTS
FState ASpawnShot::States[] =
{
S_BRIGHT (BOSF, 'A', 3, A_SpawnSound , &States[1]),
S_BRIGHT (BOSF, 'B', 3, A_SpawnFly , &States[2]),
S_BRIGHT (BOSF, 'C', 3, A_SpawnFly , &States[3]),
S_BRIGHT (BOSF, 'D', 3, A_SpawnFly , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASpawnFire, Doom, -1, 0)
PROP_HeightFixed (78)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (0)
END_DEFAULTS
FState ASpawnFire::States[] =
{
S_BRIGHT (FIRE, 'A', 4, A_Fire , &States[1]),
S_BRIGHT (FIRE, 'B', 4, A_Fire , &States[2]),
S_BRIGHT (FIRE, 'C', 4, A_Fire , &States[3]),
S_BRIGHT (FIRE, 'D', 4, A_Fire , &States[4]),
S_BRIGHT (FIRE, 'E', 4, A_Fire , &States[5]),
S_BRIGHT (FIRE, 'F', 4, A_Fire , &States[6]),
S_BRIGHT (FIRE, 'G', 4, A_Fire , &States[7]),
S_BRIGHT (FIRE, 'H', 4, A_Fire , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABaronOfHell, Doom, 3003, 3)
PROP_SpawnHealth (1000)
PROP_RadiusFixed (24)
PROP_HeightFixed (64)
PROP_Mass (1000)
PROP_SpeedFixed (8)
PROP_PainChance (50)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_BOSS_STND)
PROP_SeeState (S_BOSS_RUN)
PROP_PainState (S_BOSS_PAIN)
PROP_MeleeState (S_BOSS_ATK)
PROP_MissileState (S_BOSS_ATK)
PROP_DeathState (S_BOSS_DIE)
PROP_RaiseState (S_BOSS_RAISE)
PROP_SeeSound ("baron/sight")
PROP_PainSound ("baron/pain")
PROP_DeathSound ("baron/death")
PROP_ActiveSound ("baron/active")
END_DEFAULTS
FState ABaronOfHell::States[] =
{
#define S_BOSS_STND 0
S_NORMAL1 (BOSS, 'A', 10, A_Look , &States[S_BOSS_STND+1]),
S_NORMAL1 (BOSS, 'B', 10, A_Look , &States[S_BOSS_STND]),
#define S_BOSS_RUN (S_BOSS_STND+2)
S_NORMAL1 (BOSS, 'A', 3, A_Chase , &States[S_BOSS_RUN+1]),
S_NORMAL1 (BOSS, 'A', 3, A_Chase , &States[S_BOSS_RUN+2]),
S_NORMAL1 (BOSS, 'B', 3, A_Chase , &States[S_BOSS_RUN+3]),
S_NORMAL1 (BOSS, 'B', 3, A_Chase , &States[S_BOSS_RUN+4]),
S_NORMAL1 (BOSS, 'C', 3, A_Chase , &States[S_BOSS_RUN+5]),
S_NORMAL1 (BOSS, 'C', 3, A_Chase , &States[S_BOSS_RUN+6]),
S_NORMAL1 (BOSS, 'D', 3, A_Chase , &States[S_BOSS_RUN+7]),
S_NORMAL1 (BOSS, 'D', 3, A_Chase , &States[S_BOSS_RUN+0]),
#define S_BOSS_ATK (S_BOSS_RUN+8)
S_NORMAL1 (BOSS, 'E', 8, A_FaceTarget , &States[S_BOSS_ATK+1]),
S_NORMAL1 (BOSS, 'F', 8, A_FaceTarget , &States[S_BOSS_ATK+2]),
S_NORMAL1 (BOSS, 'G', 8, A_BruisAttack , &States[S_BOSS_RUN+0]),
#define S_BOSS_PAIN (S_BOSS_ATK+3)
S_NORMAL1 (BOSS, 'H', 2, NULL , &States[S_BOSS_PAIN+1]),
S_NORMAL1 (BOSS, 'H', 2, A_Pain , &States[S_BOSS_RUN+0]),
#define S_BOSS_DIE (S_BOSS_PAIN+2)
S_NORMAL1 (BOSS, 'I', 8, NULL , &States[S_BOSS_DIE+1]),
S_NORMAL1 (BOSS, 'J', 8, A_Scream , &States[S_BOSS_DIE+2]),
S_NORMAL1 (BOSS, 'K', 8, NULL , &States[S_BOSS_DIE+3]),
S_NORMAL1 (BOSS, 'L', 8, A_NoBlocking , &States[S_BOSS_DIE+4]),
S_NORMAL1 (BOSS, 'M', 8, NULL , &States[S_BOSS_DIE+5]),
S_NORMAL1 (BOSS, 'N', 8, NULL , &States[S_BOSS_DIE+6]),
S_NORMAL1 (BOSS, 'O', -1, A_BossDeath , NULL),
#define S_BOSS_RAISE (S_BOSS_DIE+7)
S_NORMAL1 (BOSS, 'O', 8, NULL , &States[S_BOSS_RAISE+1]),
S_NORMAL1 (BOSS, 'N', 8, NULL , &States[S_BOSS_RAISE+2]),
S_NORMAL1 (BOSS, 'M', 8, NULL , &States[S_BOSS_RAISE+3]),
S_NORMAL1 (BOSS, 'L', 8, NULL , &States[S_BOSS_RAISE+4]),
S_NORMAL1 (BOSS, 'K', 8, NULL , &States[S_BOSS_RAISE+5]),
S_NORMAL1 (BOSS, 'J', 8, NULL , &States[S_BOSS_RAISE+6]),
S_NORMAL1 (BOSS, 'I', 8, NULL , &States[S_BOSS_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthBaron, Doom, 9052, 100)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABaronBall, Doom, -1, 154)
PROP_RadiusFixed (6)
PROP_HeightFixed (16)
PROP_SpeedFixed (15)
PROP_Damage (8)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_BRBALL)
PROP_DeathState (S_BRBALLX)
PROP_SeeSound ("baron/attack")
PROP_DeathSound ("baron/shotx")
END_DEFAULTS
FState ABaronBall::States[] =
{
#define S_BRBALL 0
S_BRIGHT (BAL7, 'A', 4, NULL , &States[S_BRBALL+1]),
S_BRIGHT (BAL7, 'B', 4, NULL , &States[S_BRBALL+0]),
#define S_BRBALLX (S_BRBALL+2)
S_BRIGHT (BAL7, 'C', 6, NULL , &States[S_BRBALLX+1]),
S_BRIGHT (BAL7, 'D', 6, NULL , &States[S_BRBALLX+2]),
S_BRIGHT (BAL7, 'E', 6, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AHellKnight, Doom, 69, 113)
PROP_SpawnHealth (500)
PROP_RadiusFixed (24)
PROP_HeightFixed (64)
PROP_Mass (1000)
PROP_SpeedFixed (8)
PROP_PainChance (50)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_BOS2_STND)
PROP_SeeState (S_BOS2_RUN)
PROP_PainState (S_BOS2_PAIN)
PROP_MeleeState (S_BOS2_ATK)
PROP_MissileState (S_BOS2_ATK)
PROP_DeathState (S_BOS2_DIE)
PROP_RaiseState (S_BOS2_RAISE)
PROP_SeeSound ("knight/sight")
PROP_PainSound ("knight/pain")
PROP_DeathSound ("knight/death")
PROP_ActiveSound ("knight/active")
END_DEFAULTS
FState AHellKnight::States[] =
{
#define S_BOS2_STND 0
S_NORMAL1 (BOS2, 'A', 10, A_Look , &States[S_BOS2_STND+1]),
S_NORMAL1 (BOS2, 'B', 10, A_Look , &States[S_BOS2_STND]),
#define S_BOS2_RUN (S_BOS2_STND+2)
S_NORMAL1 (BOS2, 'A', 3, A_Chase , &States[S_BOS2_RUN+1]),
S_NORMAL1 (BOS2, 'A', 3, A_Chase , &States[S_BOS2_RUN+2]),
S_NORMAL1 (BOS2, 'B', 3, A_Chase , &States[S_BOS2_RUN+3]),
S_NORMAL1 (BOS2, 'B', 3, A_Chase , &States[S_BOS2_RUN+4]),
S_NORMAL1 (BOS2, 'C', 3, A_Chase , &States[S_BOS2_RUN+5]),
S_NORMAL1 (BOS2, 'C', 3, A_Chase , &States[S_BOS2_RUN+6]),
S_NORMAL1 (BOS2, 'D', 3, A_Chase , &States[S_BOS2_RUN+7]),
S_NORMAL1 (BOS2, 'D', 3, A_Chase , &States[S_BOS2_RUN+0]),
#define S_BOS2_ATK (S_BOS2_RUN+8)
S_NORMAL1 (BOS2, 'E', 8, A_FaceTarget , &States[S_BOS2_ATK+1]),
S_NORMAL1 (BOS2, 'F', 8, A_FaceTarget , &States[S_BOS2_ATK+2]),
S_NORMAL1 (BOS2, 'G', 8, A_BruisAttack , &States[S_BOS2_RUN+0]),
#define S_BOS2_PAIN (S_BOS2_ATK+3)
S_NORMAL1 (BOS2, 'H', 2, NULL , &States[S_BOS2_PAIN+1]),
S_NORMAL1 (BOS2, 'H', 2, A_Pain , &States[S_BOS2_RUN+0]),
#define S_BOS2_DIE (S_BOS2_PAIN+2)
S_NORMAL1 (BOS2, 'I', 8, NULL , &States[S_BOS2_DIE+1]),
S_NORMAL1 (BOS2, 'J', 8, A_Scream , &States[S_BOS2_DIE+2]),
S_NORMAL1 (BOS2, 'K', 8, NULL , &States[S_BOS2_DIE+3]),
S_NORMAL1 (BOS2, 'L', 8, A_NoBlocking , &States[S_BOS2_DIE+4]),
S_NORMAL1 (BOS2, 'M', 8, NULL , &States[S_BOS2_DIE+5]),
S_NORMAL1 (BOS2, 'N', 8, NULL , &States[S_BOS2_DIE+6]),
S_NORMAL1 (BOS2, 'O', -1, NULL , NULL),
#define S_BOS2_RAISE (S_BOS2_DIE+7)
S_NORMAL1 (BOS2, 'O', 8, NULL , &States[S_BOS2_RAISE+1]),
S_NORMAL1 (BOS2, 'N', 8, NULL , &States[S_BOS2_RAISE+2]),
S_NORMAL1 (BOS2, 'M', 8, NULL , &States[S_BOS2_RAISE+3]),
S_NORMAL1 (BOS2, 'L', 8, NULL , &States[S_BOS2_RAISE+4]),
S_NORMAL1 (BOS2, 'K', 8, NULL , &States[S_BOS2_RAISE+5]),
S_NORMAL1 (BOS2, 'J', 8, NULL , &States[S_BOS2_RAISE+6]),
S_NORMAL1 (BOS2, 'I', 8, NULL , &States[S_BOS2_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthHellKnight, Doom, 9056, 101)
PROP_FlagsSet (MF_STEALTH)
PROP_Alpha (0)
PROP_RenderStyle (STYLE_Translucent)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACacodemon, Doom, 3005, 19)
PROP_SpawnHealth (400)
PROP_RadiusFixed (31)
PROP_HeightFixed (56)
PROP_Mass (400)
PROP_SpeedFixed (8)
PROP_PainChance (128)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL)
PROP_SpawnState (S_HEAD_STND)
PROP_SeeState (S_HEAD_RUN)
PROP_PainState (S_HEAD_PAIN)
PROP_MissileState (S_HEAD_ATK)
PROP_DeathState (S_HEAD_DIE)
PROP_RaiseState (S_HEAD_RAISE)
PROP_SeeSound ("caco/sight")
PROP_PainSound ("caco/pain")
PROP_DeathSound ("caco/death")
PROP_ActiveSound ("caco/active")
PROP_AttackSound ("caco/melee")
END_DEFAULTS
FState ACacodemon::States[] =
{
#define S_HEAD_STND 0
S_NORMAL1 (HEAD, 'A', 10, A_Look , &States[S_HEAD_STND]),
#define S_HEAD_RUN (S_HEAD_STND+1)
S_NORMAL1 (HEAD, 'A', 3, A_Chase , &States[S_HEAD_RUN+0]),
#define S_HEAD_ATK (S_HEAD_RUN+1)
S_NORMAL1 (HEAD, 'B', 5, A_FaceTarget , &States[S_HEAD_ATK+1]),
S_NORMAL1 (HEAD, 'C', 5, A_FaceTarget , &States[S_HEAD_ATK+2]),
S_BRIGHT (HEAD, 'D', 5, A_HeadAttack , &States[S_HEAD_RUN+0]),
#define S_HEAD_PAIN (S_HEAD_ATK+3)
S_NORMAL1 (HEAD, 'E', 3, NULL , &States[S_HEAD_PAIN+1]),
S_NORMAL1 (HEAD, 'E', 3, A_Pain , &States[S_HEAD_PAIN+2]),
S_NORMAL1 (HEAD, 'F', 6, NULL , &States[S_HEAD_RUN+0]),
#define S_HEAD_DIE (S_HEAD_PAIN+3)
S_NORMAL1 (HEAD, 'G', 8, NULL , &States[S_HEAD_DIE+1]),
S_NORMAL1 (HEAD, 'H', 8, A_Scream , &States[S_HEAD_DIE+2]),
S_NORMAL1 (HEAD, 'I', 8, NULL , &States[S_HEAD_DIE+3]),
S_NORMAL1 (HEAD, 'J', 8, NULL , &States[S_HEAD_DIE+4]),
S_NORMAL1 (HEAD, 'K', 8, A_NoBlocking , &States[S_HEAD_DIE+5]),
S_NORMAL1 (HEAD, 'L', -1, NULL , NULL),
#define S_HEAD_RAISE (S_HEAD_DIE+6)
S_NORMAL1 (HEAD, 'L', 8, NULL , &States[S_HEAD_RAISE+1]),
S_NORMAL1 (HEAD, 'K', 8, NULL , &States[S_HEAD_RAISE+2]),
S_NORMAL1 (HEAD, 'J', 8, NULL , &States[S_HEAD_RAISE+3]),
S_NORMAL1 (HEAD, 'I', 8, NULL , &States[S_HEAD_RAISE+4]),
S_NORMAL1 (HEAD, 'H', 8, NULL , &States[S_HEAD_RAISE+5]),
S_NORMAL1 (HEAD, 'G', 8, NULL , &States[S_HEAD_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthCacodemon, Doom, 9053, 119)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACacodemonBall, Doom, -1, 126)
PROP_RadiusFixed (6)
PROP_HeightFixed (8)
PROP_SpeedFixed (10)
PROP_Damage (5)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_RBALL)
PROP_DeathState (S_RBALLX)
PROP_SeeSound ("caco/attack")
PROP_DeathSound ("caco/shotx")
END_DEFAULTS
FState ACacodemonBall::States[] =
{
#define S_RBALL 0
S_BRIGHT (BAL2, 'A', 4, NULL , &States[S_RBALL+1]),
S_BRIGHT (BAL2, 'B', 4, NULL , &States[S_RBALL+0]),
#define S_RBALLX (S_RBALL+2)
S_BRIGHT (BAL2, 'C', 6, NULL , &States[S_RBALLX+1]),
S_BRIGHT (BAL2, 'D', 6, NULL , &States[S_RBALLX+2]),
S_BRIGHT (BAL2, 'E', 6, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadCacodemon, Doom, 22, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_HEAD_DIE+5)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACyberdemon, Doom, 16, 114)
PROP_SpawnHealth (4000)
PROP_RadiusFixed (40)
PROP_HeightFixed (110)
PROP_Mass (1000)
PROP_SpeedFixed (16)
PROP_PainChance (20)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_BOSS|MF2_FLOORCLIP)
PROP_Flags3 (MF3_NORADIUSDMG|MF3_DONTMORPH)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_CYBER_STND)
PROP_SeeState (S_CYBER_RUN)
PROP_PainState (S_CYBER_PAIN)
PROP_MissileState (S_CYBER_ATK)
PROP_DeathState (S_CYBER_DIE)
PROP_SeeSound ("cyber/sight")
PROP_PainSound ("cyber/pain")
PROP_DeathSound ("cyber/death")
PROP_ActiveSound ("cyber/active")
END_DEFAULTS
FState ACyberdemon::States[] =
{
#define S_CYBER_STND 0
S_NORMAL1 (CYBR, 'A', 10, A_Look , &States[S_CYBER_STND+1]),
S_NORMAL1 (CYBR, 'B', 10, A_Look , &States[S_CYBER_STND]),
#define S_CYBER_RUN (S_CYBER_STND+2)
S_NORMAL1 (CYBR, 'A', 3, A_Hoof , &States[S_CYBER_RUN+1]),
S_NORMAL1 (CYBR, 'A', 3, A_Chase , &States[S_CYBER_RUN+2]),
S_NORMAL1 (CYBR, 'B', 3, A_Chase , &States[S_CYBER_RUN+3]),
S_NORMAL1 (CYBR, 'B', 3, A_Chase , &States[S_CYBER_RUN+4]),
S_NORMAL1 (CYBR, 'C', 3, A_Chase , &States[S_CYBER_RUN+5]),
S_NORMAL1 (CYBR, 'C', 3, A_Chase , &States[S_CYBER_RUN+6]),
S_NORMAL1 (CYBR, 'D', 3, A_Metal , &States[S_CYBER_RUN+7]),
S_NORMAL1 (CYBR, 'D', 3, A_Chase , &States[S_CYBER_RUN+0]),
#define S_CYBER_ATK (S_CYBER_RUN+8)
S_NORMAL1 (CYBR, 'E', 6, A_FaceTarget , &States[S_CYBER_ATK+1]),
S_NORMAL1 (CYBR, 'F', 12, A_CyberAttack , &States[S_CYBER_ATK+2]),
S_NORMAL1 (CYBR, 'E', 12, A_FaceTarget , &States[S_CYBER_ATK+3]),
S_NORMAL1 (CYBR, 'F', 12, A_CyberAttack , &States[S_CYBER_ATK+4]),
S_NORMAL1 (CYBR, 'E', 12, A_FaceTarget , &States[S_CYBER_ATK+5]),
S_NORMAL1 (CYBR, 'F', 12, A_CyberAttack , &States[S_CYBER_RUN+0]),
#define S_CYBER_PAIN (S_CYBER_ATK+6)
S_NORMAL1 (CYBR, 'G', 10, A_Pain , &States[S_CYBER_RUN+0]),
#define S_CYBER_DIE (S_CYBER_PAIN+1)
S_NORMAL1 (CYBR, 'H', 10, NULL , &States[S_CYBER_DIE+1]),
S_NORMAL1 (CYBR, 'I', 10, A_Scream , &States[S_CYBER_DIE+2]),
S_NORMAL1 (CYBR, 'J', 10, NULL , &States[S_CYBER_DIE+3]),
S_NORMAL1 (CYBR, 'K', 10, NULL , &States[S_CYBER_DIE+4]),
S_NORMAL1 (CYBR, 'L', 10, NULL , &States[S_CYBER_DIE+5]),
S_NORMAL1 (CYBR, 'M', 10, A_NoBlocking , &States[S_CYBER_DIE+6]),
S_NORMAL1 (CYBR, 'N', 10, NULL , &States[S_CYBER_DIE+7]),
S_NORMAL1 (CYBR, 'O', 10, NULL , &States[S_CYBER_DIE+8]),
S_NORMAL1 (CYBR, 'P', 30, NULL , &States[S_CYBER_DIE+9]),
S_NORMAL1 (CYBR, 'P', -1, A_BossDeath , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ADemon, Doom, 3002, 8)
PROP_SpawnHealth (150)
PROP_PainChance (180)
PROP_SpeedFixed (10)
PROP_RadiusFixed (30)
PROP_HeightFixed (56)
PROP_Mass (400)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_SARG_STND)
PROP_SeeState (S_SARG_RUN)
PROP_PainState (S_SARG_PAIN)
PROP_MeleeState (S_SARG_ATK)
PROP_DeathState (S_SARG_DIE)
PROP_RaiseState (S_SARG_RAISE)
PROP_SeeSound ("demon/sight")
PROP_AttackSound ("demon/melee")
PROP_PainSound ("demon/pain")
PROP_DeathSound ("demon/death")
PROP_ActiveSound ("demon/active")
END_DEFAULTS
FState ADemon::States[] =
{
#define S_SARG_STND 0
S_NORMAL1 (SARG, 'A', 10, A_Look , &States[S_SARG_STND+1]),
S_NORMAL1 (SARG, 'B', 10, A_Look , &States[S_SARG_STND]),
#define S_SARG_RUN (S_SARG_STND+2)
S_NORMAL1 (SARG, 'A', 2, A_Chase , &States[S_SARG_RUN+1]),
S_NORMAL1 (SARG, 'A', 2, A_Chase , &States[S_SARG_RUN+2]),
S_NORMAL1 (SARG, 'B', 2, A_Chase , &States[S_SARG_RUN+3]),
S_NORMAL1 (SARG, 'B', 2, A_Chase , &States[S_SARG_RUN+4]),
S_NORMAL1 (SARG, 'C', 2, A_Chase , &States[S_SARG_RUN+5]),
S_NORMAL1 (SARG, 'C', 2, A_Chase , &States[S_SARG_RUN+6]),
S_NORMAL1 (SARG, 'D', 2, A_Chase , &States[S_SARG_RUN+7]),
S_NORMAL1 (SARG, 'D', 2, A_Chase , &States[S_SARG_RUN+0]),
#define S_SARG_ATK (S_SARG_RUN+8)
S_NORMAL1 (SARG, 'E', 8, A_FaceTarget , &States[S_SARG_ATK+1]),
S_NORMAL1 (SARG, 'F', 8, A_FaceTarget , &States[S_SARG_ATK+2]),
S_NORMAL1 (SARG, 'G', 8, A_SargAttack , &States[S_SARG_RUN+0]),
#define S_SARG_PAIN (S_SARG_ATK+3)
S_NORMAL1 (SARG, 'H', 2, NULL , &States[S_SARG_PAIN+1]),
S_NORMAL1 (SARG, 'H', 2, A_Pain , &States[S_SARG_RUN+0]),
#define S_SARG_DIE (S_SARG_PAIN+2)
S_NORMAL1 (SARG, 'I', 8, NULL , &States[S_SARG_DIE+1]),
S_NORMAL1 (SARG, 'J', 8, A_Scream , &States[S_SARG_DIE+2]),
S_NORMAL1 (SARG, 'K', 4, NULL , &States[S_SARG_DIE+3]),
S_NORMAL1 (SARG, 'L', 4, A_NoBlocking , &States[S_SARG_DIE+4]),
S_NORMAL1 (SARG, 'M', 4, NULL , &States[S_SARG_DIE+5]),
S_NORMAL1 (SARG, 'N', -1, NULL , NULL),
#define S_SARG_RAISE (S_SARG_DIE+6)
S_NORMAL1 (SARG, 'N', 5, NULL , &States[S_SARG_RAISE+1]),
S_NORMAL1 (SARG, 'M', 5, NULL , &States[S_SARG_RAISE+2]),
S_NORMAL1 (SARG, 'L', 5, NULL , &States[S_SARG_RAISE+3]),
S_NORMAL1 (SARG, 'K', 5, NULL , &States[S_SARG_RAISE+4]),
S_NORMAL1 (SARG, 'J', 5, NULL , &States[S_SARG_RAISE+5]),
S_NORMAL1 (SARG, 'I', 5, NULL , &States[S_SARG_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthDemon, Doom, 9055, 121)
PROP_FlagsSet (MF_STEALTH)
PROP_Alpha (0)
PROP_RenderStyle (STYLE_Translucent)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASpectre, Doom, 58, 9)
PROP_FlagsSet (MF_SHADOW)
PROP_RenderStyle (STYLE_Fuzzy)
PROP_Alpha (FRACUNIT/5)
PROP_SeeSound ("spectre/sight")
PROP_AttackSound ("spectre/melee")
PROP_PainSound ("spectre/pain")
PROP_DeathSound ("spectre/death")
PROP_ActiveSound ("spectre/active")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadDemon, Doom, 21, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_SARG_DIE+5)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArmorBonus, Doom, 2015, 22)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState AArmorBonus::States[] =
{
S_NORMAL1 (BON2, 'A', 6, NULL , &States[1]),
S_NORMAL1 (BON2, 'B', 6, NULL , &States[2]),
S_NORMAL1 (BON2, 'C', 6, NULL , &States[3]),
S_NORMAL1 (BON2, 'D', 6, NULL , &States[4]),
S_NORMAL1 (BON2, 'C', 6, NULL , &States[5]),
S_NORMAL1 (BON2, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AGreenArmor, Doom, 2018, 68)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AGreenArmor::States[] =
{
S_NORMAL1(ARM1, 'A', 6, NULL , &States[1]),
S_BRIGHT (ARM1, 'B', 7, NULL , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABlueArmor, Doom, 2019, 69)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ABlueArmor::States[] =
{
S_NORMAL1(ARM2, 'A', 6, NULL , &States[1]),
S_BRIGHT (ARM2, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Invulnerability Sphere
IMPLEMENT_ACTOR (AInvulnerabilitySphere, Doom, 2022, 133)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState AInvulnerabilitySphere::States[] =
{
S_BRIGHT (PINV, 'A', 6, NULL , &States[1]),
S_BRIGHT (PINV, 'B', 6, NULL , &States[2]),
S_BRIGHT (PINV, 'C', 6, NULL , &States[3]),
S_BRIGHT (PINV, 'D', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Soulsphere
IMPLEMENT_ACTOR (ASoulsphere, Doom, 2013, 25)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState ASoulsphere::States[] =
{
S_BRIGHT (SOUL, 'A', 6, NULL , &States[1]),
S_BRIGHT (SOUL, 'B', 6, NULL , &States[2]),
S_BRIGHT (SOUL, 'C', 6, NULL , &States[3]),
S_BRIGHT (SOUL, 'D', 6, NULL , &States[4]),
S_BRIGHT (SOUL, 'C', 6, NULL , &States[5]),
S_BRIGHT (SOUL, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Mega sphere
IMPLEMENT_ACTOR (AMegasphere, Doom, 83, 132)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState AMegasphere::States[] =
{
S_BRIGHT (MEGA, 'A', 6, NULL , &States[1]),
S_BRIGHT (MEGA, 'B', 6, NULL , &States[2]),
S_BRIGHT (MEGA, 'C', 6, NULL , &States[3]),
S_BRIGHT (MEGA, 'D', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Berserk
IMPLEMENT_ACTOR (ABerserk, Doom, 2023, 134)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState ABerserk::States[] =
{
S_BRIGHT (PSTR, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
// Invisibility
IMPLEMENT_ACTOR (ABlurSphere, Doom, 2024, 135)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_RenderStyle (STYLE_Translucent)
PROP_SpawnState (0)
END_DEFAULTS
FState ABlurSphere::States[] =
{
S_BRIGHT (PINS, 'A', 6, NULL , &States[1]),
S_BRIGHT (PINS, 'B', 6, NULL , &States[2]),
S_BRIGHT (PINS, 'C', 6, NULL , &States[3]),
S_BRIGHT (PINS, 'D', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Radiation suit (aka iron feet)
IMPLEMENT_ACTOR (ARadSuit, Doom, 2025, 136)
PROP_HeightFixed (46)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ARadSuit::States[] =
{
S_BRIGHT (SUIT, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
// infrared
IMPLEMENT_ACTOR (AInfrared, Doom, 2045, 138)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState AInfrared::States[] =
{
S_BRIGHT (PVIS, 'A', 6, NULL , &States[1]),
S_NORMAL1 (PVIS, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Allmap
IMPLEMENT_ACTOR (AAllmap, Doom, 2026, 137)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
PROP_PickupSound ("misc/p_pkup")
END_DEFAULTS
FState AAllmap::States[] =
{
S_BRIGHT (PMAP, 'A', 6, NULL , &States[1]),
S_BRIGHT (PMAP, 'B', 6, NULL , &States[2]),
S_BRIGHT (PMAP, 'C', 6, NULL , &States[3]),
S_BRIGHT (PMAP, 'D', 6, NULL , &States[4]),
S_BRIGHT (PMAP, 'C', 6, NULL , &States[5]),
S_BRIGHT (PMAP, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Backpack
IMPLEMENT_ACTOR (ABackpack, Doom, 8, 144)
PROP_HeightFixed (26)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ABackpack::States[] =
{
S_NORMAL1 (BPAK, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
// Evil sceptre (Doom beta)
FState AEvilSceptre::States[] =
{
S_NORMAL1 (BON3, 'A', 6, NULL , &States[0]),
};
IMPLEMENT_ACTOR (AEvilSceptre, Doom, 2016, 0)
PROP_HeightFixed(10)
PROP_Flags(MF_SPECIAL|MF_COUNTITEM)
PROP_Inventory_Amount(1)
PROP_Inventory_FlagsSet(IF_ALWAYSPICKUP)
PROP_SpawnState(0)
END_DEFAULTS
-------------------------------------------------------------
// Unholy Bible (Doom beta)
FState AUnholyBible::States[] =
{
S_NORMAL1 (BON4, 'A', 6, NULL , &States[0]),
};
IMPLEMENT_ACTOR (AUnholyBible, Doom, 2017, 0)
PROP_HeightFixed(10)
PROP_Flags(MF_SPECIAL|MF_COUNTITEM)
PROP_Inventory_Amount(1)
PROP_Inventory_FlagsSet(IF_ALWAYSPICKUP)
PROP_SpawnState(0)
END_DEFAULTS
------------------------------------------------------------------------
// Health bonus
IMPLEMENT_ACTOR (AHealthBonus, Doom, 2014, 152)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_COUNTITEM)
PROP_SpawnState (0)
END_DEFAULTS
FState AHealthBonus::States[] =
{
S_NORMAL1 (BON1, 'A', 6, NULL , &States[1]),
S_NORMAL1 (BON1, 'B', 6, NULL , &States[2]),
S_NORMAL1 (BON1, 'C', 6, NULL , &States[3]),
S_NORMAL1 (BON1, 'D', 6, NULL , &States[4]),
S_NORMAL1 (BON1, 'C', 6, NULL , &States[5]),
S_NORMAL1 (BON1, 'B', 6, NULL , &States[0])
};
------------------------------------------------------------------------
// Stimpack
IMPLEMENT_ACTOR (AStimpack, Doom, 2011, 23)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AStimpack::States[] =
{
S_NORMAL1 (STIM, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
// Medikit
IMPLEMENT_ACTOR (AMedikit, Doom, 2012, 24)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AMedikit::States[] =
{
S_NORMAL1 (MEDI, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ADoomImp, Doom, 3001, 5)
PROP_SpawnHealth (60)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (200)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_TROO_STND)
PROP_SeeState (S_TROO_RUN)
PROP_PainState (S_TROO_PAIN)
PROP_MeleeState (S_TROO_ATK)
PROP_MissileState (S_TROO_ATK)
PROP_DeathState (S_TROO_DIE)
PROP_XDeathState (S_TROO_XDIE)
PROP_RaiseState (S_TROO_RAISE)
PROP_SeeSound ("imp/sight")
PROP_PainSound ("imp/pain")
PROP_DeathSound ("imp/death")
PROP_ActiveSound ("imp/active")
END_DEFAULTS
FState ADoomImp::States[] =
{
#define S_TROO_STND 0
S_NORMAL1 (TROO, 'A', 10, A_Look , &States[S_TROO_STND+1]),
S_NORMAL1 (TROO, 'B', 10, A_Look , &States[S_TROO_STND]),
#define S_TROO_RUN (S_TROO_STND+2)
S_NORMAL1 (TROO, 'A', 3, A_Chase , &States[S_TROO_RUN+1]),
S_NORMAL1 (TROO, 'A', 3, A_Chase , &States[S_TROO_RUN+2]),
S_NORMAL1 (TROO, 'B', 3, A_Chase , &States[S_TROO_RUN+3]),
S_NORMAL1 (TROO, 'B', 3, A_Chase , &States[S_TROO_RUN+4]),
S_NORMAL1 (TROO, 'C', 3, A_Chase , &States[S_TROO_RUN+5]),
S_NORMAL1 (TROO, 'C', 3, A_Chase , &States[S_TROO_RUN+6]),
S_NORMAL1 (TROO, 'D', 3, A_Chase , &States[S_TROO_RUN+7]),
S_NORMAL1 (TROO, 'D', 3, A_Chase , &States[S_TROO_RUN+0]),
#define S_TROO_ATK (S_TROO_RUN+8)
S_NORMAL1 (TROO, 'E', 8, A_FaceTarget , &States[S_TROO_ATK+1]),
S_NORMAL1 (TROO, 'F', 8, A_FaceTarget , &States[S_TROO_ATK+2]),
S_NORMAL1 (TROO, 'G', 6, A_TroopAttack , &States[S_TROO_RUN+0]),
#define S_TROO_PAIN (S_TROO_ATK+3)
S_NORMAL1 (TROO, 'H', 2, NULL , &States[S_TROO_PAIN+1]),
S_NORMAL1 (TROO, 'H', 2, A_Pain , &States[S_TROO_RUN+0]),
#define S_TROO_DIE (S_TROO_PAIN+2)
S_NORMAL1 (TROO, 'I', 8, NULL , &States[S_TROO_DIE+1]),
S_NORMAL1 (TROO, 'J', 8, A_Scream , &States[S_TROO_DIE+2]),
S_NORMAL1 (TROO, 'K', 6, NULL , &States[S_TROO_DIE+3]),
S_NORMAL1 (TROO, 'L', 6, A_NoBlocking , &States[S_TROO_DIE+4]),
S_NORMAL1 (TROO, 'M', -1, NULL , NULL),
#define S_TROO_XDIE (S_TROO_DIE+5)
S_NORMAL1 (TROO, 'N', 5, NULL , &States[S_TROO_XDIE+1]),
S_NORMAL1 (TROO, 'O', 5, A_XScream , &States[S_TROO_XDIE+2]),
S_NORMAL1 (TROO, 'P', 5, NULL , &States[S_TROO_XDIE+3]),
S_NORMAL1 (TROO, 'Q', 5, A_NoBlocking , &States[S_TROO_XDIE+4]),
S_NORMAL1 (TROO, 'R', 5, NULL , &States[S_TROO_XDIE+5]),
S_NORMAL1 (TROO, 'S', 5, NULL , &States[S_TROO_XDIE+6]),
S_NORMAL1 (TROO, 'T', 5, NULL , &States[S_TROO_XDIE+7]),
S_NORMAL1 (TROO, 'U', -1, NULL , NULL),
#define S_TROO_RAISE (S_TROO_XDIE+8)
S_NORMAL1 (TROO, 'M', 8, NULL , &States[S_TROO_RAISE+1]),
S_NORMAL1 (TROO, 'L', 8, NULL , &States[S_TROO_RAISE+2]),
S_NORMAL1 (TROO, 'K', 6, NULL , &States[S_TROO_RAISE+3]),
S_NORMAL1 (TROO, 'J', 6, NULL , &States[S_TROO_RAISE+4]),
S_NORMAL1 (TROO, 'I', 6, NULL , &States[S_TROO_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthDoomImp, Doom, 9057, 122)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ADoomImpBall, Doom, -1, 10)
PROP_RadiusFixed (6)
PROP_HeightFixed (8)
PROP_SpeedFixed (10)
PROP_Damage (3)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_TBALL)
PROP_DeathState (S_TBALLX)
PROP_SeeSound ("imp/attack")
PROP_DeathSound ("imp/shotx")
END_DEFAULTS
FState ADoomImpBall::States[] =
{
#define S_TBALL 0
S_BRIGHT (BAL1, 'A', 4, NULL , &States[S_TBALL+1]),
S_BRIGHT (BAL1, 'B', 4, NULL , &States[S_TBALL+0]),
#define S_TBALLX (S_TBALL+2)
S_BRIGHT (BAL1, 'C', 6, NULL , &States[S_TBALLX+1]),
S_BRIGHT (BAL1, 'D', 6, NULL , &States[S_TBALLX+2]),
S_BRIGHT (BAL1, 'E', 6, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadDoomImp, Doom, 20, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_TROO_DIE+4)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABlueCard, Doom, 5, 85)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (S_CARDB)
PROP_SeeState (S_CFB)
PROP_PainState (S_CFB2)
END_DEFAULTS
FState ABlueCard::States[] =
{
#define S_CARDB 0
S_NORMAL1 (BKEY, 'A', 10, NULL , &States[S_CARDB+1]),
S_BRIGHT (BKEY, 'B', 10, NULL , &States[S_CARDB]),
#if __CTF__
#define S_CFB (S_CARDB+2)
S_NORMAL1 (BFLA, 'A', 5, NULL , &States[S_CFB+1]),
S_NORMAL1 (BFLA, 'B', 5, NULL , &States[S_CFB+2]),
S_NORMAL1 (BFLA, 'C', 5, NULL , &States[S_CFB+3]),
S_NORMAL1 (BFLA, 'D', 5, NULL , &States[S_CFB+4]),
S_NORMAL1 (BFLA, 'E', 5, NULL , &States[S_CFB+5]),
S_NORMAL1 (BFLA, 'F', 5, NULL , &States[S_CFB+6]),
S_NORMAL1 (BFLA, 'G', 5, NULL , &States[S_CFB+7]),
S_NORMAL1 (BFLA, 'H', 5, NULL , &States[S_CFB+8]),
S_NORMAL1 (BFLA, 'I', 5, NULL , &States[S_CFB+9]),
S_NORMAL1 (BFLA, 'J', 5, NULL , &States[S_CFB+10]),
S_NORMAL1 (BFLA, 'K', 5, NULL , &States[S_CFB+11]),
S_NORMAL1 (BFLA, 'L', 5, NULL , &States[S_CFB+12]),
S_NORMAL1 (BFLA, 'M', 5, NULL , &States[S_CFB+13]),
S_NORMAL1 (BFLA, 'N', 5, NULL , &States[S_CFB+14]),
S_NORMAL1 (BFLA, 'O', 5, NULL , &States[S_CFB+15]),
S_NORMAL1 (BFLA, 'P', 5, NULL , &States[S_CFB]),
#define S_CFB2 (S_CFB+16)
S_NORMAL1 (BFRN, 'A', 4, NULL ,&States[S_CFB2+0])
#endif
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARedCard, Doom, 13, 86)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (S_CARDR)
PROP_SeeState (S_CFR)
PROP_PainState (S_CFR2)
END_DEFAULTS
FState ARedCard::States[] =
{
#define S_CARDR 0
S_NORMAL1 (RKEY, 'A', 10, NULL , &States[S_CARDR+1]),
S_BRIGHT (RKEY, 'B', 10, NULL , &States[S_CARDR]),
#if __CTF__
#define S_CFR (S_CARDR+2)
S_NORMAL1 (RFLA, 'A', 5, NULL , &States[S_CFR+1]),
S_NORMAL1 (RFLA, 'B', 5, NULL , &States[S_CFR+2]),
S_NORMAL1 (RFLA, 'C', 5, NULL , &States[S_CFR+3]),
S_NORMAL1 (RFLA, 'D', 5, NULL , &States[S_CFR+4]),
S_NORMAL1 (RFLA, 'E', 5, NULL , &States[S_CFR+5]),
S_NORMAL1 (RFLA, 'F', 5, NULL , &States[S_CFR+6]),
S_NORMAL1 (RFLA, 'G', 5, NULL , &States[S_CFR+7]),
S_NORMAL1 (RFLA, 'H', 5, NULL , &States[S_CFR+8]),
S_NORMAL1 (RFLA, 'I', 5, NULL , &States[S_CFR+9]),
S_NORMAL1 (RFLA, 'J', 5, NULL , &States[S_CFR+10]),
S_NORMAL1 (RFLA, 'K', 5, NULL , &States[S_CFR+11]),
S_NORMAL1 (RFLA, 'L', 5, NULL , &States[S_CFR+12]),
S_NORMAL1 (RFLA, 'M', 5, NULL , &States[S_CFR+13]),
S_NORMAL1 (RFLA, 'N', 5, NULL , &States[S_CFR+14]),
S_NORMAL1 (RFLA, 'O', 5, NULL , &States[S_CFR+15]),
S_NORMAL1 (RFLA, 'P', 5, NULL , &States[S_CFR]),
#define S_CFR2 (S_CFR+16)
S_NORMAL1 (RFRN, 'A', 4, NULL ,&States[S_CFR2+0])
#endif
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AYellowCard, Doom, 6, 87)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (0)
END_DEFAULTS
FState AYellowCard::States[] =
{
S_NORMAL1 (YKEY, 'A', 10, NULL , &States[1]),
S_BRIGHT (YKEY, 'B', 10, NULL , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABlueSkull, Doom, 40, 90)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (0)
END_DEFAULTS
FState ABlueSkull::States[] =
{
S_NORMAL1 (BSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (BSKU, 'B', 10, NULL , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AYellowSkull, Doom, 39, 88)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (0)
END_DEFAULTS
FState AYellowSkull::States[] =
{
S_NORMAL1 (YSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (YSKU, 'B', 10, NULL , &States[0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARedSkull, Doom, 38, 89)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_SpawnState (0)
END_DEFAULTS
FState ARedSkull::States[] =
{
S_NORMAL1 (RSKU, 'A', 10, NULL , &States[1]),
S_BRIGHT (RSKU, 'B', 10, NULL , &States[0])
};
------------------------------------------------------------------------
// The barrel of green goop
IMPLEMENT_ACTOR (AExplosiveBarrel, Doom, 2035, 125)
PROP_SpawnHealth (20)
PROP_RadiusFixed (10)
PROP_HeightFixed (42)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_NOBLOOD)
PROP_Flags2 (MF2_MCROSS)
PROP_SpawnState (S_BAR)
PROP_DeathState (S_BEXP)
PROP_DeathSound ("world/barrelx")
END_DEFAULTS
FState AExplosiveBarrel::States[] =
{
#define S_BAR 0
S_NORMAL1 (BAR1, 'A', 6, NULL , &States[S_BAR+1]),
S_NORMAL1 (BAR1, 'B', 6, NULL , &States[S_BAR+0]),
#define S_BEXP (S_BAR+2)
S_BRIGHT (BEXP, 'A', 5, NULL , &States[S_BEXP+1]),
S_BRIGHT (BEXP, 'B', 5, A_Scream , &States[S_BEXP+2]),
S_BRIGHT (BEXP, 'C', 5, NULL , &States[S_BEXP+3]),
S_BRIGHT (BEXP, 'D', 10, A_Explode , &States[S_BEXP+4]),
S_BRIGHT (BEXP, 'E', 10, NULL , &States[S_BEXP+5]),
S_BRIGHT (BEXP, 'E', 1050, A_BarrelDestroy , &States[S_BEXP+6]),
S_BRIGHT (BEXP, 'E', 5, A_BarrelRespawn , &States[S_BEXP+6])
};
------------------------------------------------------------------------
// Bullet puff
IMPLEMENT_ACTOR (ABulletPuff, Doom, -1, 131)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_Flags4 (MF4_NONETSPAWN)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC50)
PROP_SpawnState (0)
END_DEFAULTS
FState ABulletPuff::States[] =
{
S_BRIGHT (PUFF, 'A', 4, NULL , &States[1]),
S_NORMAL1 (PUFF, 'B', 4, NULL , &States[2]),
S_NORMAL1 (PUFF, 'C', 4, NULL , &States[3]),
S_NORMAL1 (PUFF, 'D', 4, NULL , NULL)
};
------------------------------------------------------------------------
// This is the definition for the new AStalagmite entry.
// It contains only one state. (Previously the first state
// on ADoomUnusedFrames - though remaining for deprecated
// compatibility)
//
// DoomEdNum: 5050
//
DEC (AStalagmite, 5050)
{
S_NORMAL1 (SMT2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Container for an unused state
IMPLEMENT_ACTOR (ADoomUnusedStates, Doom, -1, 0)
PROP_DeathState (S_DEADTORSO)
END_DEFAULTS
FState ADoomUnusedStates::States[] =
{
#define S_STALAGDUMMY 0
S_NORMAL1 (SMT2, 'A', -1, NULL , NULL),
#define S_DEADTORSO (S_STALAGDUMMY+1)
S_NORMAL1 (PLAY, 'N', -1, NULL , NULL),
#define S_DEADBOTTOM (S_DEADTORSO+1)
S_NORMAL1 (PLAY, 'S', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ADoomPlayer, Doom, -1, 0)
PROP_SpawnHealth (100)
PROP_RadiusFixed (16)
PROP_HeightFixed (56)
PROP_SpeedFixed (1)
PROP_Mass (100)
PROP_PainChance (255)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_DROPOFF|MF_PICKUP|MF_NOTDMATCH|MF_FRIENDLY)
PROP_Flags2 (MF2_SLIDE|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags3 (MF3_NOBLOCKMONST)
PROP_SpawnState (S_PLAY)
PROP_SeeState (S_PLAY_RUN)
PROP_PainState (S_PLAY_PAIN)
PROP_MissileState (S_PLAY_ATK)
PROP_DeathState (S_PLAY_DIE)
PROP_XDeathState (S_PLAY_XDIE)
END_DEFAULTS
FState ADoomPlayer::States[] =
{
#define S_PLAY 0
S_NORMAL1 (PLAY, 'A', -1, NULL , NULL),
#define S_PLAY_RUN (S_PLAY+1)
S_NORMAL1 (PLAY, 'A', 4, NULL , &States[S_PLAY_RUN+1]),
S_NORMAL1 (PLAY, 'B', 4, NULL , &States[S_PLAY_RUN+2]),
S_NORMAL1 (PLAY, 'C', 4, NULL , &States[S_PLAY_RUN+3]),
S_NORMAL1 (PLAY, 'D', 4, NULL , &States[S_PLAY_RUN+0]),
#define S_PLAY_ATK (S_PLAY_RUN+4)
S_NORMAL1 (PLAY, 'E', 12, NULL , &States[S_PLAY]),
S_BRIGHT (PLAY, 'F', 6, NULL , &States[S_PLAY_ATK+0]),
#define S_PLAY_PAIN (S_PLAY_ATK+2)
S_NORMAL1 (PLAY, 'G', 4, NULL , &States[S_PLAY_PAIN+1]),
S_NORMAL1 (PLAY, 'G', 4, A_Pain , &States[S_PLAY]),
#define S_PLAY_DIE (S_PLAY_PAIN+2)
S_NORMAL1 (PLAY, 'H', 10, NULL , &States[S_PLAY_DIE+1]),
S_NORMAL1 (PLAY, 'I', 10, A_PlayerScream , &States[S_PLAY_DIE+2]),
S_NORMAL1 (PLAY, 'J', 10, A_NoBlocking , &States[S_PLAY_DIE+3]),
S_NORMAL1 (PLAY, 'K', 10, NULL , &States[S_PLAY_DIE+4]),
S_NORMAL1 (PLAY, 'L', 10, NULL , &States[S_PLAY_DIE+5]),
S_NORMAL1 (PLAY, 'M', 10, NULL , &States[S_PLAY_DIE+6]),
S_NORMAL1 (PLAY, 'N', -1, NULL , NULL),
#define S_PLAY_XDIE (S_PLAY_DIE+7)
S_NORMAL1 (PLAY, 'O', 5, NULL , &States[S_PLAY_XDIE+1]),
S_NORMAL1 (PLAY, 'P', 5, A_XScream , &States[S_PLAY_XDIE+2]),
S_NORMAL1 (PLAY, 'Q', 5, A_NoBlocking , &States[S_PLAY_XDIE+3]),
S_NORMAL1 (PLAY, 'R', 5, NULL , &States[S_PLAY_XDIE+4]),
S_NORMAL1 (PLAY, 'S', 5, NULL , &States[S_PLAY_XDIE+5]),
S_NORMAL1 (PLAY, 'T', 5, NULL , &States[S_PLAY_XDIE+6]),
S_NORMAL1 (PLAY, 'U', 5, NULL , &States[S_PLAY_XDIE+7]),
S_NORMAL1 (PLAY, 'V', 5, NULL , &States[S_PLAY_XDIE+8]),
S_NORMAL1 (PLAY, 'W', -1, NULL , NULL)
};
------------------------------------------------------------------------
// Dead marine
IMPLEMENT_STATELESS_ACTOR (ADeadMarine, Doom, 15, 0)
PROP_STATE_BASE (ADoomPlayer)
PROP_SpawnState (S_PLAY_DIE+6)
END_DEFAULTS
------------------------------------------------------------------------
// Gibbed marine
IMPLEMENT_STATELESS_ACTOR (AGibbedMarine, Doom, 10, 145)
PROP_STATE_BASE (ADoomPlayer)
PROP_SpawnState (S_PLAY_XDIE+8)
END_DEFAULTS
------------------------------------------------------------------------
// Gibbed marine (extra copy)
IMPLEMENT_STATELESS_ACTOR (AGibbedMarineExtra, Doom, 12, 0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AFatso, Doom, 67, 112)
PROP_SpawnHealth (600)
PROP_RadiusFixed (48)
PROP_HeightFixed (64)
PROP_Mass (1000)
PROP_SpeedFixed (8)
PROP_PainChance (80)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_FATT_STND)
PROP_SeeState (S_FATT_RUN)
PROP_PainState (S_FATT_PAIN)
PROP_MissileState (S_FATT_ATK)
PROP_DeathState (S_FATT_DIE)
PROP_RaiseState (S_FATT_RAISE)
PROP_SeeSound ("fatso/sight")
PROP_PainSound ("fatso/pain")
PROP_DeathSound ("fatso/death")
PROP_ActiveSound ("fatso/active")
END_DEFAULTS
FState AFatso::States[] =
{
#define S_FATT_STND 0
S_NORMAL1 (FATT, 'A', 15, A_Look , &States[S_FATT_STND+1]),
S_NORMAL1 (FATT, 'B', 15, A_Look , &States[S_FATT_STND]),
#define S_FATT_RUN (S_FATT_STND+2)
S_NORMAL1 (FATT, 'A', 4, A_Chase , &States[S_FATT_RUN+1]),
S_NORMAL1 (FATT, 'A', 4, A_Chase , &States[S_FATT_RUN+2]),
S_NORMAL1 (FATT, 'B', 4, A_Chase , &States[S_FATT_RUN+3]),
S_NORMAL1 (FATT, 'B', 4, A_Chase , &States[S_FATT_RUN+4]),
S_NORMAL1 (FATT, 'C', 4, A_Chase , &States[S_FATT_RUN+5]),
S_NORMAL1 (FATT, 'C', 4, A_Chase , &States[S_FATT_RUN+6]),
S_NORMAL1 (FATT, 'D', 4, A_Chase , &States[S_FATT_RUN+7]),
S_NORMAL1 (FATT, 'D', 4, A_Chase , &States[S_FATT_RUN+8]),
S_NORMAL1 (FATT, 'E', 4, A_Chase , &States[S_FATT_RUN+9]),
S_NORMAL1 (FATT, 'E', 4, A_Chase , &States[S_FATT_RUN+10]),
S_NORMAL1 (FATT, 'F', 4, A_Chase , &States[S_FATT_RUN+11]),
S_NORMAL1 (FATT, 'F', 4, A_Chase , &States[S_FATT_RUN+0]),
#define S_FATT_ATK (S_FATT_RUN+12)
S_NORMAL1 (FATT, 'G', 20, A_FatRaise , &States[S_FATT_ATK+1]),
S_BRIGHT (FATT, 'H', 10, A_FatAttack1 , &States[S_FATT_ATK+2]),
S_NORMAL1 (FATT, 'I', 5, A_FaceTarget , &States[S_FATT_ATK+3]),
S_NORMAL1 (FATT, 'G', 5, A_FaceTarget , &States[S_FATT_ATK+4]),
S_BRIGHT (FATT, 'H', 10, A_FatAttack2 , &States[S_FATT_ATK+5]),
S_NORMAL1 (FATT, 'I', 5, A_FaceTarget , &States[S_FATT_ATK+6]),
S_NORMAL1 (FATT, 'G', 5, A_FaceTarget , &States[S_FATT_ATK+7]),
S_BRIGHT (FATT, 'H', 10, A_FatAttack3 , &States[S_FATT_ATK+8]),
S_NORMAL1 (FATT, 'I', 5, A_FaceTarget , &States[S_FATT_ATK+9]),
S_NORMAL1 (FATT, 'G', 5, A_FaceTarget , &States[S_FATT_RUN+0]),
#define S_FATT_PAIN (S_FATT_ATK+10)
S_NORMAL1 (FATT, 'J', 3, NULL , &States[S_FATT_PAIN+1]),
S_NORMAL1 (FATT, 'J', 3, A_Pain , &States[S_FATT_RUN+0]),
#define S_FATT_DIE (S_FATT_PAIN+2)
S_NORMAL1 (FATT, 'K', 6, NULL , &States[S_FATT_DIE+1]),
S_NORMAL1 (FATT, 'L', 6, A_Scream , &States[S_FATT_DIE+2]),
S_NORMAL1 (FATT, 'M', 6, A_NoBlocking , &States[S_FATT_DIE+3]),
S_NORMAL1 (FATT, 'N', 6, NULL , &States[S_FATT_DIE+4]),
S_NORMAL1 (FATT, 'O', 6, NULL , &States[S_FATT_DIE+5]),
S_NORMAL1 (FATT, 'P', 6, NULL , &States[S_FATT_DIE+6]),
S_NORMAL1 (FATT, 'Q', 6, NULL , &States[S_FATT_DIE+7]),
S_NORMAL1 (FATT, 'R', 6, NULL , &States[S_FATT_DIE+8]),
S_NORMAL1 (FATT, 'S', 6, NULL , &States[S_FATT_DIE+9]),
S_NORMAL1 (FATT, 'T', -1, A_BossDeath , NULL),
#define S_FATT_RAISE (S_FATT_DIE+10)
S_NORMAL1 (FATT, 'R', 5, NULL , &States[S_FATT_RAISE+1]),
S_NORMAL1 (FATT, 'Q', 5, NULL , &States[S_FATT_RAISE+2]),
S_NORMAL1 (FATT, 'P', 5, NULL , &States[S_FATT_RAISE+3]),
S_NORMAL1 (FATT, 'O', 5, NULL , &States[S_FATT_RAISE+4]),
S_NORMAL1 (FATT, 'N', 5, NULL , &States[S_FATT_RAISE+5]),
S_NORMAL1 (FATT, 'M', 5, NULL , &States[S_FATT_RAISE+6]),
S_NORMAL1 (FATT, 'L', 5, NULL , &States[S_FATT_RAISE+7]),
S_NORMAL1 (FATT, 'K', 5, NULL , &States[S_FATT_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthFatso, Doom, 9058, 123)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AFatShot, Doom, -1, 153)
PROP_RadiusFixed (6)
PROP_HeightFixed (32)
PROP_SpeedFixed (20)
PROP_Damage (8)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_FATSHOT)
PROP_DeathState (S_FATSHOTX)
PROP_SeeSound ("fatso/attack")
PROP_DeathSound ("fatso/shotx")
END_DEFAULTS
FState AFatShot::States[] =
{
#define S_FATSHOT 0
S_BRIGHT (MANF, 'A', 4, NULL , &States[S_FATSHOT+1]),
S_BRIGHT (MANF, 'B', 4, NULL , &States[S_FATSHOT+0]),
#define S_FATSHOTX (S_FATSHOT+2)
S_BRIGHT (MISL, 'B', 8, NULL , &States[S_FATSHOTX+1]),
S_BRIGHT (MISL, 'C', 6, NULL , &States[S_FATSHOTX+2]),
S_BRIGHT (MISL, 'D', 4, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACommanderKeen, Doom, 72, 0)
PROP_SpawnHealth (100)
PROP_RadiusFixed (16)
PROP_HeightFixed (72)
PROP_MassLong (10000000)
PROP_MaxPainChance
PROP_Flags (MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags4 (MF4_NOICEDEATH)
PROP_SpawnState (S_KEENSTND)
PROP_PainState (S_KEENPAIN)
PROP_DeathState (S_COMMKEEN)
PROP_PainSound ("keen/pain")
PROP_DeathSound ("keen/death")
END_DEFAULTS
FState ACommanderKeen::States[] =
{
#define S_KEENSTND 0
S_NORMAL1 (KEEN, 'A', -1, NULL , &States[S_KEENSTND]),
#define S_COMMKEEN (S_KEENSTND+1)
S_NORMAL1 (KEEN, 'A', 6, NULL , &States[S_COMMKEEN+1]),
S_NORMAL1 (KEEN, 'B', 6, NULL , &States[S_COMMKEEN+2]),
S_NORMAL1 (KEEN, 'C', 6, A_Scream , &States[S_COMMKEEN+3]),
S_NORMAL1 (KEEN, 'D', 6, NULL , &States[S_COMMKEEN+4]),
S_NORMAL1 (KEEN, 'E', 6, NULL , &States[S_COMMKEEN+5]),
S_NORMAL1 (KEEN, 'F', 6, NULL , &States[S_COMMKEEN+6]),
S_NORMAL1 (KEEN, 'G', 6, NULL , &States[S_COMMKEEN+7]),
S_NORMAL1 (KEEN, 'H', 6, NULL , &States[S_COMMKEEN+8]),
S_NORMAL1 (KEEN, 'I', 6, NULL , &States[S_COMMKEEN+9]),
S_NORMAL1 (KEEN, 'J', 6, NULL , &States[S_COMMKEEN+10]),
S_NORMAL1 (KEEN, 'K', 6, A_KeenDie , &States[S_COMMKEEN+11]),
S_NORMAL1 (KEEN, 'L', -1, NULL , NULL),
#define S_KEENPAIN (S_COMMKEEN+12)
S_NORMAL1 (KEEN, 'M', 4, NULL , &States[S_KEENPAIN+1]),
S_NORMAL1 (KEEN, 'M', 8, A_Pain , &States[S_KEENSTND])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABFG9000, Doom, 2006, 31)
PROP_RadiusFixed (20)
PROP_HeightFixed (20)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_BFUG)
END_DEFAULTS
FState ABFG9000::States[] =
{
#define S_BFG 0
S_NORMAL1 (BFGG, 'A', 1, A_WeaponReady , &States[S_BFG]),
#define S_BFGDOWN (S_BFG+1)
S_NORMAL1 (BFGG, 'A', 1, A_Lower , &States[S_BFGDOWN]),
#define S_BFGUP (S_BFGDOWN+1)
S_NORMAL1 (BFGG, 'A', 1, A_Raise , &States[S_BFGUP]),
#define S_BFG1 (S_BFGUP+1)
S_NORMAL1 (BFGG, 'A', 20, A_BFGsound , &States[S_BFG1+1]),
S_NORMAL1 (BFGG, 'B', 10, A_GunFlash , &States[S_BFG1+2]),
S_NORMAL1 (BFGG, 'B', 10, A_FireBFG , &States[S_BFG1+3]),
S_NORMAL1 (BFGG, 'B', 20, A_ReFire , &States[S_BFG]),
#define S_BFGFLASH (S_BFG1+4)
S_BRIGHT (BFGF, 'A', 11, A_Light1 , &States[S_BFGFLASH+1]),
S_BRIGHT (BFGF, 'B', 6, A_Light2 , &AWeapon::States[S_LIGHTDONE]),
#define S_BFUG (S_BFGFLASH+2)
S_NORMAL1 (BFUG, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ALostSoul, Doom, 3006, 110)
PROP_SpawnHealth (100)
PROP_RadiusFixed (16)
PROP_HeightFixed (56)
PROP_Mass (50)
PROP_SpeedFixed (8)
PROP_Damage (3)
PROP_MaxPainChance
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY)
PROP_Flags2 (MF2_MCROSS|MF2_PUSHWALL|MF2_PASSMOBJ)
PROP_Flags3 (MF3_ISMONSTER)
PROP_Flags4 (MF4_NOICEDEATH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_SKULL_STND)
PROP_SeeState (S_SKULL_RUN)
PROP_PainState (S_SKULL_PAIN)
PROP_MissileState (S_SKULL_ATK)
PROP_DeathState (S_SKULL_DIE)
PROP_AttackSound ("skull/melee")
PROP_PainSound ("skull/pain")
PROP_DeathSound ("skull/death")
PROP_ActiveSound ("skull/active")
END_DEFAULTS
FState ALostSoul::States[] =
{
#define S_SKULL_STND 0
S_BRIGHT (SKUL, 'A', 10, A_Look , &States[S_SKULL_STND+1]),
S_BRIGHT (SKUL, 'B', 10, A_Look , &States[S_SKULL_STND]),
#define S_SKULL_RUN (S_SKULL_STND+2)
S_BRIGHT (SKUL, 'A', 6, A_Chase , &States[S_SKULL_RUN+1]),
S_BRIGHT (SKUL, 'B', 6, A_Chase , &States[S_SKULL_RUN+0]),
#define S_SKULL_ATK (S_SKULL_RUN+2)
S_BRIGHT (SKUL, 'C', 10, A_FaceTarget , &States[S_SKULL_ATK+1]),
S_BRIGHT (SKUL, 'D', 4, A_SkullAttack , &States[S_SKULL_ATK+2]),
S_BRIGHT (SKUL, 'C', 4, NULL , &States[S_SKULL_ATK+3]),
S_BRIGHT (SKUL, 'D', 4, NULL , &States[S_SKULL_ATK+2]),
#define S_SKULL_PAIN (S_SKULL_ATK+4)
S_BRIGHT (SKUL, 'E', 3, NULL , &States[S_SKULL_PAIN+1]),
S_BRIGHT (SKUL, 'E', 3, A_Pain , &States[S_SKULL_RUN+0]),
#define S_SKULL_DIE (S_SKULL_PAIN+2)
S_BRIGHT (SKUL, 'F', 6, NULL , &States[S_SKULL_DIE+1]),
S_BRIGHT (SKUL, 'G', 6, A_Scream , &States[S_SKULL_DIE+2]),
S_BRIGHT (SKUL, 'H', 6, NULL , &States[S_SKULL_DIE+3]),
S_BRIGHT (SKUL, 'I', 6, A_NoBlocking , &States[S_SKULL_DIE+4]),
S_NORMAL1 (SKUL, 'J', 6, NULL , &States[S_SKULL_DIE+5]),
S_NORMAL1 (SKUL, 'K', 6, NULL , NULL)
};
------------------------------------------------------------------------
// Lost Soul (Doom beta)
IMPLEMENT_ACTOR (ABetaSkull, Doom, 9037, 0)
PROP_SpawnHealth (100)
PROP_RadiusFixed (16)
PROP_HeightFixed (56)
PROP_Mass (50)
PROP_SpeedFixed (8)
PROP_Damage (3)
PROP_MaxPainChance
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY)
PROP_Flags2 (MF2_MCROSS|MF2_PUSHWALL|MF2_PASSMOBJ)
PROP_Flags3 (MF3_ISMONSTER)
PROP_Flags4 (MF4_NOICEDEATH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_BETASKULL_STND)
PROP_SeeState (S_BETASKULL_RUN)
PROP_PainState (S_BETASKULL_PAIN)
PROP_MissileState (S_BETASKULL_ATK)
PROP_DeathState (S_BETASKULL_DIE)
PROP_AttackSound ("skull/melee")
PROP_PainSound ("skull/pain")
PROP_DeathSound ("skull/death")
PROP_ActiveSound ("skull/active")
END_DEFAULTS
FState ABetaSkull::States[] =
{
#define S_BETASKULL_STND 0
S_BRIGHT (SKUB, 'A', 10, A_Look , &States[S_BETASKULL_STND]),
#define S_BETASKULL_RUN (S_BETASKULL_STND+1)
S_BRIGHT (SKUB, 'B', 5, A_Chase , &States[S_BETASKULL_RUN+1]),
S_BRIGHT (SKUB, 'C', 5, A_Chase , &States[S_BETASKULL_RUN+2]),
S_BRIGHT (SKUB, 'D', 5, A_Chase , &States[S_BETASKULL_RUN+3]),
S_BRIGHT (SKUB, 'A', 5, A_Chase , &States[S_BETASKULL_RUN+0]),
#define S_BETASKULL_ATK (S_BETASKULL_RUN+4)
S_BRIGHT (SKUB, 'E', 4, A_FaceTarget , &States[S_BETASKULL_ATK+1]),
S_BRIGHT (SKUB, 'F', 5, A_BetaSkullAttack , &States[S_BETASKULL_ATK+2]),
S_BRIGHT (SKUB, 'F', 4, NULL , &States[S_BETASKULL_RUN]),
#define S_BETASKULL_PAIN (S_BETASKULL_ATK+3)
S_BRIGHT (SKUB, 'G', 4, NULL , &States[S_BETASKULL_PAIN+1]),
S_BRIGHT (SKUB, 'H', 2, A_Pain , &States[S_BETASKULL_RUN]),
S_BRIGHT (SKUB, 'I', 4, NULL , &States[S_BETASKULL_RUN]),
#define S_BETASKULL_DIE (S_BETASKULL_PAIN+3)
S_BRIGHT (SKUB, 'J', 5, NULL , &States[S_BETASKULL_DIE+1]),
S_BRIGHT (SKUB, 'K', 5, NULL , &States[S_BETASKULL_DIE+2]),
S_BRIGHT (SKUB, 'L', 5, NULL , &States[S_BETASKULL_DIE+3]),
S_BRIGHT (SKUB, 'M', 5, NULL , &States[S_BETASKULL_DIE+4]),
S_BRIGHT (SKUB, 'N', 5, A_Scream , &States[S_BETASKULL_DIE+5]),
S_BRIGHT (SKUB, 'O', 5, NULL , &States[S_BETASKULL_DIE+6]),
S_BRIGHT (SKUB, 'P', 5, A_NoBlocking , &States[S_BETASKULL_DIE+7]),
S_NORMAL1 (SKUB, 'Q', 5, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadLostSoul, Doom, 23, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_SKULL_DIE+5)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (APainElemental, Doom, 71, 115)
PROP_SpawnHealth (400)
PROP_RadiusFixed (31)
PROP_HeightFixed (56)
PROP_Mass (400)
PROP_SpeedFixed (8)
PROP_PainChance (128)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_FLOAT|MF_NOGRAVITY|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL)
PROP_SpawnState (S_PAIN_STND)
PROP_SeeState (S_PAIN_RUN)
PROP_PainState (S_PAIN_PAIN)
PROP_MissileState (S_PAIN_ATK)
PROP_DeathState (S_PAIN_DIE)
PROP_RaiseState (S_PAIN_RAISE)
PROP_SeeSound ("pain/sight")
PROP_PainSound ("pain/pain")
PROP_DeathSound ("pain/death")
PROP_ActiveSound ("pain/active")
END_DEFAULTS
FState APainElemental::States[] =
{
#define S_PAIN_STND 0
S_NORMAL1 (PAIN, 'A', 10, A_Look , &States[S_PAIN_STND]),
#define S_PAIN_RUN (S_PAIN_STND+1)
S_NORMAL1 (PAIN, 'A', 3, A_Chase , &States[S_PAIN_RUN+1]),
S_NORMAL1 (PAIN, 'A', 3, A_Chase , &States[S_PAIN_RUN+2]),
S_NORMAL1 (PAIN, 'B', 3, A_Chase , &States[S_PAIN_RUN+3]),
S_NORMAL1 (PAIN, 'B', 3, A_Chase , &States[S_PAIN_RUN+4]),
S_NORMAL1 (PAIN, 'C', 3, A_Chase , &States[S_PAIN_RUN+5]),
S_NORMAL1 (PAIN, 'C', 3, A_Chase , &States[S_PAIN_RUN+0]),
#define S_PAIN_ATK (S_PAIN_RUN+6)
S_NORMAL1 (PAIN, 'D', 5, A_FaceTarget , &States[S_PAIN_ATK+1]),
S_NORMAL1 (PAIN, 'E', 5, A_FaceTarget , &States[S_PAIN_ATK+2]),
S_BRIGHT (PAIN, 'F', 5, A_FaceTarget , &States[S_PAIN_ATK+3]),
S_BRIGHT (PAIN, 'F', 0, A_PainAttack , &States[S_PAIN_RUN+0]),
#define S_PAIN_PAIN (S_PAIN_ATK+4)
S_NORMAL1 (PAIN, 'G', 6, NULL , &States[S_PAIN_PAIN+1]),
S_NORMAL1 (PAIN, 'G', 6, A_Pain , &States[S_PAIN_RUN+0]),
#define S_PAIN_DIE (S_PAIN_PAIN+2)
S_BRIGHT (PAIN, 'H', 8, NULL , &States[S_PAIN_DIE+1]),
S_BRIGHT (PAIN, 'I', 8, A_Scream , &States[S_PAIN_DIE+2]),
S_BRIGHT (PAIN, 'J', 8, NULL , &States[S_PAIN_DIE+3]),
S_BRIGHT (PAIN, 'K', 8, NULL , &States[S_PAIN_DIE+4]),
S_BRIGHT (PAIN, 'L', 8, A_PainDie , &States[S_PAIN_DIE+5]),
S_BRIGHT (PAIN, 'M', 8, NULL , NULL),
#define S_PAIN_RAISE (S_PAIN_DIE+6)
S_NORMAL1 (PAIN, 'M', 8, NULL , &States[S_PAIN_RAISE+1]),
S_NORMAL1 (PAIN, 'L', 8, NULL , &States[S_PAIN_RAISE+2]),
S_NORMAL1 (PAIN, 'K', 8, NULL , &States[S_PAIN_RAISE+3]),
S_NORMAL1 (PAIN, 'J', 8, NULL , &States[S_PAIN_RAISE+4]),
S_NORMAL1 (PAIN, 'I', 8, NULL , &States[S_PAIN_RAISE+5]),
S_NORMAL1 (PAIN, 'H', 8, NULL , &States[S_PAIN_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AZombieMan, Doom, 3004, 4)
PROP_SpawnHealth (20)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (200)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_POSS_STND)
PROP_SeeState (S_POSS_RUN)
PROP_PainState (S_POSS_PAIN)
PROP_MissileState (S_POSS_ATK)
PROP_DeathState (S_POSS_DIE)
PROP_XDeathState (S_POSS_XDIE)
PROP_RaiseState (S_POSS_RAISE)
PROP_SeeSound ("grunt/sight")
PROP_AttackSound ("grunt/attack")
PROP_PainSound ("grunt/pain")
PROP_DeathSound ("grunt/death")
PROP_ActiveSound ("grunt/active")
END_DEFAULTS
FState AZombieMan::States[] =
{
#define S_POSS_STND 0
S_NORMAL1 (POSS, 'A', 10, A_Look , &States[S_POSS_STND+1]),
S_NORMAL1 (POSS, 'B', 10, A_Look , &States[S_POSS_STND]),
#define S_POSS_RUN (S_POSS_STND+2)
S_NORMAL1 (POSS, 'A', 4, A_Chase , &States[S_POSS_RUN+1]),
S_NORMAL1 (POSS, 'A', 4, A_Chase , &States[S_POSS_RUN+2]),
S_NORMAL1 (POSS, 'B', 4, A_Chase , &States[S_POSS_RUN+3]),
S_NORMAL1 (POSS, 'B', 4, A_Chase , &States[S_POSS_RUN+4]),
S_NORMAL1 (POSS, 'C', 4, A_Chase , &States[S_POSS_RUN+5]),
S_NORMAL1 (POSS, 'C', 4, A_Chase , &States[S_POSS_RUN+6]),
S_NORMAL1 (POSS, 'D', 4, A_Chase , &States[S_POSS_RUN+7]),
S_NORMAL1 (POSS, 'D', 4, A_Chase , &States[S_POSS_RUN+0]),
#define S_POSS_ATK (S_POSS_RUN+8)
S_NORMAL1 (POSS, 'E', 10, A_FaceTarget , &States[S_POSS_ATK+1]),
S_NORMAL1 (POSS, 'F', 8, A_PosAttack , &States[S_POSS_ATK+2]),
S_NORMAL1 (POSS, 'E', 8, NULL , &States[S_POSS_RUN+0]),
#define S_POSS_PAIN (S_POSS_ATK+3)
S_NORMAL1 (POSS, 'G', 3, NULL , &States[S_POSS_PAIN+1]),
S_NORMAL1 (POSS, 'G', 3, A_Pain , &States[S_POSS_RUN+0]),
#define S_POSS_DIE (S_POSS_PAIN+2)
S_NORMAL1 (POSS, 'H', 5, NULL , &States[S_POSS_DIE+1]),
S_NORMAL1 (POSS, 'I', 5, A_Scream , &States[S_POSS_DIE+2]),
S_NORMAL1 (POSS, 'J', 5, A_NoBlocking , &States[S_POSS_DIE+3]),
S_NORMAL1 (POSS, 'K', 5, NULL , &States[S_POSS_DIE+4]),
S_NORMAL1 (POSS, 'L', -1, NULL , NULL),
#define S_POSS_XDIE (S_POSS_DIE+5)
S_NORMAL1 (POSS, 'M', 5, NULL , &States[S_POSS_XDIE+1]),
S_NORMAL1 (POSS, 'N', 5, A_XScream , &States[S_POSS_XDIE+2]),
S_NORMAL1 (POSS, 'O', 5, A_NoBlocking , &States[S_POSS_XDIE+3]),
S_NORMAL1 (POSS, 'P', 5, NULL , &States[S_POSS_XDIE+4]),
S_NORMAL1 (POSS, 'Q', 5, NULL , &States[S_POSS_XDIE+5]),
S_NORMAL1 (POSS, 'R', 5, NULL , &States[S_POSS_XDIE+6]),
S_NORMAL1 (POSS, 'S', 5, NULL , &States[S_POSS_XDIE+7]),
S_NORMAL1 (POSS, 'T', 5, NULL , &States[S_POSS_XDIE+8]),
S_NORMAL1 (POSS, 'U', -1, NULL , NULL),
#define S_POSS_RAISE (S_POSS_XDIE+9)
S_NORMAL1 (POSS, 'K', 5, NULL , &States[S_POSS_RAISE+1]),
S_NORMAL1 (POSS, 'J', 5, NULL , &States[S_POSS_RAISE+2]),
S_NORMAL1 (POSS, 'I', 5, NULL , &States[S_POSS_RAISE+3]),
S_NORMAL1 (POSS, 'H', 5, NULL , &States[S_POSS_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthZombieMan, Doom, 9061, 102)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadZombieMan, Doom, 18, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_POSS_DIE+4)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AShotgunGuy, Doom, 9, 1)
PROP_SpawnHealth (30)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (170)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_SPOS_STND)
PROP_SeeState (S_SPOS_RUN)
PROP_PainState (S_SPOS_PAIN)
PROP_MissileState (S_SPOS_ATK)
PROP_DeathState (S_SPOS_DIE)
PROP_XDeathState (S_SPOS_XDIE)
PROP_RaiseState (S_SPOS_RAISE)
PROP_SeeSound ("shotguy/sight")
PROP_AttackSound ("shotguy/attack")
PROP_PainSound ("shotguy/pain")
PROP_DeathSound ("shotguy/death")
PROP_ActiveSound ("shotguy/active")
END_DEFAULTS
FState AShotgunGuy::States[] =
{
#define S_SPOS_STND 0
S_NORMAL1 (SPOS, 'A', 10, A_Look , &States[S_SPOS_STND+1]),
S_NORMAL1 (SPOS, 'B', 10, A_Look , &States[S_SPOS_STND]),
#define S_SPOS_RUN (S_SPOS_STND+2)
S_NORMAL1 (SPOS, 'A', 3, A_Chase , &States[S_SPOS_RUN+1]),
S_NORMAL1 (SPOS, 'A', 3, A_Chase , &States[S_SPOS_RUN+2]),
S_NORMAL1 (SPOS, 'B', 3, A_Chase , &States[S_SPOS_RUN+3]),
S_NORMAL1 (SPOS, 'B', 3, A_Chase , &States[S_SPOS_RUN+4]),
S_NORMAL1 (SPOS, 'C', 3, A_Chase , &States[S_SPOS_RUN+5]),
S_NORMAL1 (SPOS, 'C', 3, A_Chase , &States[S_SPOS_RUN+6]),
S_NORMAL1 (SPOS, 'D', 3, A_Chase , &States[S_SPOS_RUN+7]),
S_NORMAL1 (SPOS, 'D', 3, A_Chase , &States[S_SPOS_RUN+0]),
#define S_SPOS_ATK (S_SPOS_RUN+8)
S_NORMAL1 (SPOS, 'E', 10, A_FaceTarget , &States[S_SPOS_ATK+1]),
S_BRIGHT (SPOS, 'F', 10, A_SPosAttackUseAtkSound , &States[S_SPOS_ATK+2]),
S_NORMAL1 (SPOS, 'E', 10, NULL , &States[S_SPOS_RUN+0]),
#define S_SPOS_PAIN (S_SPOS_ATK+3)
S_NORMAL1 (SPOS, 'G', 3, NULL , &States[S_SPOS_PAIN+1]),
S_NORMAL1 (SPOS, 'G', 3, A_Pain , &States[S_SPOS_RUN+0]),
#define S_SPOS_DIE (S_SPOS_PAIN+2)
S_NORMAL1 (SPOS, 'H', 5, NULL , &States[S_SPOS_DIE+1]),
S_NORMAL1 (SPOS, 'I', 5, A_Scream , &States[S_SPOS_DIE+2]),
S_NORMAL1 (SPOS, 'J', 5, A_NoBlocking , &States[S_SPOS_DIE+3]),
S_NORMAL1 (SPOS, 'K', 5, NULL , &States[S_SPOS_DIE+4]),
S_NORMAL1 (SPOS, 'L', -1, NULL , NULL),
#define S_SPOS_XDIE (S_SPOS_DIE+5)
S_NORMAL1 (SPOS, 'M', 5, NULL , &States[S_SPOS_XDIE+1]),
S_NORMAL1 (SPOS, 'N', 5, A_XScream , &States[S_SPOS_XDIE+2]),
S_NORMAL1 (SPOS, 'O', 5, A_NoBlocking , &States[S_SPOS_XDIE+3]),
S_NORMAL1 (SPOS, 'P', 5, NULL , &States[S_SPOS_XDIE+4]),
S_NORMAL1 (SPOS, 'Q', 5, NULL , &States[S_SPOS_XDIE+5]),
S_NORMAL1 (SPOS, 'R', 5, NULL , &States[S_SPOS_XDIE+6]),
S_NORMAL1 (SPOS, 'S', 5, NULL , &States[S_SPOS_XDIE+7]),
S_NORMAL1 (SPOS, 'T', 5, NULL , &States[S_SPOS_XDIE+8]),
S_NORMAL1 (SPOS, 'U', -1, NULL , NULL),
#define S_SPOS_RAISE (S_SPOS_XDIE+9)
S_NORMAL1 (SPOS, 'L', 5, NULL , &States[S_SPOS_RAISE+1]),
S_NORMAL1 (SPOS, 'K', 5, NULL , &States[S_SPOS_RAISE+2]),
S_NORMAL1 (SPOS, 'J', 5, NULL , &States[S_SPOS_RAISE+3]),
S_NORMAL1 (SPOS, 'I', 5, NULL , &States[S_SPOS_RAISE+4]),
S_NORMAL1 (SPOS, 'H', 5, NULL , &States[S_SPOS_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthShotgunGuy, Doom, 9060, 103)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADeadShotgunGuy, Doom, 19, 0)
PROP_SKIP_SUPER
PROP_SpawnState (S_SPOS_DIE+4)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AChaingunGuy, Doom, 65, 2)
PROP_SpawnHealth (70)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (170)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_CPOS_STND)
PROP_SeeState (S_CPOS_RUN)
PROP_PainState (S_CPOS_PAIN)
PROP_MissileState (S_CPOS_ATK)
PROP_DeathState (S_CPOS_DIE)
PROP_XDeathState (S_CPOS_XDIE)
PROP_RaiseState (S_CPOS_RAISE)
PROP_SeeSound ("chainguy/sight")
PROP_PainSound ("chainguy/pain")
PROP_DeathSound ("chainguy/death")
PROP_ActiveSound ("chainguy/active")
PROP_AttackSound ("chainguy/attack")
END_DEFAULTS
FState AChaingunGuy::States[] =
{
#define S_CPOS_STND 0
S_NORMAL1 (CPOS, 'A', 10, A_Look , &States[S_CPOS_STND+1]),
S_NORMAL1 (CPOS, 'B', 10, A_Look , &States[S_CPOS_STND]),
#define S_CPOS_RUN (S_CPOS_STND+2)
S_NORMAL1 (CPOS, 'A', 3, A_Chase , &States[S_CPOS_RUN+1]),
S_NORMAL1 (CPOS, 'A', 3, A_Chase , &States[S_CPOS_RUN+2]),
S_NORMAL1 (CPOS, 'B', 3, A_Chase , &States[S_CPOS_RUN+3]),
S_NORMAL1 (CPOS, 'B', 3, A_Chase , &States[S_CPOS_RUN+4]),
S_NORMAL1 (CPOS, 'C', 3, A_Chase , &States[S_CPOS_RUN+5]),
S_NORMAL1 (CPOS, 'C', 3, A_Chase , &States[S_CPOS_RUN+6]),
S_NORMAL1 (CPOS, 'D', 3, A_Chase , &States[S_CPOS_RUN+7]),
S_NORMAL1 (CPOS, 'D', 3, A_Chase , &States[S_CPOS_RUN+0]),
#define S_CPOS_ATK (S_CPOS_RUN+8)
S_NORMAL1 (CPOS, 'E', 10, A_FaceTarget , &States[S_CPOS_ATK+1]),
S_BRIGHT (CPOS, 'F', 4, A_CPosAttack , &States[S_CPOS_ATK+2]),
S_BRIGHT (CPOS, 'E', 4, A_CPosAttack , &States[S_CPOS_ATK+3]),
S_NORMAL1 (CPOS, 'F', 1, A_CPosRefire , &States[S_CPOS_ATK+1]),
#define S_CPOS_PAIN (S_CPOS_ATK+4)
S_NORMAL1 (CPOS, 'G', 3, NULL , &States[S_CPOS_PAIN+1]),
S_NORMAL1 (CPOS, 'G', 3, A_Pain , &States[S_CPOS_RUN+0]),
#define S_CPOS_DIE (S_CPOS_PAIN+2)
S_NORMAL1 (CPOS, 'H', 5, NULL , &States[S_CPOS_DIE+1]),
S_NORMAL1 (CPOS, 'I', 5, A_Scream , &States[S_CPOS_DIE+2]),
S_NORMAL1 (CPOS, 'J', 5, A_NoBlocking , &States[S_CPOS_DIE+3]),
S_NORMAL1 (CPOS, 'K', 5, NULL , &States[S_CPOS_DIE+4]),
S_NORMAL1 (CPOS, 'L', 5, NULL , &States[S_CPOS_DIE+5]),
S_NORMAL1 (CPOS, 'M', 5, NULL , &States[S_CPOS_DIE+6]),
S_NORMAL1 (CPOS, 'N', -1, NULL , NULL),
#define S_CPOS_XDIE (S_CPOS_DIE+7)
S_NORMAL1 (CPOS, 'O', 5, NULL , &States[S_CPOS_XDIE+1]),
S_NORMAL1 (CPOS, 'P', 5, A_XScream , &States[S_CPOS_XDIE+2]),
S_NORMAL1 (CPOS, 'Q', 5, A_NoBlocking , &States[S_CPOS_XDIE+3]),
S_NORMAL1 (CPOS, 'R', 5, NULL , &States[S_CPOS_XDIE+4]),
S_NORMAL1 (CPOS, 'S', 5, NULL , &States[S_CPOS_XDIE+5]),
S_NORMAL1 (CPOS, 'T', -1, NULL , NULL),
#define S_CPOS_RAISE (S_CPOS_XDIE+6)
S_NORMAL1 (CPOS, 'N', 5, NULL , &States[S_CPOS_RAISE+1]),
S_NORMAL1 (CPOS, 'M', 5, NULL , &States[S_CPOS_RAISE+2]),
S_NORMAL1 (CPOS, 'L', 5, NULL , &States[S_CPOS_RAISE+3]),
S_NORMAL1 (CPOS, 'K', 5, NULL , &States[S_CPOS_RAISE+4]),
S_NORMAL1 (CPOS, 'J', 5, NULL , &States[S_CPOS_RAISE+5]),
S_NORMAL1 (CPOS, 'I', 5, NULL , &States[S_CPOS_RAISE+6]),
S_NORMAL1 (CPOS, 'H', 5, NULL , &States[S_CPOS_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthChaingunGuy, Doom, 9054, 120)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AWolfensteinSS, Doom, 84, 116)
PROP_SpawnHealth (50)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (170)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_SSWV_STND)
PROP_SeeState (S_SSWV_RUN)
PROP_PainState (S_SSWV_PAIN)
PROP_MissileState (S_SSWV_ATK)
PROP_DeathState (S_SSWV_DIE)
PROP_XDeathState (S_SSWV_XDIE)
PROP_RaiseState (S_SSWV_RAISE)
PROP_SeeSound ("wolfss/sight")
PROP_PainSound ("wolfss/pain")
PROP_DeathSound ("wolfss/death")
PROP_ActiveSound ("wolfss/active")
PROP_AttackSound ("wolfss/attack")
END_DEFAULTS
FState AWolfensteinSS::States[] =
{
#define S_SSWV_STND 0
S_NORMAL1 (SSWV, 'A', 10, A_Look , &States[S_SSWV_STND+1]),
S_NORMAL1 (SSWV, 'B', 10, A_Look , &States[S_SSWV_STND]),
#define S_SSWV_RUN (S_SSWV_STND+2)
S_NORMAL1 (SSWV, 'A', 3, A_Chase , &States[S_SSWV_RUN+1]),
S_NORMAL1 (SSWV, 'A', 3, A_Chase , &States[S_SSWV_RUN+2]),
S_NORMAL1 (SSWV, 'B', 3, A_Chase , &States[S_SSWV_RUN+3]),
S_NORMAL1 (SSWV, 'B', 3, A_Chase , &States[S_SSWV_RUN+4]),
S_NORMAL1 (SSWV, 'C', 3, A_Chase , &States[S_SSWV_RUN+5]),
S_NORMAL1 (SSWV, 'C', 3, A_Chase , &States[S_SSWV_RUN+6]),
S_NORMAL1 (SSWV, 'D', 3, A_Chase , &States[S_SSWV_RUN+7]),
S_NORMAL1 (SSWV, 'D', 3, A_Chase , &States[S_SSWV_RUN+0]),
#define S_SSWV_ATK (S_SSWV_RUN+8)
S_NORMAL1 (SSWV, 'E', 10, A_FaceTarget , &States[S_SSWV_ATK+1]),
S_NORMAL1 (SSWV, 'F', 10, A_FaceTarget , &States[S_SSWV_ATK+2]),
S_BRIGHT (SSWV, 'G', 4, A_CPosAttack , &States[S_SSWV_ATK+3]),
S_NORMAL1 (SSWV, 'F', 6, A_FaceTarget , &States[S_SSWV_ATK+4]),
S_BRIGHT (SSWV, 'G', 4, A_CPosAttack , &States[S_SSWV_ATK+5]),
S_NORMAL1 (SSWV, 'F', 1, A_CPosRefire , &States[S_SSWV_ATK+1]),
#define S_SSWV_PAIN (S_SSWV_ATK+6)
S_NORMAL1 (SSWV, 'H', 3, NULL , &States[S_SSWV_PAIN+1]),
S_NORMAL1 (SSWV, 'H', 3, A_Pain , &States[S_SSWV_RUN+0]),
#define S_SSWV_DIE (S_SSWV_PAIN+2)
S_NORMAL1 (SSWV, 'I', 5, NULL , &States[S_SSWV_DIE+1]),
S_NORMAL1 (SSWV, 'J', 5, A_Scream , &States[S_SSWV_DIE+2]),
S_NORMAL1 (SSWV, 'K', 5, A_NoBlocking , &States[S_SSWV_DIE+3]),
S_NORMAL1 (SSWV, 'L', 5, NULL , &States[S_SSWV_DIE+4]),
S_NORMAL1 (SSWV, 'M', -1, NULL , NULL),
#define S_SSWV_XDIE (S_SSWV_DIE+5)
S_NORMAL1 (SSWV, 'N', 5, NULL , &States[S_SSWV_XDIE+1]),
S_NORMAL1 (SSWV, 'O', 5, A_XScream , &States[S_SSWV_XDIE+2]),
S_NORMAL1 (SSWV, 'P', 5, A_NoBlocking , &States[S_SSWV_XDIE+3]),
S_NORMAL1 (SSWV, 'Q', 5, NULL , &States[S_SSWV_XDIE+4]),
S_NORMAL1 (SSWV, 'R', 5, NULL , &States[S_SSWV_XDIE+5]),
S_NORMAL1 (SSWV, 'S', 5, NULL , &States[S_SSWV_XDIE+6]),
S_NORMAL1 (SSWV, 'T', 5, NULL , &States[S_SSWV_XDIE+7]),
S_NORMAL1 (SSWV, 'U', 5, NULL , &States[S_SSWV_XDIE+8]),
S_NORMAL1 (SSWV, 'V', -1, NULL , NULL),
#define S_SSWV_RAISE (S_SSWV_XDIE+9)
S_NORMAL1 (SSWV, 'M', 5, NULL , &States[S_SSWV_RAISE+1]),
S_NORMAL1 (SSWV, 'L', 5, NULL , &States[S_SSWV_RAISE+2]),
S_NORMAL1 (SSWV, 'K', 5, NULL , &States[S_SSWV_RAISE+3]),
S_NORMAL1 (SSWV, 'J', 5, NULL , &States[S_SSWV_RAISE+4]),
S_NORMAL1 (SSWV, 'I', 5, NULL , &States[S_SSWV_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARevenant, Doom, 66, 20)
PROP_SpawnHealth (300)
PROP_RadiusFixed (20)
PROP_HeightFixed (56)
PROP_Mass (500)
PROP_SpeedFixed (10)
PROP_PainChance (100)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_SKEL_STND)
PROP_SeeState (S_SKEL_RUN)
PROP_PainState (S_SKEL_PAIN)
PROP_MeleeState (S_SKEL_FIST)
PROP_MissileState (S_SKEL_MISS)
PROP_DeathState (S_SKEL_DIE)
PROP_RaiseState (S_SKEL_RAISE)
PROP_SeeSound ("skeleton/sight")
PROP_PainSound ("skeleton/pain")
PROP_DeathSound ("skeleton/death")
PROP_ActiveSound ("skeleton/active")
END_DEFAULTS
FState ARevenant::States[] =
{
#define S_SKEL_STND 0
S_NORMAL1 (SKEL, 'A', 10, A_Look , &States[S_SKEL_STND+1]),
S_NORMAL1 (SKEL, 'B', 10, A_Look , &States[S_SKEL_STND]),
#define S_SKEL_RUN (S_SKEL_STND+2)
S_NORMAL1 (SKEL, 'A', 2, A_Chase , &States[S_SKEL_RUN+1]),
S_NORMAL1 (SKEL, 'A', 2, A_Chase , &States[S_SKEL_RUN+2]),
S_NORMAL1 (SKEL, 'B', 2, A_Chase , &States[S_SKEL_RUN+3]),
S_NORMAL1 (SKEL, 'B', 2, A_Chase , &States[S_SKEL_RUN+4]),
S_NORMAL1 (SKEL, 'C', 2, A_Chase , &States[S_SKEL_RUN+5]),
S_NORMAL1 (SKEL, 'C', 2, A_Chase , &States[S_SKEL_RUN+6]),
S_NORMAL1 (SKEL, 'D', 2, A_Chase , &States[S_SKEL_RUN+7]),
S_NORMAL1 (SKEL, 'D', 2, A_Chase , &States[S_SKEL_RUN+8]),
S_NORMAL1 (SKEL, 'E', 2, A_Chase , &States[S_SKEL_RUN+9]),
S_NORMAL1 (SKEL, 'E', 2, A_Chase , &States[S_SKEL_RUN+10]),
S_NORMAL1 (SKEL, 'F', 2, A_Chase , &States[S_SKEL_RUN+11]),
S_NORMAL1 (SKEL, 'F', 2, A_Chase , &States[S_SKEL_RUN+0]),
#define S_SKEL_FIST (S_SKEL_RUN+12)
S_NORMAL1 (SKEL, 'G', 0, A_FaceTarget , &States[S_SKEL_FIST+1]),
S_NORMAL1 (SKEL, 'G', 6, A_SkelWhoosh , &States[S_SKEL_FIST+2]),
S_NORMAL1 (SKEL, 'H', 6, A_FaceTarget , &States[S_SKEL_FIST+3]),
S_NORMAL1 (SKEL, 'I', 6, A_SkelFist , &States[S_SKEL_RUN+0]),
#define S_SKEL_MISS (S_SKEL_FIST+4)
S_BRIGHT (SKEL, 'J', 0, A_FaceTarget , &States[S_SKEL_MISS+1]),
S_BRIGHT (SKEL, 'J', 10, A_FaceTarget , &States[S_SKEL_MISS+2]),
S_NORMAL1 (SKEL, 'K', 10, A_SkelMissile , &States[S_SKEL_MISS+3]),
S_NORMAL1 (SKEL, 'K', 10, A_FaceTarget , &States[S_SKEL_RUN+0]),
#define S_SKEL_PAIN (S_SKEL_MISS+4)
S_NORMAL1 (SKEL, 'L', 5, NULL , &States[S_SKEL_PAIN+1]),
S_NORMAL1 (SKEL, 'L', 5, A_Pain , &States[S_SKEL_RUN+0]),
#define S_SKEL_DIE (S_SKEL_PAIN+2)
S_NORMAL1 (SKEL, 'L', 7, NULL , &States[S_SKEL_DIE+1]),
S_NORMAL1 (SKEL, 'M', 7, NULL , &States[S_SKEL_DIE+2]),
S_NORMAL1 (SKEL, 'N', 7, A_Scream , &States[S_SKEL_DIE+3]),
S_NORMAL1 (SKEL, 'O', 7, A_NoBlocking , &States[S_SKEL_DIE+4]),
S_NORMAL1 (SKEL, 'P', 7, NULL , &States[S_SKEL_DIE+5]),
S_NORMAL1 (SKEL, 'Q', -1, NULL , NULL),
#define S_SKEL_RAISE (S_SKEL_DIE+6)
S_NORMAL1 (SKEL, 'Q', 5, NULL , &States[S_SKEL_RAISE+1]),
S_NORMAL1 (SKEL, 'P', 5, NULL , &States[S_SKEL_RAISE+2]),
S_NORMAL1 (SKEL, 'O', 5, NULL , &States[S_SKEL_RAISE+3]),
S_NORMAL1 (SKEL, 'N', 5, NULL , &States[S_SKEL_RAISE+4]),
S_NORMAL1 (SKEL, 'M', 5, NULL , &States[S_SKEL_RAISE+5]),
S_NORMAL1 (SKEL, 'L', 5, NULL , &States[S_SKEL_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AStealthRevenant, Doom, 9059, 124)
PROP_FlagsSet (MF_STEALTH)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARevenantTracer, Doom, -1, 53)
PROP_RadiusFixed (11)
PROP_HeightFixed (8)
PROP_SpeedFixed (10)
PROP_Damage (10)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_SpawnState (S_TRACER)
PROP_DeathState (S_TRACEEXP)
PROP_SeeSound ("skeleton/attack")
PROP_DeathSound ("skeleton/tracex")
END_DEFAULTS
FState ARevenantTracer::States[] =
{
#define S_TRACER 0
S_BRIGHT (FATB, 'A', 2, A_Tracer , &States[S_TRACER+1]),
S_BRIGHT (FATB, 'B', 2, A_Tracer , &States[S_TRACER]),
#define S_TRACEEXP (S_TRACER+2)
S_BRIGHT (FBXP, 'A', 8, NULL , &States[S_TRACEEXP+1]),
S_BRIGHT (FBXP, 'B', 6, NULL , &States[S_TRACEEXP+2]),
S_BRIGHT (FBXP, 'C', 4, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARevenantTracerSmoke, Doom, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC50)
PROP_SpawnState (0)
END_DEFAULTS
FState ARevenantTracerSmoke::States[] =
{
S_NORMAL1 (PUFF, 'B', 4, NULL , &States[1]),
S_NORMAL1 (PUFF, 'C', 4, NULL , &States[2]),
S_NORMAL1 (PUFF, 'B', 4, NULL , &States[3]),
S_NORMAL1 (PUFF, 'C', 4, NULL , &States[4]),
S_NORMAL1 (PUFF, 'D', 4, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASpiderMastermind, Doom, 7, 7)
PROP_SpawnHealth (3000)
PROP_RadiusFixed (128)
PROP_HeightFixed (100)
PROP_Mass (1000)
PROP_SpeedFixed (12)
PROP_PainChance (40)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_BOSS|MF2_FLOORCLIP)
PROP_Flags3 (MF3_NORADIUSDMG|MF3_DONTMORPH)
PROP_Flags4 (MF4_BOSSDEATH)
PROP_SpawnState (S_SPID_STND)
PROP_SeeState (S_SPID_RUN)
PROP_PainState (S_SPID_PAIN)
PROP_MissileState (S_SPID_ATK)
PROP_DeathState (S_SPID_DIE)
PROP_SeeSound ("spider/sight")
PROP_AttackSound ("spider/attack")
PROP_PainSound ("spider/pain")
PROP_DeathSound ("spider/death")
PROP_ActiveSound ("spider/active")
END_DEFAULTS
FState ASpiderMastermind::States[] =
{
#define S_SPID_STND 0
S_NORMAL1 (SPID, 'A', 10, A_Look , &States[S_SPID_STND+1]),
S_NORMAL1 (SPID, 'B', 10, A_Look , &States[S_SPID_STND]),
#define S_SPID_RUN (S_SPID_STND+2)
S_NORMAL1 (SPID, 'A', 3, A_Metal , &States[S_SPID_RUN+1]),
S_NORMAL1 (SPID, 'A', 3, A_Chase , &States[S_SPID_RUN+2]),
S_NORMAL1 (SPID, 'B', 3, A_Chase , &States[S_SPID_RUN+3]),
S_NORMAL1 (SPID, 'B', 3, A_Chase , &States[S_SPID_RUN+4]),
S_NORMAL1 (SPID, 'C', 3, A_Metal , &States[S_SPID_RUN+5]),
S_NORMAL1 (SPID, 'C', 3, A_Chase , &States[S_SPID_RUN+6]),
S_NORMAL1 (SPID, 'D', 3, A_Chase , &States[S_SPID_RUN+7]),
S_NORMAL1 (SPID, 'D', 3, A_Chase , &States[S_SPID_RUN+8]),
S_NORMAL1 (SPID, 'E', 3, A_Metal , &States[S_SPID_RUN+9]),
S_NORMAL1 (SPID, 'E', 3, A_Chase , &States[S_SPID_RUN+10]),
S_NORMAL1 (SPID, 'F', 3, A_Chase , &States[S_SPID_RUN+11]),
S_NORMAL1 (SPID, 'F', 3, A_Chase , &States[S_SPID_RUN+0]),
#define S_SPID_ATK (S_SPID_RUN+12)
S_BRIGHT (SPID, 'A', 20, A_FaceTarget , &States[S_SPID_ATK+1]),
S_BRIGHT (SPID, 'G', 4, A_SPosAttackUseAtkSound , &States[S_SPID_ATK+2]),
S_BRIGHT (SPID, 'H', 4, A_SPosAttackUseAtkSound , &States[S_SPID_ATK+3]),
S_BRIGHT (SPID, 'H', 1, A_SpidRefire , &States[S_SPID_ATK+1]),
#define S_SPID_PAIN (S_SPID_ATK+4)
S_NORMAL1 (SPID, 'I', 3, NULL , &States[S_SPID_PAIN+1]),
S_NORMAL1 (SPID, 'I', 3, A_Pain , &States[S_SPID_RUN+0]),
#define S_SPID_DIE (S_SPID_PAIN+2)
S_NORMAL1 (SPID, 'J', 20, A_Scream , &States[S_SPID_DIE+1]),
S_NORMAL1 (SPID, 'K', 10, A_NoBlocking , &States[S_SPID_DIE+2]),
S_NORMAL1 (SPID, 'L', 10, NULL , &States[S_SPID_DIE+3]),
S_NORMAL1 (SPID, 'M', 10, NULL , &States[S_SPID_DIE+4]),
S_NORMAL1 (SPID, 'N', 10, NULL , &States[S_SPID_DIE+5]),
S_NORMAL1 (SPID, 'O', 10, NULL , &States[S_SPID_DIE+6]),
S_NORMAL1 (SPID, 'P', 10, NULL , &States[S_SPID_DIE+7]),
S_NORMAL1 (SPID, 'Q', 10, NULL , &States[S_SPID_DIE+8]),
S_NORMAL1 (SPID, 'R', 10, NULL , &States[S_SPID_DIE+9]),
S_NORMAL1 (SPID, 'S', 30, NULL , &States[S_SPID_DIE+10]),
S_NORMAL1 (SPID, 'S', -1, A_BossDeath , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AScriptedMarine, Doom, 9100, 151)
PROP_SpawnHealth (100)
PROP_RadiusFixed (16)
PROP_HeightFixed (56)
PROP_Mass (100)
PROP_SpeedFixed (8)
PROP_PainChance (MARINE_PAIN_CHANCE)
PROP_Flags (MF_SOLID|MF_SHOOTABLE)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_Flags3 (MF3_ISMONSTER)
PROP_Translation (TRANSLATION_Standard,0) // Scripted marines wear gray
PROP_Damage (100)
PROP_SpawnState (S_MPLAYSTILL)
PROP_SeeState (S_MPLAY_RUN)
PROP_PainState (S_MPLAY_PAIN)
PROP_MissileState (S_MPLAY_ATK)
PROP_DeathState (S_MPLAY_DIE)
PROP_XDeathState (S_MPLAY_XDIE)
PROP_RaiseState (S_MPLAY_RAISE)
PROP_DeathSound ("*death")
PROP_PainSound ("*pain50")
END_DEFAULTS
FState AScriptedMarine::States[] =
{
#define S_MPLAYSTILL 0
S_NORMAL1(PLAY, 'A', 4, A_MarineLook , &States[S_MPLAYSTILL+1]),
S_NORMAL1(PLAY, 'A', 4, A_MarineNoise , &States[S_MPLAYSTILL]),
#define S_MPLAY (S_MPLAYSTILL+2)
S_NORMAL1(PLAY, 'A', 4, A_MarineLook , &States[S_MPLAY+1]),
S_NORMAL1(PLAY, 'A', 4, A_MarineNoise , &States[S_MPLAY+2]),
S_NORMAL1(PLAY, 'A', 4, A_MarineLook , &States[S_MPLAY+3]),
S_NORMAL1(PLAY, 'B', 4, A_MarineNoise , &States[S_MPLAY+4]),
S_NORMAL1(PLAY, 'B', 4, A_MarineLook , &States[S_MPLAY+5]),
S_NORMAL1(PLAY, 'B', 4, A_MarineNoise , &States[S_MPLAY]),
#define S_MPLAY_RUN (S_MPLAY+6)
S_NORMAL1(PLAY, 'A', 4, A_MarineChase , &States[S_MPLAY_RUN+1]),
S_NORMAL1(PLAY, 'B', 4, A_MarineChase , &States[S_MPLAY_RUN+2]),
S_NORMAL1(PLAY, 'C', 4, A_MarineChase , &States[S_MPLAY_RUN+3]),
S_NORMAL1(PLAY, 'D', 4, A_MarineChase , &States[S_MPLAY_RUN+0]),
#define S_MPLAY_ATK (S_MPLAY_RUN+4)
S_NORMAL1(PLAY, 'E', 12, A_FaceTarget , &States[S_MPLAY]),
S_BRIGHT (PLAY, 'F', 6, NULL , &States[S_MPLAY_ATK+0]),
#define S_MPLAY_PAIN (S_MPLAY_ATK+2)
S_NORMAL1(PLAY, 'G', 4, NULL , &States[S_MPLAY_PAIN+1]),
S_NORMAL1(PLAY, 'G', 4, A_Pain , &States[S_MPLAY]),
#define S_MPLAY_DIE (S_MPLAY_PAIN+2)
S_NORMAL1(PLAY, 'H', 10, NULL , &States[S_MPLAY_DIE+1]),
S_NORMAL1(PLAY, 'I', 10, A_Scream , &States[S_MPLAY_DIE+2]),
S_NORMAL1(PLAY, 'J', 10, A_NoBlocking , &States[S_MPLAY_DIE+3]),
S_NORMAL1(PLAY, 'K', 10, NULL , &States[S_MPLAY_DIE+4]),
S_NORMAL1(PLAY, 'L', 10, NULL , &States[S_MPLAY_DIE+5]),
S_NORMAL1(PLAY, 'M', 10, NULL , &States[S_MPLAY_DIE+6]),
S_NORMAL1(PLAY, 'N', -1, NULL , NULL),
#define S_MPLAY_XDIE (S_MPLAY_DIE+7)
S_NORMAL1(PLAY, 'O', 5, NULL , &States[S_MPLAY_XDIE+1]),
S_NORMAL1(PLAY, 'P', 5, A_XScream , &States[S_MPLAY_XDIE+2]),
S_NORMAL1(PLAY, 'Q', 5, A_NoBlocking , &States[S_MPLAY_XDIE+3]),
S_NORMAL1(PLAY, 'R', 5, NULL , &States[S_MPLAY_XDIE+4]),
S_NORMAL1(PLAY, 'S', 5, NULL , &States[S_MPLAY_XDIE+5]),
S_NORMAL1(PLAY, 'T', 5, NULL , &States[S_MPLAY_XDIE+6]),
S_NORMAL1(PLAY, 'U', 5, NULL , &States[S_MPLAY_XDIE+7]),
S_NORMAL1(PLAY, 'V', 5, NULL , &States[S_MPLAY_XDIE+8]),
S_NORMAL1(PLAY, 'W', -1, NULL , NULL),
#define S_MPLAY_RAISE (S_MPLAY_XDIE+9)
S_NORMAL1(PLAY, 'M', 5, NULL , &States[S_MPLAY_RAISE+1]),
S_NORMAL1(PLAY, 'L', 5, NULL , &States[S_MPLAY_RAISE+2]),
S_NORMAL1(PLAY, 'K', 5, NULL , &States[S_MPLAY_RAISE+3]),
S_NORMAL1(PLAY, 'J', 5, NULL , &States[S_MPLAY_RAISE+4]),
S_NORMAL1(PLAY, 'I', 5, NULL , &States[S_MPLAY_RAISE+5]),
S_NORMAL1(PLAY, 'H', 5, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_CHAINSAW (S_MPLAY_RAISE+6)
S_NORMAL1(PLAY, 'E', 4, A_MarineNoise , &States[S_MPLAY_ATK_CHAINSAW+1]),
S_BRIGHT (PLAY, 'F', 4, A_M_Saw , &States[S_MPLAY_ATK_CHAINSAW+2]),
S_BRIGHT (PLAY, 'F', 0, A_M_SawRefire , &States[S_MPLAY_ATK_CHAINSAW+1]),
S_NORMAL1(PLAY, 'A', 0, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_FIST (S_MPLAY_ATK_CHAINSAW+4)
S_NORMAL1(PLAY, 'E', 4, A_FaceTarget , &States[S_MPLAY_ATK_FIST+1]),
S_NORMAL1(PLAY, 'F', 4, A_M_Punch , &States[S_MPLAY_ATK_FIST+2]), // Purposefully not BRIGHT
S_NORMAL1(PLAY, 'A', 9, NULL , &States[S_MPLAY_ATK_FIST+3]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_FIST]),
S_NORMAL1(PLAY, 'A', 5, A_FaceTarget , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_BERSERK (S_MPLAY_ATK_FIST+5)
S_NORMAL1(PLAY, 'E', 4, A_FaceTarget , &States[S_MPLAY_ATK_BERSERK+1]),
S_NORMAL1(PLAY, 'F', 4, A_M_BerserkPunch , &States[S_MPLAY_ATK_BERSERK+2]), // Purposefully not BRIGHT
S_NORMAL1(PLAY, 'A', 9, NULL , &States[S_MPLAY_ATK_BERSERK+3]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_BERSERK]),
S_NORMAL1(PLAY, 'A', 5, A_FaceTarget , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_PISTOL (S_MPLAY_ATK_BERSERK+5)
S_NORMAL1(PLAY, 'E', 4, A_FaceTarget , &States[S_MPLAY_ATK_PISTOL+1]),
S_BRIGHT (PLAY, 'F', 6, A_M_FirePistol , &States[S_MPLAY_ATK_PISTOL+2]),
S_NORMAL1(PLAY, 'A', 4, A_FaceTarget , &States[S_MPLAY_ATK_PISTOL+3]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_PISTOL+5]),
S_NORMAL1(PLAY, 'A', 5, NULL , &States[S_MPLAY_RUN]),
S_BRIGHT (PLAY, 'F', 6, A_M_FirePistolInaccurate , &States[S_MPLAY_ATK_PISTOL+6]),
S_NORMAL1(PLAY, 'A', 4, A_FaceTarget , &States[S_MPLAY_ATK_PISTOL+7]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_PISTOL+5]),
S_NORMAL1(PLAY, 'A', 5, A_FaceTarget , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_SHOTGUN (S_MPLAY_ATK_PISTOL+9)
S_NORMAL1(PLAY, 'E', 3, A_M_CheckAttack , &States[S_MPLAY_ATK_SHOTGUN+1]),
S_BRIGHT (PLAY, 'F', 7, A_M_FireShotgun , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_DSHOTGUN (S_MPLAY_ATK_SHOTGUN+2)
S_NORMAL1(PLAY, 'E', 3, A_M_CheckAttack , &States[S_MPLAY_ATK_DSHOTGUN+1]),
S_BRIGHT (PLAY, 'F', 7, A_M_FireShotgun2 , &States[S_MPLAY_RUN]),
#define S_MPLAY_SKIP_ATTACK (S_MPLAY_ATK_DSHOTGUN+2)
S_NORMAL1(PLAY, 'A', 1, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_CHAINGUN (S_MPLAY_SKIP_ATTACK+1)
S_NORMAL1(PLAY, 'E', 4, A_FaceTarget , &States[S_MPLAY_ATK_CHAINGUN+1]),
S_BRIGHT (PLAY, 'F', 4, A_M_FireCGunAccurate , &States[S_MPLAY_ATK_CHAINGUN+2]),
S_BRIGHT (PLAY, 'F', 4, A_M_FireCGunAccurate , &States[S_MPLAY_ATK_CHAINGUN+3]),
S_BRIGHT (PLAY, 'F', 4, A_M_FireCGun , &States[S_MPLAY_ATK_CHAINGUN+4]),
S_BRIGHT (PLAY, 'F', 4, A_M_FireCGun , &States[S_MPLAY_ATK_CHAINGUN+5]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_CHAINGUN+3]),
S_NORMAL1(PLAY, 'A', 0, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_ROCKET (S_MPLAY_ATK_CHAINGUN+7)
S_NORMAL1(PLAY, 'E', 8, A_FaceTarget , &States[S_MPLAY_ATK_ROCKET+1]),
S_BRIGHT (PLAY, 'F', 6, A_M_FireMissile , &States[S_MPLAY_ATK_ROCKET+2]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_ROCKET]),
S_NORMAL1(PLAY, 'A', 0, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_RAILGUN (S_MPLAY_ATK_ROCKET+4)
S_NORMAL1(PLAY, 'E', 4, A_M_CheckAttack , &States[S_MPLAY_ATK_RAILGUN+1]),
S_BRIGHT (PLAY, 'F', 6, A_M_FireRailgun , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_PLASMA (S_MPLAY_ATK_RAILGUN+2)
S_NORMAL1(PLAY, 'E', 2, A_FaceTarget , &States[S_MPLAY_ATK_PLASMA+1]),
S_BRIGHT (PLAY, 'F', 3, A_M_FirePlasma , &States[S_MPLAY_ATK_PLASMA+2]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_PLASMA+1]),
S_NORMAL1(PLAY, 'A', 0, NULL , &States[S_MPLAY_RUN]),
#define S_MPLAY_ATK_BFG (S_MPLAY_ATK_PLASMA+4)
S_NORMAL1(PLAY, 'E', 5, A_M_BFGsound , &States[S_MPLAY_ATK_BFG+1]),
S_NORMAL1(PLAY, 'E', 5, A_FaceTarget , &States[S_MPLAY_ATK_BFG+2]),
S_NORMAL1(PLAY, 'E', 5, A_FaceTarget , &States[S_MPLAY_ATK_BFG+3]),
S_NORMAL1(PLAY, 'E', 5, A_FaceTarget , &States[S_MPLAY_ATK_BFG+4]),
S_NORMAL1(PLAY, 'E', 5, A_FaceTarget , &States[S_MPLAY_ATK_BFG+5]),
S_NORMAL1(PLAY, 'E', 5, A_FaceTarget , &States[S_MPLAY_ATK_BFG+6]),
S_BRIGHT (PLAY, 'F', 6, A_M_FireBFG , &States[S_MPLAY_ATK_BFG+7]),
S_NORMAL1(PLAY, 'A', 4, A_FaceTarget , &States[S_MPLAY_ATK_BFG+8]),
S_NORMAL1(PLAY, 'A', 0, A_M_Refire , &States[S_MPLAY_ATK_BFG]),
S_NORMAL1(PLAY, 'A', 0, NULL , &States[S_MPLAY_RUN]),
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineFist, Doom, 9101, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(S_MPLAY_ATK_FIST)
PROP_MissileState(255)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineBerserk, Doom, 9102, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(S_MPLAY_ATK_BERSERK)
PROP_MissileState(255)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineChainsaw, Doom, 9103, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(S_MPLAY_ATK_CHAINSAW)
PROP_MissileState(255)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarinePistol, Doom, 9104, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_PISTOL)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineShotgun, Doom, 9105, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_SHOTGUN)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineSSG, Doom, 9106, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_DSHOTGUN)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineChaingun, Doom, 9107, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_CHAINGUN)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineRocket, Doom, 9108, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_ROCKET)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarinePlasma, Doom, 9109, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_PLASMA)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineRailgun, Doom, 9110, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_RAILGUN)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR(AMarineBFG, Doom, 9111, 0)
PROP_SpawnState(S_MPLAYSTILL)
PROP_MeleeState(255)
PROP_MissileState(S_MPLAY_ATK_BFG)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AMBFHelperDog, Doom, 888, 0)
PROP_SpawnHealth (500)
PROP_PainChance (180)
PROP_SpeedFixed (10)
PROP_RadiusFixed (12)
PROP_HeightFixed (28)
PROP_Mass (100)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_MCROSS|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_FLOORCLIP)
PROP_SpawnState (S_DOGS_STND)
PROP_SeeState (S_DOGS_RUN)
PROP_PainState (S_DOGS_PAIN)
PROP_MeleeState (S_DOGS_ATK)
PROP_DeathState (S_DOGS_DIE)
PROP_RaiseState (S_DOGS_RAISE)
PROP_SeeSound ("dog/sight")
PROP_AttackSound ("dog/attack")
PROP_PainSound ("dog/pain")
PROP_DeathSound ("dog/death")
PROP_ActiveSound ("dog/active")
END_DEFAULTS
FState AMBFHelperDog::States[] =
{
#define S_DOGS_STND 0
S_NORMAL1 (DOGS, 'A', 10, A_Look , &States[S_DOGS_STND+1]),
S_NORMAL1 (DOGS, 'B', 10, A_Look , &States[S_DOGS_STND]),
#define S_DOGS_RUN (S_DOGS_STND+2)
S_NORMAL1 (DOGS, 'A', 2, A_Chase , &States[S_DOGS_RUN+1]),
S_NORMAL1 (DOGS, 'A', 2, A_Chase , &States[S_DOGS_RUN+2]),
S_NORMAL1 (DOGS, 'B', 2, A_Chase , &States[S_DOGS_RUN+3]),
S_NORMAL1 (DOGS, 'B', 2, A_Chase , &States[S_DOGS_RUN+4]),
S_NORMAL1 (DOGS, 'C', 2, A_Chase , &States[S_DOGS_RUN+5]),
S_NORMAL1 (DOGS, 'C', 2, A_Chase , &States[S_DOGS_RUN+6]),
S_NORMAL1 (DOGS, 'D', 2, A_Chase , &States[S_DOGS_RUN+7]),
S_NORMAL1 (DOGS, 'D', 2, A_Chase , &States[S_DOGS_RUN+0]),
#define S_DOGS_ATK (S_DOGS_RUN+8)
S_NORMAL1 (DOGS, 'E', 8, A_FaceTarget , &States[S_DOGS_ATK+1]),
S_NORMAL1 (DOGS, 'F', 8, A_FaceTarget , &States[S_DOGS_ATK+2]),
S_NORMAL1 (DOGS, 'G', 8, A_SargAttack , &States[S_DOGS_RUN+0]),
#define S_DOGS_PAIN (S_DOGS_ATK+3)
S_NORMAL1 (DOGS, 'H', 2, NULL , &States[S_DOGS_PAIN+1]),
S_NORMAL1 (DOGS, 'H', 2, A_Pain , &States[S_DOGS_RUN+0]),
#define S_DOGS_DIE (S_DOGS_PAIN+2)
S_NORMAL1 (DOGS, 'I', 8, NULL , &States[S_DOGS_DIE+1]),
S_NORMAL1 (DOGS, 'J', 8, A_Scream , &States[S_DOGS_DIE+2]),
S_NORMAL1 (DOGS, 'K', 4, NULL , &States[S_DOGS_DIE+3]),
S_NORMAL1 (DOGS, 'L', 4, A_NoBlocking , &States[S_DOGS_DIE+4]),
S_NORMAL1 (DOGS, 'M', 4, NULL , &States[S_DOGS_DIE+5]),
S_NORMAL1 (DOGS, 'N', -1, NULL , NULL),
#define S_DOGS_RAISE (S_SARG_DIE+6)
S_NORMAL1 (DOGS, 'N', 5, NULL , &States[S_DOGS_RAISE+1]),
S_NORMAL1 (DOGS, 'M', 5, NULL , &States[S_DOGS_RAISE+2]),
S_NORMAL1 (DOGS, 'L', 5, NULL , &States[S_DOGS_RAISE+3]),
S_NORMAL1 (DOGS, 'K', 5, NULL , &States[S_DOGS_RAISE+4]),
S_NORMAL1 (DOGS, 'J', 5, NULL , &States[S_DOGS_RAISE+5]),
S_NORMAL1 (DOGS, 'I', 5, NULL , &States[S_DOGS_RUN+0])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AClip, Doom, 2007, 11)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AClip::States[] =
{
S_NORMAL1 (CLIP, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AClipBox, Doom, 2048, 139)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AClipBox::States[] =
{
S_NORMAL1 (AMMO, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARocketAmmo, Doom, 2010, 140)
PROP_RadiusFixed (20)
PROP_HeightFixed (26)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ARocketAmmo::States[] =
{
S_NORMAL1 (ROCK, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARocketBox, Doom, 2046, 141)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ARocketBox::States[] =
{
S_NORMAL1 (BROK, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACell, Doom, 2047, 75)
PROP_RadiusFixed (20)
PROP_HeightFixed (10)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ACell::States[] =
{
S_NORMAL1 (CELL, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ACellPack, Doom, 17, 142)
PROP_RadiusFixed (20)
PROP_HeightFixed (18)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState ACellPack::States[] =
{
S_NORMAL1 (CELP, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AShell, Doom, 2008, 12)
PROP_RadiusFixed (20)
PROP_HeightFixed (8)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AShell::States[] =
{
S_NORMAL1 (SHEL, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AShellBox, Doom, 2049, 143)
PROP_RadiusFixed (20)
PROP_HeightFixed (10)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (0)
END_DEFAULTS
FState AShellBox::States[] =
{
S_NORMAL1 (SBOX, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AFist, Doom, -1, 0)
END_DEFAULTS
FState AFist::States[] =
{
#define S_PUNCH 0
S_NORMAL1 (PUNG, 'A', 1, A_WeaponReady , &States[S_PUNCH]),
#define S_PUNCHDOWN (S_PUNCH+1)
S_NORMAL1 (PUNG, 'A', 1, A_Lower , &States[S_PUNCHDOWN]),
#define S_PUNCHUP (S_PUNCHDOWN+1)
S_NORMAL1 (PUNG, 'A', 1, A_Raise , &States[S_PUNCHUP]),
#define S_PUNCH1 (S_PUNCHUP+1)
S_NORMAL1 (PUNG, 'B', 4, NULL , &States[S_PUNCH1+1]),
S_NORMAL1 (PUNG, 'C', 4, A_Punch , &States[S_PUNCH1+2]),
S_NORMAL1 (PUNG, 'D', 5, NULL , &States[S_PUNCH1+3]),
S_NORMAL1 (PUNG, 'C', 4, NULL , &States[S_PUNCH1+4]),
S_NORMAL1 (PUNG, 'B', 5, A_ReFire , &States[S_PUNCH])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (APistol, Doom, -1, 0)
END_DEFAULTS
FState APistol::States[] =
{
#define S_PISTOL 0
S_NORMAL1 (PISG, 'A', 1, A_WeaponReady , &States[S_PISTOL]),
#define S_PISTOLDOWN (S_PISTOL+1)
S_NORMAL1 (PISG, 'A', 1, A_Lower , &States[S_PISTOLDOWN]),
#define S_PISTOLUP (S_PISTOLDOWN+1)
S_NORMAL1 (PISG, 'A', 1, A_Raise , &States[S_PISTOLUP]),
#define S_PISTOL1 (S_PISTOLUP+1)
S_NORMAL1 (PISG, 'A', 4, NULL , &States[S_PISTOL1+1]),
S_NORMAL1 (PISG, 'B', 6, A_FirePistol , &States[S_PISTOL1+2]),
S_NORMAL1 (PISG, 'C', 4, NULL , &States[S_PISTOL1+3]),
S_NORMAL1 (PISG, 'B', 5, A_ReFire , &States[S_PISTOL]),
#define S_PISTOLFLASH (S_PISTOL1+4)
S_BRIGHT (PISF, 'A', 7, A_Light1 , &AWeapon::States[S_LIGHTDONE])
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AChainsaw, Doom, 2005, 32)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_CSAW)
END_DEFAULTS
FState AChainsaw::States[] =
{
#define S_SAW 0
S_NORMAL1 (SAWG, 'C', 4, A_WeaponReady , &States[S_SAW+1]),
S_NORMAL1 (SAWG, 'D', 4, A_WeaponReady , &States[S_SAW+0]),
#define S_SAWDOWN (S_SAW+2)
S_NORMAL1 (SAWG, 'C', 1, A_Lower , &States[S_SAWDOWN]),
#define S_SAWUP (S_SAWDOWN+1)
S_NORMAL1 (SAWG, 'C', 1, A_Raise , &States[S_SAWUP]),
#define S_SAW1 (S_SAWUP+1)
S_NORMAL1 (SAWG, 'A', 4, A_Saw , &States[S_SAW1+1]),
S_NORMAL1 (SAWG, 'B', 4, A_Saw , &States[S_SAW1+2]),
S_NORMAL1 (SAWG, 'B', 0, A_ReFire , &States[S_SAW]),
#define S_CSAW (S_SAW1+3)
S_NORMAL1 (CSAW, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AShotgun, Doom, 2001, 27)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_SHOT)
END_DEFAULTS
FState AShotgun::States[] =
{
#define S_SGUN 0
S_NORMAL1 (SHTG, 'A', 1, A_WeaponReady , &States[S_SGUN]),
#define S_SGUNDOWN (S_SGUN+1)
S_NORMAL1 (SHTG, 'A', 1, A_Lower , &States[S_SGUNDOWN]),
#define S_SGUNUP (S_SGUNDOWN+1)
S_NORMAL1 (SHTG, 'A', 1, A_Raise , &States[S_SGUNUP]),
#define S_SGUN1 (S_SGUNUP+1)
S_NORMAL1 (SHTG, 'A', 3, NULL , &States[S_SGUN1+1]),
S_NORMAL1 (SHTG, 'A', 7, A_FireShotgun , &States[S_SGUN1+2]),
S_NORMAL1 (SHTG, 'B', 5, NULL , &States[S_SGUN1+3]),
S_NORMAL1 (SHTG, 'C', 5, NULL , &States[S_SGUN1+4]),
S_NORMAL1 (SHTG, 'D', 4, NULL , &States[S_SGUN1+5]),
S_NORMAL1 (SHTG, 'C', 5, NULL , &States[S_SGUN1+6]),
S_NORMAL1 (SHTG, 'B', 5, NULL , &States[S_SGUN1+7]),
S_NORMAL1 (SHTG, 'A', 3, NULL , &States[S_SGUN1+8]),
S_NORMAL1 (SHTG, 'A', 7, A_ReFire , &States[S_SGUN]),
#define S_SGUNFLASH (S_SGUN1+9)
S_BRIGHT (SHTF, 'A', 4, A_Light1 , &States[S_SGUNFLASH+1]),
S_BRIGHT (SHTF, 'B', 3, A_Light2 , &AWeapon::States[S_LIGHTDONE]),
#define S_SHOT (S_SGUNFLASH+2)
S_NORMAL1 (SHOT, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASuperShotgun, Doom, 82, 33)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_SHOT2)
END_DEFAULTS
FState ASuperShotgun::States[] =
{
#define S_DSGUN 0
S_NORMAL1 (SHT2, 'A', 1, A_WeaponReady , &States[S_DSGUN]),
#define S_DSGUNDOWN (S_DSGUN+1)
S_NORMAL1 (SHT2, 'A', 1, A_Lower , &States[S_DSGUNDOWN]),
#define S_DSGUNUP (S_DSGUNDOWN+1)
S_NORMAL1 (SHT2, 'A', 1, A_Raise , &States[S_DSGUNUP]),
#define S_DSGUN1 (S_DSGUNUP+1)
S_NORMAL1 (SHT2, 'A', 3, NULL , &States[S_DSGUN1+1]),
S_NORMAL1 (SHT2, 'A', 7, A_FireShotgun2 , &States[S_DSGUN1+2]),
S_NORMAL1 (SHT2, 'B', 7, NULL , &States[S_DSGUN1+3]),
S_NORMAL1 (SHT2, 'C', 7, A_CheckReload , &States[S_DSGUN1+4]),
S_NORMAL1 (SHT2, 'D', 7, A_OpenShotgun2 , &States[S_DSGUN1+5]),
S_NORMAL1 (SHT2, 'E', 7, NULL , &States[S_DSGUN1+6]),
S_NORMAL1 (SHT2, 'F', 7, A_LoadShotgun2 , &States[S_DSGUN1+7]),
S_NORMAL1 (SHT2, 'G', 6, NULL , &States[S_DSGUN1+8]),
S_NORMAL1 (SHT2, 'H', 6, A_CloseShotgun2 , &States[S_DSGUN1+9]),
S_NORMAL1 (SHT2, 'A', 5, A_ReFire , &States[S_DSGUN]),
#define S_DSNR (S_DSGUN1+10)
S_NORMAL1 (SHT2, 'B', 7, NULL , &States[S_DSNR+1]),
S_NORMAL1 (SHT2, 'A', 3, NULL , &States[S_DSGUNDOWN]),
#define S_DSGUNFLASH (S_DSNR+2)
S_BRIGHT (SHT2, 'I', 4, A_Light1 , &States[S_DSGUNFLASH+1]),
S_BRIGHT (SHT2, 'J', 3, A_Light2 , &AWeapon::States[S_LIGHTDONE]),
#define S_SHOT2 (S_DSGUNFLASH+2)
S_NORMAL1 (SGN2, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AChaingun, Doom, 2002, 28)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_MGUN)
END_DEFAULTS
FState AChaingun::States[] =
{
#define S_CHAIN 0
S_NORMAL1 (CHGG, 'A', 1, A_WeaponReady , &States[S_CHAIN]),
#define S_CHAINDOWN (S_CHAIN+1)
S_NORMAL1 (CHGG, 'A', 1, A_Lower , &States[S_CHAINDOWN]),
#define S_CHAINUP (S_CHAINDOWN+1)
S_NORMAL1 (CHGG, 'A', 1, A_Raise , &States[S_CHAINUP]),
#define S_CHAIN1 (S_CHAINUP+1)
S_NORMAL1 (CHGG, 'A', 4, A_FireCGun , &States[S_CHAIN1+1]),
S_NORMAL1 (CHGG, 'B', 4, A_FireCGun , &States[S_CHAIN1+2]),
S_NORMAL1 (CHGG, 'B', 0, A_ReFire , &States[S_CHAIN]),
#define S_CHAINFLASH (S_CHAIN1+3)
S_BRIGHT (CHGF, 'A', 5, A_Light1 , &AWeapon::States[S_LIGHTDONE]),
S_BRIGHT (CHGF, 'B', 5, A_Light2 , &AWeapon::States[S_LIGHTDONE]),
#define S_MGUN (S_CHAINFLASH+2)
S_NORMAL1 (MGUN, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARocketLauncher, Doom, 2003, 29)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_LAUN)
END_DEFAULTS
FState ARocketLauncher::States[] =
{
#define S_MISSILE 0
S_NORMAL1 (MISG, 'A', 1, A_WeaponReady , &States[S_MISSILE]),
#define S_MISSILEDOWN (S_MISSILE+1)
S_NORMAL1 (MISG, 'A', 1, A_Lower , &States[S_MISSILEDOWN]),
#define S_MISSILEUP (S_MISSILEDOWN+1)
S_NORMAL1 (MISG, 'A', 1, A_Raise , &States[S_MISSILEUP]),
#define S_MISSILE1 (S_MISSILEUP+1)
S_NORMAL1 (MISG, 'B', 8, A_GunFlash , &States[S_MISSILE1+1]),
S_NORMAL1 (MISG, 'B', 12, A_FireMissile , &States[S_MISSILE1+2]),
S_NORMAL1 (MISG, 'B', 0, A_ReFire , &States[S_MISSILE]),
#define S_MISSILEFLASH (S_MISSILE1+3)
S_BRIGHT (MISF, 'A', 3, A_Light1 , &States[S_MISSILEFLASH+1]),
S_BRIGHT (MISF, 'B', 4, NULL , &States[S_MISSILEFLASH+2]),
S_BRIGHT (MISF, 'C', 4, A_Light2 , &States[S_MISSILEFLASH+3]),
S_BRIGHT (MISF, 'D', 4, A_Light2 , &AWeapon::States[S_LIGHTDONE]),
#define S_LAUN (S_MISSILEFLASH+4)
S_NORMAL1 (LAUN, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ARocket, Doom, -1, 127)
PROP_RadiusFixed (11)
PROP_HeightFixed (8)
PROP_SpeedFixed (20)
PROP_Damage (20)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_SpawnState (S_ROCKET)
PROP_DeathState (S_EXPLODE)
PROP_SeeSound ("weapons/rocklf")
PROP_DeathSound ("weapons/rocklx")
END_DEFAULTS
FState ARocket::States[] =
{
#define S_ROCKET 0
S_BRIGHT (MISL, 'A', 1, NULL , &States[S_ROCKET]),
#define S_EXPLODE (S_ROCKET+1)
S_BRIGHT (MISL, 'B', 8, A_Explode , &States[S_EXPLODE+1]),
S_BRIGHT (MISL, 'C', 6, NULL , &States[S_EXPLODE+2]),
S_BRIGHT (MISL, 'D', 4, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (APlasmaRifle, Doom, 2004, 30)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_PLAS)
END_DEFAULTS
FState APlasmaRifle::States[] =
{
#define S_PLASMA 0
S_NORMAL1 (PLSG, 'A', 1, A_WeaponReady , &States[S_PLASMA]),
#define S_PLASMADOWN (S_PLASMA+1)
S_NORMAL1 (PLSG, 'A', 1, A_Lower , &States[S_PLASMADOWN]),
#define S_PLASMAUP (S_PLASMADOWN+1)
S_NORMAL1 (PLSG, 'A', 1, A_Raise , &States[S_PLASMAUP]),
#define S_PLASMA1 (S_PLASMAUP+1)
S_NORMAL1 (PLSG, 'A', 3, A_FirePlasma , &States[S_PLASMA1+1]),
S_NORMAL1 (PLSG, 'B', 20, A_ReFire , &States[S_PLASMA]),
#define S_PLASMAFLASH (S_PLASMA1+2)
S_BRIGHT (PLSF, 'A', 4, A_Light1 , &AWeapon::States[S_LIGHTDONE]),
S_BRIGHT (PLSF, 'B', 4, A_Light1 , &AWeapon::States[S_LIGHTDONE]),
#define S_PLAS (S_PLASMAFLASH+2)
S_NORMAL1 (PLAS, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (APlasmaBall, Doom, -1, 51)
PROP_RadiusFixed (13)
PROP_HeightFixed (8)
PROP_SpeedFixed (25)
PROP_Damage (5)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_PLASBALL)
PROP_DeathState (S_PLASEXP)
PROP_SeeSound ("weapons/plasmaf")
PROP_DeathSound ("weapons/plasmax")
END_DEFAULTS
FState APlasmaBall::States[] =
{
#define S_PLASBALL 0
S_BRIGHT (PLSS, 'A', 6, NULL , &States[S_PLASBALL+1]),
S_BRIGHT (PLSS, 'B', 6, NULL , &States[S_PLASBALL]),
#define S_PLASEXP (S_PLASBALL+2)
S_BRIGHT (PLSE, 'A', 4, NULL , &States[S_PLASEXP+1]),
S_BRIGHT (PLSE, 'B', 4, NULL , &States[S_PLASEXP+2]),
S_BRIGHT (PLSE, 'C', 4, NULL , &States[S_PLASEXP+3]),
S_BRIGHT (PLSE, 'D', 4, NULL , &States[S_PLASEXP+4]),
S_BRIGHT (PLSE, 'E', 4, NULL , NULL)
};
-- Doom's Pre-Beta BFG -------------------------------------------------
FState APlasmaBall1::States[] =
{
#define S_PLASBALL1 0
S_BRIGHT (PLS1, 'A', 6, NULL , &States[S_PLASBALL1+1]),
S_BRIGHT (PLS1, 'B', 6, NULL , &States[S_PLASBALL1]),
#define S_PLASEXP1 (S_PLASBALL1+2)
S_BRIGHT (PLS1, 'C', 4, NULL , &States[S_PLASEXP1+1]),
S_BRIGHT (PLS1, 'D', 4, NULL , &States[S_PLASEXP1+2]),
S_BRIGHT (PLS1, 'E', 4, NULL , &States[S_PLASEXP1+3]),
S_BRIGHT (PLS1, 'F', 4, NULL , &States[S_PLASEXP1+4]),
S_BRIGHT (PLS1, 'G', 4, NULL , NULL)
};
IMPLEMENT_ACTOR (APlasmaBall1, Doom, -1, 0)
PROP_RadiusFixed (13)
PROP_HeightFixed (8)
PROP_SpeedFixed (25)
PROP_Damage (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_Flags4 (MF4_RANDOMIZE)
PROP_Flags5 (MF5_OLDBFGBOUNCE)
PROP_RenderStyle (STYLE_Add)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_PLASBALL)
PROP_DeathState (S_PLASEXP)
PROP_SeeSound ("weapons/plasmaf")
PROP_DeathSound ("weapons/plasmax")
END_DEFAULTS
-- Doom's Pre-Beta BFG -------------------------------------------------
FState APlasmaBall2::States[] =
{
#define S_PLASBALL2 0
S_BRIGHT (PLS2, 'A', 6, NULL , &States[S_PLASBALL2+1]),
S_BRIGHT (PLS2, 'B', 6, NULL , &States[S_PLASBALL2]),
#define S_PLASEXP2 (S_PLASBALL+2)
S_BRIGHT (PLS2, 'C', 4, NULL , &States[S_PLASEXP2+1]),
S_BRIGHT (PLS2, 'D', 4, NULL , &States[S_PLASEXP2+2]),
S_BRIGHT (PLS2, 'E', 4, NULL , NULL)
};
IMPLEMENT_ACTOR (APlasmaBall2, Doom, -1, 0)
PROP_RadiusFixed (13)
PROP_HeightFixed (8)
PROP_SpeedFixed (25)
PROP_Damage (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_Flags4 (MF4_RANDOMIZE)
PROP_Flags5 (MF5_OLDBFGBOUNCE)
PROP_RenderStyle (STYLE_Add)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_PLASBALL)
PROP_DeathState (S_PLASEXP)
PROP_SeeSound ("weapons/plasmaf")
PROP_DeathSound ("weapons/plasmax")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABFGBall, Doom, -1, 128)
PROP_RadiusFixed (13)
PROP_HeightFixed (8)
PROP_SpeedFixed (25)
PROP_Damage (100)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF|MF_NOGRAVITY)
PROP_Flags2 (MF2_PCROSS|MF2_IMPACT|MF2_NOTELEPORT)
PROP_RenderStyle (STYLE_Add)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_BFGSHOT)
PROP_DeathState (S_BFGLAND)
PROP_DeathSound ("weapons/bfgx")
END_DEFAULTS
FState ABFGBall::States[] =
{
#define S_BFGSHOT 0
S_BRIGHT (BFS1, 'A', 4, NULL , &States[S_BFGSHOT+1]),
S_BRIGHT (BFS1, 'B', 4, NULL , &States[S_BFGSHOT]),
#define S_BFGLAND (S_BFGSHOT+2)
S_BRIGHT (BFE1, 'A', 8, NULL , &States[S_BFGLAND+1]),
S_BRIGHT (BFE1, 'B', 8, NULL , &States[S_BFGLAND+2]),
S_BRIGHT (BFE1, 'C', 8, A_BFGSpray , &States[S_BFGLAND+3]),
S_BRIGHT (BFE1, 'D', 8, NULL , &States[S_BFGLAND+4]),
S_BRIGHT (BFE1, 'E', 8, NULL , &States[S_BFGLAND+5]),
S_BRIGHT (BFE1, 'F', 8, NULL , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABFGExtra, Doom, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_Add)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (0)
END_DEFAULTS
FState ABFGExtra::States[] =
{
S_BRIGHT (BFE2, 'A', 8, NULL , &States[1]),
S_BRIGHT (BFE2, 'B', 8, NULL , &States[2]),
S_BRIGHT (BFE2, 'C', 8, NULL , &States[3]),
S_BRIGHT (BFE2, 'D', 8, NULL , NULL)
};
------------------------------------------------------------------------
// AItemFog, shown for respawning Doom items
IMPLEMENT_ACTOR (AItemFog, Doom, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_SpawnState (0)
END_DEFAULTS
FState AItemFog::States[] =
{
S_BRIGHT (IFOG, 'A', 6, NULL , &States[1]),
S_BRIGHT (IFOG, 'B', 6, NULL , &States[2]),
S_BRIGHT (IFOG, 'A', 6, NULL , &States[3]),
S_BRIGHT (IFOG, 'B', 6, NULL , &States[4]),
S_BRIGHT (IFOG, 'C', 6, NULL , &States[5]),
S_BRIGHT (IFOG, 'D', 6, NULL , &States[6]),
S_BRIGHT (IFOG, 'E', 6, NULL , NULL)
};
------------------------------------------------------------------------
// Tech lamp
IMPLEMENT_ACTOR (ATechLamp, Doom, 85, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(80)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATechLamp::States[4] =
{
S_BRIGHT (TLMP, 'A', 4, NULL, &States[1]),
S_BRIGHT (TLMP, 'B', 4, NULL, &States[2]),
S_BRIGHT (TLMP, 'C', 4, NULL, &States[3]),
S_BRIGHT (TLMP, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Tech lamp 2
IMPLEMENT_ACTOR (ATechLamp2, Doom, 86, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(60)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATechLamp2::States[4] =
{
S_BRIGHT (TLP2, 'A', 4, NULL, &States[1]),
S_BRIGHT (TLP2, 'B', 4, NULL, &States[2]),
S_BRIGHT (TLP2, 'C', 4, NULL, &States[3]),
S_BRIGHT (TLP2, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Column
IMPLEMENT_ACTOR (AColumn, Doom, 2028, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(48)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AColumn::States[1] =
{
S_BRIGHT (COLU, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Tall green column
IMPLEMENT_ACTOR (ATallGreenColumn, Doom, 30, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(52)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATallGreenColumn::States[1] =
{
S_NORMAL1 (COL1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Short green column
IMPLEMENT_ACTOR (AShortGreenColumn, Doom, 31, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(40)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AShortGreenColumn::States[1] =
{
S_NORMAL1 (COL2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Tall red column
IMPLEMENT_ACTOR (ATallRedColumn, Doom, 32, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(52)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATallRedColumn::States[1] =
{
S_NORMAL1 (COL3, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Short red column
IMPLEMENT_ACTOR (AShortRedColumn, Doom, 33, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(40)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AShortRedColumn::States[1] =
{
S_NORMAL1 (COL4, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Skull column
IMPLEMENT_ACTOR (ASkullColumn, Doom, 37, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(40)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ASkullColumn::States[1] =
{
S_NORMAL1 (COL6, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Heart column
IMPLEMENT_ACTOR (AHeartColumn, Doom, 36, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(40)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AHeartColumn::States[2] =
{
S_NORMAL1 (COL5, 'A', 14, NULL, &States[1]),
S_NORMAL1 (COL5, 'B', 14, NULL, &States[0])
};
------------------------------------------------------------------------
// Evil eye
IMPLEMENT_ACTOR (AEvilEye, Doom, 41, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(54)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AEvilEye::States[4] =
{
S_BRIGHT (CEYE, 'A', 6, NULL, &States[1]),
S_BRIGHT (CEYE, 'B', 6, NULL, &States[2]),
S_BRIGHT (CEYE, 'C', 6, NULL, &States[3]),
S_BRIGHT (CEYE, 'B', 6, NULL, &States[0])
};
------------------------------------------------------------------------
// Floating skull
IMPLEMENT_ACTOR (AFloatingSkull, Doom, 42, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(26)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AFloatingSkull::States[3] =
{
S_BRIGHT (FSKU, 'A', 6, NULL, &States[1]),
S_BRIGHT (FSKU, 'B', 6, NULL, &States[2]),
S_BRIGHT (FSKU, 'C', 6, NULL, &States[0])
};
------------------------------------------------------------------------
// Torch tree
IMPLEMENT_ACTOR (ATorchTree, Doom, 43, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(56)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATorchTree::States[1] =
{
S_NORMAL1 (TRE1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Blue torch
IMPLEMENT_ACTOR (ABlueTorch, Doom, 44, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(68)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ABlueTorch::States[4] =
{
S_BRIGHT (TBLU, 'A', 4, NULL, &States[1]),
S_BRIGHT (TBLU, 'B', 4, NULL, &States[2]),
S_BRIGHT (TBLU, 'C', 4, NULL, &States[3]),
S_BRIGHT (TBLU, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Green torch
IMPLEMENT_ACTOR (AGreenTorch, Doom, 45, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(68)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AGreenTorch::States[4] =
{
S_BRIGHT (TGRN, 'A', 4, NULL, &States[1]),
S_BRIGHT (TGRN, 'B', 4, NULL, &States[2]),
S_BRIGHT (TGRN, 'C', 4, NULL, &States[3]),
S_BRIGHT (TGRN, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Red torch
IMPLEMENT_ACTOR (ARedTorch, Doom, 46, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(68)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ARedTorch::States[4] =
{
S_BRIGHT (TRED, 'A', 4, NULL, &States[1]),
S_BRIGHT (TRED, 'B', 4, NULL, &States[2]),
S_BRIGHT (TRED, 'C', 4, NULL, &States[3]),
S_BRIGHT (TRED, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Short blue torch
IMPLEMENT_ACTOR (AShortBlueTorch, Doom, 55, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(37)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AShortBlueTorch::States[4] =
{
S_BRIGHT (SMBT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMBT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMBT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMBT, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Short green torch
IMPLEMENT_ACTOR (AShortGreenTorch, Doom, 56, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(37)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AShortGreenTorch::States[4] =
{
S_BRIGHT (SMGT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMGT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMGT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMGT, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Short red torch
IMPLEMENT_ACTOR (AShortRedTorch, Doom, 57, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(37)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AShortRedTorch::States[4] =
{
S_BRIGHT (SMRT, 'A', 4, NULL, &States[1]),
S_BRIGHT (SMRT, 'B', 4, NULL, &States[2]),
S_BRIGHT (SMRT, 'C', 4, NULL, &States[3]),
S_BRIGHT (SMRT, 'D', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Stalagtite
IMPLEMENT_ACTOR (AStalagtite, Doom, 47, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(40)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AStalagtite::States[1] =
{
S_NORMAL1 (SMIT, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Tech pillar
IMPLEMENT_ACTOR (ATechPillar, Doom, 48, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(128)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ATechPillar::States[1] =
{
S_NORMAL1 (ELEC, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Candle stick
IMPLEMENT_ACTOR (ACandlestick, Doom, 34, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(20)
PROP_HeightFixed(14)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ACandlestick::States[1] =
{
S_BRIGHT (CAND, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Candelabra
IMPLEMENT_ACTOR (ACandelabra, Doom, 35, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(60)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ACandelabra::States[1] =
{
S_BRIGHT (CBRA, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Bloody twitch
IMPLEMENT_ACTOR (ABloodyTwitch, Doom, 49, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(68)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState ABloodyTwitch::States[4] =
{
S_NORMAL1 (GOR1, 'A', 10, NULL, &States[1]),
S_NORMAL1 (GOR1, 'B', 15, NULL, &States[2]),
S_NORMAL1 (GOR1, 'C', 8, NULL, &States[3]),
S_NORMAL1 (GOR1, 'B', 6, NULL, &States[0])
};
------------------------------------------------------------------------
// Meat 2
IMPLEMENT_ACTOR (AMeat2, Doom, 50, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(84)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AMeat2::States[1] =
{
S_NORMAL1 (GOR2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Meat 3
IMPLEMENT_ACTOR (AMeat3, Doom, 51, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(84)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AMeat3::States[1] =
{
S_NORMAL1 (GOR3, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Meat 4
IMPLEMENT_ACTOR (AMeat4, Doom, 52, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(68)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AMeat4::States[1] =
{
S_NORMAL1 (GOR4, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Meat 5
IMPLEMENT_ACTOR (AMeat5, Doom, 53, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(52)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AMeat5::States[1] =
{
S_NORMAL1 (GOR5, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Nonsolid meat
IMPLEMENT_STATELESS_ACTOR (ANonsolidMeat2, Doom, 59, 0)
PROP_RadiusFixed(20)
PROP_HeightFixed(84)
PROP_FlagsClear(MF_SOLID)
END_DEFAULTS
------------------------------------------------------------------------
// Nonsolid meat
IMPLEMENT_STATELESS_ACTOR (ANonsolidMeat3, Doom, 61, 0)
PROP_RadiusFixed(20)
PROP_HeightFixed(52)
PROP_FlagsClear(MF_SOLID)
END_DEFAULTS
------------------------------------------------------------------------
// Nonsolid meat
IMPLEMENT_STATELESS_ACTOR (ANonsolidMeat4, Doom, 60, 0)
PROP_RadiusFixed(20)
PROP_HeightFixed(68)
PROP_FlagsClear(MF_SOLID)
END_DEFAULTS
------------------------------------------------------------------------
// Nonsolid meat
IMPLEMENT_STATELESS_ACTOR (ANonsolidMeat5, Doom, 62, 0)
PROP_RadiusFixed(20)
PROP_HeightFixed(52)
PROP_FlagsClear(MF_SOLID)
END_DEFAULTS
------------------------------------------------------------------------
// Nonsolid bloody twitch
IMPLEMENT_STATELESS_ACTOR (ANonsolidTwitch, Doom, 63, 0)
PROP_RadiusFixed(20)
PROP_HeightFixed(68)
PROP_FlagsClear(MF_SOLID)
END_DEFAULTS
------------------------------------------------------------------------
// Head on a stick
IMPLEMENT_ACTOR (AHeadOnAStick, Doom, 27, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(56)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AHeadOnAStick::States[1] =
{
S_NORMAL1 (POL4, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Heads (plural!) on a stick
IMPLEMENT_ACTOR (AHeadsOnAStick, Doom, 28, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AHeadsOnAStick::States[1] =
{
S_NORMAL1 (POL2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Head candles
IMPLEMENT_ACTOR (AHeadCandles, Doom, 29, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(42)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState AHeadCandles::States[2] =
{
S_BRIGHT (POL3, 'A', 6, NULL, &States[1]),
S_BRIGHT (POL3, 'B', 6, NULL, &States[0])
};
------------------------------------------------------------------------
// Dead on a stick
IMPLEMENT_ACTOR (ADeadStick, Doom, 25, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ADeadStick::States[1] =
{
S_NORMAL1 (POL1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Still alive on a stick
IMPLEMENT_ACTOR (ALiveStick, Doom, 26, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ALiveStick::States[2] =
{
S_NORMAL1 (POL6, 'A', 6, NULL, &States[1]),
S_NORMAL1 (POL6, 'B', 8, NULL, &States[0])
};
------------------------------------------------------------------------
// Big tree
IMPLEMENT_ACTOR (ABigTree, Doom, 54, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(32)
PROP_HeightFixed(108)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ABigTree::States[1] =
{
S_NORMAL1 (TRE2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Burning barrel
IMPLEMENT_ACTOR (ABurningBarrel, Doom, 70, 149)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(32)
PROP_Flags(MF_SOLID)
PROP_ProjectilePassHeight(-16)
END_DEFAULTS
FState ABurningBarrel::States[3] =
{
S_BRIGHT (FCAN, 'A', 4, NULL, &States[1]),
S_BRIGHT (FCAN, 'B', 4, NULL, &States[2]),
S_BRIGHT (FCAN, 'C', 4, NULL, &States[0])
};
------------------------------------------------------------------------
// Hanging with no guts
IMPLEMENT_ACTOR (AHangNoGuts, Doom, 73, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(88)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangNoGuts::States[1] =
{
S_NORMAL1 (HDB1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Hanging from bottom with no brain
IMPLEMENT_ACTOR (AHangBNoBrain, Doom, 74, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(88)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangBNoBrain::States[1] =
{
S_NORMAL1 (HDB2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Hanging from top, looking down
IMPLEMENT_ACTOR (AHangTLookingDown, Doom, 75, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangTLookingDown::States[1] =
{
S_NORMAL1 (HDB3, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Hanging from top, looking up
IMPLEMENT_ACTOR (AHangTLookingUp, Doom, 77, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangTLookingUp::States[1] =
{
S_NORMAL1 (HDB5, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Hanging from top, skully
IMPLEMENT_ACTOR (AHangTSkull, Doom, 76, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangTSkull::States[1] =
{
S_NORMAL1 (HDB4, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Hanging from top without a brain
IMPLEMENT_ACTOR (AHangTNoBrain, Doom, 78, 0)
PROP_SpawnState(0)
PROP_RadiusFixed(16)
PROP_HeightFixed(64)
PROP_Flags(MF_SOLID|MF_SPAWNCEILING|MF_NOGRAVITY)
END_DEFAULTS
FState AHangTNoBrain::States[1] =
{
S_NORMAL1 (HDB6, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Colon gibs
IMPLEMENT_ACTOR (AColonGibs, Doom, 79, 147)
PROP_SpawnState(0)
PROP_RadiusFixed(20)
PROP_HeightFixed(4)
PROP_Flags(MF_NOBLOCKMAP)
END_DEFAULTS
FState AColonGibs::States[1] =
{
S_NORMAL1 (POB1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// Small pool o' blood
IMPLEMENT_ACTOR (ASmallBloodPool, Doom, 80, 148)
PROP_SpawnState(0)
PROP_RadiusFixed(20)
PROP_HeightFixed(1)
PROP_Flags(MF_NOBLOCKMAP)
END_DEFAULTS
FState ASmallBloodPool::States[1] =
{
S_NORMAL1 (POB2, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
// brain stem lying on the ground
IMPLEMENT_ACTOR (ABrainStem, Doom, 81, 150)
PROP_SpawnState(0)
PROP_RadiusFixed(20)
PROP_HeightFixed(4)
PROP_Flags(MF_NOBLOCKMAP)
END_DEFAULTS
FState ABrainStem::States[1] =
{
S_NORMAL1 (BRS1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------