//Tracing projectiles goes here

Actor Tracer: FastProjectile
{
	Projectile
	+FORCEXYBILLBOARD
	+DONTSPLASH
	+NOEXTREMEDEATH
	damage 0
	radius 2
	height 2
	speed 120
	renderstyle ADD
	alpha 0.9
	scale .15
	Damagetype "Weak"
	states
	{
	Spawn:
		TRAC A 34 BRIGHT
		TRAC A 1 BRIGHT A_Playsound("weapon/crack",4,1.0,1)
	Live:
		TRAC A 1 BRIGHT
		Loop
	Death:
	XDeath:
		TNT1 A 0
		TNT1 A 1 A_StopSound(4)
		Stop
	}
}

Actor DecorativeTracer: Tracer
{
-DONTSPLASH
}

Actor MonsterTracer: Tracer//Pistol
{
	+BLOODSPLATTER
	-DONTSPLASH
	+MISSILE
	speed 60
	FastSpeed 80
	damage (random(12,12))
	Decal "Bulletchip"
	DamageType MonsterBullet
	States
	{
		Spawn:
		TRAC A 34 BRIGHT
		TRAC A 1 BRIGHT A_Playsound("weapon/crack",4,1.0,1)

		Live:
		TRAC A 1 BRIGHT
		Loop

		Death:
		TNT1 A 0 A_StopSound(4)
		TNT1 A 1 A_SpawnItem("HitPuffTracer")
		Stop

		XDeath:
		TNT1 A 0 A_StopSound(4)
		Stop
	}
}

Actor ShotgunguyTracer: MonsterTracer//Shotgun
{
	damage (random(8,8))
	Decal "Bulletchip"
	DamageType MonsterShotgunBullet
}

Actor ZombieManTracer: MonsterTracer//Rifle
{
	damage (random(14,14))
}

Actor MonsterMinigunTracer: MonsterTracer//Minigun
{
	+BLOODSPLATTER
	-DONTSPLASH
	speed 50
	damage (random(10,10))
	damagetype MonsterMinigun
	Decal "Bulletchip"
}

Actor MeatShieldTracer: Tracer
{
	-DONTSPLASH
	+MTHRUSPECIES
	speed 120
	Species "Marines"
	damage (random(14,14))
	Decal "Bulletchip"
	DamageType Minor
	States
	{
	Death:
		TNT1 A 1 BRIGHT A_SpawnItem("HitPuffTracer")
		Stop
	}
}

Actor MarineTracer: Tracer
{
	damage (random(16,16))
	DamageType FriendBullet
	Species "Marines"
}

Actor MarineWeakTracer: Tracer
{
	damage (random(14,14))
	DamageType FriendBullet
	Species "Marines"
}

Actor MarineShotgunTracer: Tracer
{
	damage (random(10,10))
	damagetype FriendBullet
	Species "Marines"
}

Actor MarineMinigunTracer: Tracer
{
	damage (random(12,12))
	DamageType FriendBullet
	Species "Marines"
}

Actor Alerter: MonsterTracer
{
	-BLOODSPLATTER
	+DONTSPLASH
	+THRUGHOST
	-ACTIVATEIMPACT
	-ACTIVATEMCROSS
	-ACTIVATEPCROSS
	+MTHRUSPECIES
	radius 12
	height 12
	damage (random(2,2))
	DamageType Avoid
	Decal "None"
	Speed 2
	States
	{
	Spawn://Progressive so that monsters can't dodge at point-blank range
		TNT1 A 1 BRIGHT A_ScaleVelocity(1.25)
		Loop

	Death:
		TNT1 A 0
		Stop
	}
}

Actor Taunter: MonsterTracer
{
	-BLOODSPLATTER
	+DONTSPLASH
	+THRUGHOST
	+MTHRUSPECIES
	radius 16
	height 16
	speed 120
	damage (random(2,2))
	DamageType Taunt
	Decal "None"
	//-ACTIVATEIMPACT
	//-ACTIVATEPCROSS
	//-ACTIVATEMCROSS
	//CANPUSHWALLS
	//CANUSEWALLS
	States
	{
	Spawn:
		PUZZ Z 1 BRIGHT
		Loop
	XDeath:
	Melee:
	Death:
		TNT1 A 0
		Stop
	}
}

Actor MastermindTracer: Tracer
{
	+BLOODSPLATTER
	-DONTSPLASH
	+FORCERADIUSDMG
	+MTHRUSPECIES
	+DONTHARMSPECIES
	speed 60
	damage (random(10,10))
	scale 1.0
	RenderStyle Add
	Alpha 0.9
	seesound "SSHFIRE"
	damagetype ExplosiveImpact
	Decal "Scorch"
	Obituary "$OB_SPIDER"
	Species "SpiderMasterMind"
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail2", (2 *momx)/-35.0, -(2 *momy)/-35.0, 2+(2 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail3", (4 *momx)/-35.0, -(4 *momy)/-35.0, 2+(4 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail4", (6 *momx)/-35.0, -(6 *momy)/-35.0, 2+(6 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail5", (8 *momx)/-35.0, -(8 *momy)/-35.0, 2+(8 *momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail6", (10*momx)/-35.0, -(10*momy)/-35.0, 2+(10*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail7", (12*momx)/-35.0, -(12*momy)/-35.0, 2+(12*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail8", (14*momx)/-35.0, -(14*momy)/-35.0, 2+(14*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
		TNT1 A 0 A_SpawnItemEx("AutoCannonTracerTrail9", (16*momx)/-35.0, -(16*momy)/-35.0, 2+(16*momz)/-35.0, 0,0,0, 0, SXF_ABSOLUTEANGLE)
        Loop
	XDeath:
	Death:
		EXPL A 0 A_Explode (3, 3, 0)
		TNT1 A 0 A_SpawnItem("WhiteShockwaveSmall")
		TNT1 A 0 A_CustomMissile ("BDExplosionparticles", 0, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_CustomMissile ("BDExplosionparticles2", 0, 0, random (0, 360), 2, random (40, 90))
		TNT1 A 0 A_PlaySound("FAREXPL")
		TNT1 A 0 Radius_QUake(2, 7, 0, 2, 0)
		XPAC ABCDEFGHIJ 1 BRIGHT
		Stop
	}
}

Actor SuperMastermindTracer: MastermindTracer
{
Damage (random(12,12))
}

actor MastermindTracerTrail
{
    Scale 0.13
    RenderStyle Add
    Alpha 0.9
    +NOINTERACTION
    +CLIENTSIDEONLY
    States
    {
    Spawn:
        SPRK A 2 BRIGHT
        stop
    }
}

actor MastermindTracerTrail2: MastermindTracerTrail {    Alpha 0.85 }
actor MastermindTracerTrail3: MastermindTracerTrail {    Alpha 0.80 }
actor MastermindTracerTrail4: MastermindTracerTrail {    Alpha 0.75 }
actor MastermindTracerTrail5: MastermindTracerTrail {    Alpha 0.70 }
actor MastermindTracerTrail6: MastermindTracerTrail {    Alpha 0.65 }
actor MastermindTracerTrail7: MastermindTracerTrail {    Alpha 0.60 }
actor MastermindTracerTrail8: MastermindTracerTrail {    Alpha 0.55 }
actor MastermindTracerTrail9: MastermindTracerTrail {    Alpha 0.50 }
actor MastermindTracerTrail10: MastermindTracerTrail {    Alpha 0.45 }
actor MastermindTracerTrail11: MastermindTracerTrail {    Alpha 0.40 }
actor MastermindTracerTrail12: MastermindTracerTrail {    Alpha 0.35 }
actor MastermindTracerTrail13: MastermindTracerTrail {    Alpha 0.30 }
actor MastermindTracerTrail14: MastermindTracerTrail {    Alpha 0.25 }
actor MastermindTracerTrail15: MastermindTracerTrail {    Alpha 0.20 }
actor MastermindTracerTrail16: MastermindTracerTrail {    Alpha 0.15 }
actor MastermindTracerTrail17: MastermindTracerTrail {    Alpha 0.10 }
actor MastermindTracerTrail18: MastermindTracerTrail {    Alpha 0.05 }

Actor SpawnBulletDecalBackwards: FastProjectile
{
Projectile
+RANDOMIZE
+FORCEXYBILLBOARD
+DONTSPLASH
+THRUACTORS
damage 0
radius 2
height 2
speed 50
renderstyle ADD
Decal "Bulletchip"
alpha 0.9
scale .3
states
	{
	Spawn:
		TNT1 A 1 BRIGHT
		Loop
Death:
	TNT1 A 0 A_SpawnItem("HitPuffTracer")
	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 DistantFireSoundRifle: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARRIF")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundPistol: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARSMG")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundShotgun: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARSHT")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundHMG: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARHMG")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundMachinegun: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARMGN")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundSSG: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARSSG")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundAC: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARCAN1")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundCannon: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARTANK")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundRocket: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("FARMISL")
		TNT1 A 40
		Stop
}}

Actor DistantFireSoundMissile: Tracer
{
Speed 0
+NOCLIP
States
{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("DSMISFIR")
		TNT1 A 40
		Stop
}}