ACTOR CorruptedCommando //Gotta at least have one half life soundtrack
{
//Creator: ConsulCast
//Origin: Nexus Infinity
//Sprite: CRCG
//Title: "Corrupted Commando"
Health 1850
Radius 20
Height 56
Speed 13
Mass 100
Monster
DropItem "HandGrenadeAmmo" 256 2
DropItem "MineAmmo" 256 2
DropItem "Backpack" 256 1
DropItem "Armorplate" 256 1
DropItem "Portablemedkit" 256 1
Dropitem "D-BFG", 100, 1
Dropitem "MarineSquadBeacon", 80, 1
Dropitem "MarineDBFGBeacon", 55, 1
Dropitem "DCellPack", 256, 32
Dropitem "DCellPack", 128, 30
Dropitem "DCell", 256, 10
Dropitem "DCell", 256, 10
Dropitem "DCell", 256, 10
DropItem "DemonicChalice", 128, 1
DropItem "UltraSphere", 256, 1
DamageFactor 0.5
DamageFactor "PlayerDTRG", 0.4
DamageFactor "DTRailgun", 0.4
DamageFactor "Player",0.3
DamageFactor "LegendaryPlayer",0.5
DamageFactor "Legendary",0.5
DamageFactor "CChainTracer",0.0
DamageFactor "SuperWeapon", 0.75
DamageFactor "LegendaryGuruPlayer", 0.75
DamageFactor "PlayerDevBall", 0.65
DamageFactor "PlayerDevTracer", 0.15
DamageFactor "PowerDoubleDamage", 0.5
DamageFactor "BFG10K", 0.65
DamageFactor "BFG9500Ball", 0.4
DamageFactor "CustomSpray", 0.1
DamageFactor "BFGSplash", 0.1
DamageFactor "BFGSpray", 0.1
DamageFactor "Explosion", 0.1
DamageFactor "PDTBFG", 0.1
DamageFactor "PDTBFGTracer", 0.1
DamageFactor "PlayerDTBFGRailgunSlug", 0.1
DamageFactor "PDTPuff", 0.1
DamageFactor "SatanGuard", 0.0
DamageFactor "Moloch", 0.0
DamageFactor "ZombieDev", 0.0
DamageFactor "Terminator", 0.0
DamageFactor "Legendary1", 0.0
DamageFactor "LegendaryGuru", 0.0
DamageFactor "UltimateLegendary", 0.0
DamageFactor "Cybers", 0.0
DamageFactor "Hell", 0.0
DamageFactor "Commander", 0.0
DamageFactor "Baby15K", 0.0
DamageFactor "Cyber10K", 0.0
DamageFactor "DemolisherEx", 0.0
DamageFactor "DarkDemoEx", 0.0
DamageFactor "CerChainguns", 0.0
DamageFactor "CerEnergyBall", 0.0
DamageFactor "HellComet", 0.0
DamageFactor "HFCyber", 0.0
DamageFactor "DBFG2", 0.0
DamageFactor "DBFG10K2", 0.0
DamageFactor "DBFGSplash2", 0.0
DamageType "DBFG2"
Species "SpecOps"
SeeSound "CCHAIN/Sight"
ActiveSound "CCHAIN/Active"
PainSound "UCHAIN/Pain"
DeathSound "CCHAIN/Death"
Obituary "%o was destroyed by the Corrupted Commando."
Tag "\c[l5]Corrupted Commando\c-"
+FLOORCLIP
+SEEINVISIBLE
+MISSILEMORE
+DONTMORPH
+NOICEDEATH
+DONTRIP
+NOPAIN
+DONTGIB
+BOSS
+MISSILEEVENMORE
+DONTHARMSPECIES
+QUICKTORETALIATE
+NOBLOOD
var int user_music;
var int user_missile;
States
{
  Spawn:
	CRCG AA 1 A_Look
	loop
  See:
	TNT1 A 0 A_JumpIf(user_music == 1,3)
	TNT1 A 0 ACS_NamedExecuteAlways("StartMonsterMusic",0,3100)
	TNT1 A 0 A_SetUserVar("user_music",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG AA 3 A_Chase
	TNT1 A 0 A_JumpIfTargetInLos("OpeningDelay")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("CCHAIN/step")
	CRCG BB 3 A_Chase
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG CC 3 A_Chase
	TNT1 A 0 A_PlaySound("CCHAIN/step")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG DD 3 A_Chase
	TNT1 A 0 A_Jump(128, "Teleport")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	Loop
  OpeningDelay:
	CRCG E 3 A_GiveInventory("CCommandoStrafing",1)	
  Opening:
	TNT1 A 0 A_Playsound("CCHAIN/Telegraph",CHAN_WEAPON)
	CRCG E 1 A_Facetarget
	CRCG EEEEEEEEEE 2 A_CustomRailgun(-1,10,NONE,NONE,RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"CChainLaserTarget")
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_Playsound("CCHAIN/Rocket",CHAN_WEAPON)
	CRCG FF 1 A_CustomMissile("BlueCommandoRocket", 32, 0, 0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_Playsound("CCHAIN/Rocket",CHAN_WEAPON)
	CRCG FF 1 A_CustomMissile("BlueCommandoRocket", 32, 0, 0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_Playsound("CCHAIN/Rocket",CHAN_WEAPON)
	CRCG FF 1 A_CustomMissile("BlueCommandoRocket", 32, 0, 0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_Playsound("CCHAIN/Rocket",CHAN_WEAPON)
	CRCG FF 1 A_CustomMissile("BlueCommandoRocket", 32, 0, 0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
  Teleport:
	TNT1 A 0 A_UnSetShootable
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CRCG HHHHHHHHHHH 1 A_Fadeout(0.1,0)
	TNT1 A 0 A_Stop
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Wander
	TNT1 A 0 A_PlaySound("boss/teleport", 6)
	TNT1 AAAAAAAAA 0 A_SpawnItemEx("BlueSentLineSpawner")
	CRCG HHHHHHHHHHH 1 A_FadeIn(0.1)
	CRCG E 3 A_FaceTarget
	TNT1 A 0 A_Stop
	TNT1 A 0 A_SetShootable
	TNT1 A 0 A_JumpIfTargetInLOS(1)
	Goto See
	TNT1 A 0
  Missile:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(128,"Laser", "DTBFG")
  Normal:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG E 1 Bright A_FaceTarget
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 2 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 2 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_FaceTarget
	CRCG EE 1 Bright A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("sentient/fire")
	CRCG F 1 Bright A_CustomMissile("CChainExplosiveTracer",32,0,random(-5,5))
	TNT1 A 0 A_Jump(80, "Teleport")
	TNT1 A 0 A_Jump(100,"See")
	Goto Missile+1
  Laser:
	TNT1 A 0 A_PlaySound("CCHAIN/Charge", CHAN_NOPAUSE, 500)
	TNT1 A 0 A_PlaySound("CCHAIN/Active",CHAN_VOICE,1,0,0.5)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG E 20 Bright A_FaceTarget
  Lasering:
	TNT1 A 0 A_JumpIf(user_missile >= 15, "LaserCool")
    TNT1 A 0 A_SetUserVar("user_missile", user_missile+1)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	CRCG E 7 Bright A_FaceTarget
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_PlaySound("CCHAIN/Laser", CHAN_WEAPON, 500)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	CRCG F 2 Bright A_CustomMissile("CComLaserBeam",32,0,0,0)
	//TNT1 A 0 A_Jump (110,"Lasering")
	Loop
  LaserCool:
	TNT1 A 0 A_PlaySound("weapons/steam")
	TNT1 A 0 A_SetUserVar("user_missile", 0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_Jump(45, "Teleport")
	CRCG EEEEEEEEEEEEE 2 A_SpawnItemEx("Smoke",20,10,32,random(2,-2),random(2,-2),random(1,3),0,0,0,0)
	TNT1 A 0 A_GiveInventory("CCommandoStrafing",1)	
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	Goto See
  DTBFG:
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("CCHAIN/Charge",1)
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	TNT1 A 0 A_PlaySound("CCHAIN/Active",CHAN_VOICE,1,0,0.5)
	CRCG E 1 Bright A_FaceTarget
	CRCG E 1 Bright A_FaceTarget
	TNT1 A 0 A_SpawnItemEx("CBoysFireSpawner")
	CRCG E 1 A_SpawnItemEx("CBoysFireSpawner")
	CRCG EEEEEEEEEE 2 A_CustomRailgun(-1,10,NONE,"Blue",RGF_SILENT|RGF_NOPIERCING,1,0,"RailTargetPuff",0,0,0,0,2,0,"CChainLaserTarget")
	TNT1 A 0 A_PlaySound("Weapons/dbfgfire2")
	CRCG F 4 Bright A_CustomMissile("CChain10kBall",38,0,0)
	Goto See
  Death:
	TNT1 A 0 A_ChangeFlag(SLIDESONWALLS,0)
	CRCG I 20 A_StopSound(6)
	CRCG J 0 A_PlaySound("Gore/Splat")
	CRCG J 10 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	CRCG J 10 A_Scream
	CRCG K 20 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	CRCG L 20 A_NoBlocking
	CRCG M 20 Bright A_SpawnItemEx("BlueCardRocketExplosion",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	CRCG M -1
	Stop
	}
}

Actor CChainExplosiveTracer : BlueSentientExplosiveTracer
{
Species "SpecOps"
DamageType "DBFG2"
States
{
  Spawn:
	TRC5 A 1 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItem("BlueSentientExplosiveEffect")
	BCRC C 4 Bright A_Explode(Random(5,10)*3,72)
	BCRC DE 3 Bright
	Stop
	}
}

Actor CCommandoStrafing : NemesisLegZombieStrafing
{
States
  {
  Pickup:
	NULL A 1 
	NULL A 1 A_SpawnItem("CBoysFireSpawner",0,0,0,0)
	NULL A 1 A_Jump(188,2)
	NULL A 1 A_GiveInventory("LegZombieJumping",1)
	NULL A 1 A_JumpIf(velx != 0 || vely != 0,2)
	NULL A 1 A_Jump(256,2)
	NULL A 1 A_Jump(235,5)
	NULL A 1 A_JumpIfInventory("LegZombieStrafeSens",1,3)
	NULL A 1 A_GiveInventory("LegZombieStrafeSens",1)
	NULL A 1 A_Jump(256,2)  
	NULL A 1 A_TakeInventory("LegZombieStrafeSens",1)
	NULL A 1 A_JumpIfInventory("LegZombieStrafeSens",1,3)
	NULL A 1 ThrustThing(angle*256/360+38.7,8,0,0)
	NULL A 1 A_Jump(256,2)  
	NULL A 1 ThrustThing(angle*256/360+38.7,-8,0,0)
	NULL A 1 A_FaceTarget
	NULL A 1 A_Jump(24,2)
	NULL A 1 A_JumpIfCloser(300,2)
	NULL A 1 A_Recoil(-2)
	Stop
	NULL A 1 A_Recoil(2)
	Stop  
  }
}

ACTOR CChainLaserTarget : BFG9500Trail
{
Scale 0.025
Alpha 0.65
+NOTIMEFREEZE
States
{
  Spawn:
	CCLS A 2 Bright
	Stop
	}
}

ACTOR BlueCommandoRocket : BCyberLordRocket
{
Game Doom
Projectile
Radius 11
Height 8
Species "SpecOps"
+DONTHARMSPECIES
Speed 40
FastSpeed 50
Damage 20
ExplosionDamage 20
Radius 8
DamageType "DBFG2"
}

//ACTOR CChain10kBall : T3DBFG10KBall2  // T3DBFG10KBall
//{
//	+DONTHARMSPECIES
//	Species "SpecOps"
//	DamageType "DBFG2"
//	Damage 50
//}

ACTOR CChain10kBall : BFGBall
{
Height 40
Radius 20
Speed 26
Alpha 0.75
Scale 1.5
Decal "DBFGLightning"
Damage 5
SeeSound ""
DeathSound "Weapons/bfg27ex"
Species "SpecOps"
DamageType "DBFG2"
+FORCERADIUSDMG
+DONTHARMSPECIES
+MTHRUSPECIES
+NODAMAGETHRUST
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_Jump(128,"SpawnSFX")
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("Weapons/dbfgball", CHAN_VOICE, 1.0, True)
	TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBoltSmlExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(1,-1),random(0,359))
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBoltSmlExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(1,-1),random(0,359))
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	Loop
  "SpawnSFX":
	TNT1 A 0 A_AlertMonsters
	TNT1 A 0 A_PlaySound("Weapons/dbfgball",CHAN_VOICE,1.0,True)
	TNT1 A 0 A_Jump(128,3)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBoltSmlExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_Jump(256,2)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBoltSmlExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",random(-6,6),random(-6,6),random(8,16),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",Random(6,-6),Random(6,-6),Random(16,8),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail", 0, random(2,-2), random(2,-2), 0, 0, 0, 0, SXF_NOCHECKPOSITION|SXF_CLIENTSIDE, 0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle", random(1,-1), frandom(1,-1), frandom(1,-1), frandom(1,1), frandom(1,1), frandom(1,-1), random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",random(-6,6),random(-6,6),random(8,16),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",Random(-12,12),Random(-12,12),Random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",random(-6,6),random(-6,6),random(8,16),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",random(-6,6),random(-6,6),random(8,16),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGShockAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticleFloater",random(-12,12),random(-12,12),random(12,22),random(-2,2),random(-2,2),random(-2,2),random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallLightningBolt",random(-6,6),random(-6,6),random(8,16),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_SpawnItemEx("CComT3DBFGBoltExp")
	TNT1 A 0 A_Explode(150,256,0,false,128)
	TNT1 A 0 A_Quake(4,35*2,0,4096, none)
	TNT1 A 8 Bright
	TNT1 A 0 A_Explode(150,384,0,false,128)
	TNT1 A 8 Bright
	TNT1 A 0 A_Explode(150,512,0,false,256)
	//TNT1 A 8 Bright A_BFGSpray("T3DBFGBallExp",40,15)  //~1200 damage
	TNT1 A 0 A_Explode(150,512,0,false,256)
	TNT1 A 8 Bright
	TNT1 A 0 A_Explode(150,512,0,false,256)
	TNT1 A 8 Bright
	TNT1 A 0 A_Explode(150,512,0,false,256)
	TNT1 A 8 Bright
	TNT1 A 1 Bright A_Explode(150,512,0,false,256)  //7 A_Explode 896 damage
	TNT1 A 10 Bright
	Stop
	}
}

ACTOR CComT3DBFGBoltExp
{
Renderstyle Add
Alpha 0.95
Species "SpecOps"
DamageType "DBFG2"
+NOGRAVITY
+NOTELEPORT 
+NOBLOCKMAP
+FORCERADIUSDMG
+BLOODLESSIMPACT
+THRUSPECIES
+DONTHARMSPECIES
+MTHRUSPECIES
+NODAMAGETHRUST
States
{
  Spawn:
	TNT1 A 0
    TNT1 A 0 Radius_Quake(5,60,0,10,0)
    TNT1 A 0 A_SpawnItemEx("T3DTBFGLightningSpawner",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwave",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwave",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP B 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwave",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP C 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwave",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PP A 1 Bright A_SpawnItemEx("T3DBFGBallTrail",0,random(-2,2),random(-2,2),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
	TNT1 A 0 A_SpawnItemEx("T3DBFGBallParticle",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 AAA 0 A_StopSound(CHAN_VOICE)
    TNT1 A 0 Radius_Quake(15,20,0,20,0)
	TNT1 A 0 A_PlaySound("Weapons/dbfgexplode",CHAN_AUTO,1.0,False,ATTN_NONE)
    //TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwaveLrg",0,0,15,0,0,0,0,128)
    TNT1 A 20 A_SpawnItemEx("T3DBFGBallExp")
	TNT1 A 0 A_SpawnItemEx("CComT3DBFGBoltExpImpact")
    TNT1 A 0 A_SpawnItemEx("T3DBFGBallShockwaveLrg",0,0,15,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
	TNT1 A 0
	//TNT1 A 0 A_PlaySound("Weapons/dbfgexplode",CHAN_BODY,1.0,False,ATTN_NONE)
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PX A 3 Bright A_FadeOut(0.05,1)
	D3PX B 3 Bright A_FadeOut(0.05,1)
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltLrgExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltLrgExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PX C 3 Bright A_FadeOut(0.045,1)
	D3PX D 3 Bright A_FadeOut(0.035,1)
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExtLrgExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpC", random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PX A 3 Bright A_FadeOut(0.05,1)
	D3PX B 3 Bright A_FadeOut(0.05,1)
    TNT1 AA 0 A_SpawnItemEx("T3DBFGBoltLrgExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 AAA 0 A_SpawnItemEx("T3DBFGBoltLrgExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PX C 3 Bright A_FadeOut(0.045,1)
	D3PX D 3 Bright A_FadeOut(0.035,1)
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpB",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
    TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExtLrgExpC",random(-1,1),random(-1,1),random(-1,1),frandom(-1.0,1.0),frandom(-1.0,1.0),frandom(-1.0,1.0),random(0,359))
	D3PX E 3 Bright A_FadeOut(0.025,1)
	D3PX F 3 Bright A_FadeOut(0.015,1)
	D3PX G 4 Bright A_FadeOut(0.065,1)
  Continuous:
	D3PX G 1 Bright A_FadeOut(0.065,1)
	Loop
    }
}


ACTOR CComT3DBFGBoltExpImpact
{
Species "SpecOps"
DamageType "DBFG2"
+NOGRAVITY
+NOBLOCKMAP
+NOTELEPORT 
+BLOODLESSIMPACT
+DONTHARMSPECIES
+MTHRUSPECIES
+THRUSPECIES
+MTHRUSPECIES
+NODAMAGETHRUST
States
{
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_PlaySound("Weapons/GuruBlast3",5)
	TNT1 A 0 A_Explode(512,256,0,1)
	//COLLATERAL DAMAGE EFFECTS
	//TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpStruckGlowX",0,0,10,0,0,0,0,128,0)
	//TNT1 A 0 A_SpawnItemEx("T3DBFGBoltExpStruckGlowY",0,0,10,0,0,0,0,128,0)
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("CComT3DBFGBoltExpSphereSmoke",random(126,-126),random(126,-126),random(66,-66),0.00001*random(100000,-100000),0.00001*random(100000,-100000),0.00001*random(100000,-100000),random(0,359),SXF_SETMASTER,0)  //~500 damage
	TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("T3DBFGBoltExpChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 AAAAAAAAAAAAAAAAAAA 2 A_SpawnItemEx("T3DBFGBoltExpChunkSpark",random(126,-126),random(126,-126),random(66,-66),0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Stop
	}
}

ACTOR CComT3DBFGBoltExpSphereSmoke : BlueGuruSmokeInheritance
{
Projectile
Scale 1.8
RenderStyle Translucent
Alpha 0.45
DamageType "DBFG2"
Species "SpecOps"
+MTHRUSPECIES
+DONTHARMSPECIES
+NODAMAGETHRUST
States
{
  Spawn:
	TNT1 A 0
	TNT1 AA 1 Bright A_Jump(256,"Spawn1","Spawn2","Spawn3")
  Spawn1:
	TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	TNT1 A 0 A_Explode(10,200,0)
	G3SM A 4 Bright A_FadeOut(0.0065,1)
	Loop
  Spawn2:
	TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	TNT1 A 0 A_Explode(10,200,0)
	G3SM B 4 Bright A_FadeOut(0.0065,1)
	Loop
  Spawn3:
	TNT1 A 0 A_SetScale(ScaleX -0.002, ScaleY -0.002)
	TNT1 A 0 A_JumpIf(Alpha<0.3,2)
	TNT1 A 0 A_Explode(10,200,0)
	G3SM C 4 Bright A_FadeOut(0.0065,1)
	Loop
	}
}

Actor CComLaserBeam : FastProjectile
{
Radius 1
Height 1
Scale 1.0
Speed 200
Renderstyle Add
Decal DoomImpScorch
Species "SpecOps"
Damage 5
+RIPPER
-CANNOTPUSH
-NODAMAGETHRUST
+THRUSPECIES
+NOEXTREMEDEATH
SeeSound ""
States
{
  Spawn:
	TNT1 A 0
	//TNT1 A 0 A_PlaySound("Laser/Beam", CHAN_AUTO|CHAN_NOPAUSE)
	TRC5 A 1 Bright
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 Radius_Quake(6,6,0,12,0)
	TNT1 A 0 A_Explode(16,64,0,False)
	TNT1 A 0 A_SpawnItemEx("T3BlueLaserFlare")
	T3FS ABCDEFGHIJKLMNOP 2 Bright A_FadeOut(0.06,1)
	Stop
	}
}

ACTOR CBoysFireSpawner : LHellionSmokeSpawner
{
States
  {
  Spawn:
	TNT1 A 0
	TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(304) == 1,"NULL")
	TNT1 A 0 A_CheckSight("NULL")
	TNT1 AAA 0 A_SpawnItemEx("BlueSentientFire",random(12,-12),random(12,-12),random(12,64),0,0,random(1,3),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 1 Bright
	Stop	
  }
}