actor RedPlasmaSpark
{
	Projectile
	Radius 2
	Height 2
	Damage 0
	RenderStyle Add
	BounceType "Hexen"
	BounceFactor 0.75
	Alpha 1.0
	Scale 0.05
	Gravity 0.75
	+DONTSPLASH
	+FORCEXYBILLBOARD
	-NOGRAVITY
	-ACTIVATEIMPACT
	-ACTIVATEPCROSS
	States
	{
		Spawn:
			SPKO A 1 Bright A_FadeOut(0.05)
			loop
		Death:
			TNT1 AA 1
			stop
	}
}

actor BluePlasmaSpark : RedPlasmaSpark
{
	States
	{
		Spawn:
			SPKB A 1 Bright A_FadeOut(0.05)
			loop
	}
}

actor GreenPlasmaSpark : RedPlasmaSpark
{
	States
	{
		Spawn:
			SPKG A 1 Bright A_FadeOut(0.05)
			loop
	}
}

actor YellowPlasmaSpark : RedPlasmaSpark
{
	States
	{
		Spawn:
			SPKY A 1 Bright A_FadeOut(0.05)
			loop
	}
}

ACTOR SD64PlasmaBall_DM : PlasmaBall replaces PlasmaBall
{
	Yscale 0.70
	XScale 0.75
	Speed 40 // O shit! way to go fast on dm!
	Decal "PlasmaScorch"
	+FORCEXYBILLBOARD
	States
	{
	Spawn:
		PLSS AABB 1 Bright
		Loop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		PLSS C 3 Bright A_SpawnItemEx("BluePlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		PLSS DEFGH 2 Bright A_SpawnItemEx("BluePlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		Stop
	}
}

ACTOR SD64PlasmaBall_Coop : SD64PlasmaBall_DM
{
	+MTHRUSPECIES
	Speed 30 // Much better :3
}

ACTOR SD64PlasmaBall_Blue : SD64PlasmaBall_DM
{
	Decal "PlasmaScorch"
	+MTHRUSPECIES
	States
	{
	Spawn:
		PLSS AABB 1 Bright
		Loop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		PLSS C 3 Bright A_SpawnItemEx("BluePlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		PLSS DEFGH 2 Bright A_SpawnItemEx("BluePlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		Stop
	}
}

ACTOR SD64PlasmaBall_Red : SD64PlasmaBall_DM
{
	Decal "RedPlasmaScorch"
	+MTHRUSPECIES
	States
	{
	Spawn:
		RLSS AABB 1 Bright
		Loop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		RLSS C 3 Bright A_SpawnItemEx("RedPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		RLSS DEFGH 2 Bright A_SpawnItemEx("RedPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		Stop
	}
}

ACTOR SD64PlasmaBall_Green : SD64PlasmaBall_DM
{
	Decal "GreenPlasmaScorch"
	+MTHRUSPECIES
	States
	{
	Spawn:
		GRES AABB 1 Bright
		Loop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		GRES C 3 Bright A_SpawnItemEx("GreenPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		GRES DEFGH 2 Bright A_SpawnItemEx("GreenPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		Stop
	}
}

ACTOR SD64PlasmaBall_Yellow : SD64PlasmaBall_DM
{
	Decal "YellowPlasmaScorch"
	+MTHRUSPECIES
	States
	{
	Spawn:
		YLSS AABB 1 Bright
		Loop
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		YLSS C 3 Bright A_SpawnItemEx("YellowPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		YLSS DEFGH 2 Bright A_SpawnItemEx("YellowPlasmaSpark", 0, 0, 0, random(-6, 6), random(-6, 6), random(-3, 8), random(-360,360), SXF_CLIENTSIDE, 0)
		Stop
	}
}

actor RocketSmoke
{
	Projectile
	Radius 2
	Height 2
	Renderstyle Translucent
	Alpha 0.5
	Yscale 0.70
	XScale 0.75
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+MISSILE
	+NOINTERACTION
	States
	{
		Spawn:
			TNT1 A 2
			PUF2 ABCDE 2
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

actor RedSmoke : RocketSmoke
{
	Projectile
	Radius 2
	Height 2
	Renderstyle Add
	Alpha 0.5
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+MISSILE
	+NOINTERACTION
	States
	{
		Spawn:
			TNT1 A 2
			PUF4 ABCDE 1
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

actor GreenSmoke : RedSmoke
{
	States
	{
		Spawn:
			TNT1 A 2
			PUF5 ABCDE 1
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

actor BlueSmoke : RedSmoke
{
	States
	{
		Spawn:
			TNT1 A 2
			PUF6 ABCDE 1
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

actor YellowSmoke : RedSmoke
{
	States
	{
		Spawn:
			TNT1 A 2
			PUF7 ABCDE 1
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

actor RocketBlast
{
	Projectile
	Radius 4
	Height 4
	XScale 0.75
	YScale 0.70
	Alpha 1.0
	RenderStyle "Add"
	BounceType "Hexen"
	BounceFactor 1.0
	+FORCEXYBILLBOARD
	-ACTIVATEIMPACT
	-ACTIVATEPCROSS
	States
	{
		Spawn:
			MISL B 7 bright
			MISL C 7 bright A_FadeOut (0.2)
			MISL D 3 bright A_FadeOut (0.2)
			MISL EF 3 bright A_FadeOut (0.2)
			stop
		Death:
			TNT1 AA 1
			stop
	}
}

ACTOR DMRocket : Rocket replaces Rocket
{
	Speed 30
	Yscale 0.70
	XScale 0.75
	Decal BigScorch
	-ROCKETTRAIL
	-NOTELEPORT
	+EXTREMEDEATH
	+FORCEXYBILLBOARD
	+MTHRUSPECIES
	States
	{
	Spawn:
		MISL AA 1 Bright
		MISL AA 0 Bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		loop	
	XDeath:
		TNT1 A 0
		TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
		goto Death
	Death:
		TNT1 A 0 A_SetTranslucent(1.0, 1)
		TNT1 AAAAAA 0 A_SpawnItemEx("RocketBlast", 0, 0, 0, random(-2,2), random(-2,2), random(-2,2), random(-180,180), SXF_CLIENTSIDE, 0)
		MISL B 7 bright A_Explode
		MISL C 7 bright A_FadeOut (0.2)
		MISL D 3 bright A_FadeOut (0.2)
		MISL EF 3 bright A_FadeOut (0.2)
		Stop
	}
}

ACTOR CoopRocket : DMRocket
{
Speed 25 
// Almost the same doom 2 rocket speed but its a bit faster for the doom 64 change
+NOTELEPORT
+ROCKETTRAIL
}

ACTOR RedRocket : DMRocket
{
	+MTHRUSPECIES
	States
	{
	Spawn:
		MISL AA 1 Bright A_SpawnItemEx("RedSmoke", Random(-1,1), Random(-1,1), Random(-1,1), random(-1,1), random(-1,1), random(-1,1), 0, SXF_CLIENTSIDE, 0)
		MISL AA 0 Bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		loop
	}
}

ACTOR BlueRocket : DMRocket
{
	+MTHRUSPECIES
	States
	{
	Spawn:
		BLUM AA 1 Bright A_SpawnItemEx("BlueSmoke", Random(-1,1), Random(-1,1), Random(-1,1), random(-1,1), random(-1,1), random(-1,1), 0, SXF_CLIENTSIDE, 0)
		BLUM AA 0 Bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		loop
	}
}

ACTOR GreenRocket : DMRocket
{
	+MTHRUSPECIES
	States
	{
	Spawn:
		GREM AA 1 Bright A_SpawnItemEx("GreenSmoke", Random(-1,1), Random(-1,1), Random(-1,1), random(-1,1), random(-1,1), random(-1,1), 0, SXF_CLIENTSIDE, 0)
		GREM AA 0 Bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		loop
	}
}

ACTOR GoldRocket : DMRocket
{
	+MTHRUSPECIES
	States
	{
	Spawn:
		GOLM AA 1 Bright A_SpawnItemEx("YellowSmoke", Random(-1,1), Random(-1,1), Random(-1,1), random(-1,1), random(-1,1), random(-1,1), 0, SXF_CLIENTSIDE, 0)
		GOLM AA 0 Bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
		loop
	}
}	

actor UnmakerLaser 9904
{
  game Doom
  radius 2
  height 2
  speed 30
  scale 0.75
  damage 10
  PROJECTILE
  +RANDOMIZE
  Renderstyle Normal
  Alpha 1
  SeeSound "weapons/unmaker"
  Decal RailScorch
  DeathSound "Null"
  Obituary "%o was unmade by %k."
  Damagetype "Unmaker"
  States
  {
  Spawn:
    LAZR A 1 bright A_spawnitemEX("UNMKLazerTrail")
    loop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
	goto Death
  Death:
    LPUF AB 2 bright A_FadeOut (0.1)
    loop
  }
}

Actor UNMKLazerBlueTeam : UnmakerLaser
{
Decal RailScorchB
  States
  {
  Spawn:
    LAZB A 1 bright A_spawnitemEX("UNMK_LT_Blue")
    loop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
	goto Death
  Death:
    LPUB AB 2 bright A_FadeOut (0.1)
    loop
  }
}


Actor UNMKLazerYellowTeam : UnmakerLaser
{
Decal RailScorchY
  States
  {
  Spawn:
    LAZC A 1 bright A_spawnitemEX("UNMK_LT_Yellow")
    loop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
	goto Death
  Death:
    LPUC AB 2 bright A_FadeOut (0.1)
    loop
  }
}



Actor UNMKLazerGreenTeam : UnmakerLaser
{
Decal RailScorchG
  States
  {
  Spawn:
    LAZD A 1 bright A_spawnitemEX("UNMK_LT_Green")
    loop
  XDeath:
	TNT1 A 0
	TNT1 A 0 A_GiveToTarget("HitConfirmation", 1)
	goto Death
  Death:
    LPUD AB 2 bright A_FadeOut (0.1)
    loop
  }
}

Actor UNMKLazerTrail
{
  game Doom
  radius 2
  height 2
  speed 0
  scale 0.50
  Renderstyle add
  +NOGRAVITY
  Alpha 1.0
  states
  {
    Spawn:
    LPUF AB 4
    Death:
    LPUF C 4 A_FadeOut (0.25)
    Goto Death
  }
}

Actor UNMK_LT_Yellow : UNMKLazerTrail
{  states
  {
    Spawn:
    LPUC AB 4
    Death:
    LPUC C 4 A_FadeOut (0.25)
    Goto Death
  }
}

Actor UNMK_LT_Green : UNMKLazerTrail
{  states
  {
    Spawn:
    LPUD AB 4
    Death:
    LPUD C 4 A_FadeOut (0.25)
    Goto Death
  }
}

Actor UNMK_LT_Blue : UNMKLazerTrail
{  states
  {
    Spawn:
    LPUB AB 4
    Death:
    LPUB C 4 A_FadeOut (0.25)
    Goto Death
  }
}

actor 64DoomImpBall : DoomImpBall Replaces DoomImpBall
{
  speed 10
  decal DoomImpScorch
  renderstyle normal
  Yscale 0.70
  XScale 0.75
  states
  {
  Spawn:
    BAL1 ABC 4 bright A_SpawnItemEx("PTrailDImp", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    loop
  Death:
    BAL1 DEFGHI 1 bright A_SpawnItemEx("PTrailDImp", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    stop
  }
}

actor 64CacodemonBall : CacodemonBall Replaces CacodemonBall
{
  Speed 20
  FastSpeed 25
  decal CacoScorch
  Renderstyle Normal
  Yscale 0.70
  XScale 0.75
  States
  {
  Spawn:
    BAL2 ABC 4 bright A_SpawnItemEx("YellowSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    loop
  Death:
    BAL2 D 6 bright A_SetTranslucent (0.5)
	BAL2 CCCCC 0 A_SpawnItemEx("YellowSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    BAL2 E 5 bright
    BAL2 F 3 bright
    BAL2 GHIJ 3 bright
    stop
  }
}

actor 64HellKnightBall : BaronBall Replaces BaronBall
{
  renderstyle Normal
  decal BaronScorch
  Yscale 0.70
  XScale 0.75
  states
  {
  Spawn:
    BAL7 AB 4 bright A_SpawnItemEx("GreenSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    loop
  Death:
    BAL7 C 5 bright
	BAL7 CCCCC 0 A_SpawnItemEx("GreenSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    BAL7 D 5 bright A_FadeOut (0.1667)
    BAL7 E 4 bright A_FadeOut (0.1667)
    BAL7 FGH 3 bright A_FadeOut (0.1667)
    stop
  }
}

actor 64BaronBall : 64HellKnightBall
{
  Renderstyle Normal
  decal BaronScorch
  Yscale 0.70
  XScale 0.75
  states
  {
  Spawn:
    BAL8 AB 4 bright A_SpawnItemEx("RedSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    loop
  Death:
    BAL8 C 5 bright
	BAL8 CCCCC 0 A_SpawnItemEx("REDSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    BAL8 D 5 bright A_FadeOut (0.1667)
    BAL8 E 3 bright A_FadeOut (0.1667)
    BAL8 FGH 3 bright A_FadeOut (0.1667)
    stop
  }
}

actor 64FatShot : Fatshot Replaces Fatshot
{
RenderStyle Normal
	States
	{
	Spawn:
		MANF ABC 3 BRIGHT A_CustomMissile ("MotherBallTrail",0,0,0,2,0)
		Loop
	Death:
		MISL D 8 BRIGHT
		MISL E 3 BRIGHT
		MISL F 3 BRIGHT
		MISL G 2 BRIGHT
		MISL H 1 BRIGHT
		MISL I 1 BRIGHT
		Stop
	}
}

ACTOR 64ArachnotronPlasma : ArachnotronPlasma replaces ArachnotronPlasma
{
   Damage 3
	States
	{
	Spawn:
		APLS AB 5 BRIGHT A_SpawnItemEx("BlueSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
		Loop
	Death:
		APLS AB 5 BRIGHT A_SpawnItemEx("BlueSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
		APLS CD 4 BRIGHT A_SpawnItemEx("BlueSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
		APLS EF 3 BRIGHT A_SpawnItemEx("BlueSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
		APLS HG 2 BRIGHT A_SpawnItemEx("BlueSpark", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
		Stop
	}
}


Actor 64RevenantTracer : RevenantTracer Replaces RevenantTracer
{
	RenderStyle Normal
	scale 0.82
	Damage 6
	Speed 7
	States
	{
	Spawn:
	    TRCR A 0 bright A_CustomMissile ("MotherBallTrail",0,0,0,2,0)
	    TRCR A 3 bright A_SeekerMissile (8, 8)
	    TRCR B 0 bright A_CustomMissile ("MotherBallTrail",0,0,0,2,0)
	    TRCR B 3 bright A_SeekerMissile (8, 8)
	    loop
	Death:
	    TRCR D 8 bright
	    TRCR E 6 bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
	    TRCR F 3 bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
	    TRCR GHI 3 bright
	    stop
	}
}

actor 64RevenantTracerSmoke : RevenantTracerSmoke Replaces RevenantTracerSmoke
{
  RenderStyle Normal
  scale 0.6
  States
  {	
  Spawn:
    MPUF ABCDE 2 bright
    Stop
  }
}

actor TracerMissile : RevenantTracer 9933
{
	RenderStyle Normal
	Damage 10
	Speed 10
	States
	{
	Spawn:
	    TRCR A 0 bright A_CustomMissile ("MotherBallTrail",0,0,0,2,0)
	    TRCR A 2 bright A_SeekerMissile (9, 9)
	    TRCR B 0 bright A_CustomMissile ("MotherBallTrail",0,0,0,2,0)
	    TRCR B 2 bright A_SeekerMissile (9, 9)
	    loop
	Death:
	    TRCR D 8 bright
	    TRCR E 6 bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
	    TRCR F 3 bright A_SpawnItemEx("RocketSmoke", 0, 0, 0, 0, 0, 0, 0, SXF_CLIENTSIDE, 0)
	    TRCR GHI 3 bright
	    stop
	}
}

actor 64ArchvileFire : ArchvileFire Replaces ArchvileFire
{
  Renderstyle Translucent
  Alpha 0.5
}

actor MotherBallTrail : RocketSmokeTrail
{
  Renderstyle Translucent
  Alpha 0.5
  VSpeed 1
  states
  {
  Spawn:
    MPUF ABCDE 2 bright
    stop
  }
}

actor NimpBall : DoomImpBall 9896
{
  Speed 15
  FastSpeed 25
  decal DoomImpScorch
  Yscale 0.70
  XScale 0.75
  Renderstyle Translucent
  Alpha 0.6
  States
  {
  Spawn:
    NMBL ABC 4 Bright A_SpawnItemEx("PTrailNImp", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    loop
  Death:
    NMBL DEFGHI 1 Bright A_SpawnItemEx("PTrailNImp", 0, 0, 0, (0.1)*Random(10, 25), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    stop
  }
}

Actor PTrailDImp
{
  RenderStyle Translucent
  alpha 1.0
  Projectile
  +Nogravity
  -Solid
  scale 0.45
  States
  {	
  Spawn:
    BAL1 ABC 2 Bright a_fadeout(0.2)
    loop
  }
}

Actor PTrailNImp : PTrailDImp
{
  States
  {	
  Spawn:
    NMBL ABC 2 Bright a_fadeout(0.2)
    loop
  }
}