Code: Select all
class AAcolyte : public AStrifeHumanoid
{
DECLARE_ACTOR (AAcolyte, AStrifeHumanoid)
};
FState AAcolyte::States[] =
{
#define S_ACOLYTE_STND 0
S_NORMAL (AGRD, 'A', 5, A_Look2, &States[S_ACOLYTE_STND]),
S_NORMAL (AGRD, 'B', 8, A_ClearShadow, &States[S_ACOLYTE_STND]),
S_NORMAL (AGRD, 'D', 8, NULL, &States[S_ACOLYTE_STND]),
#define S_ACOLYTE_WANDER (S_ACOLYTE_STND+3)
S_NORMAL (AGRD, 'A', 5, A_Wander, &States[S_ACOLYTE_WANDER+1]),
S_NORMAL (AGRD, 'B', 5, A_Wander, &States[S_ACOLYTE_WANDER+2]),
S_NORMAL (AGRD, 'C', 5, A_Wander, &States[S_ACOLYTE_WANDER+3]),
S_NORMAL (AGRD, 'D', 5, A_Wander, &States[S_ACOLYTE_WANDER+4]),
S_NORMAL (AGRD, 'A', 5, A_Wander, &States[S_ACOLYTE_WANDER+5]),
S_NORMAL (AGRD, 'B', 5, A_Wander, &States[S_ACOLYTE_WANDER+6]),
S_NORMAL (AGRD, 'C', 5, A_Wander, &States[S_ACOLYTE_WANDER+7]),
S_NORMAL (AGRD, 'D', 5, A_Wander, &States[S_ACOLYTE_STND]),
#define S_ACOLYTE_ALTCHASE (S_ACOLYTE_WANDER+8)
S_NORMAL (AGRD, 'A', 6, A_BeShadowyFoe, &States[S_ACOLYTE_ALTCHASE+2]),
#define S_ACOLYTE_CHASE (S_ACOLYTE_ALTCHASE+1)
S_NORMAL (AGRD, 'A', 6, A_AcolyteBits, &States[S_ACOLYTE_CHASE+1]),
S_NORMAL (AGRD, 'B', 6, A_Chase, &States[S_ACOLYTE_CHASE+2]),
S_NORMAL (AGRD, 'C', 6, A_Chase, &States[S_ACOLYTE_CHASE+3]),
S_NORMAL (AGRD, 'D', 6, A_Chase, &States[S_ACOLYTE_CHASE]),
#define S_ACOLYTE_ATK (S_ACOLYTE_CHASE+4)
S_NORMAL (AGRD, 'E', 8, A_FaceTarget, &States[S_ACOLYTE_ATK+1]),
S_NORMAL (AGRD, 'F', 4, A_ShootGun, &States[S_ACOLYTE_ATK+2]),
S_NORMAL (AGRD, 'E', 4, A_ShootGun, &States[S_ACOLYTE_ATK+3]),
S_NORMAL (AGRD, 'F', 6, A_ShootGun, &States[S_ACOLYTE_CHASE]),
#define S_ACOLYTE_ALTPAIN (S_ACOLYTE_ATK+4)
S_NORMAL (AGRD, 'O', 0, A_SetShadow, &States[S_ACOLYTE_ALTPAIN+1]),
S_NORMAL (AGRD, 'O', 8, A_Pain, &States[S_ACOLYTE_ALTCHASE]),
#define S_ACOLYTE_PAIN (S_ACOLYTE_ALTPAIN+2)
S_NORMAL (AGRD, 'O', 8, A_Pain, &States[S_ACOLYTE_CHASE]),
#define S_ACOLYTE_DIE (S_ACOLYTE_PAIN+1)
S_NORMAL (AGRD, 'G', 4, NULL, &States[S_ACOLYTE_DIE+1]),
S_NORMAL (AGRD, 'H', 4, A_Scream, &States[S_ACOLYTE_DIE+2]),
S_NORMAL (AGRD, 'I', 4, NULL, &States[S_ACOLYTE_DIE+3]),
S_NORMAL (AGRD, 'J', 3, NULL, &States[S_ACOLYTE_DIE+4]),
S_NORMAL (AGRD, 'K', 3, A_NoBlocking, &States[S_ACOLYTE_DIE+5]),
S_NORMAL (AGRD, 'L', 3, NULL, &States[S_ACOLYTE_DIE+6]),
S_NORMAL (AGRD, 'M', 3, A_AcolyteDie, &States[S_ACOLYTE_DIE+7]),
S_NORMAL (AGRD, 'N', 1400, NULL, NULL),
#define S_ACOLYTE_XDIE (S_ACOLYTE_DIE+8)
S_NORMAL (GIBS, 'A', 5, A_NoBlocking, &States[S_ACOLYTE_XDIE+1]),
S_NORMAL (GIBS, 'B', 5, A_TossGib, &States[S_ACOLYTE_XDIE+2]),
S_NORMAL (GIBS, 'C', 5, A_TossGib, &States[S_ACOLYTE_XDIE+3]),
S_NORMAL (GIBS, 'D', 4, A_TossGib, &States[S_ACOLYTE_XDIE+4]),
S_NORMAL (GIBS, 'E', 4, A_XScream, &States[S_ACOLYTE_XDIE+5]),
S_NORMAL (GIBS, 'F', 4, A_TossGib, &States[S_ACOLYTE_XDIE+6]),
S_NORMAL (GIBS, 'G', 4, NULL, &States[S_ACOLYTE_XDIE+7]),
S_NORMAL (GIBS, 'H', 4, NULL, &States[S_ACOLYTE_XDIE+8]),
S_NORMAL (GIBS, 'I', 5, NULL, &States[S_ACOLYTE_XDIE+9]),
S_NORMAL (GIBS, 'J', 5, A_AcolyteDie, &States[S_ACOLYTE_XDIE+10]),
S_NORMAL (GIBS, 'K', 5, NULL, &States[S_ACOLYTE_XDIE+11]),
S_NORMAL (GIBS, 'L', 1400, NULL, NULL),
};
IMPLEMENT_ACTOR (AAcolyte, Strife, -1, 0)
PROP_SpawnState (S_ACOLYTE_STND)
PROP_SeeState (S_ACOLYTE_CHASE)
PROP_PainState (S_ACOLYTE_PAIN)
PROP_MissileState (S_ACOLYTE_ATK)
PROP_DeathState (S_ACOLYTE_DIE)
PROP_XDeathState (S_ACOLYTE_XDIE)
PROP_SpawnHealth (70)
PROP_PainChance (150)
PROP_SpeedFixed (7)
PROP_RadiusFixed (24)
PROP_HeightFixed (64)
PROP_Mass (400)
PROP_Flags (MF_SOLID|MF_SHOOTABLE|MF_COUNTKILL)
PROP_Flags2 (MF2_FLOORCLIP|MF2_PASSMOBJ|MF2_PUSHWALL|MF2_MCROSS)
PROP_Flags4 (MF4_SEESDAGGERS|MF4_NOSPLASHALERT)
PROP_MinMissileChance (150)
PROP_Tag ("ACOLYTE")
PROP_SeeSound ("acolyte/sight")
PROP_PainSound ("acolyte/pain")
PROP_AttackSound ("acolyte/rifle")
PROP_DeathSound ("acolyte/death")
PROP_ActiveSound ("acolyte/active")
END_DEFAULTS