//Tracing projectiles goes here

Actor Tracer: FastProjectile
{
	Projectile
	+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
   // +BLOODSPLATTER 
   +NOEXTREMEDEATH
damage 0
radius 2
height 2
speed 140
renderstyle ADD
alpha 0.9
scale .15
states
	{
	Spawn:
		TRAC A 1 BRIGHT
		Loop
Death:
    Stop
XDeath:
TNT1 A 0
Stop
	}
}

Actor MinigunTracer: Tracer
{
-DONTSPLASH
seesound "weapons/chainwiz"
damagetype Cutless
}

ACTOR MonsterNewMinigunTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 80
damage (random(2,4))
seesound "weapons/chainwiz"
damagetype Cutless
Decal "BulletChip"
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

///////////////////////////////////////////////////////////////////////////////PB

ACTOR ExplosiveChaingunTracer : Tracer
{
	+BLOODSPLATTER 
	-NOEXTREMEDEATH
	+EXTREMEDEATH
speed 75
damage 12
scale .35
radius 3
height 3
seesound "None"
damagetype ExplosiveImpact
Decal "Scorch"
States
{

Spawn:
		TRAC A 1 BRIGHT
		Loop

Death:
Xdeath:
		EXPL A 0 A_Explode (3, random(32,42), 1)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItem("HitPuff")
        TNT1 A 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		
		TNT1 A 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_CustomMissile ("ExplosionParticleVeryFast", 0, 0, random (0, 360), 2, random (0, 40))

		        TNT1 A 0 A_PlaySound("FAREXPL")
				TNT1 AAA 4 A_CustomMissile ("PlasmaSmoke", 2, 0, random (0, 360), 2, random (0, 360))
    Stop
}
}

ACTOR ExplosiveChaingunTracer1 : Tracer
{
	+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 75
damage 12
scale .3
seesound "None"
damagetype SSG
Decal "Scorch"
States
{
Death:
Xdeath:
		EXPL A 0 A_Explode (3, random(32,42), 1)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItem("HitPuff")
        TNT1 A 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		
		TNT1 A 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_CustomMissile ("ExplosionParticleVeryFast", 0, 0, random (0, 360), 2, random (0, 40))

		        TNT1 A 0 A_PlaySound("FAREXPL")
				TNT1 AAA 4 A_CustomMissile ("PlasmaSmoke", 2, 0, random (0, 360), 2, random (0, 360))
    Stop
}
}

ACTOR ExplosiveChaingunTracer2 : Tracer
{
	+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 75
damage 12
scale .3
seesound "None"
damagetype Blast
Decal "Scorch"
States
{
Death:
Xdeath:
		EXPL A 0 A_Explode (3, random(32,42), 1)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 1 A_SpawnItem("HitPuff")
        TNT1 A 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		
		TNT1 A 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 A 0 A_CustomMissile ("ExplosionParticleVeryFast", 0, 0, random (0, 360), 2, random (0, 40))

		        TNT1 A 0 A_PlaySound("FAREXPL")
				TNT1 AAA 4 A_CustomMissile ("PlasmaSmoke", 2, 0, random (0, 360), 2, random (0, 360))
    Stop
}
}

ACTOR FlackTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
+Friendly
-DONTSPLASH
speed 80
damage 12
Decal "BulletChip"
DamageType FriendBullet
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

//////////////////////////////////////////////////////////////////////////////////


Actor MonsterTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
+MISSILE
speed 60
damage (random(3,4))
Decal "BulletDecalNew1"
DamageType Bullet
States
{
	Spawn:
		TRAC A 1 BRIGHT
		TNT1 A 0 ThrustThingZ(0,random(-8, 8),0,1)
		TRAC A 1 BRIGHT
		Goto Spawn2
		
	Spawn2:
		TRAC A 1 BRIGHT
		Loop	
		
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

Actor ZombieManTracer: MonsterTracer
{
damage (random(2,3))
}


Actor MonsterMinigunTracer: MonsterTracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 60
damage (random(2,2))
seesound "CHGNSHOT"
damagetype Cutless
Decal "BulletDecalNew1"
States
{

Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

ACTOR MonsterNewchaingunTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 80
damage (random(4,5))
seesound "weapons/chainwiz"
damagetype Cutless
Decal "BulletChip"
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}


Actor MeatShieldTracer: Tracer
{
+BLOODSPLATTER 
+THRUACTORS
-DONTSPLASH
speed 100
damage (random(20,25))
Decal "BulletDecalNew1"
DamageType FriendBullet
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
	
Spawn:
		TRAC A 1 BRIGHT
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		Goto Fly
	Fly:
	TRAC A 1 BRIGHT
	Loop
}
}





Actor MarineMinigunTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 100
damage 1
seesound "weapons/minigunfire2"
damagetype FriendBullet
Decal "BulletDecalNew1"
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

Actor MarineTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
-GHOST
-THRUGHOST
+THRUSPECIES
+MTHRUSPECIES
speed 100
damage (random(8,10))
Decal "BulletDecalNew1"
DamageType FriendBullet
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
XDEath:
TNT1 A 0
//TNT1 A 0 A_Explode(2, 5)
TNT1 A 1
Stop	
}
}

Actor MarineStrongTracer: MarineTracer
{
damage (random(12,13))
States
{
	Spawn:
		TRAC A 1 BRIGHT
		TNT1 A 0 ThrustThingZ(0,random(-9, 9),0,1)
		TRAC A 1 BRIGHT
		Goto Spawn2
		
	Spawn2:
		TRAC A 1 BRIGHT
		Loop	
}
}


Actor MarineShotgunTracer: MarineTracer
{
damage (random(10,12))
damagetype Shotgun
States
{
	Spawn:
		TRAC A 1 BRIGHT
		TNT1 A 0 ThrustThingZ(0,random(-9, 9),0,1)
		TRAC A 1 BRIGHT
		Goto Spawn2
		
	Spawn2:
		TRAC A 1 BRIGHT
		Loop	
}
}

Actor Alerter: MonsterTracer
{
-BLOODSPLATTER 
+THRUGHOST
+DONTSPLASH
speed 200
radius 12
height 12
damage (random(1,1))
DamageType Avoid
Decal "None"
States
{
	Spawn:
		TNT1 A 1 BRIGHT
		Loop
Death:
    TNT1 A 0
    Stop
}
}

Actor RareAlerter: Alerter
{
Speed 70
+THRUACTORS
States
{
	Spawn:
	    TNT1 A 0
		TNT1 A 0 A_Jump(246, "Death")
		TNT1 A 0 A_ChangeFlag("THRUACTORS", 0)
		TNT1 A 100
		Loop
	Death:
	TNT1 A 0
	TNT1 A 0 A_Stop
    TNT1 A 0
    Stop	
		
}
}


Actor Taunter: MonsterTracer
{
-BLOODSPLATTER 
+THRUGHOST
+DONTSPLASH
radius 16
height 16
speed 100
damage (random(1,2))
DamageType Taunt
Decal "None"
States
{
	Spawn:
		PUZZ Z 1 BRIGHT
		Loop
XDeath:
Melee:		
Death:
    TNT1 A 1
	//TNT1 AAAA 0 A_CustomMissile ("LongExplosionSpawner", 20, 0, random (0, 360), 2, random (0, 180))
    //TNT1 AAAAAA 0 A_CustomMissile ("ExplosionSpawner", 20, 0, random (0, 180), 2, random (0, 180))
	//TNT1 AAAAA 0 A_SpawnItem("BarrelExplosion")
	TNT1 A 100
	
	Stop
}
}




Actor MastermindTracer: Tracer
{
+BLOODSPLATTER 
+THRUGHOST
-DONTSPLASH
speed 90
damage (random(5,7))
scale .45
seesound "SSHFIRE"
damagetype ExplosiveImpact
Decal "Scorch"
Obituary "$OB_SPIDER"
States
{

		
Death:
Xdeath:
		EXPL A 0 A_Explode (2, 120, 0)
		TNT1 A 0 A_SpawnItemEx ("ExplosionFlareSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
        TNT1 AA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 180))
        TNT1 AAAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 180), 2, random (0, 180))
XXXX A 0 A_CustomMissile ("ShakeShakeShake", 1, 0, random (0, 360), 2, random (0, 160))
        TNT1 AAAA 0 A_CustomMissile ("SmallExplosionFlames", 0, 0, random (0, 360), 2, random (0, 360))
		
TNT1 AAA 0 A_CustomMissile ("ExplosionParticleHeavy", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAA 0 A_CustomMissile ("ExplosionParticleVeryFast", 0, 0, random (0, 360), 2, random (0, 40))
		
		        TNT1 A 0 A_PlaySound("FAREXPL")
				TNT1 AAAAAAAA 4 A_CustomMissile ("PlasmaSmoke", 2, 0, random (0, 360), 2, random (0, 360))
    Stop
}
}

Actor SuperMastermindTracer: MastermindTracer
{
Speed 120
Damage (random(25,30)) 
Height 24
}


Actor NaziAlerter: Tracer
{
-BLOODSPLATTER 
+THRUGHOST
speed 150
Decal "None"
Radius 16
Height 16
DamageType KillMe
Damage 2
States
{
Spawn:
POSS A 25
Loop
Death:
    TNT1 A 1
    Stop
}
}

ACTOR QuadTracer: MonsterTracer
{
speed 60
damage (random(1,2))
	+FORCEXYBILLBOARD
	+THRUGHOST
DamageType SSG
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

ACTOR QuadSingeTracer: MonsterTracer
{
speed 65
damage 2
+FORCEXYBILLBOARD
+THRUGHOST
Decal "BulletChip"
DamageType Arm
States
{
Death:
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
}
}

Actor WallPenetrationHitscan: FastProjectile
{
Projectile
+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
damage 0
radius 2
height 2
speed 900
renderstyle ADD
alpha 0.9
scale .3
states
	{
	Spawn:
		TRAC A 1 BRIGHT
		Loop
Death:
	TNT1 A 0
	TNT1 A 0 A_CheckFloor("Nothing")
	TNT1 A 0 A_CheckCeiling("Nothing")
	TNT1 A 0 A_SpawnItemEx ("Penetrator",cos(-pitch)*24,0,0+(sin(pitch)*24),cos(-pitch)*100,0,sin(pitch)*100,0,SXF_TRANSFERPITCH)
	tnt1 A 2
    Stop
	
Nothing:
	TNT1 A 0 
	Stop
	
XDeath:
TNT1 A 0
	TNT1 A 0 A_SpawnItemEx ("Penetrator",cos(-pitch)*24,0,0+(sin(pitch)*24),cos(-pitch)*100,0,sin(pitch)*100,0,SXF_TRANSFERPITCH)
Stop
	}
}


Actor SpawnBulletDecalBackwards: FastProjectile
{
Projectile
+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
+THRUACTORS
damage 0
radius 2
height 2
speed 50
renderstyle ADD
Decal "BulletDecalNew1"
alpha 0.9
scale .3
states
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Loop
Death:
	TNT1 A 0 A_SpawnItem("HitPuff")
	TNT1 A 10
    Stop
XDeath:
TNT1 A 0
Stop
	}
}



Actor SpawnRocketDecalBackwards: FastProjectile
{
Projectile
+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
+THRUACTORS
damage 0
radius 6
height 2
speed 50
renderstyle ADD
Decal "Scorch"
alpha 0.9
scale .3
states
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Loop
Death:
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 4 A_CustomMissile ("PLasmaSmoke", 2, 0, random (0, 360), 2, random (10, 60))
    Stop
XDeath:
TNT1 A 0
Stop
	}
}


Actor Penetrator: MarineTracer
{
damage (random(8,10))
Decal "none"
DamageType FriendBullet
-SKYEXPLODE
//+Ripper
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("SpawnBulletDecalBackwards", 0, 0, 0)
		TRAC A 10 BRIGHT
		sTOP
		
Death:
	TNT1 A 0
	TNT1 A 0 A_CheckFloor("XDeath")
	TNT1 A 0 A_CheckCeiling("XDeath")
    TNT1 A 1 A_SpawnItem("HitPuff")
	Stop
	
DeathSpecial:	
	
    Stop
XDEath:
TNT1 A 0
TNT1 A 0 A_Playsound("bulletfleshimpact", 1)
TNT1 A 0 A_SpawnItemEx ("Penetrator2",cos(-pitch)*24,0,0+(sin(pitch)*24),cos(-pitch)*100,0,sin(pitch)*100,0,SXF_TRANSFERPITCH)
TNT1 A 1
Stop	
}
}

Actor Penetrator2: MarineTracer
{
damage (random(8,10))
Decal "none"
DamageType FriendBullet
-SKYEXPLODE
//+Ripper
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("SpawnBulletDecalBackwards", 0, 0, 0)
		TRAC A 10 BRIGHT
		sTOP
		
Death:
	TNT1 A 0
	TNT1 A 0 A_CheckFloor("XDeath")
	TNT1 A 0 A_CheckCeiling("XDeath")
    TNT1 A 1 A_SpawnItem("HitPuff")
	Stop
	
DeathSpecial:	
	
    Stop
XDEath:
TNT1 A 0
TNT1 A 0 A_Playsound("bulletfleshimpact", 1)
TNT1 A 0 A_SpawnItemEx ("Penetrator3",cos(-pitch)*24,0,0+(sin(pitch)*24),cos(-pitch)*100,0,sin(pitch)*100,0,SXF_TRANSFERPITCH)
TNT1 A 1
Stop	
}
}

Actor Penetrator3: MarineTracer
{
damage (random(8,10))
Decal "none"
DamageType FriendBullet
-SKYEXPLODE
//+Ripper
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("SpawnBulletDecalBackwards", 0, 0, 0)
		TRAC A 10 BRIGHT
		sTOP
		
Death:
	TNT1 A 0
	TNT1 A 0 A_CheckFloor("XDeath")
	TNT1 A 0 A_CheckCeiling("XDeath")
    TNT1 A 1 A_SpawnItem("HitPuff")
	Stop
	
DeathSpecial:	
	
    Stop
XDEath:
TNT1 A 0
TNT1 A 1
Stop	
}
}

Actor MonsterPenetrator: MarineTracer
{
damage (random(2,3))
Decal "BulletDecalNew1"
DamageType Bullet
-SKYEXPLODE
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_CustomMissile("SpawnBulletDecalBackwards", 0, 0, 0)
		TRAC A 10 BRIGHT
		sTOP

Death:
	TNT1 A 0
	TNT1 A 0 A_CheckFloor("XDeath")
	TNT1 A 0 A_CheckCeiling("XDeath")
	
    TNT1 A 1 A_SpawnItem("HitPuff")
    Stop
XDEath:
TNT1 A 0
TNT1 A 1
Stop	
}
}