ACTOR CommanderDevastator : Weapon
{	
//$Category Weapons/RM
//$Sprite CDEVM0
//$Title "Commander Devastator"
+WEAPON.BFG
+WEAPON.NOAUTOAIM
+WEAPON.NOAUTOFIRE
-INVENTORY.UNDROPPABLE
Damagetype "PlayerDevBall"
Weapon.SelectionOrder 2790
Weapon.PreferredSkin "Devastator-Marine"
Weapon.AmmoUse 150
Weapon.AmmoGive 150
Weapon.AmmoType "DemonAmmo"
Weapon.Upsound "devastator/up"
Inventory.PickupSound "devastator/up"
Inventory.PickupMessage "Demon Tech Devastator"
Obituary "%o was desintergrated by %k's Devastator BFG."
Tag "Commander Devastator BFG."
States
	{
	Spawn:
		CDEV M 2
		TNT1 A 0 A_SpawnItemEx("RMPurpleParticleSpawner",0,0,10,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,160)
		Loop
	Ready:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("devastator/idle",6,1.0,1)
	ReadyLoop:
		CDEV A 2 A_WeaponReady
		TNT1 A 0 A_SpawnItemEx("RMPurpleParticleSpawner",8,0,28,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH,160)
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		Loop
	Deselect:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		TNT1 AAA 0 A_StopSound(6)
		TNT1 A 0 A_PlaySound("weapons/weapondown",CHAN_WEAPON)
	DeselectLoop:
		CDEV A 1 A_Lower
		Loop
	Select:
		CDEV A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0
		TNT1 AAA 0 A_StopSound(6)
		CDEV B 10 A_PlaySound("devastator/charge",CHAN_WEAPON)
		CDEV CDEF 10 Bright
		CDEV G 3 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV G 3 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		TNT1 A 0 A_Refire
		CDEV J 4 Bright A_GunFlash
		TNT1 A 0 A_Recoil(20)
		CDEV J 1 Bright A_Playsound("devastator/fire")
		CDEV K 10 Bright A_FireCustomMissile ("PCommanderDevastatorBall",0,1,0,0)
		CDEV L 7 Bright
		Goto Ready
	Hold:
		TNT1 A 0 A_StopSound(6)
		CDEV G 1 A_PlayWeaponSound("weapons/devfch")
		CDEV G 3 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"DevPuff",0,64)
		TNT1 A 0 A_Refire
		CDEV J 4 Bright A_GunFlash
		CDEV J 1 Bright A_Playsound("devastator/fire")
		CDEV K 10 Bright A_FireCustomMissile ("PCommanderDevastatorBall",0,1,0,0)
		CDEV L 7 Bright
		Goto Ready
	Flash:
		TNT1 A 5 A_Light1
		TNT1 A 10 A_Light2
		TNT1 A 7 A_Light1
		TNT1 A 5 A_Light0
		Stop
	GrenadeCheck:
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAmmo",1,"GrenadeToss")
		TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		Goto Ready
	GrenadeToss:
		TNT1 A 0 A_GiveInventory("Hand Grenade")
		TNT1 A 0 A_SelectWeapon("Hand Grenade")
		Goto Deselect
	MineCheck:
		TNT1 A 0 A_JumpIfInventory("MineAmmo",1,"MineToss")
		TNT1 A 0 A_TakeInventory("MineAction",1)
		Goto Ready
	MineToss:
		TNT1 A 0 A_GiveInventory("Land Mine")
		TNT1 A 0 A_SelectWeapon("Land Mine")
		Goto Deselect
   }
}

ACTOR PCommanderDevastatorBall : CommanderDevastatorBall
{
Species "Player"
DamageType "PlayerDevBall"
+FRIENDLY
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySoundEx("devastator/fly","Voice",1)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 A 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PurpleDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 C 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PurpleDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_JumpIfInventory("Tic",4,"SpawnLoop")
		TNT1 A 0 Bright A_GiveInventory("Tic",1)
		Loop
	SpawnLoop:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_PlaySoundEx("devastator/fly","Voice",1)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 A 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PurpleDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_SeekerMissile(3,5,SMF_LOOK)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_SeekerMissile(3,5,SMF_LOOK)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 C 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PurpleDevastatorTrail",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,0)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_SeekerMissile(3,5,SMF_LOOK)
		TNT1 A 0 Bright A_CustomMissile("PCommDevastatorBolt",6,0,random(0,359),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-40,40))
		TNT1 A 0 Bright A_CustomMissile("PCommanderLiteShot",0,0,Random(0,360),CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple",Random(-12,12),Random(-12,12),Random(-12,12),Random(-2,2),Random(-2,2),Random(-2,2),Random(-20,20),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurple2",Random(6,-6),Random(6,-6),Random(6,-6),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 A 1 Bright A_CustomMissile("PCerComDevastatorProjectileAttack",random(-8,8),random(-8,8),0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_Explode(32,450,0,0)
		TNT1 A 0 Bright A_SeekerMissile(3,5,SMF_LOOK)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.75,1)
		TNT1 A 0 Bright Radius_Quake(3,35,0,10,0)
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,10,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,50,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,70,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,110,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,130,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,140,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,170,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,190,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,200,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,230,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,250,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,260,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,290,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,310,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,320,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("DTBFG10KTracerPurple",0,0,350,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))	
		TNT1 A 0 Bright A_SpawnItemEx("DevastatorLightningPurpleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)	
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 A 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 B 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 C 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 D 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 A 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 B 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 C 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 D 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 A 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 B 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 C 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(80,256,0,0)
		CPS1 D 6 Bright A_SpawnItemEx("PurpleDevastatorShockWave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(128,1024,0,0)
		TNT1 A 0 Bright A_Explode(460,640,0,0)
		TNT1 A 0 Bright A_Explode(618,256,0,0)
		TNT1 AAA 0 Bright A_StopSoundEx("Voice")
		TNT1 A 0 Bright Radius_Quake(20,12,0,12,0)
		TNT1 A 0 Bright A_PlaySound("weapons/dtech10kexplode")
		TNT1 A 0 Bright A_SpawnItemEx("PurpleDevastatorShockWave2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItem("PurpleDTBFGEx",0,-10)
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,18,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,36,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,54,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,72,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,108,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,126,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,144,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,162,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,196,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,216,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,234,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,252,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,288,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,306,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,324,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_CustomMissile("PCommanderDevastatorBall2",0,0,342,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		CPE1 AAAAAABBBBBBCCCCCCDDDDDD 1 Bright A_CustomMissile("PurpleKaboomDevastator2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		CPE1 EF 6 Bright
		Stop    
	}
}

ACTOR PCerComDevastatorProjectileAttack : CerComDevastatorProjectileAttack
{
MissileType "PCommanderDevastatorRailgunSlug"
+FRIENDLY
Species "Player"
DamageType "PlayerDevBall"
Obituary "%o was turned to mush by heavy weapons from %k"
}

ACTOR PCommanderDevastatorRailgunSlug : CommanderDevastatorRailgunSlug
{
Damage 4
-RIPPER
+NOTIMEFREEZE
Species "Player"
DamageType "PlayerDevBall"
}

ACTOR PCommanderLiteShot : CommanderLiteShot
{
Species "Player"
DamageType "PlayerDevBall"
}

ACTOR PCommanderDevastatorBall2 : CommanderDevastatorBall2
{
Species "Player"
DamageType "PlayerDevBall2"
}

ACTOR PCommDevastatorBolt : CommDevastatorBolt
{
+FRIENDLY
Species "Player"
DamageType "PlayerDevBall"
}

ACTOR RMPurpleParticleSpawner : RedParticleSpawner
{
+NOINTERACTION
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("EPSP1",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_SpawnItemEx("EPSP2",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_SpawnItemEx("EPSP3",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_SpawnItemEx("EPSP4",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_SpawnItemEx("EPSP5",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 0 Bright A_SpawnItemEx("EPSP6",0,0,0,Random(0,8),Random(0,8),Random(1,4),random(0,360),SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,64)
		TNT1 A 1 Bright
		Stop
	}
}