ACTOR CommanderDevastatorFIX : CommanderDevastator replaces CommanderDevastator
{
+WEAPON.BFG
+WEAPON.NOAUTOAIM
+WEAPON.NOAUTOFIRE
-INVENTORY.UNDROPPABLE
Damagetype "PlayerDevBall"
Weapon.SelectionOrder 2790
Weapon.PreferredSkin "Devastator-Marine"
Weapon.AmmoUse 150
Weapon.AmmoUse2 100
Weapon.AmmoGive 150
Weapon.AmmoType "DemonAmmo"
Weapon.AmmoType2 "DemonAmmo"
Inventory.PickupSound "CommanderDevastator/Pickup"
Weapon.Upsound "CommanderDevastator/Pickup"
Inventory.PickupMessage "Commander's Devastator"
Obituary "%o was turned to mush by heavy weapons from %k."
Tag "Commander's Devastator"
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 B 2 A_WeaponReady
		TNT1 A 0 A_SpawnItemEx("RMPurpleParticleSpawner",8,0,28,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION|SXF_TRANSFERPITCH,160)
		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 B 1 A_Lower
		Loop
	Select:
		CDEV B 1 A_Raise
		Loop
	Fire:
		TNT1 A 0
		TNT1 AAA 0 A_StopSound(6)
		CDEV A 10 A_PlaySound("devastator/charge",CHAN_WEAPON)
		CDEV CDEF 10 Bright
		CDEV G 3 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV G 3 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",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,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV G 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV H 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",0,64)
		CDEV I 4 Bright A_FireBullets(4,4,2,6,"CommanderDevPuff",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
		Altfire:
		TNT1 AAA 0 A_StopSound(6)
		TNT1 A 0 A_PlaySound("Cardinal/9k",CHAN_WEAPON)
		CDEV A 2 Bright Radius_Quake(1,2,0,1,0)
		CDEV CD 2 Bright Radius_Quake(2,2,0,1,0)
		CDEV EFG 2 Bright Radius_Quake(4,2,0,1,0)
		CDEV HIG 1 Bright Radius_Quake(6,3,0,1,0)
		TNT1 A 0 Bright Radius_Quake(8,3,0,1,0)
		CDEV HIGHIGHIGHIGHIL 1 Bright
		TNT1 A 0 Bright A_GunFlash
		TNT1 A 0 Bright Radius_Quake(10,4,0,1,0)
		CDEV J 2 Bright
		TNT1 A 0 Bright A_Recoil(10)
		TNT1 A 0 Bright Radius_Quake(12,6,0,1,0)
		CDEV K 10 Bright A_FireCustomMissile ("PlayerPurpleDTBFG10KBallFIX",0,1,0,0)
		TNT1 A 0 Bright Radius_Quake(3,10,0,1,0)
		CDEV L 7 Bright
		CDEV B 20
		TNT1 A 0 A_JumpIfInventory("DemonAmmo",100,1)
		Goto Ready
		CDEV B 60 A_PlaySound("weapons/dtech10kcharge",CHAN_WEAPON)
		CDEV B 10 A_PlaySound("weapons/plasmacellin",CHAN_WEAPON)
		Goto Ready

	Flash:
		TNT1 A 5 A_Light1
		TNT1 A 10 A_Light2
		TNT1 A 7 A_Light1
		TNT1 A 5 A_Light0
		Stop
   }
}

Actor PlayerPurpleDTBFG10KBallFIX : DTBFG10KBall
{
radius 10
Height 10
Damage 100
Speed 18
Alpha 0.95
Scale 0.55
RenderStyle Add
PROJECTILE
DeathSound ""
Obituary "%o was turned to mush by heavy weapons from %k."
+NOTIMEFREEZE
+SEEKERMISSILE
+FORCERADIUSDMG
+FRIENDLY
+THRUSPECIES
+DONTHURTSPECIES
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Jump(128,"DTBFGSFX")
		TNT1 A 0 Bright A_PlaySoundEx("weapons/dtech10kball","Voice",1)
		TNT1 A 0 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SeekerMissile(3,5,SMF_LOOK|SMF_PRECISE)
		CPS1 A 1 Bright A_SpawnItemEx("PCerComDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
		CPS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SeekerMissile(3,5,SMF_LOOK|SMF_PRECISE)
		CPS1 C 1 Bright A_SpawnItemEx("PCerComDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
		CPS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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
	DTBFGSFX:
		TNT1 A 0 Bright A_PlaySoundEx("weapons/dtech10kball","Voice",1)
		TNT1 A 0 Bright A_SpawnItemEx("DTBFGLightningPurple",random(6,-6),random(6,-6),random(16,8),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SeekerMissile(3,5,SMF_LOOK|SMF_PRECISE)
		CPS1 A 1 Bright A_SpawnItemEx("PCerComDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 Bright A_SpawnItemEx("DTBFGLightningPurple2",random(6,-6),random(6,-6),random(16,8),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 B 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SpawnItemEx("DTBFGLightningPurple",random(6,-6),random(6,-6),random(16,8),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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 Bright A_SeekerMissile(3,5,SMF_LOOK|SMF_PRECISE)
		CPS1 C 1 Bright A_SpawnItemEx("PCerComDTBFGProjectileAttack",0,0,0,0,0,0,0,SXF_SETMASTER)
		TNT1 A 0 Bright A_SpawnItemEx("DTBFGLightningPurple2",random(6,-6),random(6,-6),random(16,8),0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 D 1 Bright A_SpawnItemEx("ProjectileTrailParticlePurple2",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)
		Goto Spawn 
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SetTranslucent(0.75,1)
		TNT1 A 0 Bright Radius_Quake(5,60,0,10,0)
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,10,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,20,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,30,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,40,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,50,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,60,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,70,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,80,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,100,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,110,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,120,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,130,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,140,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,150,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,160,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,170,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,190,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,200,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,210,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,220,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,230,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,240,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,250,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,260,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,280,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,290,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,300,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,310,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,320,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,330,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,340,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 AAA 0 Bright A_CustomMissile("PDTBFG10KTracerPurple",0,0,350,CMF_AIMDIRECTION|CMF_TRACKOWNER,random(-90,90))
		TNT1 A 0 Bright A_SpawnItemEx("DTBFGLightningPurpleSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		CPS1 ABCD 6 Bright A_SpawnItemEx("PurpleDTech10KShockwave",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 0 Bright A_Explode(480,240,0,0)
		TNT1 AAA 0 Bright A_StopSoundEx("Voice")
		TNT1 A 0 Bright Radius_Quake(15,20,0,20,0)
		TNT1 A 0 Bright A_PlaySound("weapons/dtech10kexplode",6)
		TNT1 A 0 Bright A_SpawnItemEx("PurpleDTech10KShockwave2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE)
		TNT1 A 20 Bright A_SpawnItem("PurpleDTBFGEx",0,-10)
		Stop
	}
}
