Actor ExplosiveRifle : Weapon 30392
{
  Scale 0.4
  +WEAPON.NOAUTOAIM
  Weapon.PreferredSkin "AssaultRifle-Marine"
  Weapon.SelectionOrder 7988
  Weapon.KickBack 50
  Weapon.AmmoType1 "BulletMag"
  Weapon.AmmoType2 "HadesCrystal"
  Weapon.AmmoGive1 50
  Weapon.AmmoGive2 50
  Weapon.AmmoUse1 3
  Weapon.AmmoUse2 5
  Inventory.PickupSound "items/assaultrifle"
  Inventory.PickupMessage "Executor Rifle! Press fire + alt for a shotgun, or alt + fire for a sniper!"
  Obituary "%o was terminated by %k's Executor."
  +Weapon.Alt_Ammo_Optional
  Tag "Executor Rifle"
  States
  {
  Spawn:
	PGND A -1
	Loop
  Select:
	TNT1 A 0
	TNT1 A 0 A_Raise
	TNT1 A 0 A_Raise
	Wait
  Deselect:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("MissileAnim3",1,"UnZoom")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0 A_TakeInventory("RailgunAction",1)
  DeselectLoop:
	TNT1 A 0 A_Lower
	EBGN A 1 A_Lower
	Loop
  UnZoom:
	EBGN Z 3
	TNT1 A 0 A_SetBlend("Black",1.0,43,"Black")
	EBGN A 8 A_ZoomFactor(1.0)
	TNT1 A 0 A_TakeInventory("MissileAnim3",1)
	GoTo DeSelect
  UnZoom2:
	EBGN Z 3
	TNT1 A 0 A_SetBlend("Black",1.0,43,"Black")
	EBGN A 8 A_ZoomFactor(1.0)
	TNT1 A 0 A_TakeInventory("MissileAnim3",1)
	GoTo MineToss
  UnZoom3:
	EBGN Z 3
	TNT1 A 0 A_SetBlend("Black",1.0,43,"Black")
	EBGN A 8 A_ZoomFactor(1.0)
	TNT1 A 0 A_TakeInventory("MissileAnim3",1)
	GoTo GrenadeToss
  UnZoom4:
	EBGN Z 3
	TNT1 A 0 A_SetBlend("Black",1.0,43,"Black")
	EBGN A 8 A_ZoomFactor(1.0)
	TNT1 A 0 A_TakeInventory("MissileAnim3",1)
	GoTo ReadyLoop
    
  Ready:
	TNT1 A 0 A_PlayWeaponSound("items/assaultrifle")
	EBGD ABCDEF 1
  ReadyLoop:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
	TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
	EBGN A 1 A_WeaponReady
	Loop
  Fire:
	TNT1 A 0 A_JumpIfInventory("MissileAnim3",1,"FireSnipe")
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"Hold")
    EBGN A 0 A_GiveInventory("MissileAnim1",1)
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOPRIMARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOPRIMARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOPRIMARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOPRIMARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"CustomFire2")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH)
	Hold:
	TNT1 A 0 A_TakeInventory("MissileAnim2",1)
	TNT1 A 0 A_TakeInventory("MissileAnim1",1)
	EBGN B 2 Bright A_Light1
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_FireCustomMissile("PlayerExplosiveTracer2",0,0,0,6)
	TNT1 A 0 A_FireCustomMissile("ExplosiveBullet",random(-1,1),1,0,6,0,random(-2,2))
	TNT1 A 0 A_Recoil(1)
	EBGN C 2 Bright A_Light2
	EBGN DEEE 2 A_Light0
	EBGN FFGGH 1
	TNT1 A 0 A_Refire
	Goto ReadyLoop
  CustomFire1:
	TNT1 A 0 A_TakeInventory("MissileAnim2",1)
	TNT1 A 0 A_TakeInventory("MissileAnim1",1)
    TNT1 A 0 A_JumpIfInventory("BulletMag",24,1)
	GoTo AFNext
	EBGN B 3 Bright A_Light1
	TNT1 A 0 A_TakeInventory("BulletMag",24)
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("weapons/ExplosiveSG/fire",0,1.0,0)
	TNT1 AAAAAAAA 0 A_FireCustomMissile("PlayerExplosiveTracer2",0,0,0,6)
	TNT1 AAAAAAAA 0 A_FireCustomMissile("ExplosiveBullet",random(-5,5),0,0,6,0,random(-7,7))
	TNT1 A 0 A_Recoil(7)
	EBGN C 3 Bright A_Light2
	EBGN DEE 6 A_Light0
	EBGN FFFFGGGGHH 1
	TNT1 A 0 A_Refire
	Goto ReadyLoop
  CustomFire2:
    TNT1 A 0
	EBGN A 2
	TNT1 A 0 A_SetBlend("Black",1.0,43,"Black")
	EBGN A 3
	EBGN Z 8 A_ZoomFactor(3.0)
    TNT1 A 0 A_GiveInventory("MissileAnim3",1)
	ZoomLoop:
	EBGN Z 1 A_WeaponReady
	GoTo ZoomLoop
	FireSnipe:
    TNT1 A 0 A_JumpIfInventory("BulletMag",3,1)
	GoTo ZoomLoop
    TNT1 A 0 A_JumpIfInventory("HadesCrystal",30,1)
	GoTo ZoomLoop
	EBGN Z 2
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_TakeInventory("BulletMag",3)
	TNT1 A 0 A_TakeInventory("HadesCrystal",30)
	EBGN Z 0 A_FireCustomMissile("ElekWave",0,0,0,6,0,0)
	EBGN Z 0 A_FireCustomMissile("HatredWaveFX",0,0,0,6,0,0)
	EBGN Z 0 A_FireCustomMissile("NailSoundFX",0,0,0,6,0,0)
	EBGN Z 0 A_FireCustomMissile("NailShockFX",0,0,0,6,0,0)
	EBGN Z 0 A_FireCustomMissile("ElectroxplosiveBullet2",0,0,0,6,0,0)
	TNT1 A 0 Radius_Quake(8,8,0,1,0)
	TNT1 A 0 A_Recoil(14)
	EBGN Z 3 bRIGHT A_FireCustomMissile("ElectroxplosiveBullet",0,0,0,6,0,0)
    EBGN Z 3 A_SetPitch(pitch-2)
    EBGN Z 2 A_SetPitch(pitch-2)
    EBGN Z 2 A_SetPitch(pitch-2,SPF_INTERPOLATE)
    EBGN Z 1 A_SetPitch(pitch-3,SPF_INTERPOLATE)
	EBGN Z 42
	GoTo ZoomLoop
  AltFire:
    EBGN A 0 A_JumpIfInventory("MissileAnim3",1,"UnZoom4")
    EBGN A 0 A_JumpIfInventory("MissileAnim2",1,"AltHold")
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 0 A_GiveInventory("MissileAnim2",1)
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
    EBGN A 1 A_WeaponReady(WRF_NOSWITCH|WRF_NOSECONDARY)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    EBGN A 0 A_JumpIfInventory("MissileAnim1",1,"CustomFire1")
	EBGN A 1 A_WeaponReady(WRF_NOSECONDARY|WRF_NOSWITCH)
    TNT1 A 0 A_JumpIfInventory("BulletMag",9,1)
	GoTo ReadyLoop
  AltHold:
    TNT1 A 0 A_JumpIfInventory("BulletMag",9,1)
	GoTo AFNext
	TNT1 A 0 A_TakeInventory("MissileAnim2",1)
	TNT1 A 0 A_TakeInventory("MissileAnim1",1)
	EBGN B 1 Bright A_Light1
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_FireCustomMissile("PlayerExplosiveTracer2",Random(-5,5),0,0,6,0,Random(-5,5))
	TNT1 A 0 A_TakeInventory("BulletMag",3)
	TNT1 A 0 A_FireCustomMissile("ExplosiveBullet",random(-5,5),0,0,6,0,random(-5,5))
	TNT1 A 0 A_Recoil(1)
	EBGN C 1 Bright A_Light2
	EBGN DED 1 A_Light0
	EBGN B 1 Bright A_Light1
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_FireCustomMissile("PlayerExplosiveTracer2",Random(-5,5),0,0,6,0,Random(-5,5))
	TNT1 A 0 A_TakeInventory("BulletMag",3)
	TNT1 A 0 A_FireCustomMissile("ExplosiveBullet",random(-5,5),0,0,6,0,random(-5,5))
	TNT1 A 0 A_Recoil(1)
	EBGN C 1 Bright A_Light2
	EBGN DED 1 A_Light0
	EBGN B 1 Bright A_Light1
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_FireCustomMissile("PlayerExplosiveTracer2",Random(-5,5),0,0,6,0,Random(-5,5))
	TNT1 A 0 A_TakeInventory("BulletMag",3)
	TNT1 A 0 A_FireCustomMissile("ExplosiveBullet",random(-5,5),0,0,6,0,random(-5,5))
	TNT1 A 0 A_Recoil(1)
	EBGN C 1 Bright A_Light2
	EBGN DED 1 A_Light0
	EBGN B 1 Bright A_Light1
	TNT1 A 0 Radius_Quake(4,2,0,1,0)
	TNT1 A 0 A_PlaySound("PulseNail/fire",0,1.0,0)
	TNT1 A 0 A_FireCustomMissile("PlayerExplosiveTracer2",Random(-5,5),0,0,6,0,Random(-5,5))
	TNT1 A 0 A_TakeInventory("BulletMag",3)
	TNT1 A 0 A_FireCustomMissile("ExplosiveBullet",random(-5,5),0,0,6,0,random(-5,5))
	TNT1 A 0 A_Recoil(1)
	EBGN C 1 Bright A_Light2
	EBGN DED 1 A_Light0
	TNT1 A 0 A_Refire
	AFNext:
	EBGN E 7
	EBGN FGH 3
	GoTo ReadyLoop
  GrenadeCheck:
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	Goto Ready+7
  GrenadeToss:
	TNT1 A 0 A_JumpIfInventory("MissileAnim3",1,"UnZoom3")
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	EBGD FEDCBA 1
	TNT1 A 4
	HGRN ABC 1
	HGRN D 2
	HGRN EFG 1
	HGRN HI 2
	TNT1 A 15 A_PlayWeaponSound("weapons/hgrenadepin")
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	TNT1 A 0 A_TakeInventory("HandGrenadeAmmo",1)
	HGNE A 1 A_FireCustomMissile("ThrownGrenade",0,0,0,0)
	HGRN J 1
	HGRN KLM 2
	HGRN NO 1
	TNT1 A 6
	TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Hand Grenade",1)
	TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
	TNT1 A 0
	Goto Ready+1
  MineCheck:
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
	TNT1 A 0 A_TakeInventory("MineAction",1)
	Goto Ready+7
  MineToss:
	TNT1 A 0 A_JumpIfInventory("MissileAnim3",1,"UnZoom2")
  	TNT1 A 0 A_PlayWeaponSound("weapons/weapondown") 
	EBGD FEDCBA 1
	TNT1 A 8
	TNT1 A 0 A_PlayWeaponSound("weapons/hgrenadethrow")
	MINE ABCDEF 1	
	TNT1 A 0 A_TakeInventory("MineAmmo",1)	  
	MINE G 1 A_FireCustomMissile("ThrownMine",0,0,0,0)
	MINE HI 1
	MINE JK 2
	TNT1 A 0 A_JumpIfInventory("MineAmmo",1,2)
	TNT1 A 0 A_TakeInventory("Land Mine",1)
	TNT1 A 0 A_TakeInventory("MineAction",1)
	TNT1 A 0
	TNT1 A 5
	Goto Ready+1
  }
}



Actor HatredWaveFX: BaseFXHEM17
{
 Height 1
 Radius 1
 Speed 2
  States
   {
    Spawn: 
     TNT1 A 0
	 TNT1 A 0 A_PlaySound("ElekSWave",0,1.0,0)
	 TNT1 A 1
	 Stop
  }
}

Actor NailSoundFX : HatredWaveFX
{
  States
   {
    Spawn: 
     TNT1 A 0
	 TNT1 A 0 A_PlaySound("PulseNail/Fire",0,1.0,0)
	 TNT1 A 1
	 Stop
  }
}

Actor NailShockFX : HatredWaveFX
{
  States
   {
    Spawn: 
     TNT1 A 0
	 TNT1 A 0 A_PlaySound("ElekShok",0,1.0,0)
	 TNT1 A 1
	 Stop
  }
}


Actor MissileAnim1 : Inventory { Inventory.MaxAmount 1 }
Actor MissileAnim2 : Inventory { Inventory.MaxAmount 1 }
Actor MissileAnim3 : Inventory { Inventory.MaxAmount 1 }

Actor ExplosiveBullet : ZPulseNail
{
Species "Player"
Damagetype "None"
Damage (random(20,25))
States
  {
  Spawn:
	TNT1 A 1 Bright
	Loop
  Death:
	TNT1 A 1 Bright
	TNT1 A 0 A_Playsound("PulseNail/hit",CHAN_AUTO,1.0,0)
	TNT1 A 0 A_Explode(25,95,0,0,78)
	TNT1 AAA 0 A_SpawnItemEX("Kaboom9",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360),SXF_CLIENTSIDE,0)
	TNT1 AAA 0 A_SpawnItemEX("SmokeFX4",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360),SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,1,0,0,0,0,SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SetTranslucent(0.85,1)
	MISL BBBBCC 1 Bright A_Explode(8,95,0,0,78)
	MISL CDE 3 Bright
	Stop
  }
}


ACTOR ElectroxplosiveBullet : ExplosiveBullet
{
damage (215)
+PierceArmor
+DontBlast
+MThruSpecies
+ForcePain
Scale 0.7
Speed 255
radius 5
height 5
Seesound ""
MissileType ElkxpTrace
MissileHeight 8
States
{
Spawn:
TNT1 A 1 Bright A_SpawnItemEX("ElkxpTrace",0,0,0,0,0,0,0,sxf_clientside)
loop
Death:
Crash:
TNT1 A 0
TNT1 A 0 A_PlaySound("Nail/Wall")
TNT1 AAAAAAAA 0 A_SpawnItemEx("ImpactSparks1",0,0,0,random(8,-8),random(8,-8),random(8,-8),random(0,360))
TNT1 A 0 A_Playsound("PulseNail/hit",CHAN_AUTO,1.0,0)
TNT1 A 0 A_Explode(25,95,0,0,78)
TNT1 AAA 0 A_SpawnItemEX("Kaboom9",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360),SXF_CLIENTSIDE,0)
TNT1 AAA 0 A_SpawnItemEX("SmokeFX4",0,0,0,random(-2,2),random(-2,2),random(-2,2),random(0,360),SXF_CLIENTSIDE,0)
TNT1 A 0 A_SpawnItemEx("OrangeParticleSpawner",0,0,1,0,0,0,0,SXF_CLIENTSIDE,0)
TNT1 A 0 A_SetTranslucent(0.85,1)
MISL BBBBCC 1 Bright A_Explode(8,95,0,0,78)
MISL CDE 3 Bright
Stop
}
}


Actor ElekWave
{
 Projectile
 Speed 25
 Damage (0)
 Scale 0.8
 +DontBlast
 Species "Player"
 +DontHarmSpecies
 +DontHurtSpecies
 DontHurtShooter
 +ThruActors
 Damagetype Havoc
 Height 8
 Renderstyle Add
 Alpha 1
 Radius 8
 SeeSound "ElekWaav"
  States
   {
    Spawn:
	 EKXW A 1 Bright A_SetTranslucent(0.0)
	 EKXW A 1 Bright A_SetTranslucent(0.5,1)
	 EKXW A 1 Bright A_SetTranslucent(1.0,1)
	 EKXW AABBBB 1 Bright A_Explode(6,70,0,0,70)
	 EKXW CCCCCC 1 Bright A_FadeOut(0.2)
	 Stop
   }
}
 

Actor ElectroxplosiveBullet2 : ElectroxplosiveBullet
{
 +DontBlast
+ForcePain
 sCALE 1
 Damagetype Havoc
 Damage (random(100,125)*random(1,6))
 Speed 255
 Renderstyle Add
 SeeSound "ElekShok"
 MissileType "ElkxpTrace2"
 Damagetype Havoc
 DeathSound "Zap2"
  States
   {
    Spawn:
	 EKX2 AAABBBCC 1 Bright
	 Loop
	 XDeath:
	Death:
	 EKX2 A 1 Bright A_SpawnItemEx("ElekXpDeath",0,0,0)
	 Stop
   }
}

Actor ElekXpDeath
{
 +Nogravity
 +ThruActors
 +DontBlast
 Damage (0)
 Species "Player"
 +DontHarmSpecies
 +DontHurtSpecies
 DontHurtShooter
 Renderstyle Add
 Damagetype Havoc
 Height 1
 Radius 1
 +BloodlessImpact
 ReactionTime 35
  States
   {
    Spawn:
	 TNT1 A 0
	 TNT1 A 0 A_Explode(random(12,16)*random(1,6),70,0,0,120)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 TNT1 A 0 A_Jump(114,2)
	 TNT1 A 0 A_ChangeFlag(FoilInVul,1)
	 TNT1 A 0 A_Jump(114,2)
	 TNT1 A 0 A_ChangeFlag(ForceRadiusDMG,1)
	 ZZ31 I 3 Bright A_CountDown
	 TNT1 A 0 A_Explode(random(12,16)*random(1,6),60,0,0,90)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 TNT1 A 0 A_Jump(114,2)
	 TNT1 A 0 A_ChangeFlag(FoilInVul,0)
	 TNT1 A 0 A_Jump(114,2)
	 TNT1 A 0 A_ChangeFlag(ForceRadiusDMG,0)
	 ZZ31 H 3 Bright A_CountDown
	 Loop
	Death:
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 I 3 Bright A_Explode(8,30,0,0,50)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 H 3 Bright A_Explode(8,30,0,0,50)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 I 3 Bright A_Explode(8,40,0,0,70)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 H 3 Bright A_Explode(5,40,0,0,70)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 I 3 Bright A_Explode(5,50,0,0,80)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 H 3 Bright A_Explode(4,60,0,0,80)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 H 3 Bright A_Explode(3,60,0,0,90)
	 TNT1 A 0 A_PlaySound("ShockZap",0,1.1,0)
	 ZZ31 I 3 Bright A_Explode(3,60,0,0,90)
	 ZZ31 JKL 3 Bright 
	 Stop
  }
}

ACTOR ElkxpTrace
{
Alpha 0.6
+Nogravity
Scale 0.25
States
{
Spawn:
SNIC BC 2 Bright A_Fadeout(0.016)
SNIC DEFFFFFFFFF 2 Bright A_FadeOut (0.1)
Stop
}
}


Actor ElkxpTrace2
{
 Scale 0.1
 Renderstyle Add
  +NOBLOCKMAP
  +NOGRAVITY
  +NOTELEPORT
  +CANNOTPUSH
  +NODAMAGETHRUST
  +CLIENTSIDEONLY
 States
   {
    Spawn:
	  TNT1 A 0
	  TNT1 A 1 Bright A_SpawnItemEx("ElkxpTrace2a",0,0,0,0,0,0,0,sxf_clientside)
	  TNT1 A 0 A_SpawnItemEx("ElkxpTrace2b",0,0,0,0,0,0,0,sxf_clientside)
	  stop
	}
}



Actor ImpactSparks1 : BaseFXHEM17
{
 Renderstyle Add
 BounceCount 88
 BounceFactor 0.3
 WallBounceFactor 0.3
 Scale 0.08
 Projectile
 +Ripper
 Damage 0
 +BloodlessImpact
 Speed 1
 -NoClip
 +BounceOnCeilings
 +BounceOnWalls
 +BounceOnFloors
 Gravity 0.5
 -NoGravity
  States
   {
    Spawn:
	 SPKO C 6 Bright
	 SPKO C 1 Bright A_FadeOut(0.065)
	 Wait
   }
}
Actor ElkxpTrace2a : BaseFXHEM17
{
 Scale 0.5
 Renderstyle Add
  States
   {
    Spawn:
	 EKX2 GH 2 Bright
	 TNT1 A 0 A_PlaySound("Zap1",0,1.0,0)
	 EKX2 IJ 2 Bright
	 EKX2 KKLLlLL 1 Bright A_FadeOut
	 Stop
  }
}

Actor ElkxpTrace2b : BaseFXHEM17
{
 Scale 0.3
 Renderstyle Add
  States
   {
    Spawn:
	 EKXT AABBCDEFG 1 Bright
	 EKXT GHHHHHH 1 Bright A_FadeOut(0.2)
	 Stop
  }
}