ZDaemon Actors common to all games
------------------------------------------------------------------------
//========== Base class for all flags (ZDaemon)
IMPLEMENT_STATELESS_ACTOR (AFlag, Any, -1, 0)
PROP_PickupSound ("misc/flag_pkup")
END_DEFAULTS
------------------------------------------------------------------------
//========== Red flag (ZDaemon)
IMPLEMENT_ACTOR (ARedFlag, Any, 5131, 172)
PROP_RadiusFixed (20)
PROP_HeightFixed (50)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_SpawnState (S_CFR)
PROP_SeeState (S_CFR)
PROP_PainState (S_CFR2)
END_DEFAULTS
FState ARedFlag::States[] =
{
#undef S_CFR
#define S_CFR 0
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])
};
------------------------------------------------------------------------
//========== Blue flag (ZDaemon)
IMPLEMENT_ACTOR (ABlueFlag, Any, 5130, 171)
PROP_RadiusFixed (20)
PROP_HeightFixed (50)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_SpawnState (S_CFB)
PROP_SeeState (S_CFB)
PROP_PainState (S_CFB2)
END_DEFAULTS
FState ABlueFlag::States[] =
{
#undef S_CFB
#define S_CFB 0
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])
};
------------------------------------------------------------------------
//========== Green flag (ZDaemon)
IMPLEMENT_ACTOR (AGreenFlag, Any, 5133, 174)
PROP_RadiusFixed (20)
PROP_HeightFixed (50)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_SpawnState (S_CFGR)
PROP_SeeState (S_CFGR)
PROP_PainState (S_CFGR2)
END_DEFAULTS
FState AGreenFlag::States[] =
{
#define S_CFGR 0
S_NORMAL1 (GFLA, 'A', 5, NULL , &States[S_CFGR+1]),
S_NORMAL1 (GFLA, 'B', 5, NULL , &States[S_CFGR+2]),
S_NORMAL1 (GFLA, 'C', 5, NULL , &States[S_CFGR+3]),
S_NORMAL1 (GFLA, 'D', 5, NULL , &States[S_CFGR+4]),
S_NORMAL1 (GFLA, 'E', 5, NULL , &States[S_CFGR+5]),
S_NORMAL1 (GFLA, 'F', 5, NULL , &States[S_CFGR+6]),
S_NORMAL1 (GFLA, 'G', 5, NULL , &States[S_CFGR+7]),
S_NORMAL1 (GFLA, 'H', 5, NULL , &States[S_CFGR+8]),
S_NORMAL1 (GFLA, 'I', 5, NULL , &States[S_CFGR+9]),
S_NORMAL1 (GFLA, 'J', 5, NULL , &States[S_CFGR+10]),
S_NORMAL1 (GFLA, 'K', 5, NULL , &States[S_CFGR+11]),
S_NORMAL1 (GFLA, 'L', 5, NULL , &States[S_CFGR+12]),
S_NORMAL1 (GFLA, 'M', 5, NULL , &States[S_CFGR+13]),
S_NORMAL1 (GFLA, 'N', 5, NULL , &States[S_CFGR+14]),
S_NORMAL1 (GFLA, 'O', 5, NULL , &States[S_CFGR+15]),
S_NORMAL1 (GFLA, 'P', 5, NULL , &States[S_CFGR]),
#define S_CFGR2 (S_CFGR+16)
S_NORMAL1 (GFRN, 'A', 4, NULL ,&States[S_CFGR2+0])
};
------------------------------------------------------------------------
//========== White flag (ZDaemon)
IMPLEMENT_ACTOR (AWhiteFlag, Any, 5134, 175)
PROP_RadiusFixed (20)
PROP_HeightFixed (50)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_SpawnState (S_CFW)
PROP_SeeState (S_CFW)
PROP_PainState (S_CFW2)
END_DEFAULTS
FState AWhiteFlag::States[] =
{
#define S_CFW 0
S_NORMAL1 (WFLA, 'A', 5, NULL , &States[S_CFW+1]),
S_NORMAL1 (WFLA, 'B', 5, NULL , &States[S_CFW+2]),
S_NORMAL1 (WFLA, 'C', 5, NULL , &States[S_CFW+3]),
S_NORMAL1 (WFLA, 'D', 5, NULL , &States[S_CFW+4]),
S_NORMAL1 (WFLA, 'E', 5, NULL , &States[S_CFW+5]),
S_NORMAL1 (WFLA, 'F', 5, NULL , &States[S_CFW+6]),
S_NORMAL1 (WFLA, 'G', 5, NULL , &States[S_CFW+7]),
S_NORMAL1 (WFLA, 'H', 5, NULL , &States[S_CFW+8]),
S_NORMAL1 (WFLA, 'I', 5, NULL , &States[S_CFW+9]),
S_NORMAL1 (WFLA, 'J', 5, NULL , &States[S_CFW+10]),
S_NORMAL1 (WFLA, 'K', 5, NULL , &States[S_CFW+11]),
S_NORMAL1 (WFLA, 'L', 5, NULL , &States[S_CFW+12]),
S_NORMAL1 (WFLA, 'M', 5, NULL , &States[S_CFW+13]),
S_NORMAL1 (WFLA, 'N', 5, NULL , &States[S_CFW+14]),
S_NORMAL1 (WFLA, 'O', 5, NULL , &States[S_CFW+15]),
S_NORMAL1 (WFLA, 'P', 5, NULL , &States[S_CFW]),
#define S_CFW2 (S_CFW+16)
S_NORMAL1 (WFRN, 'A', 4, NULL ,&States[S_CFW2+0])
};
------------------------------------------------------------------------
//========== Gold flag (ZDaemon)
IMPLEMENT_ACTOR (AGoldFlag, Any, 5132, 173)
PROP_RadiusFixed (20)
PROP_HeightFixed (50)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_SpawnState (S_CFG)
PROP_SeeState (S_CFG)
PROP_PainState (S_CFG2)
END_DEFAULTS
FState AGoldFlag::States[] =
{
#define S_CFG 0
S_NORMAL1 (DFLA, 'A', 5, NULL , &States[S_CFG+1]),
S_NORMAL1 (DFLA, 'B', 5, NULL , &States[S_CFG+2]),
S_NORMAL1 (DFLA, 'C', 5, NULL , &States[S_CFG+3]),
S_NORMAL1 (DFLA, 'D', 5, NULL , &States[S_CFG+4]),
S_NORMAL1 (DFLA, 'E', 5, NULL , &States[S_CFG+5]),
S_NORMAL1 (DFLA, 'F', 5, NULL , &States[S_CFG+6]),
S_NORMAL1 (DFLA, 'G', 5, NULL , &States[S_CFG+7]),
S_NORMAL1 (DFLA, 'H', 5, NULL , &States[S_CFG+8]),
S_NORMAL1 (DFLA, 'I', 5, NULL , &States[S_CFG+9]),
S_NORMAL1 (DFLA, 'J', 5, NULL , &States[S_CFG+10]),
S_NORMAL1 (DFLA, 'K', 5, NULL , &States[S_CFG+11]),
S_NORMAL1 (DFLA, 'L', 5, NULL , &States[S_CFG+12]),
S_NORMAL1 (DFLA, 'M', 5, NULL , &States[S_CFG+13]),
S_NORMAL1 (DFLA, 'N', 5, NULL , &States[S_CFG+14]),
S_NORMAL1 (DFLA, 'O', 5, NULL , &States[S_CFG+15]),
S_NORMAL1 (DFLA, 'P', 5, NULL , &States[S_CFG]),
#define S_CFG2 (S_CFG+16)
S_NORMAL1 (DFRN, 'A', 4, NULL ,&States[S_CFG2+0])
};
------------------------------------------------------------------------
//========== Railgun
IMPLEMENT_ACTOR (ARailgun, Any, 5012, 164)
PROP_RadiusFixed (20)
PROP_HeightFixed (16)
PROP_Flags (MF_SPECIAL)
PROP_SpawnState (S_RAIL)
END_DEFAULTS
FState ARailgun::States[] =
{
#define S_RAILGUN 0
S_NORMAL1 (RLSG, 'A', 1, A_WeaponReady , &States[S_RAILGUN]),
#define S_RAILGUNDOWN (S_RAILGUN+1)
S_NORMAL1 (RLSG, 'A', 1, A_Lower , &States[S_RAILGUNDOWN]),
#define S_RAILGUNUP (S_RAILGUNDOWN+1)
S_NORMAL1 (RLSG, 'A', 1, A_Raise , &States[S_RAILGUNUP]),
#define S_RAILGUN1 (S_RAILGUNUP+1)
S_NORMAL1 (RLSG, 'A', 0, A_Light1 , &States[S_RAILGUN1+1]),
S_BRIGHT (RLSG, 'B', 2, A_FireRailgun , &States[S_RAILGUN1+2]),
S_BRIGHT (RLSG, 'C', 3, NULL , &States[S_RAILGUN1+3]),
S_NORMAL1 (RLSG, 'C', 8, A_Light0 , &States[S_RAILGUN1+4]),
S_NORMAL1 (RLSG, 'D', 5, NULL , &States[S_RAILGUN1+5]),
S_NORMAL1 (RLSG, 'E', 5, NULL , &States[S_RAILGUN1+6]),
S_NORMAL1 (RLSG, 'F', 5, NULL , &States[S_RAILGUN1+7]),
S_NORMAL1 (RLSG, 'G', 5, NULL , &States[S_RAILGUN1+8]),
S_NORMAL1 (RLSG, 'H', 5, NULL , &States[S_RAILGUN1+9]),
S_NORMAL1 (RLSG, 'I', 7, NULL , &States[S_RAILGUN1+10]),
S_NORMAL1 (RLSG, 'J', 3, NULL , &States[S_RAILGUN1+11]),
S_NORMAL1 (RLSG, 'A', 3, NULL , &States[S_RAILGUN1+12]),
S_NORMAL1 (RLSG, 'A', 0, A_ReFire , &States[S_RAILGUN]),
#define S_RAIL (S_RAILGUN1+13)
S_NORMAL1 (RAIL, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
//========== Domination Point A (ZDaemon)
IMPLEMENT_ACTOR (ADomPointA, Any, 5135, 0)
PROP_RadiusFixed (30)
PROP_HeightFixed (60)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_Translation (TRANSLATION_DomPoints,0)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_CDOMA)
PROP_SeeState (S_CDOMA)
PROP_PainState (S_CDOMA)
END_DEFAULTS
FState ADomPointA::States[] =
{
#define S_CDOMA 0
S_BRIGHT (DOMA, 'A', 4, NULL , &States[S_CDOMA+1]),
S_BRIGHT (DOMA, 'B', 4, NULL , &States[S_CDOMA+2]),
S_BRIGHT (DOMA, 'C', 4, NULL , &States[S_CDOMA+3]),
S_BRIGHT (DOMA, 'D', 4, NULL , &States[S_CDOMA+4]),
S_BRIGHT (DOMA, 'E', 4, NULL , &States[S_CDOMA+5]),
S_BRIGHT (DOMA, 'F', 4, NULL , &States[S_CDOMA+6]),
S_BRIGHT (DOMA, 'G', 4, NULL , &States[S_CDOMA+7]),
S_BRIGHT (DOMA, 'H', 4, NULL , &States[S_CDOMA+8]),
S_BRIGHT (DOMA, 'I', 4, NULL , &States[S_CDOMA+9]),
S_BRIGHT (DOMA, 'J', 4, NULL , &States[S_CDOMA+10]),
S_BRIGHT (DOMA, 'K', 4, NULL , &States[S_CDOMA+11]),
S_BRIGHT (DOMA, 'L', 4, NULL , &States[S_CDOMA+12]),
S_BRIGHT (DOMA, 'M', 4, NULL , &States[S_CDOMA+13]),
S_BRIGHT (DOMA, 'N', 4, NULL , &States[S_CDOMA+14]),
S_BRIGHT (DOMA, 'O', 4, NULL , &States[S_CDOMA+15]),
S_BRIGHT (DOMA, 'P', 4, NULL , &States[S_CDOMA+16]),
S_BRIGHT (DOMA, 'Q', 4, NULL , &States[S_CDOMA+17]),
S_BRIGHT (DOMA, 'R', 4, NULL , &States[S_CDOMA+18]),
S_BRIGHT (DOMA, 'S', 4, NULL , &States[S_CDOMA+19]),
S_BRIGHT (DOMA, 'T', 4, NULL , &States[S_CDOMA+20]),
S_BRIGHT (DOMA, 'U', 4, NULL , &States[S_CDOMA+21]),
S_BRIGHT (DOMA, 'V', 4, NULL , &States[S_CDOMA+22]),
S_BRIGHT (DOMA, 'W', 4, NULL , &States[S_CDOMA+23]),
S_BRIGHT (DOMA, 'X', 4, NULL , &States[S_CDOMA])
};
------------------------------------------------------------------------
//========== Domination Point B (ZDaemon)
IMPLEMENT_ACTOR (ADomPointB, Any, 5136, 0)
PROP_RadiusFixed (30)
PROP_HeightFixed (60)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_Translation (TRANSLATION_DomPoints,1)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_CDOMB)
PROP_SeeState (S_CDOMB)
PROP_PainState (S_CDOMB)
END_DEFAULTS
FState ADomPointB::States[] =
{
#define S_CDOMB 0
S_BRIGHT (DOMB, 'A', 4, NULL , &States[S_CDOMB+1]),
S_BRIGHT (DOMB, 'B', 4, NULL , &States[S_CDOMB+2]),
S_BRIGHT (DOMB, 'C', 4, NULL , &States[S_CDOMB+3]),
S_BRIGHT (DOMB, 'D', 4, NULL , &States[S_CDOMB+4]),
S_BRIGHT (DOMB, 'E', 4, NULL , &States[S_CDOMB+5]),
S_BRIGHT (DOMB, 'F', 4, NULL , &States[S_CDOMB+6]),
S_BRIGHT (DOMB, 'G', 4, NULL , &States[S_CDOMB+7]),
S_BRIGHT (DOMB, 'H', 4, NULL , &States[S_CDOMB+8]),
S_BRIGHT (DOMB, 'I', 4, NULL , &States[S_CDOMB+9]),
S_BRIGHT (DOMB, 'J', 4, NULL , &States[S_CDOMB+10]),
S_BRIGHT (DOMB, 'K', 4, NULL , &States[S_CDOMB+11]),
S_BRIGHT (DOMB, 'L', 4, NULL , &States[S_CDOMB+12]),
S_BRIGHT (DOMB, 'M', 4, NULL , &States[S_CDOMB+13]),
S_BRIGHT (DOMB, 'N', 4, NULL , &States[S_CDOMB+14]),
S_BRIGHT (DOMB, 'O', 4, NULL , &States[S_CDOMB+15]),
S_BRIGHT (DOMB, 'P', 4, NULL , &States[S_CDOMB+16]),
S_BRIGHT (DOMB, 'Q', 4, NULL , &States[S_CDOMB+17]),
S_BRIGHT (DOMB, 'R', 4, NULL , &States[S_CDOMB+18]),
S_BRIGHT (DOMB, 'S', 4, NULL , &States[S_CDOMB+19]),
S_BRIGHT (DOMB, 'T', 4, NULL , &States[S_CDOMB+20]),
S_BRIGHT (DOMB, 'U', 4, NULL , &States[S_CDOMB+21]),
S_BRIGHT (DOMB, 'V', 4, NULL , &States[S_CDOMB+22]),
S_BRIGHT (DOMB, 'W', 4, NULL , &States[S_CDOMB+23]),
S_BRIGHT (DOMB, 'X', 4, NULL , &States[S_CDOMB])
};
------------------------------------------------------------------------
//========== Domination Point C (ZDaemon)
IMPLEMENT_ACTOR (ADomPointC, Any, 5137, 0)
PROP_RadiusFixed (30)
PROP_HeightFixed (60)
PROP_Flags (MF_SPECIAL|MF_NOTDMATCH|MF_INTEAMMODES)
PROP_Flags5 (MF5_HEIGHTTOUCH)
PROP_Translation (TRANSLATION_DomPoints,2)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (TRANSLUC75)
PROP_SpawnState (S_CDOMC)
PROP_SeeState (S_CDOMC)
PROP_PainState (S_CDOMC)
END_DEFAULTS
FState ADomPointC::States[] =
{
#define S_CDOMC 0
S_BRIGHT (DOMC, 'A', 4, NULL , &States[S_CDOMC+1]),
S_BRIGHT (DOMC, 'B', 4, NULL , &States[S_CDOMC+2]),
S_BRIGHT (DOMC, 'C', 4, NULL , &States[S_CDOMC+3]),
S_BRIGHT (DOMC, 'D', 4, NULL , &States[S_CDOMC+4]),
S_BRIGHT (DOMC, 'E', 4, NULL , &States[S_CDOMC+5]),
S_BRIGHT (DOMC, 'F', 4, NULL , &States[S_CDOMC+6]),
S_BRIGHT (DOMC, 'G', 4, NULL , &States[S_CDOMC+7]),
S_BRIGHT (DOMC, 'H', 4, NULL , &States[S_CDOMC+8]),
S_BRIGHT (DOMC, 'I', 4, NULL , &States[S_CDOMC+9]),
S_BRIGHT (DOMC, 'J', 4, NULL , &States[S_CDOMC+10]),
S_BRIGHT (DOMC, 'K', 4, NULL , &States[S_CDOMC+11]),
S_BRIGHT (DOMC, 'L', 4, NULL , &States[S_CDOMC+12]),
S_BRIGHT (DOMC, 'M', 4, NULL , &States[S_CDOMC+13]),
S_BRIGHT (DOMC, 'N', 4, NULL , &States[S_CDOMC+14]),
S_BRIGHT (DOMC, 'O', 4, NULL , &States[S_CDOMC+15]),
S_BRIGHT (DOMC, 'P', 4, NULL , &States[S_CDOMC+16]),
S_BRIGHT (DOMC, 'Q', 4, NULL , &States[S_CDOMC+17]),
S_BRIGHT (DOMC, 'R', 4, NULL , &States[S_CDOMC+18]),
S_BRIGHT (DOMC, 'S', 4, NULL , &States[S_CDOMC+19]),
S_BRIGHT (DOMC, 'T', 4, NULL , &States[S_CDOMC+20]),
S_BRIGHT (DOMC, 'U', 4, NULL , &States[S_CDOMC+21]),
S_BRIGHT (DOMC, 'V', 4, NULL , &States[S_CDOMC+22]),
S_BRIGHT (DOMC, 'W', 4, NULL , &States[S_CDOMC+23]),
S_BRIGHT (DOMC, 'X', 4, NULL , &States[S_CDOMC])
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASpark, Any, 9026, 0)
PROP_Flags (MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (APointPusher, Any, 5001, 0)
PROP_Flags (MF_NOBLOCKMAP)
PROP_RenderFlags (RF_INVISIBLE)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (APointPuller, Any, 5002, 0)
PROP_Flags (MF_NOBLOCKMAP)
PROP_RenderFlags (RF_INVISIBLE)
END_DEFAULTS
------------------------------------------------------------------------
//========== Teleport Fog
IMPLEMENT_ACTOR (ATeleportFog, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_Add)
END_DEFAULTS
FState ATeleportFog::States[] =
{
#define S_DTFOG 0
S_BRIGHT (TFOG, 'A', 6, NULL, &States[S_DTFOG+1]),
S_BRIGHT (TFOG, 'B', 6, NULL, &States[S_DTFOG+2]),
S_BRIGHT (TFOG, 'A', 6, NULL, &States[S_DTFOG+3]),
S_BRIGHT (TFOG, 'B', 6, NULL, &States[S_DTFOG+4]),
S_BRIGHT (TFOG, 'C', 6, NULL, &States[S_DTFOG+5]),
S_BRIGHT (TFOG, 'D', 6, NULL, &States[S_DTFOG+6]),
S_BRIGHT (TFOG, 'E', 6, NULL, &States[S_DTFOG+7]),
S_BRIGHT (TFOG, 'F', 6, NULL, &States[S_DTFOG+8]),
S_BRIGHT (TFOG, 'G', 6, NULL, &States[S_DTFOG+9]),
S_BRIGHT (TFOG, 'H', 6, NULL, &States[S_DTFOG+10]),
S_BRIGHT (TFOG, 'I', 6, NULL, &States[S_DTFOG+11]),
S_BRIGHT (TFOG, 'J', 6, NULL, NULL),
#define S_HTFOG (S_DTFOG+12)
S_BRIGHT (TELE, 'A', 6, NULL, &States[S_HTFOG+1]),
S_BRIGHT (TELE, 'B', 6, NULL, &States[S_HTFOG+2]),
S_BRIGHT (TELE, 'C', 6, NULL, &States[S_HTFOG+3]),
S_BRIGHT (TELE, 'D', 6, NULL, &States[S_HTFOG+4]),
S_BRIGHT (TELE, 'E', 6, NULL, &States[S_HTFOG+5]),
S_BRIGHT (TELE, 'F', 6, NULL, &States[S_HTFOG+6]),
S_BRIGHT (TELE, 'G', 6, NULL, &States[S_HTFOG+7]),
S_BRIGHT (TELE, 'H', 6, NULL, &States[S_HTFOG+8]),
S_BRIGHT (TELE, 'G', 6, NULL, &States[S_HTFOG+9]),
S_BRIGHT (TELE, 'F', 6, NULL, &States[S_HTFOG+10]),
S_BRIGHT (TELE, 'E', 6, NULL, &States[S_HTFOG+11]),
S_BRIGHT (TELE, 'D', 6, NULL, &States[S_HTFOG+12]),
S_BRIGHT (TELE, 'C', 6, NULL, NULL),
};
------------------------------------------------------------------------
//========== Teleport destination
IMPLEMENT_STATELESS_ACTOR (ATeleportDest, Any, 14, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR)
END_DEFAULTS
------------------------------------------------------------------------
//========== Teleport dest that can spawn above floor
IMPLEMENT_STATELESS_ACTOR (ATeleportDest2, Any, 9044, 0)
PROP_FlagsSet (MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
//========== Z-preserving dest subject to gravity (for TeleportGroup, etc.)
IMPLEMENT_STATELESS_ACTOR (ATeleportDest3, Any, 9043, 0)
PROP_FlagsClear (MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AAmbientSound, Any, 14065, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AIceChunk, Any, -1, 0)
PROP_RadiusFixed(3)
PROP_HeightFixed(4)
PROP_Flags(MF_DROPOFF)
PROP_Flags2(MF2_LOGRAV|MF2_CANNOTPUSH|MF2_FLOORCLIP)
PROP_SpawnState(0)
END_DEFAULTS
FState AIceChunk::States[] =
{
S_NORMAL1 (ICEC, 'A', 10, NULL , &States[1]),
S_NORMAL1 (ICEC, 'B', 10, A_IceSetTics, &States[2]),
S_NORMAL1 (ICEC, 'C', 10, A_IceSetTics, &States[3]),
S_NORMAL1 (ICEC, 'D', 10, A_IceSetTics, NULL),
};
------------------------------------------------------------------------
//========== A chunk of ice that is also a player
IMPLEMENT_ACTOR (AIceChunkHead, Any, -1, 0)
PROP_RadiusFixed (3)
PROP_HeightFixed (4)
PROP_DamageType (MOD_ICE)
PROP_Flags (MF_DROPOFF)
PROP_Flags2 (MF2_LOGRAV|MF2_CANNOTPUSH)
PROP_SpawnState (0)
END_DEFAULTS
FState AIceChunkHead::States[] =
{
S_NORMAL1 (PLAY, 'A', 0, NULL , &States[1]),
S_NORMAL1 (ICEC, 'A', 10, A_IceCheckHeadDone, &States[1])
};
------------------------------------------------------------------------
//========== Bridge ball
IMPLEMENT_ACTOR (ABridgeBall, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_Flags2 (MF2_NOTELEPORT)
PROP_SpawnState (0)
END_DEFAULTS
FState ABridgeBall::States[] =
{
S_NORMAL1 (TLGL, 'A', 2, NULL , &States[1]),
S_NORMAL1 (TLGL, 'A', 5, A_BridgeOrbit, &States[1])
};
------------------------------------------------------------------------
//========== The bridge itself
IMPLEMENT_ACTOR (ABridge, Any, 118, 21)
PROP_Flags (MF_SOLID|MF_NOGRAVITY)
END_DEFAULTS
FState ABridge::States[] =
{
#define S_DBRIDGE 0
S_BRIGHT (TLGL, 'A', 4, NULL , &States[S_DBRIDGE+1]),
S_BRIGHT (TLGL, 'B', 4, NULL , &States[S_DBRIDGE+2]),
S_BRIGHT (TLGL, 'C', 4, NULL , &States[S_DBRIDGE+3]),
S_BRIGHT (TLGL, 'D', 4, NULL , &States[S_DBRIDGE+4]),
S_BRIGHT (TLGL, 'E', 4, NULL , &States[S_DBRIDGE+0]),
#define S_BRIDGE (S_DBRIDGE+5)
S_NORMAL1 (TLGL, 'A', 2, NULL , &States[S_BRIDGE+1]),
S_NORMAL1 (TLGL, 'A', 2, A_BridgeInit , &States[S_BRIDGE+2]),
S_NORMAL1 (TLGL, 'A', -1, NULL , NULL),
#define S_FREE_BRIDGE (S_BRIDGE+3)
S_NORMAL1 (TLGL, 'A', 2, NULL , &States[S_FREE_BRIDGE+1]),
S_NORMAL1 (TLGL, 'A', 300, NULL , NULL)
};
------------------------------------------------------------------------
//========== Invisible bridge
IMPLEMENT_ACTOR (AInvisibleBridge, Any, 9990, 0)
PROP_RenderStyle (STYLE_None)
PROP_SpawnState (0)
PROP_RadiusFixed (32)
PROP_HeightFixed (4)
PROP_Flags4 (MF4_ACTLIKEBRIDGE)
END_DEFAULTS
FState AInvisibleBridge::States[] =
{
S_NORMAL1 (TNT1, 'A', -1, NULL, NULL)
};
------------------------------------------------------------------------
//========== And some invisible bridges from Skull Tag
IMPLEMENT_STATELESS_ACTOR (AInvisibleBridge32, Any, 5061, 0)
PROP_RadiusFixed (32)
PROP_HeightFixed (8)
END_DEFAULTS
------------------------------------------------------------------------
//========== And some invisible bridges from Skull Tag
IMPLEMENT_STATELESS_ACTOR (AInvisibleBridge16, Any, 5064, 0)
PROP_RadiusFixed (16)
PROP_HeightFixed (8)
END_DEFAULTS
------------------------------------------------------------------------
//========== And some invisible bridges from Skull Tag
IMPLEMENT_STATELESS_ACTOR (AInvisibleBridge8, Any, 5065, 0)
PROP_RadiusFixed (8)
PROP_HeightFixed (8)
END_DEFAULTS
------------------------------------------------------------------------
//========== Holds a special to execute when a PathFollower reaches an InterpolationPoint of the same TID.
IMPLEMENT_STATELESS_ACTOR (AInterpolationSpecial, Any, 9075, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR)
END_DEFAULTS
------------------------------------------------------------------------
//========== Moves any actor along a camera path
IMPLEMENT_STATELESS_ACTOR (AActorMover, Any, 9074, 0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASecretTrigger, Any, 9046, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASkyPicker, Any, 9081, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASectorSilencer, Any, 9082, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_None)
END_DEFAULTS
------------------------------------------------------------------------
//========== Actor that makes a particle spark when activated
IMPLEMENT_STATELESS_ACTOR (ASpark, Any, 9026, 0)
PROP_Flags (MF_NOSECTOR|MF_NOBLOCKMAP|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
//========== Actor that makes BOOM deep water swimmable
IMPLEMENT_STATELESS_ACTOR (AWaterZone, Any, 9045, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AWaterSplash, Any, -1, 0)
PROP_RadiusFixed (2)
PROP_HeightFixed (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF)
PROP_Flags2 (MF2_NOTELEPORT|MF2_LOGRAV|MF2_CANNOTPUSH)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (S_SPLASH)
PROP_DeathState (S_SPLASHX)
END_DEFAULTS
FState AWaterSplash::States[] =
{
#define S_SPLASH 0
S_NORMAL1 (SPSH, 'A', 8, NULL, &States[1]),
S_NORMAL1 (SPSH, 'B', 8, NULL, &States[2]),
S_NORMAL1 (SPSH, 'C', 8, NULL, &States[3]),
S_NORMAL1 (SPSH, 'D', 16, NULL, NULL),
#define S_SPLASHX (S_SPLASH+4)
S_NORMAL1 (SPSH, 'D', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AWaterSplashBase, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
END_DEFAULTS
FState AWaterSplashBase::States[] =
{
S_NORMAL1 (SPSH, 'E', 5, NULL, &States[1]),
S_NORMAL1 (SPSH, 'F', 5, NULL, &States[2]),
S_NORMAL1 (SPSH, 'G', 5, NULL, &States[3]),
S_NORMAL1 (SPSH, 'H', 5, NULL, &States[4]),
S_NORMAL1 (SPSH, 'I', 5, NULL, &States[5]),
S_NORMAL1 (SPSH, 'J', 5, NULL, &States[6]),
S_NORMAL1 (SPSH, 'K', 5, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ALavaSplash, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
END_DEFAULTS
FState ALavaSplash::States[] =
{
S_BRIGHT (LVAS, 'A', 5, NULL, &States[1]),
S_BRIGHT (LVAS, 'B', 5, NULL, &States[2]),
S_BRIGHT (LVAS, 'C', 5, NULL, &States[3]),
S_BRIGHT (LVAS, 'D', 5, NULL, &States[4]),
S_BRIGHT (LVAS, 'E', 5, NULL, &States[5]),
S_BRIGHT (LVAS, 'F', 5, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ALavaSmoke, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP)
PROP_RenderStyle (STYLE_Translucent)
PROP_Alpha (gameinfo.gametype==GAME_Heretic?HR_SHADOW:HX_SHADOW)
PROP_SpawnState (0)
END_DEFAULTS
FState ALavaSmoke::States[] =
{
S_BRIGHT (LVAS, 'G', 5, NULL, &States[1]),
S_BRIGHT (LVAS, 'H', 5, NULL, &States[2]),
S_BRIGHT (LVAS, 'I', 5, NULL, &States[3]),
S_BRIGHT (LVAS, 'J', 5, NULL, &States[4]),
S_BRIGHT (LVAS, 'K', 5, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASludgeChunk, Any, -1, 0)
PROP_RadiusFixed (2)
PROP_HeightFixed (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF)
PROP_Flags2 (MF2_NOTELEPORT|MF2_LOGRAV|MF2_CANNOTPUSH)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (S_SLUDGECHUNK)
PROP_DeathState (S_SLUDGECHUNKX)
END_DEFAULTS
FState ASludgeChunk::States[] =
{
#define S_SLUDGECHUNK 0
S_NORMAL1 (SLDG, 'A', 8, NULL, &States[1]),
S_NORMAL1 (SLDG, 'B', 8, NULL, &States[2]),
S_NORMAL1 (SLDG, 'C', 8, NULL, &States[3]),
S_NORMAL1 (SLDG, 'D', 8, NULL, NULL),
#define S_SLUDGECHUNKX (S_SLUDGECHUNK+4)
S_NORMAL1 (SLDG, 'D', 6, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASludgeSplash, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
END_DEFAULTS
FState ASludgeSplash::States[] =
{
S_NORMAL1 (SLDG, 'E', 6, NULL, &States[1]),
S_NORMAL1 (SLDG, 'F', 6, NULL, &States[2]),
S_NORMAL1 (SLDG, 'G', 6, NULL, &States[3]),
S_NORMAL1 (SLDG, 'H', 6, NULL, NULL)
};
------------------------------------------------------------------------
//========== Blood (water with a different sprite)
IMPLEMENT_ACTOR (ABloodSplash, Any, -1, 0)
PROP_RadiusFixed (2)
PROP_HeightFixed (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF)
PROP_Flags2 (MF2_NOTELEPORT|MF2_LOGRAV|MF2_CANNOTPUSH)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
PROP_DeathState (4)
END_DEFAULTS
FState ABloodSplash::States[] =
{
S_NORMAL1 (BSPH, 'A', 8, NULL, &States[1]),
S_NORMAL1 (BSPH, 'B', 8, NULL, &States[2]),
S_NORMAL1 (BSPH, 'C', 8, NULL, &States[3]),
S_NORMAL1 (BSPH, 'D', 16, NULL, NULL),
S_NORMAL1 (BSPH, 'D', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ABloodSplashBase, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
END_DEFAULTS
FState ABloodSplashBase::States[] =
{
S_NORMAL1 (BSPH, 'E', 5, NULL, &States[1]),
S_NORMAL1 (BSPH, 'F', 5, NULL, &States[2]),
S_NORMAL1 (BSPH, 'G', 5, NULL, &States[3]),
S_NORMAL1 (BSPH, 'H', 5, NULL, &States[4]),
S_NORMAL1 (BSPH, 'I', 5, NULL, &States[5]),
S_NORMAL1 (BSPH, 'J', 5, NULL, &States[6]),
S_NORMAL1 (BSPH, 'K', 5, NULL, NULL)
};
------------------------------------------------------------------------
//========== Slime (sludge with a different sprite)
IMPLEMENT_ACTOR (ASlimeChunk, Any, -1, 0)
PROP_RadiusFixed (2)
PROP_HeightFixed (4)
PROP_Flags (MF_NOBLOCKMAP|MF_MISSILE|MF_DROPOFF)
PROP_Flags2 (MF2_NOTELEPORT|MF2_LOGRAV|MF2_CANNOTPUSH)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
PROP_DeathState (4)
END_DEFAULTS
FState ASlimeChunk::States[] =
{
S_NORMAL1 (SLIM, 'A', 8, NULL, &States[1]),
S_NORMAL1 (SLIM, 'B', 8, NULL, &States[2]),
S_NORMAL1 (SLIM, 'C', 8, NULL, &States[3]),
S_NORMAL1 (SLIM, 'D', 8, NULL, NULL),
S_NORMAL1 (SLIM, 'D', 6, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR (ASlimeSplash, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY)
PROP_Flags3 (MF3_DONTSPLASH)
PROP_SpawnState (0)
END_DEFAULTS
FState ASlimeSplash::States[] =
{
S_NORMAL1 (SLIM, 'E', 6, NULL, &States[1]),
S_NORMAL1 (SLIM, 'F', 6, NULL, &States[2]),
S_NORMAL1 (SLIM, 'G', 6, NULL, &States[3]),
S_NORMAL1 (SLIM, 'H', 6, NULL, NULL)
};
------------------------------------------------------------------------
//========== The base class for sector actions
IMPLEMENT_STATELESS_ACTOR (ASectorAction, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when entering sector
IMPLEMENT_STATELESS_ACTOR (ASecActEnter, Any, 9998, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when leaving sector
IMPLEMENT_STATELESS_ACTOR (ASecActExit, Any, 9997, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when hitting sector's floor
IMPLEMENT_STATELESS_ACTOR (ASecActHitFloor, Any, 9999, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when hitting sector's ceiling
IMPLEMENT_STATELESS_ACTOR (ASecActHitCeil, Any, 9996, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when using inside sector
IMPLEMENT_STATELESS_ACTOR (ASecActUse, Any, 9995, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when using a sector's wall
IMPLEMENT_STATELESS_ACTOR (ASecActUseWall, Any, 9994, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when eyes go below fake floor
IMPLEMENT_STATELESS_ACTOR (ASecActEyesDive, Any, 9993, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when eyes go above fake floor
IMPLEMENT_STATELESS_ACTOR (ASecActEyesSurface, Any, 9992, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when eyes go below fake floor
IMPLEMENT_STATELESS_ACTOR (ASecActEyesBelowC, Any, 9983, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Triggered when eyes go above fake floor
IMPLEMENT_STATELESS_ACTOR (ASecActEyesAboveC, Any, 9982, 0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AParticleFountain, Any, -1, 0)
PROP_HeightFixed (0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderFlags (RF_INVISIBLE)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ARedParticleFountain, Any, 9027, 0)
PROP_SpawnHealth (1)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AGreenParticleFountain, Any, 9028, 0)
PROP_SpawnHealth (2)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ABlueParticleFountain, Any, 9029, 0)
PROP_SpawnHealth (3)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AYellowParticleFountain, Any, 9030, 0)
PROP_SpawnHealth (4)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (APurpleParticleFountain, Any, 9031, 0)
PROP_SpawnHealth (5)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ABlackParticleFountain, Any, 9032, 0)
PROP_SpawnHealth (6)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AWhiteParticleFountain, Any, 9033, 0)
PROP_SpawnHealth (7)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ASecurityCamera, Any, 9025, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_None)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AAimingCamera, Any, 9073, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Default actor for unregistered doomednums
IMPLEMENT_ACTOR (AUnknown, Any, -1, 0)
PROP_RadiusFixed (32)
PROP_HeightFixed (56)
PROP_Flags (MF_NOGRAVITY|MF_NOBLOCKMAP)
PROP_SpawnState (0)
END_DEFAULTS
FState AUnknown::States[] =
{
S_NORMAL1 (UNKN, 'A', -1, NULL , NULL)
};
------------------------------------------------------------------------
//========== Route node for monster patrols
IMPLEMENT_STATELESS_ACTOR (APatrolPoint, Any, 9024, 0)
PROP_RadiusFixed (8)
PROP_HeightFixed (8)
PROP_Mass (10)
PROP_Flags (MF_NOBLOCKMAP)
PROP_RenderStyle (STYLE_None)
END_DEFAULTS
------------------------------------------------------------------------
// A special to execute when a monster reaches a matching patrol point
IMPLEMENT_STATELESS_ACTOR (APatrolSpecial, Any, 9047, 0)
PROP_RadiusFixed (8)
PROP_HeightFixed (8)
PROP_Mass (10)
PROP_Flags (MF_NOBLOCKMAP)
PROP_RenderStyle (STYLE_None)
END_DEFAULTS
------------------------------------------------------------------------
//========== Blood sprite - adjusts itself for each game
IMPLEMENT_ACTOR (ABlood, Any, -1, 130)
PROP_Flags (MF_NOBLOCKMAP)
PROP_Mass (5)
END_DEFAULTS
FState ABlood::States[] =
{
#define S_DBLOOD 0
S_NORMAL1 (BLUD, 'C', 8, NULL , &States[S_DBLOOD+1]),
S_NORMAL1 (BLUD, 'B', 8, NULL , &States[S_DBLOOD+2]),
S_NORMAL1 (BLUD, 'A', 8, NULL , NULL),
#define S_HBLOOD (S_DBLOOD+3)
S_NORMAL1 (BLOD, 'C', 8, NULL , &States[S_HBLOOD+1]),
S_NORMAL1 (BLOD, 'B', 8, NULL , &States[S_HBLOOD+2]),
S_NORMAL1 (BLOD, 'A', 8, NULL , NULL)
};
------------------------------------------------------------------------
//========== Map spot
IMPLEMENT_STATELESS_ACTOR (AMapSpot, Any, 9001, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
PROP_RenderStyle (STYLE_None)
END_DEFAULTS
------------------------------------------------------------------------
//========== Map spot with gravity
IMPLEMENT_STATELESS_ACTOR (AMapSpotGravity, Any, 9013, 0)
PROP_Flags (0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Bloody gibs
IMPLEMENT_ACTOR (ARealGibs, Any, -1, 0)
PROP_Flags (MF_DROPOFF|MF_CORPSE)
PROP_Flags2 (MF2_NOTELEPORT)
PROP_Flags3 (MF3_DONTGIB)
END_DEFAULTS
FState ARealGibs::States[] =
{
S_NORMAL1 (POL5, 'A', -1, NULL, NULL),
S_NORMAL1 (GIBS, 'A', -1, NULL, NULL),
};
------------------------------------------------------------------------
//========== Gibs that can be placed on a map
IMPLEMENT_STATELESS_ACTOR (AGibs, Doom, 24, 146)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AWeapon, Any, -1, 0)
PROP_PickupSound ("misc/w_pkup")
END_DEFAULTS
FState AWeapon::States[] =
{
S_NORMAL1 (SHTG, 'E', 0, A_Light0 , NULL)
};
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AHealth, Any, -1, 0)
PROP_PickupSound ("misc/health_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AArmor, Any, -1, 0)
PROP_PickupSound ("misc/armor_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AAmmo, Any, -1, 0)
PROP_PickupSound ("misc/ammo_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AInventory, Any, -1, 0)
PROP_PickupSound ("misc/i_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR (AArtifact, Any, -1, 0)
PROP_PickupSound ("misc/p_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AKey, Any, -1, 0)
PROP_PickupSound ("misc/k_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AHexenArmor, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Player Speed Trail (used by the Speed Powerup)
IMPLEMENT_STATELESS_ACTOR (APlayerSpeedTrail, Any, -1, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOGRAVITY)
PROP_Alpha (FRACUNIT*6/10)
PROP_RenderStyle (STYLE_Translucent)
END_DEFAULTS
------------------------------------------------------------------------
//========== Invulnerability Powerup
IMPLEMENT_STATELESS_ACTOR (APowerInvulnerable, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Strength (aka Berserk) Powerup
IMPLEMENT_STATELESS_ACTOR (APowerStrength, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Invisibility Powerup
IMPLEMENT_STATELESS_ACTOR (APowerInvisibility, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Ghost Powerup (Heretic's version of invisibility)
IMPLEMENT_STATELESS_ACTOR (APowerGhost, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Shadow Powerup (Strife's version of invisibility)
IMPLEMENT_STATELESS_ACTOR (APowerShadow, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Ironfeet Powerup
IMPLEMENT_STATELESS_ACTOR (APowerIronFeet, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Strife Environment Suit Powerup
IMPLEMENT_STATELESS_ACTOR (APowerMask, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Light-Amp Powerup
IMPLEMENT_STATELESS_ACTOR (APowerLightAmp, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Torch Powerup
IMPLEMENT_STATELESS_ACTOR (APowerTorch, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Flight (aka Wings of Wrath) powerup
IMPLEMENT_STATELESS_ACTOR (APowerFlight, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Weapon Level 2 (aka Tome of Power) Powerup
IMPLEMENT_STATELESS_ACTOR (APowerWeaponLevel2, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Speed Powerup
IMPLEMENT_STATELESS_ACTOR (APowerSpeed, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Minotaur (aka Dark Servant) powerup
IMPLEMENT_STATELESS_ACTOR (APowerMinotaur, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Targeter powerup
IMPLEMENT_ACTOR (APowerTargeter, Any, -1, 0)
END_DEFAULTS
FState APowerTargeter::States[] =
{
S_NORMAL1 (TRGT, 'A', -1, NULL, NULL),
S_NORMAL1 (TRGT, 'B', -1, NULL, NULL),
S_NORMAL1 (TRGT, 'C', -1, NULL, NULL)
};
------------------------------------------------------------------------
//========== Scanner powerup
IMPLEMENT_STATELESS_ACTOR (APowerScanner, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
//========== Powerup-Giver
IMPLEMENT_STATELESS_ACTOR (APowerupGiver, Any, -1, 0)
PROP_PickupSound("misc/p_pkup")
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (ADecal, Any, 9200, 0)
PROP_Flags (MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOGRAVITY)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_STATELESS_ACTOR (AImpactDecal, Any, -1, 0)
END_DEFAULTS
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ARock1, Any, -1, 41)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ARock1::States[2] =
{
S_NORMAL1 (ROCK, 'A', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'A', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ARock2, Any, -1, 42)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ARock2::States[2] =
{
S_NORMAL1 (ROCK, 'B', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'B', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ARock3, Any, -1, 43)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ARock3::States[2] =
{
S_NORMAL1 (ROCK, 'C', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'C', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt1, Any, -1, 44)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt1::States[2] =
{
S_NORMAL1 (ROCK, 'D', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'D', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt2, Any, -1, 45)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt2::States[2] =
{
S_NORMAL1 (ROCK, 'E', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'E', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt3, Any, -1, 46)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt3::States[2] =
{
S_NORMAL1 (ROCK, 'F', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'F', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt4, Any, -1, 47)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt4::States[2] =
{
S_NORMAL1 (ROCK, 'G', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'G', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt5, Any, -1, 48)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt5::States[2] =
{
S_NORMAL1 (ROCK, 'H', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'H', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ADirt6, Any, -1, 49)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE)
PROP_Flags2(MF2_NOTELEPORT)
END_DEFAULTS
FState ADirt6::States[2] =
{
S_NORMAL1 (ROCK, 'I', 20, NULL, &States[0]),
S_NORMAL1 (ROCK, 'I', 10, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard1, Any, -1, 54)
PROP_DeathState(5)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard1::States[6] =
{
S_NORMAL1 (SGSA, 'A', 4, NULL, &States[1]),
S_NORMAL1 (SGSA, 'B', 4, NULL, &States[2]),
S_NORMAL1 (SGSA, 'C', 4, NULL, &States[3]),
S_NORMAL1 (SGSA, 'D', 4, NULL, &States[4]),
S_NORMAL1 (SGSA, 'E', 4, NULL, &States[0]),
S_NORMAL1 (SGSA, 'E', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard2, Any, -1, 55)
PROP_DeathState(5)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard2::States[6] =
{
S_NORMAL1 (SGSA, 'F', 4, NULL, &States[1]),
S_NORMAL1 (SGSA, 'G', 4, NULL, &States[2]),
S_NORMAL1 (SGSA, 'H', 4, NULL, &States[3]),
S_NORMAL1 (SGSA, 'I', 4, NULL, &States[4]),
S_NORMAL1 (SGSA, 'J', 4, NULL, &States[0]),
S_NORMAL1 (SGSA, 'J', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard3, Any, -1, 56)
PROP_DeathState(5)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard3::States[6] =
{
S_NORMAL1 (SGSA, 'K', 4, NULL, &States[1]),
S_NORMAL1 (SGSA, 'L', 4, NULL, &States[2]),
S_NORMAL1 (SGSA, 'M', 4, NULL, &States[3]),
S_NORMAL1 (SGSA, 'N', 4, NULL, &States[4]),
S_NORMAL1 (SGSA, 'O', 4, NULL, &States[0]),
S_NORMAL1 (SGSA, 'O', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard4, Any, -1, 57)
PROP_DeathState(5)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard4::States[6] =
{
S_NORMAL1 (SGSA, 'P', 4, NULL, &States[1]),
S_NORMAL1 (SGSA, 'Q', 4, NULL, &States[2]),
S_NORMAL1 (SGSA, 'R', 4, NULL, &States[3]),
S_NORMAL1 (SGSA, 'S', 4, NULL, &States[4]),
S_NORMAL1 (SGSA, 'T', 4, NULL, &States[0]),
S_NORMAL1 (SGSA, 'T', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard5, Any, -1, 58)
PROP_DeathState(5)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard5::States[6] =
{
S_NORMAL1 (SGSA, 'U', 4, NULL, &States[1]),
S_NORMAL1 (SGSA, 'V', 4, NULL, &States[2]),
S_NORMAL1 (SGSA, 'W', 4, NULL, &States[3]),
S_NORMAL1 (SGSA, 'X', 4, NULL, &States[4]),
S_NORMAL1 (SGSA, 'Y', 4, NULL, &States[0]),
S_NORMAL1 (SGSA, 'Y', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard6, Any, -1, 59)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard6::States[2] =
{
S_NORMAL1 (SGSB, 'A', 4, NULL, &States[0]),
S_NORMAL1 (SGSB, 'A', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard7, Any, -1, 60)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard7::States[2] =
{
S_NORMAL1 (SGSB, 'B', 4, NULL, &States[0]),
S_NORMAL1 (SGSB, 'B', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard8, Any, -1, 61)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard8::States[2] =
{
S_NORMAL1 (SGSB, 'C', 4, NULL, &States[0]),
S_NORMAL1 (SGSB, 'C', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard9, Any, -1, 62)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard9::States[2] =
{
S_NORMAL1 (SGSB, 'D', 4, NULL, &States[0]),
S_NORMAL1 (SGSB, 'D', 30, NULL, NULL)
};
------------------------------------------------------------------------
IMPLEMENT_ACTOR(ASGShard0, Any, -1, 63)
PROP_DeathState(1)
PROP_SpawnState(0)
PROP_RadiusFixed(5)
PROP_Flags(MF_NOBLOCKMAP|MF_DROPOFF|MF_MISSILE|MF_NOGRAVITY)
PROP_Flags2(MF2_NOTELEPORT|MF2_HEXENBOUNCE)
END_DEFAULTS
FState ASGShard0::States[2] =
{
S_NORMAL1 (SGSB, 'E', 4, NULL, &States[0]),
S_NORMAL1 (SGSB, 'E', 30, NULL, NULL)
};
------------------------------------------------------------------------