Actor PyroCannon : Weapon 24004
{
+WEAPON.BFG
+WEAPON.EXPLOSIVE
+WEAPON.NOAUTOFIRE
-INVENTORY.UNDROPPABLE
Weapon.PreferredSkin "DemonTechBFG10K-Marine"
Weapon.SelectionOrder 3
Weapon.AmmoType "Gas"
Weapon.AmmoGive 50
Weapon.AmmoUse 150
Inventory.PickupMessage "You got the pyro cannon prototype!"
Obituary "%o was incinerated by %k's pyro cannon."
Tag "Pyro Cannon"
States
	{
	Spawn:
		WPYR A -1
		Loop
	Ready:
		PYRG A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		Loop
	Select:
		TNT1 A 0
		TNT1 A 0 A_PlayWeaponSound("weapons/PCNNpickup")
	SelectLoop:
		PYRG 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:
		PYRG A 1 A_Lower
		Loop
	Fire:
		PYRG A 5
		PYRG B 8 Bright A_GunFlash
		TNT1 A 0 A_PlaySound("weapons/PCNNF")
		PYRG C 10 Bright A_FireCustomMissile("PlayerPyroShot",0,1,0,0)
		PYRG DEFG 5 Bright
		TNT1 A 0 A_PlaySound("weapons/dtech10ksteam")
		PYRG AAAAAAAAAAAA 1 A_FireCustomMissile("DTech10KSteam",-58+Random(-4,4),0,0,0)
		PYRG A 20
		Goto Ready
	Flash:
		TNT1 A 8 A_Light1
		TNT1 A 10 A_Light2
		TNT1 A 15 A_Light1
		TNT1 A 1 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 Gas : Ammo 14002
{
Inventory.PickupSound "misc/pickup"
Inventory.Amount 50
Inventory.MaxAmount 300
Ammo.BackpackAmount 25
Ammo.BackpackMaxAmount 600
Inventory.PickupMessage "You picked up a gasoline cannister"
Inventory.Icon "AGASA0"
States
	{
	Spawn:
		AGAS A -1
		Loop
	}
}

Actor BigGas : Gas 14003
{
Inventory.Amount 120
Inventory.PickupMessage "You picked up a gasoline pack"
Inventory.Icon "AGASB0"
States
	{
	Spawn:
		AGAS B -1
		Loop
	}
}

ACTOR PlayerPyroShot
{
PROJECTILE
Height 6
Radius 11
Speed 45
FastSpeed 50
Scale 1.4
RenderStyle Add
Alpha 1.0
Damage 300
+FRIENDLY
+DONTREFLECT
+SEEKERMISSILE
+FORCERADIUSDMG
+DontHurtSpecies
+DontHarmSpecies
+MTHRUSPECIES
Species "Player"
DamageType "PlayerPyro"
SeeSound "weapons/firbfi"
DeathSound "weapons/hellex"
Obituary "%o was incinerated by a pyro cannon."
States
	{
	Spawn:
		TNT1 A 0 Bright A_Explode(600,64,0,1)
		HFBA ABC 1 Bright A_SpawnItemEx("PHFExTrail",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		TNT1 A 0 Bright A_SeekerMissile(10,10)
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright Radius_Quake(15,20,0,20,0)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,0,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,45,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,90,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,135,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,180,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,225,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,270,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_CustomMissile("PFuelExplosion01",0,0,315,CMF_AIMDIRECTION|CMF_TRACKOWNER)
		TNT1 A 0 Bright A_Mushroom("PlayerMushroomFireballs",8,MSF_Standard|MSF_DontHurt)
		TNT1 A 0 Bright A_Explode(5000,486,0,1)
		HFBA DEFGHIJKLMN 1 Bright
		TNT1 A 25 Bright A_SpawnItemEx("PyroShotEx",0,0,0,0,0,0,0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION)
		Stop
	}
}

Actor PHFExTrail
{
Height 1
Radius 1
+NOINTERACTION
+CLIENTSIDEONLY 
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 A 1 Bright A_SpawnItemEx("HFKaboom",-8,0,0,-6,0,random(-1,1),0,SXF_CLIENTSIDE|SXF_NOCHECKPOSITION,0)
		Stop
	}
}

ACTOR PFuelExplosion01
{
PROJECTILE
Height 8
Radius 8
Speed 6
ALPHA 0.80
RENDERSTYLE ADD
Damage 10
+RIPPER
+BLOODLESSIMPACT
+SPECTRAL
+Friendly
+DontHurtSpecies
+DontHarmSpecies
Species "Player"
DamageType "PlayerPyro"
SeeSound "weapons/firex3"
States
	{
	Spawn:
		TNT1 A 0 Bright
		TNT1 AAAAA 4 Bright A_SpawnItemEx("PFuelExplosion02",0,0,0,0,0,0,0,SXF_SETMASTER|SXF_NOCHECKPOSITION)
		Stop
	}
}

ACTOR PFuelExplosion02
{   
PROJECTILE
Height 5
Radius 5
Speed 0
ALPHA 0.80
RENDERSTYLE ADD
Damage 10
+SPECTRAL
+Friendly
+DontHurtSpecies
+DontHarmSpecies
Species "Player"
DamageType "PlayerPyro"
SeeSound "weapons/firex3"
States
	{
	Spawn:
		TNT1 A 0 Bright
		RPEX A 2 Bright
		RPEX B 2 Bright A_Explode(10,96,false,false)
		RPEX CDEFGHIJKLMNOPQRSTU 2 Bright
		Stop
	}
}

ACTOR PlayerMushroomFireballs
{
PROJECTILE
Height 8
Radius 10
Damage 30
RENDERSTYLE Translucent 
Alpha 1
Scale 1.0
Speed 35
BounceCount 3
-NoGravity
+DoomBounce
+SKYEXPLODE
+SPECTRAL
+Friendly
+Thruspecies
+DontHurtSpecies
+DontHarmSpecies
Species "Player"
DamageType "PlayerPyro"
SeeSound "imp/attack"
DeathSound "comet/explosion"
States
	{
	Spawn:
		TNT1 A 1 Bright
		TNT1 A 0 Bright A_PlaySoundEx("HFCyb/rocket",1,0,2)
		Goto Fly
	Fly:
		FRTB AB 1 Bright A_SpawnItem("HFCybFireballTrail")
		Loop
	Death:
		TNT1 A 0 Bright
		TNT1 A 0 Bright A_Explode(160,192,0,0)
		TNT1 A 0 Bright A_SpawnItemEx("LCABaseScorch",0,0,0,0,0,0,Random(0,359))
		TNT1 AAAAAA 0 Bright A_CustomMissile("OrangeParticleSpawner",0,0,random(0,360),2,random(0,180))
		TNT1 A 0 Bright A_SpawnItemEx("PlayerSuperMeteor_m_Explosion",0,0,0,0,0,0,0,128,0)
		EXPL A 0 Bright Radius_Quake(15,20,0,20,0)
		TNT1 AAAA 0 Bright A_SpawnItemEx("SuperMeteor_m_FX_Smoke",0,0,0,0.01 * Random(-125, 125), 0.01 * Random(-125,125),0.01 * Random(25,245),0,SXF_CLIENTSIDE,0)
		BOOM ABCDEFGHIJKLMNOP 2 Bright
		Stop
	}
}

Actor PlayerSuperMeteor_m_Explosion : SuperMeteor_m_Explosion
{
+Thruspecies
+DontHurtSpecies
+DontHarmSpecies
Species ""
Species "Player"
DamageType ""
DamageType "PlayerPyro"
}

Actor Welder : Weapon
{
Weapon.SelectionOrder 99998
+NOTIMEFREEZE
+WEAPON.NOALERT
+INVENTORY.UNDROPPABLE
+WEAPON.CHEATNOTWEAPON
+WEAPON.NO_AUTO_SWITCH
States
	{
	Spawn:
		TNT1 A 1
	Ready:
		TNT1 A 1
	Deselect:
		TNT1 A 1
	Select:
		TNT1 A 1
	Fire:
		TNT1 A 1
		Stop
	}
}

ACTOR NuclearMissileLauncher : Weapon
{
Weapon.SelectionOrder 99997
+NOTIMEFREEZE
+WEAPON.NOALERT
+INVENTORY.UNDROPPABLE
+WEAPON.CHEATNOTWEAPON
+WEAPON.NO_AUTO_SWITCH
States
	{
	Spawn:
		TNT1 A 1
	Ready:
		TNT1 A 1
	Deselect:
		TNT1 A 1
	Select:
		TNT1 A 1
	Fire:
		TNT1 A 1
		Stop
	}
}