
//==============================================================================
//		STEALTH MONSTERS OF FUCK YOU
//==============================================================================

actor RLStealthZombieman : RLFormerHumanBattleRifle
{
    +STEALTH
}

actor RLStealthShotgunguy : RLFormerSergeantShotgun
{
    +STEALTH
}

actor RLStealthChaingunguy : RLFormerCommandoChaingun
{
    +STEALTH
}

actor RLStealthDoomImp : RLImp
{
    +STEALTH
}

actor RLStealthDemon : RLDemon
{
    +STEALTH
}

actor RLStealthCacodemon : RLCacodemon
{
    +STEALTH
}

actor RLStealthHellKnight : RLHellKnight
{
    +STEALTH
}

actor RLStealthBaronOfHell : RLBaronOfHell
{
    +STEALTH
}

actor RLStealthArachnotron : RLArachnotron
{
    +STEALTH
}

actor RLStealthRevenant : RLRevenant
{
    +STEALTH
}

actor RLStealthMancubus : RLMancubus
{
    +STEALTH
}

actor RLStealthArchvile : RLArchvile
{
    +STEALTH
}

ACTOR RLStealthMonsterSpawner
{
    Radius 16
    Height 56
	+NOBLOCKMAP
	+NOTIMEFREEZE
	+NOTONAUTOMAP
	States
	{
    Spawn:
	    TNT1 A 0
		TNT1 A 0 A_JumpIf(CallACS("DRLA_MonsterpackCheck"), "MonsterPackSpawnCheck")
		TNT1 A 0 A_Jump(256, "SpawnCheck")
		Goto SpawnCheck
		
	SpawnCheck:
		TNT1 A 0 A_JumpIf(CallACS("DRLA_StealthMonsters") == 1, "SpawnArmageddonMonster")
		TNT1 A 0 A_Jump(256, "SpawnStealthMonster")
		Goto SpawnStealthMonster
	MonsterPackSpawnCheck:
// Corrupted players are part of Arsenal, so they cannot be used without it
		TNT1 A 0 A_JumpIf(CallACS("DRLA_StealthMonsters") == 1, "SpawnArmageddonMonster")
		TNT1 A 0 A_JumpIf(CallACS("DRLA_StealthMonsters") == 2, "SpawnCorruptedPlayer")
		TNT1 A 0 A_Jump(256, "SpawnStealthMonster")
		Goto SpawnStealthMonster
		
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthZombieman",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLFormerAssaultTrooper",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnCorruptedPlayer:
		TNT1 A 0 A_SpawnItemEx("RLStealthPlayerSpawner",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

actor RLStealthPlayerSpawner : RandomSpawner
{
    DropItem "RLCorruptedMarine1", 255, 1
    DropItem "RLCorruptedScout1", 255, 1
    DropItem "RLCorruptedTechnician1", 255, 1
    DropItem "RLCorruptedRenegade1", 255, 1
    DropItem "RLCorruptedDemolitionist1", 255, 1
}

ACTOR RLStealthZombiemanSpawner : RLStealthMonsterSpawner replaces StealthZombieman
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthZombieman",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLFormerAssaultTrooper",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthShotgunGuySpawner : RLStealthMonsterSpawner replaces StealthShotgunGuy
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthShotgunGuy",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLFormerOverwatch",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthChaingunGuySpawner : RLStealthMonsterSpawner replaces StealthChaingunGuy
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthChaingunGuy",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLFormerShocktrooper",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthDoomImpSpawner : RLStealthMonsterSpawner replaces StealthDoomImp
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthDoomImp",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonImp",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthDemonSpawner : RLStealthMonsterSpawner replaces StealthDemon
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthDemon",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonDemon",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthCacodemonSpawner : RLStealthMonsterSpawner replaces StealthCacodemon
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthCacodemon",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonCacodemon",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthHellKnightSpawner : RLStealthMonsterSpawner replaces StealthHellKnight
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthHellKnight",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLNightmareHellKnight",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthBaronSpawner : RLStealthMonsterSpawner replaces StealthBaron
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthBaronOfHell",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonBaronOfHell",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthArachnotronSpawner : RLStealthMonsterSpawner replaces StealthArachnotron
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthArachnotron",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonArachnotron",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthRevenantSpawner : RLStealthMonsterSpawner replaces StealthRevenant
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthRevenant",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonRevenant",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthFatsoSpawner : RLStealthMonsterSpawner replaces StealthFatso
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthMancubus",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonMancubus",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}

ACTOR RLStealthArchvileSpawner : RLStealthMonsterSpawner replaces StealthArchvile
{
	States
	{
	SpawnStealthMonster:
		TNT1 A 0 A_SpawnItemEx("RLStealthArchvile",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	SpawnArmageddonMonster:
		TNT1 A 0 A_SpawnItemEx("RLArmageddonArchvile",0,0,0,0,0,0,0,SXF_TRANSFERPOINTERS | SXF_TRANSFERAMBUSHFLAG |
		SXF_TRANSFERSPECIAL | SXF_NOCHECKPOSITION, tid)
		Stop
	}
}
