// Player Marine
actor Player : DoomPlayer {
	+NOSKIN
	-TELESTOMP
	health 100
	player.colorrange 112, 127
	player.displayname "Average Joe"
	player.crouchsprite "PLYC"
	player.startitem "Unarmed", 1
	Player.StartItem "PistolMagazine" 16
	Player.StartItem "StealthPistolMag" 12
	Player.StartItem "SSGShell" 2
	Player.StartItem "SMGMag" 30
	Player.StartItem "SniperBolt" 1
	Player.StartItem "MachinegunMag" 30
	Player.StartItem "ArtilleryCharge" 1
	Player.StartItem "MissileMag" 1
	Player.StartItem "KarasawaBurst" 5
	player.forwardmove 0.875
	player.sidemove 0.875
	player.maxhealth 100
	
	damagefactor "Chemical", 2.0
	damagefactor "Explosion", 0.3
	damagefactor "MassDriver", 0.3
	damagefactor "AntiArmor", 0.1
	damagefactor "Plasma", 0.3
	damagefactor "Disarm", 0.0
	damagefactor "Deconstruction", 0.0

	deathsound "generic/death"
	States {
	Spawn:
		PLAY A -1
		Loop
	See:
		PLAY A 5
		TNT1 A 0 A_JumpIfInventory("UseAnimation", 1, "CheckAnimation")	
		TNT1 A 0 A_JumpIf(waterlevel > 1, 2)
		TNT1 A 0 A_CheckFloor(1)
		goto Float
		PLAY B 5
		TNT1 A 0 A_JumpIfInventory("UseAnimation", 1, "CheckAnimation")	
		TNT1 A 0 A_JumpIf(waterlevel > 1, 2)
		TNT1 A 0 A_CheckFloor(1)
		goto Float
		PLAY C 0 A_SpawnItemEx ("MarineStomp", 0, 0, 0, 0, 0, -20) 
		PLAY C 5
		TNT1 A 0 A_JumpIfInventory("UseAnimation", 1, "CheckAnimation")	
		TNT1 A 0 A_JumpIf(waterlevel > 1, 2)
		TNT1 A 0 A_CheckFloor(1)
		goto Float
		PLAY D 5
		TNT1 A 0 A_JumpIfInventory("UseAnimation", 1, "CheckAnimation")	
		TNT1 A 0 A_JumpIf(waterlevel > 1, 2)
		TNT1 A 0 A_CheckFloor(1)
		goto Float
		PLAY A 0 A_SpawnItemEx ("MarineStomp", 0, 0, 0, 0, 0, -20) 
		goto Spawn
	Float:
		PLAY A 3 A_JumpIf(momz == 0, "See")
		goto See
	Missile:
		PLAY E 0 A_TakeInventory ("PowerSpawnInvulnerability", 1)
		PLAY E 14
		Goto Spawn
	Melee:
		PLAY F 6 BRIGHT
		Goto Missile
	MeleeSniper:
		PLAY F 6 BRIGHT
		Goto Missile
	Pain:
		TNT1 A 0
		//TNT1 A 0 ACS_NamedExecuteAlways("selfHealCheck", 0, 0, 0, 0)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Monster:
		PLAY G 0 A_GiveInventory ("NoHealXP", 1)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Explosion:
		PLAY G 0 ACS_ExecuteAlways(320, 0)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Energy:
		PLAY G 0 ACS_ExecuteAlways(320, 0, 4)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
		PLAY G 0 ACS_ExecuteAlways(320, 0, 4)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.FireSpecial:
		PLAY G 0 A_GiveInventory ("NoHealXP", 1)
	Pain.Fire:
		PLAY G 0 ACS_ExecuteAlways (320, 0, 1)
		PLAY G 0 ACS_ExecuteAlways (SC_DAMAGEOVERTIME, 0, OVERTIME_FIRE)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Chemical:
		PLAY G 0 ACS_ExecuteAlways(320, 0, 2)
		PLAY G 0 ACS_ExecuteAlways (SC_DAMAGEOVERTIME, 0, OVERTIME_CHEM)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.ChemicalSpecial:
		PLAY G 0 A_GiveInventory ("NoHealXP", 1)
		PLAY G 0 ACS_ExecuteAlways(320, 0, 2)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Ice:
		PLAY G 0 ACS_NamedExecuteAlways ("SC_DAMAGEICE", 0, 0, 0)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Pain.Flash:
		//PLAY G 0 ACS_ExecuteAlways(320,0,3,0,0) // [SG] Why is this called twice?
		PLAY G 0 ACS_ExecuteAlways(320,0,3,0,0)
		PLAY G 4 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FLASH)
		PLAY G 4 A_Pain
		goto Spawn
	Death:
		PLAY H 0 
		PLAY H 0 A_JumpIfInventory ("IsKamikaze",1,"Death.IonExplosion")
		PLAY H 0 A_JumpIfInventory ("IsTerrorist",1,"Death.KamikazeExplosion")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate",1,"Death.BombExplosion")
		PLAY H 0 A_JumpIfInventory ("TimeGun", 1, "Death.Time")
		PLAY H 0 A_JumpIfInTargetInventory ("PowerBerserk", 1, "XDeath")
		PLAY H 0 A_JumpIfInTargetInventory ("IsSawing", 1, "XDeath")
	DeathGo:
		PLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY H 0 A_StopSound (CHAN_ITEM)
		PLAY H 0 A_StopSound (CHAN_WEAPON)
		PLAY H 0 A_StopSound (5)
		PLAY H 0 A_StopSound (6)
		PLAY H 1 A_Scream
		PLAY I 6 Thing_ChangeTID(0,9999)
		PLAY JJJ 0 A_SpawnItemEx("Credits1",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,128)
		PLAY J 0 A_SpawnItemEx("PowerupCrate",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)
		PLAY J 6 A_NoBlocking
		PLAY J 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY J 0 A_Jump (256, 2)
		PLAY J 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY K 6
		PLAY L 6 A_PlaySound("misc/thud")
		PLAY M 6
		PLAY N -1
		stop
	Death.MechStomp:
		PLAY O 0 ACS_ExecuteAlways (923, 0)
	Death.Falling:
	Death.Suicide:
	XDeath:
		PLAY G 0
		PLAY G 0 A_JumpIfInventory ("BloodRevolverFail", 1, "GenericFreezeDeath") // G frame here!
		PLAY O 0 A_JumpIfInventory ("IsKamikaze", 1, "Death.IonExplosion")
		PLAY O 0 A_JumpIfInventory ("IsTerrorist", 1, "Death.KamikazeExplosion")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate",1,"Death.BombExplosion")
		PLAY O 0 A_JumpIfInventory ("TimeGun", 1, "Death.Time")
	XDeathGo:
		PLAY O 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY O 0 A_StopSound (CHAN_ITEM)
		PLAY O 0 A_StopSound (CHAN_WEAPON)
		PLAY O 0 A_StopSound (5)
		PLAY O 0 A_StopSound (6)
		PLAY O 4
		PLAY P 0 A_NoBlocking
		PLAY P 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY P 0 A_Jump (256, 2)
		PLAY P 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY PPP 0 A_SpawnItemEx ("Credits1",random(-4,4),random(-4,4),random(32,48),random(-4,4),random(-4,4),random(4,8),0,0,128)
		PLAY P 0 A_SpawnItemEx ("PowerupCrate",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)
		PLAY P 0 A_Scream
		PLAY P 0 A_PlaySound ("misc/gib", 7)
		PLAY P 0 A_PlaySound ("misc/gib", 6)
		PLAY P 4 A_SpawnItemEx ("MarineGoreExplosion")
		PLAY Q 4 A_SpawnItemEx ("MarineGoreExplosion2")
		PLAY R 4 A_SpawnItemEx ("MarineGoreExplosion3")
		PLAY STUV 4
		PLAY W -1
		stop
	Death.MassDriver:
	Death.AntiArmor:
	Death.Explosion:
	Death.Plasma:
		PLAY H 0 ThrustThing(angle*256/360+(random(0,192)), random(20,40), 1, 0)
		PLAY H 1 ThrustThingZ(0,45,0,0)
		PLAY H 0 A_Jump(128,"Death")
		goto XDeath
	Death.Fire:
	Death.FireSpecial:
	Death.EnergyDecay:
		TNT1 AA 0 A_JumpIfInventory("IsInSpawnRoom",1,"FireAlt")
		PLAY H 0 A_JumpIfInventory ("IsKamikaze",1,"Death.IonExplosion")
		PLAY H 0 A_JumpIfInventory ("TimeGun", 1, "Death.Time")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate",1,"Death.BombExplosion")
		PLAY H 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY H 0 A_Jump (256, 2)
		PLAY H 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY H 0 A_JumpIfInventory ("IsFemale",1,"DeathF.Fire")
		PLAY H 0 A_StopSound (CHAN_ITEM)
		PLAY H 0 A_StopSound (CHAN_WEAPON)
		PLAY H 0 A_StopSound (5)
		PLAY H 0 A_StopSound (6)
		PLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY H 1 Thing_ChangeTID(0,9999)
		DISR K 0 A_SpawnItemEx ("BurningCorpse", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		DISR K 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		stop
	FireAlt:
		PLAY H 1 Thing_ChangeTID(0,9999)
		TNT1 A 0 A_SpawnItemEx("BurningCorpseReduced", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		stop
	Death.ChemicalSpecial:
	Death.Chemical:
		TNT1 AA 0 A_JumpIfInventory ("IsInSpawnRoom", 1, "ChemFireAlt")
		PLAY H 0 A_JumpIfInventory ("IsKamikaze", 1, "Death.IonExplosion")
		PLAY H 0 A_JumpIfInventory ("TimeGun", 1, "Death.Time")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate", 1, "Death.BombExplosion")
		PLAY H 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY H 0 A_Jump (256, 2)
		PLAY H 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY H 0 A_JumpIfInventory ("IsFemale", 1, "DeathF.Chemical")
		PLAY H 0 A_StopSound (CHAN_ITEM)
		PLAY H 0 A_StopSound (CHAN_WEAPON)
		PLAY H 0 A_StopSound (CHAN_VOICE)
		PLAY H 0 A_StopSound (5)
		PLAY H 0 A_StopSound (6)
		PLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY H 1 Thing_ChangeTID(0,9999)
		DISR K 0 A_SpawnItemEx ("ChemicalCorpse", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		DISR K 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		stop
	Death.Energy:
		PLAY H 0 A_JumpIfInventory ("IsKamikaze", 1, "Death.IonExplosion")
		PLAY H 0 A_JumpIfInventory ("TimeGun", 1, "Death.Time")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate", 1, "Death.BombExplosion")
		PLAY H 0 A_StopSound (CHAN_ITEM)
		PLAY H 0 A_StopSound (CHAN_WEAPON)
		PLAY H 0 A_StopSound (5)
		PLAY H 0 A_StopSound (6)
		PLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY H 1 Thing_ChangeTID(0,9999)
		DISR K 0 A_PlaySound("sndz/disintegr")
		DISR K 0 A_SpawnItemEx ("DisintegratedCorpse", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		DISR K 0 A_NoBlocking
		PLAY H 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY H 0 A_Jump (256, 2)
		PLAY H 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY N -1 A_SetTranslucent(0.0,0)
        Stop			
	ChemFireAlt:
		PLAY H 0 A_StopSound (CHAN_ITEM)
		PLAY H 0 A_StopSound (CHAN_WEAPON)
		PLAY H 0 A_StopSound (CHAN_VOICE)
		PLAY H 0 A_StopSound (5)
		PLAY H 0 A_StopSound (6)
		PLAY H 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY H 1 Thing_ChangeTID(0,9999)
		TNT1 A 0 A_SpawnItemEx("ChemicalCorpseReduced", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		TNT1 A 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		Stop
	DeathF.Fire:
		TNT1 AA 0 A_JumpIfInventory("IsInSpawnRoom",1,"FireAlt")
		PLAY H 1 Thing_ChangeTID(0,9999)
		DISR K 0 A_SpawnItemEx ("BurningCorpseFemale", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		DISR K 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		stop
	DeathF.Chemical:
		TNT1 AA 0 A_JumpIfInventory("IsInSpawnRoom",1,"ChemFireAlt")
		PLAY H 1 Thing_ChangeTID(0,9999)
		DISR K 0 A_SpawnItemEx ("ChemicalCorpseFemale", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION)
		DISR K 0 A_NoBlocking
		PLAY N -1 A_SetTranslucent(0.0,0)
		stop
	Death.IonExplosion:
		PLAY H 0
		PLAY H 0 A_JumpIfInventory ("IsRed", 1, "Death.NukeExplosion")
		PLAY N 0 A_SpawnItemEx("BlueStrikeKamikaze", 0, 0, 32)
		goto XDeathGo
	Death.NukeExplosion:
		PLAY H 0
		PLAY N 0 A_SpawnItemEx("NukeKamikaze", 0, 0, 32)
		goto XDeathGo
	Death.KamikazeExplosion:
		PLAY N 0 A_SpawnItemEx("KamikazeExplosion")
		goto XDeathGo
	Death.BombExplosion:
		PLAY H 0
		PLAY N 0 A_SpawnItemEx("BombExplosion")
		goto XDeathGo
	Death.Time:
		PLAY G 0 A_JumpIfInventory ("IsKamikaze", 1, "Death.IonExplosion")
		PLAY H 0 A_JumpIfInventory ("IsBombCrate", 1, "Death.BombExplosion")
		PLAY G 0
		PLAY G 0 A_NoBlocking
		PLAY G 0 A_StopSound (CHAN_ITEM)
		PLAY G 0 A_StopSound (CHAN_WEAPON)
		PLAY G 0 A_StopSound (5)
		PLAY G 0 A_StopSound (6)
		PLAY G 0 Thing_ChangeTID(0,9999)
		PLAY G 0 A_Stop
		PLAY G 0 A_NoGravity
		PLAY GGG 0 A_SpawnItemEx("Credits1",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,128)
		PLAY G 0 A_SpawnItemEx("PowerupCrate",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0,0,230)
		PLAY G 0 A_JumpIfInventory ("Hasgrenadeon", 1, 2)
		PLAY G 0 A_Jump (256, 2)
		PLAY G 0 A_SpawnItemEx("deathgrenade",random(-4,4),random(-4,4),random(32,48),random(2,4),random(-2,2),random(2,4),0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY G 2 A_PlaySound("weapons/timedeath")
		PLAY G 2 Bright A_SetTranslucent(1,1)
		PLAY G 2 Bright A_SetTranslucent(0.95,1)
		PLAY G 2 Bright A_SetTranslucent(0.90,1)
		PLAY G 2 Bright A_SetTranslucent(0.85,1)
		PLAY G 2 Bright A_SetTranslucent(0.80,1)
		PLAY G 2 Bright A_SetTranslucent(0.75,1)
		PLAY G 2 Bright A_SetTranslucent(0.70,1)
		PLAY G 2 Bright A_SetTranslucent(0.65,1)
		PLAY G 2 Bright A_SetTranslucent(0.60,1)
		PLAY G 2 Bright A_SetTranslucent(0.45,1)
		PLAY G 2 Bright A_SetTranslucent(0.40,1)
		PLAY G 2 Bright A_SetTranslucent(0.25,1)
		PLAY G 2 Bright A_SetTranslucent(0.20,1)
		PLAY G 2 Bright A_SetTranslucent(0.15,1)
		PLAY G 2 Bright A_SetTranslucent(0.10,1)
		PLAY G 2 Bright A_SetTranslucent(0.05,1)
		PLAY G 2 Bright A_SetTranslucent(0.00,1)
		PLAY N -1 A_SetTranslucent(0.0,0)
		Stop
	GenericFreezeDeath:
		PLAY G 0
	Ice: //Ugly hacks r Us ~ [Bloax]
		PLAY G 0 ACS_ExecuteAlways (SC_STEALTH, 0, STEALTH_FORCEOFF)
		PLAY G 0 A_StopSound (CHAN_ITEM)
		PLAY G 0 A_StopSound (CHAN_WEAPON)
		PLAY G 0 A_StopSound (5)
		PLAY G 0 A_StopSound (6)
		PLAY G 0 A_SpawnItemEx ("FakeIcePlayer", 0,0,0,0,0,0,0, SXF_NOCHECKPOSITION|SXF_ABSOLUTEVELOCITY)
		PLAY GGGGGGGGGGGG 0 A_SpawnItemEx("ChronoBoltSmoke", 0, 0, 0, random(10, 30)*0.1, 0, random(0, 10)*0.1, random(1,360), SXF_NOCHECKPOSITION)
		BOI2 GGGGGGGGGGGGGGGG 0 A_SpawnItemEx("ChronoBoltSmoke2", 0, 0, 0, random(10, 30)*0.04, 0, random(0, 10)*0.04, random(1,360), SXF_NOCHECKPOSITION,64)
		PLAY GGG 0 A_SpawnItemEx ("Credits1", random(-4,4), random(-4,4), random(32,48), random(-4,4), random(-4,4), random(4,8), 0, 0, 128)
		PLAY G 0 A_SpawnItemEx ("PowerupCrate", random(-4,4), random(-4,4), random(32,48), random(2,4), random(-2,2), random(2,4), 0, 0, 230)
		BOI2 GGGG 1 A_SetTranslucent(Alpha-0.2,0)
		BOI2 G 0 A_PlaySound("Weapons/CryoBowFreeze")
		BOI2 G -1 A_SetTranslucent(0,0)
		Stop
    MeleeAttack:
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("Lightsaber", 1, "LightsaberAttack")
		TNT1 A 0 A_JumpIfInventory("Knife", 1, "KnifeAttack")
		PLA1 E 8
		Goto Spawn
    KnifeAttack:
	    TNT1 A 0
		PKNI E 15
		Goto Spawn
    LightsaberAttack:
	    TNT1 A 0
		PKNI E 18
		Goto Spawn		
    ThrowFragGrenade:
		TNT1 A 0
		PLA1 E 8
		Goto Spawn
    ThrowFlashGrenade:
		TNT1 A 0
		PLA1 E 8
		Goto Spawn		
    UseRemoteC4Detonator:
		TNT1 A 0
		PLAY E 19
		Goto Spawn					
	CheckAnimation:
        PLAY A 1
        TNT1 A 0 A_TakeInventory("UseAnimation", 1)
		TNT1 A 0 A_JumpIfInventory("ActionFragGrenade", 1, "ThrowFragGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionFlashbang", 1, "ThrowFlashGrenade")
		TNT1 A 0 A_JumpIfInventory("ActionRemoteC4", 1, "UseRemoteC4Detonator")
        TNT1 A 0 A_JumpIfInventory("ActionMeleeAttack", 1, "MeleeAttack")
        Goto Spawn  
	}
}

actor MarineGoreExplosion {
	+CLIENTSIDEONLY
	+NOINTERACTION
	states {
	Spawn:
		TNT1 AAAA 0 A_SpawnItemEx("GibExplosion", 0, 0, 32)
		TNT1 A 0 A_SpawnItemEx("Giblet1",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx("Giblet5",0,0,random(4,40),random(-2,4),random(-6,6),random(-1,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx("Giblet2",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx("Giblet3",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 3
		stop
	}
}

actor MarineGoreExplosion2 {
	+CLIENTSIDEONLY
	+NOINTERACTION
	states {
	Spawn:
		TNT1 AAAA 0 A_SpawnItemEx ("GibExplosion", 0, 0, 32)
		TNT1 A 0 A_SpawnItemEx ("Giblet4",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx ("Giblet5",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx ("Giblet6",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx ("AOWBrainStem", 0, 0, 50, random(-4, 4), random(-4, 4), random(7, 9))
		TNT1 A 3
		stop
	}
}


actor MarineGoreExplosion3 {
	+CLIENTSIDEONLY
	+NOINTERACTION
	states {
	Spawn:
		TNT1 AAAA 0 A_SpawnItemEx("GibExplosion", 0, 0, 32)
		TNT1 A 0 A_SpawnItemEx("Giblet7",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx("Giblet8",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 0 A_SpawnItemEx("Giblet7",0,0,random(4,40),random(-2,4),random(-6,6),random(-2,10),random(-32,32))
		TNT1 A 3
		stop
	}
}

actor MarineStomp  {
	PROJECTILE
	+NOBLOOD
	+CLIENTSIDEONLY
	damage 0
	radius 10
	Speed 20
	deathsound "misc/footstep"
	States
	{
	Spawn:
		TNT1 A 1
		stop
	Death:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInTargetInventory ("StealthMode", 1, 2)
		TNT1 A 1 A_SpawnItem("PlayerStepSmokePuff")
		TNT1 A 1
		stop
	}
}

// Make this actor invisible since it appears as a player..
/*actor NoIceChunkHead : IceChunkHead replaces IceChunkHead {
	renderstyle None
	alpha 0
	states {
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_SetTranslucent (0, 0)
		goto Super::Spawn
	}
}*/

// [Cata] For sprees

// For airshot, longshot, etc...

Actor playerDeathHelper
{
	+NOCLIP
	-SOLID
	+NOGRAVITY
	speed 0
	vspeed 0
	mass 99999999
	States
	{
	  Spawn:
		NULL A 35
		loop
	  Death:
		NULL A 5
		stop
	}
}
