ACTOR Purist : Doomer
{
	Speed 1.0
	Player.DisplayName "Purist"
	Player.StartItem "ClassicPistol"
	Player.StartItem "ClassicFist"
	Player.StartItem "Clip2", 50
	Player.StartItem "IsPlayer", 1
	Player.StartItem "IsPlayingAsPurist", 1
	Player.StartItem "AmmoDroper"
	
	//Player.StartItem "TargetIsAMarine", 1
	Player.StartItem "IsNOTTacticalClass", 1
	DamageFactor "KillMeBot", 0.0
	Species "Marines"
}


ACTOR BDoomer : Doomer
{
	Speed 1.0
	Player.DisplayName "Rifle Start"
	Player.StartItem "Rifle"
	Player.StartItem "Melee_Attacks"
	Player.StartItem "IsPlayer", 1
	Player.StartItem "Clip2", 30
	Player.StartItem "RifleAmmo", 31
	Player.StartItem "BDPistolAmmo", 16
	Player.StartItem "BDDualPistolAmmo", 16
	Player.StartItem "DoubleRifleAmmo", 31
	Player.StartItem "ShotgunAmmo", 10
	Player.StartItem "PlasmaAmmo", 50
	Player.StartItem "DoublePlasmaAmmo", 50
	Player.StartItem "AssaultShotgunAmmo", 20
	Player.StartItem "SSGAmmo", 2
	Player.StartItem "RocketRounds", 6
	Player.StartItem "RailgunAmmo", 50
	Player.StartItem "IsPlayer", 1
	Player.StartItem "HandGrenades", 1
	Player.StartItem "GrenadeAmmo", 2
	Player.StartItem "LeftRifleAmmo", 31
	Player.StartItem "NeverSelectedShotgun", 1
	Player.StartItem "IsNOTTacticalClass", 1
	DamageFactor "KillMeBot", 0.0
	Player.StartItem "AmmoDroper"
	Species "Marines"
}

ACTOR Doomer2 : Doomer
{
	Speed 1.0
	Player.DisplayName "Pistol Start"
	Player.StartItem "BrutalPistol"
	Player.StartItem "Melee_Attacks"
	Player.StartItem "IsPlayer", 1
	Player.StartItem "Clip1", 60
	Player.StartItem "RifleAmmo", 31
	Player.StartItem "BDPistolAmmo", 16
	Player.StartItem "BDDualPistolAmmo", 16
	Player.StartItem "AssaultShotgunAmmo", 20
	Player.StartItem "DoubleRifleAmmo", 31
	Player.StartItem "ShotgunAmmo", 10
	Player.StartItem "PlasmaAmmo", 50
	Player.StartItem "DoublePlasmaAmmo", 50
	Player.StartItem "SSGAmmo", 2
	Player.StartItem "RocketRounds", 6
	Player.StartItem "RailgunAmmo", 50
	Player.StartItem "IsPlayer", 1
	Player.StartItem "HandGrenades", 1
	Player.StartItem "GrenadeAmmo", 2
	Player.StartItem "LeftRifleAmmo", 31
	Player.StartItem "NeverSelectedShotgun", 1
	Player.StartItem "IsNOTTacticalClass", 1
	DamageFactor "KillMeBot", 0.0
	Player.StartItem "AmmoDroper"
	Species "Marines"
}




ACTOR TacticalDoomer : Doomer
{
	Speed 1.2
	Player.RunHealth 9999
	Player.DisplayName "Tactical Mode"
	Player.StartItem "Rifle"
	Player.StartItem "RifleAmmo", 31
	Player.StartItem "DoubleRifleAmmo", 31
	Player.StartItem "BrutalPistol"
	Player.StartItem "Melee_Attacks"
	Player.StartItem "IsPlayer", 1
	Player.StartItem "Clip2", 30
	Player.StartItem "BDPistolAmmo", 16
	Player.StartItem "IsTacticalClass", 1
	Player.StartItem "JustStartedGame", 1
	
	Player.StartItem "ShotgunAmmo", 10
	Player.StartItem "AssaultShotgunAmmo", 20
	Player.StartItem "PlasmaAmmo", 50
	Player.StartItem "SSGAmmo", 2
	Player.StartItem "RocketRounds", 6
	Player.StartItem "RailgunAmmo", 50
	Player.StartItem "HandGrenades", 1
	Player.StartItem "GrenadeAmmo", 1
	Player.StartItem "LeftRifleAmmo", 31
	Player.StartItem "NeverSelectedShotgun", 1
	Player.StartItem "AmmoDroper"
	Species "Marines"
}	   


actor ChaseCam2
{
  height 0
  radius 0
  +NOGRAVITY
  states
  {
  Spawn:
    NULL A -1
    stop
  }
}

ACTOR FootStep
{
    Radius 10
    Height 10
    Speed 7
	Projectile
	-NOGRAVITY
	+MISSILE
    +NOTELEPORT
    +CLIENTSIDEONLY
    +MOVEWITHSECTOR
    +NOEXTREMEDEATH
    DamageType Trample
    Damage 0
	+NODAMAGETHRUST
	+BLOODLESSIMPACT 
	+THRUACTORS
	gravity 1
	mass 1000
    Obituary "%o was stomped to death by %k."
	States
		{
		Spawn:
			NULL A 2
			NULL A 1 //A_Explode(10,4,0)
			stop
        Death:
            NULL A 1
			NULL A 1 //A_Explode(10,4,0)
            Stop
         }
}

Actor Footstep5: FootStep
{
    Damage 0
    -CLIENTSIDEONLY
}

Actor Footstep6: FootStep //ACTUAL FOOTSTEP
{
    Damage (random (4, 5))
    -CLIENTSIDEONLY
	-DONTSPLASH
	-EXPLODEONWATER
	-THRUACTORS
	mass 500
	Height 12
	Radius 8
	States
		{
		Spawn:
			NULL A 0
			NULL A 0 ThrustThingZ(0, 10, 1, 1)
			NULL A 1 //A_Explode(10,4,0)
			NULL A 1
			Stop
        Death:
            NULL A 0
			TNT1 A 0 ACS_ExecuteAlways(374)//Check Floortype
			TNT1 A 0 ACS_ExecuteAlways(724)//Check Footsteps
			
			TNT1 A 2
			TNT1 A 0 A_JumpIfInventory("FootStepDisabled", 1, "XDeath")
			TNT1 A 0 A_JumpIfInventory("IsOverDirt", 1, "Dirt")
			TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "Sand")
			TNT1 A 0 A_JumpIfInventory("IsOverGravel", 1, "Gravel")
			TNT1 A 0 A_JumpIfInventory("IsOverMetal", 1, "Metal")
			TNT1 A 0 A_JumpIfInventory("IsOverMetal2", 1, "Metal2")
			TNT1 A 0 A_JumpIfInventory("IsOverRock", 1, "Rock")
			TNT1 A 0 A_JumpIfInventory("IsOverWood", 1, "Wood")
			TNT1 A 0 A_JumpIfInventory("IsOverSnow", 1, "Snow")
			TNT1 A 0 A_JumpIfInventory("IsOverTile", 1, "Tile")
			TNT1 A 0 A_JumpIfInventory("IsOverTile2", 1, "Tile2")
			TNT1 A 0 A_JumpIfInventory("IsOverSlimy", 1, "Slimy")
			TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "XDeath")
			TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "XDeath")
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "XDeath")
			TNT1 A 0 A_playsound("floorhard")
			NULL A 1
			NULL A 6
            Stop
			
		Dirt:
			NULL A 0
			TNT1 A 0 A_playsound("floordirt")
			NULL A 1
			Stop
		
		Gravel:
			NULL A 0
			TNT1 A 0 A_playsound("floorgravel")
			NULL A 1
			Stop
			
			
		Sand:
			TNT1 A 0
			TNT1 A 0 A_playsound("floorgravel")
			TNT1 A 0 A_CustomMissile ("SandCloudSmall", 0, 0, random (0, 360), 2, random (10, 90))
			Stop
			
		Metal:
			NULL A 0
			TNT1 A 0 A_playsound("floormetal")
			NULL A 1
			Stop
			
		Metal2:
			NULL A 0
			TNT1 A 0 A_playsound("floormetal2")
			NULL A 1
			Stop
			
		Rock:
			NULL A 0
			TNT1 A 0 A_playsound("floorrock")
			NULL A 1
			Stop
			
		Wood:
			NULL A 0
			TNT1 A 0 A_playsound("floorwood")
			NULL A 1
			Stop	
			
		Snow:
			NULL A 0
			TNT1 A 0 A_playsound("floorsnow")
			NULL A 1
			Stop	
			
		Tile:
			NULL A 0
			TNT1 A 0 A_playsound("floortile")
			NULL A 1
			Stop	
			
		Tile2:
			NULL A 0
			TNT1 A 0 A_playsound("floortile2")
			NULL A 1
			Stop		
			
		Slimy:
			NULL A 0
			TNT1 A 0 A_playsound("floorSlimy")
			NULL A 1
			Stop		
		
		XDeath:
            NULL A 1
			NULL A 1
			NULL A 6
            Stop	
			
			}
}



Actor Footstep8: Footstep6 //Fake footstep. Actually just the player's weight used to damage enemies when standing over them.
{
    Damage (random (4, 4))
	-EXPLODEONWATER
	-DOOMBOUNCE
	
	Damagetype "Normal"
	States
	{
		Spawn:
			NULL A 0
			NULL A 1 //A_Explode(10,4,0)
			NULL A 4
			Stop
		Death:
            NULL A 0
			TNT1 A 2
            Stop
		}	
}

Actor Footstep91: FootStep
{
    Damage (random (1, 1))
	Radius 2
	Height 2
	Mass 9999
    -CLIENTSIDEONLY
	-DONTSPLASH
}


Actor Footstep6NoSplash: FootStep6
{
    +DONTSPLASH
	Mass 0
	Height 16
}

Actor Footstep6NoDamage: FootStep6
{
    Damage 0
}

Actor FootstepStrong: Footstep6 //Large footstep when you land from a jump.
{
    Damage (random (80, 90))
	//Speed 0
	//Radius 16
	//Damage 15
	Damagetype "Trample"
		States
			{
			Spawn:
			NULL A 0
			NULL A 1 //A_Explode(10,4,0)
			NULL A 4
			Stop
			Death:
			XDeath:
				NULL A 0
				TNT1 A 0 A_SpawnItem("LargeMassWaterImpact")
				NULL A 0 A_Explode(60,10,0, 0, 10)
				TNT1 A 0 ACS_ExecuteAlways(374)
				
				TNT1 A 2
				TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "XDeath2")
				TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "XDeath2")
				TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "XDeath2")
				TNT1 A 0 A_playsound("PlayerLandSound", 8)
				TNT1 A 0 A_JumpIfInventory("IsOverDirt", 1, "Dirt")
				TNT1 A 0 A_JumpIfInventory("IsOverGravel", 1, "Gravel")
				TNT1 A 0 A_JumpIfInventory("IsOverMetal", 1, "Metal")
				TNT1 A 0 A_JumpIfInventory("IsOverMetal2", 1, "Metal2")
				TNT1 A 0 A_JumpIfInventory("IsOverRock", 1, "Rock")
				TNT1 A 0 A_JumpIfInventory("IsOverWood", 1, "Wood")
				TNT1 A 0 A_JumpIfInventory("IsOverSnow", 1, "Snow")
				TNT1 A 0 A_JumpIfInventory("IsOverTile", 1, "Tile")
				TNT1 A 0 A_JumpIfInventory("IsOverTile2", 1, "Tile2")
				TNT1 A 0 A_JumpIfInventory("IsOverSlimy", 1, "Slimy")
				NULL A 6
				Stop
				
			XDeath2:
            NULL A 1
			NULL A 1
			NULL A 6
            Stop	
         }
}



Actor HeavyFootSteps: FootStep
{
    Damage 1
    -CLIENTSIDEONLY
	DamageType "Stomp"
	Obituary "%o was trampled by a Mancubus."
	States
		{
		Spawn:
			tnt1 A 2
			NULL A 1 A_Explode(600,10,0)
			stop
        Death:
            tnt1 A 1
			NULL A 1 A_Explode(600,10,0)
            Stop
		Crash:
			tnt1 A 1
			NULL A 1 A_Explode(600,10,0)
			stop
         }	
}


Actor HeavyFootSteps32: FootStep
{
    Damage 1
    -CLIENTSIDEONLY
	DamageType "Stomp"
	Obituary "%o was trampled by a Cyberdemon."
	States
		{
		Spawn:
			tnt1 A 2
			NULL A 1 A_Explode(900,10,0)
			stop
        Death:
            tnt1 A 1
			NULL A 1 A_Explode(900,10,0)
            Stop
		Crash:
			tnt1 A 1
			NULL A 1 A_Explode(900,10,0)
			stop
         }	
}

ACTOR Bad : PowerupGiver 2305
{
   Inventory.Amount 1
   Scale 0.5
   Inventory.MaxAmount 10
   Powerup.Type PowerNearDeath
   Powerup.Duration 24
   Inventory.Icon TNT1A0
	+INVENTORY.AUTOACTIVATE
	+INVENTORY.ALWAYSPICKUP
	Inventory.MaxAmount 0
   States
   {
   Spawn:
      NULL A 1
      Stop
   } 
} 










Actor TnkStep: FootStep
{
    Damage (random (4, 5))
    -CLIENTSIDEONLY
	-DONTSPLASH
	-EXPLODEONWATER
	-THRUACTORS
	mass 500
	Height 12
	Radius 8
	Scale 0.7
	Renderstyle Translucent
	Alpha 0.2
	States
		{
		Spawn:
			TNT1 A 0
			TNT1 A 1 //A_Explode(10,4,0)
			TNT1 A 4
			Stop
        Death:
            NULL A 0
			TNT1 A 0 ACS_ExecuteAlways(374)//Check Floortype
			TNT1 A 2
			TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "Sand")
			TNT1 A 0 A_JumpIfInventory("IsOverDirt", 1, "Dirt")
			TNT1 A 0 A_JumpIfInventory("IsOverBlood", 1, "Blood")
			TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Water")
			TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "Nukage")
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "XDeath")
			TNT1 A 0 A_JumpIfInventory("IsOverSlime", 1, "Slime")
			TNT1 A 1
			TNT1 A 6
            Stop
	
		Sand:
			TNT1 A 0
			TNT1 A 0 A_CustomMissile ("SandDustSmall", 32, -32, random (0, 360), 2, random (20, 150))
			TNT1 A 0 A_CustomMissile ("SandDustSmall", 32, 32, random (0, 360), 2, random (20, 150))
			TNT1 A 0 A_CustomMissile ("SandCloudShort", 2, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("SandCloudShort", 2, -32, random (0, 360), 2, random (10, 90))
			NULL A 300
			NULL AAAA 50 A_FadeOut(0.05)
			Stop
			
			
			
		Dirt:
			TNT1 A 0
			//TNT1 A 0 A_CustomMissile ("MudDustFromTrail", 32, -32, random (0, 360), 2, random (20, 150))
			//TNT1 A 0 A_CustomMissile ("MudDustFromTrail", 32, 32, random (0, 360), 2, random (20, 150))
			TNT1 A 0 A_CustomMissile ("BrownCloudShort", 2, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("BrownCloudShort", 2, -32, random (0, 360), 2, random (10, 90))
			NULL A 300
			NULL AAAA 50 A_FadeOut(0.05)
			Stop	
			
			
		Water:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("bigspl1")
			TNT1 A 0 A_CustomMissile ("BlueLiquidParticleX", 32, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("BlueLiquidParticleX", 32, -32, random (0, 360), 2, random (10, 90))
			Stop
			
			
		Blood:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("bigspl1")
			TNT1 A 0 A_CustomMissile ("BloodParticleX", 32, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("BloodParticleX", 32, -32, random (0, 360), 2, random (10, 90))
			Stop	
			
			
		Nukage:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("bigspl1")
			TNT1 A 0 A_CustomMissile ("GreenLiquidParticleX", 32, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("GreenLiquidParticleX", 32, -32, random (0, 360), 2, random (10, 90))
			Stop
			
			
		Slime:
			TNT1 A 0
			TNT1 A 0 A_PlaySound("bigspl1")
			TNT1 A 0 A_CustomMissile ("BrownLiquidParticleX", 32, 32, random (0, 360), 2, random (10, 90))
			TNT1 A 0 A_CustomMissile ("BrownLiquidParticleX", 32, -32, random (0, 360), 2, random (10, 90))
			Stop	
		
		XDeath:
            TNT1 A 1
			TNT1 A 1
			TNT1 A 6
            Stop	
			
			}
}











Actor Headkicking
{
PROJECTILE
+MISSILE
+FORCEXYBILLBOARD +DONTSPLASH
+THRUACTORS +NOGRAVITY
+NOCLIP +NOBLOOD +NOPAIN 
+CLIENTSIDEONLY
+PAINLESS
damage 0
radius 0
height 0
speed 0
Scale 1.2
Mass 99999
states
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_JumpIfInTargetInventory("Accelerate", 1, "kick")
		TNT1 A 1
		Loop
		
	Kick:	
		TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 0, 0)
		TNT1 A 0 A_CustomMissile("HeadKicker", 0, 0, 0, 2, 0)
		Goto Spawn
}}



ACTOR Headkicker
{
    Radius 2
    Height 2
    Speed 0
	Projectile
	-NOGRAVITY
	+MISSILE
	+DONTSPLASH
    +NOTELEPORT
    +MOVEWITHSECTOR
    +NOEXTREMEDEATH
	+NOCLIP
    DamageType Headkick
    Damage 0
	+NODAMAGETHRUST
	+BLOODLESSIMPACT 
	+NOPAIN
	+THRUACTORS
	gravity 1
	mass 1000
    Obituary "%o was stomped to death by %k."
	States
		{
		Spawn:
			TNT1 A 0
			Goto Death
        Death:
            NULL A 0
			NULL A 0 A_Explode(3,20,0)
            Stop
         }
}



Actor BDBodyThud
{
	+CLIENTSIDEONLY
	+THRUACTORS
	Height 12
	Radius 8
	States
		{
		Spawn:
			TNT1 A 5
			TNT1 A 0 A_CheckFloor("Sound")
			TNT1 A 2
			Stop
        Sound:
            NULL A 0
			TNT1 A 0 ACS_ExecuteAlways(374)//Check Floortype
			//TNT1 A 0 ACS_ExecuteAlways(724)//Check Footsteps
			
			TNT1 A 2
			TNT1 A 0 A_JumpIfInventory("FootStepDisabled", 1, "XDeath")
			TNT1 A 0 A_PlaySound("BodyThud", 1)
			TNT1 A 0 A_JumpIfInventory("IsOverWater", 1, "Water")
			TNT1 A 0 A_JumpIfInventory("IsOverNukage", 1, "Water")
			TNT1 A 0 A_JumpIfInventory("IsOverLava", 1, "Water")
			TNT1 A 0 A_JumpIfInventory("IsOverDirt", 1, "Dirt")
			TNT1 A 0 A_JumpIfInventory("IsOverSand", 1, "Sand")
			TNT1 A 0 A_JumpIfInventory("IsOverGravel", 1, "Gravel")
			TNT1 A 0 A_JumpIfInventory("IsOverMetal", 1, "Metal")
			TNT1 A 0 A_JumpIfInventory("IsOverMetal2", 1, "Metal2")
			TNT1 A 0 A_JumpIfInventory("IsOverRock", 1, "Rock")
			TNT1 A 0 A_JumpIfInventory("IsOverWood", 1, "Wood")
			TNT1 A 0 A_JumpIfInventory("IsOverSnow", 1, "Snow")
			TNT1 A 0 A_JumpIfInventory("IsOverTile", 1, "Tile")
			TNT1 A 0 A_JumpIfInventory("IsOverTile2", 1, "Tile2")
			TNT1 A 0 A_JumpIfInventory("IsOverSlimy", 1, "Slimy")
			NULL A 1
			NULL A 6
            Stop
			
		Dirt:
			NULL A 0
			TNT1 A 0 A_playsound("floordirt")
			NULL A 1
			Stop
		
		Gravel:
			NULL A 0
			TNT1 A 0 A_playsound("floorgravel")
			NULL A 1
			Stop
			
			
		Sand:
			TNT1 A 0
			TNT1 A 0 A_playsound("floorgravel")
			TNT1 A 0 A_CustomMissile ("SandCloudSmall", 0, 0, random (0, 360), 2, random (10, 90))
			Stop
			
		Metal:
			NULL A 0
			TNT1 A 0 A_playsound("floormetal")
			NULL A 1
			Stop
			
		Metal2:
			NULL A 0
			TNT1 A 0 A_playsound("floormetal2")
			NULL A 1
			Stop
			
		Rock:
			NULL A 0
			TNT1 A 0 A_playsound("floorrock")
			NULL A 1
			Stop
			
		Wood:
			NULL A 0
			TNT1 A 0 A_playsound("floorwood")
			NULL A 1
			Stop	
			
		Snow:
			NULL A 0
			TNT1 A 0 A_playsound("floorsnow")
			NULL A 1
			Stop	
			
		Tile:
			NULL A 0
			TNT1 A 0 A_playsound("floortile")
			NULL A 1
			Stop	
			
		Tile2:
			NULL A 0
			TNT1 A 0 A_playsound("floortile2")
			NULL A 1
			Stop		
			
		Slimy:
			NULL A 0
			TNT1 A 0 A_playsound("floorSlimy")
			NULL A 1
			Stop		
		
		XDeath:
            NULL A 1
			NULL A 1
			NULL A 6
            Stop	
			
		Water:
			TNT1 A 0
			TNT1 A 0 A_SpawnItem("LargeMassWaterImpact")
			Stop
			}
}