//==================================
// Purgatory Cannon
//==================================

Actor PurgatoryCannon : Weapon
{
   Weapon.Kickback 300
   Weapon.AmmoUse 1
   Weapon.AmmoGive 100 
   Scale 0.95
   Weapon.AmmoType "DemonAmmo"   
   Weapon.AmmoUse2 1
   Weapon.AmmoType2 "DemonAmmo" 
   Weapon.PreferredSkin "BehemothCannon-Marine"   
   Inventory.PickupMessage "Purgatory Cannon"
   Inventory.PickupSound "cannon/pickup"
   Obituary "%o ate %k's Purgatory Cannon fireballs."
   Tag "Purgatory Cannon"
   Weapon.Upsound "cannon/up"
   States
   {
	Spawn:
		RFMR H -1 
		Stop
	Ready:
		RFMR A 1 A_WeaponReady
		Loop
	Select:
		RFMR A 1 A_Raise
		Loop
	Deselect:	
	    TNT1 A 0 A_TakeInventory("HandGrenadeAction",1)
		TNT1 A 0 A_TakeInventory("MineAction",1)
		TNT1 A 0 A_TakeInventory("RailgunAction",1)
		TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
		RFMR A 1 A_Lower
		Loop
	Fire:	
		RFMR D 3 Bright
		RFMR E 3 Bright A_PlaySound("cannon/fire", CHAN_WEAPON, 1.0, 0)
		RFMR F 1 Bright A_FireCustomMissile("PurgatoryCannonCometCDI")
		RFMR F 0 Bright A_FireCustomMissile("PurgatoryCannonCometCDI", -2)
		RFMR F 0 Bright A_FireCustomMissile("PurgatoryCannonCometCDI", 2)
		RFMR G 3 Bright
		RFMR C 5 Bright
		RFMR B 5 Bright
		RFMR A 5 Bright
		Goto Ready
	AltFire:	
		RFMR D 3
		RFMR E 3 A_PlaySound("cannon/fire", CHAN_WEAPON, 1.0, 0)
		RFMR F 0 A_FireCustomMissile("PurgatorySeekingCannonCometCDI", -2)
		RFMR F 0 A_FireCustomMissile("PurgatorySeekingCannonCometCDI", 2)
		RFMR FG 3
		RFMR C 5
		RFMR B 5
		RFMR A 5
		Goto Ready		
	}
}	

Actor PurgatoryCannonCometCDI
{
Projectile
Height 10
Radius 10
Speed 40
FastSpeed 45
Scale 0.85
Damage 50
+SEEKERMISSILE
+MTHRUSPECIES
Species "Player"
Damagetype "Marine"
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
{
  Spawn:
	TNT1 A 0
  Normal:
	HPCM AAABBBCCCAAABBBCCC 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(9,16,0,0)
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HPCM D 3 Bright A_SpawnItemEx("BlueCometDeathGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HPCM E 3 Bright A_SpawnItemEx("BlueCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Stop
}
}

Actor PurgatorySeekingCannonCometCDI
{
Projectile
Height 10
Radius 10
Speed 40
FastSpeed 45
Scale 0.85
Damage 50
+SEEKERMISSILE
+SCREENSEEKER
+MTHRUSPECIES
Species "Player"
Damagetype "Marine"
SeeSound "comet/launch"
DeathSound "comet/explosion"
States
{
  Spawn:
	TNT1 A 0
  Normal:
    TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
	HPCM A 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
	HPCM B 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
	HPCM C 1 Bright A_SpawnItemEx("BlueCometTail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
	Loop
  Death:
	TNT1 A 0
	TNT1 A 0 A_Explode(9,16,0,0)
	TNT1 A 0 A_SetTranslucent(0.75,1)
	TNT1 A 0 A_SpawnItemEx("BlueParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HPCM D 3 Bright A_SpawnItemEx("BlueCometDeathGlow",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	HPCM E 3 Bright A_SpawnItemEx("BlueCometDeath",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
	Stop
}
}