//==================================
// Barbatos Cannon
//==================================

Actor BarbatosCannon : 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 "Barbatos Cannon"
   Inventory.PickupSound "cannon/pickup"
   Obituary "%o ate %k's Barbatos Cannon fireballs."
   Tag "Barbatos Cannon"
   Weapon.Upsound "cannon/up"
   States
   {
	Spawn:
		BRBC H -1 
		Stop
	Ready:
		BRBC A 1 A_WeaponReady
		Loop
	Select:
		BRBC 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")
		BRBC A 1 A_Lower
		Loop
	Fire:	
		BRBC D 3 Bright
		BRBC E 3 Bright A_PlaySound("cannon/fire", CHAN_WEAPON, 1.0, 0)
		BRBC F 1 Bright A_FireCustomMissile("BarbatosCannonCometCDI")
		BRBC F 0 Bright A_FireCustomMissile("BarbatosCannonCometCDI", -2)
		BRBC F 0 Bright A_FireCustomMissile("BarbatosCannonCometCDI", 2)
		BRBC G 3 Bright
		BRBC C 5 Bright
		BRBC B 5 Bright
		BRBC A 5 Bright
		Goto Ready
	AltFire:	
		BRBC D 3
		BRBC E 3 A_PlaySound("cannon/fire", CHAN_WEAPON, 1.0, 0)
		BRBC F 0 A_FireCustomMissile("BarbatosSeekingCannonCometCDI",-2)
		BRBC F 0 A_FireCustomMissile("BarbatosSeekingCannonCometCDI",2)
		BRBC FG 3
		BRBC C 5
		BRBC B 5
		BRBC A 5
		Goto Ready		
	}
}	

ACTOR BarbatosCannonCometCDI
{
Projectile
Radius 8
Height 8
Speed 55
Damage 40
PoisonDamage 15
Scale 0.85
+SEEKERMISSILE
+MTHRUSPECIES
Species "Player"
Damagetype "Marine"
SeeSound "weapons/firbfi"
DeathSound "weapons/hellex"
MissileType CometTail
MissileHeight 0
States
{
Spawn:
TNT1 A 0
Normal:
TNT1 A 0 Bright A_BishopMissileWeave
CO2T A 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
TNT1 A 0 Bright A_BishopMissileWeave
CO2T B 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
TNT1 A 0 Bright A_BishopMissileWeave
CO2T C 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
Loop
Death:
TNT1 A 0 Bright A_Explode(22,88,0)
CO2T DE 3 Bright
TNT1 AAA 0 A_SpawnItemEx("BarbatosCannonPoison",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
TNT1 A 0 A_SpawnItemEx("HDCometDeath",0,0,0,0,0,0,0,128,0)
Stop
}
}

ACTOR BarbatosSeekingCannonCometCDI
{
Projectile
Radius 8
Height 8
Speed 50
Damage 40
PoisonDamage 15
Scale 0.85
+SEEKERMISSILE
+SCREENSEEKER
+MTHRUSPECIES
Species "Player"
Damagetype "Marine"
SeeSound "weapons/firbfi"
DeathSound "weapons/hellex"
MissileType CometTail
MissileHeight 0
States
{
Spawn:
TNT1 A 0
Normal:
TNT1 A 0 Bright A_BishopMissileWeave
TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
CO2T A 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
TNT1 A 0 Bright A_BishopMissileWeave
TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
CO2T B 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
TNT1 A 0 Bright A_BishopMissileWeave
TNT1 A 0 A_SeekerMissile(15,15,SMF_LOOK)
CO2T C 1 Bright A_SpawnItemEx("TRCometTail",0,0,0,0,0,0,0,128)
Loop
Death:
TNT1 A 0 Bright A_Explode(22,88,0)
CO2T DE 3 Bright
TNT1 AAA 0 A_SpawnItemEx("BarbatosCannonPoison",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2))
TNT1 A 0 A_SpawnItemEx("GreenParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
TNT1 A 0 A_SpawnItemEx("HDCometDeath",0,0,0,0,0,0,0,128,0)
Stop
}
}

ACTOR BarbatosCannonPoison : PoisonEleBreath
{ 
	Scale 0.7
	Speed 10
	Species "Player"
	DamageType "Marine"
    States 
    { 
    Spawn: 
        TRPS ABCDEFGDFEGDF 3 A_Explode(2,68)
    Death: 
		TRPS CCBBAA 1 A_FadeOut(0.15)
        Stop 
		}
}
