|
------------------------------------------------------------------------ //========== 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) }; ------------------------------------------------------------------------