Actor BarbatosCannon : Weapon 30419
{
//$Category Weapons/RM
//$Sprite BRBCH0
//$Title "Barbatos Cannon"
Scale 0.95
-INVENTORY.UNDROPPABLE
Weapon.SelectionOrder 7980
Weapon.PreferredSkin "BehemothCannon-Marine"
Weapon.Kickback 300
Weapon.AmmoUse 5
Weapon.AmmoUse2 5
Weapon.AmmoGive 100
Weapon.AmmoType "DemonAmmo"
Weapon.AmmoType2 "DemonAmmo"
Weapon.Upsound "cannon/up"
Inventory.PickupSound "cannon/pickup"
Inventory.PickupMessage "You pickup a Barbatos Cannon, R.I.P Barbatos :c"
Obituary "%o ate %k's Barbatos Cannon Poisonballs."
Tag "Barbatos Cannon"
States
	{
	Spawn:
		BRBC H -1
		Loop
	Ready:
		BRBC A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		Loop
	Select:
		BRBC A 1 A_Raise
		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)
	DeselectLoop:
		BRBC A 1 A_Lower
		Loop
	Fire:
		TNT1 A 0 Bright
		BRBC D 3 Bright
		BRBC E 3 Bright A_PlaySound("cannon/fire",CHAN_WEAPON,1.0,0)
		BRBC F 3 Bright A_FireCustomMissile("BarbatosCometPlayer")
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",-2)
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",2)
		BRBC G 3 Bright
		BRBC C 5 Bright
		BRBC B 5 Bright
		BRBC A 5 Bright
		Goto Ready
	AltFire:
		TNT1 A 0 Bright
		BRBC D 5 Bright
		BRBC E 5 Bright A_PlaySound("cannon/fire",CHAN_WEAPON,1.0,0)
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer")
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",-2)
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",2)
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",-3)
		TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",3)
	    TNT1 A 0 Bright A_FireCustomMissile("BarbatosCometPlayer",-4)
		BRBC F 5 Bright A_FireCustomMissile("BarbatosCometPlayer",4)
		BRBC G 6 Bright
		BRBC C 6 Bright
		BRBC B 6 Bright
		BRBC A 6 Bright
		Goto Ready
	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 BarbatosCometPlayer : Comet
{
Damage 40
ExplosionDamage 80
DamageType "HellComet"
+Thruspecies
Species ""
Species "Player"
MissileType ""
DeathSound "barbcomet/explosion"
States
	{
	Spawn:
		BRTB AAABBB 1 Bright A_SpawnItemEx("BarbCometTail",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION|SXF_CLIENTSIDE,0)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_SpawnItemEx("GreenParticleSpawner",0,0,0,0,0,0,0,SXF_CLIENTSIDE,0)
		TNT1 AAA 0 Bright A_CustomMissile("SmokeFX2",0,0,random(0,360),CMF_AIMDIRECTION,random(0,360))
		TNT1 AAA 0 Bright A_CustomMissile("Kaboom13",0,0,random(0,360),random(2,3),random(0,360))
		BRTB C 3 Bright A_Explode
		BRTB D 3 Bright A_SetTranslucent(0.75,1)
		TNT1 AAAAA 0 Bright A_SpawnItemEx("BarbatosPoisonPlayer",0,0,10,Random(4,-4),Random(4,-4),Random(4,-2),0,SXF_SETMASTER,0)
		BRTB EFG 3 Bright
		Stop
	}
}

/*ACTOR DaedabusChemSprayPlayer : PoisonEleBreath
{ 
Scale 0.6
Speed 18
+DontHarmSpecies
Species ""
Species "Player"
DamageType "hellcomet"
States 
	{ 
	Spawn:
		TRPS ABCDEFGDFEG 3 A_Explode(2,68)
	Death: 
		TRPS CCBBAA 1 A_FadeOut(0.15,1)
		Stop 
	} 
}*/

ACTOR BarbatosPoisonPlayer : PoisonEleBreath
{ 
Speed 10
Scale 0.7
+DontHarmSpecies
Species ""
Species "Player"
DamageType ""
DamageType "hellcomet"
States 
	{ 
	Spawn:
		TNT1 A 0
		TRPS ABCDEFGDFEGDF 3 A_Explode(2,68,0)
		Goto Death
	Death: 
		TRPS CCBBAA 1 A_FadeOut(0.15,1)
		Stop 
	}
}