ACTOR InfBFG9500 : Weapon
{
Height 20
Scale 0.85
+WEAPON.NOAUTOFIRE
-INVENTORY.UNDROPPABLE
Weapon.SelectionOrder 2800
Weapon.PreferredSkin "BFG9500-Marine"
Weapon.AmmoUse 0
Weapon.AmmoGive 40
Weapon.AmmoType "NewCell"
Inventory.PickupSound "weapons/bfgpickup"
Inventory.PickupMessage "Infinite BFG9500"
Obituary "%o was annihilated by %k's BFG9500."
Tag "BFG 9500"
States
	{
	Spawn:
		IF95 A -1
		Loop
	Ready:
		IFGG A 1 A_WeaponReady
		Loop
	Select:
		TNT1 A 0 A_PlayWeaponSound("weapons/bfgpickup")
	SelectLoop:
		IFGG 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)
		TNT1 A 0 A_PlayWeaponSound("weapons/weapondown")
	DeselectLoop:
		IFGG A 1 A_Lower
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("BfgUpgrade",1,"UpFire")
		TNT1 A 0 A_Light1
		IFGG A 2 Bright A_PlaySound("weapons/bfgf",CHAN_WEAPON)
		IFGC ABCDE 2 Bright Radius_Quake(2,2,0,1,0)
		IFGC FGHI 1 Bright Radius_Quake(3,2,0,1,0)
		IFGC FGHIF 1 Bright Radius_Quake(4,2,0,1,0)
		IFGC GH 1 Bright Radius_Quake(6,2,0,1,0)
		TNT1 A 0 A_Light2
		TNT1 A 0 A_GunFlash
		TNT1 A 0 Radius_Quake(12,4,0,1,0)
		IBFF A 4 Bright A_FireBFG
		IBFF B 3 Bright
		TNT1 A 0 A_Light0
		IFGR ABCD 1
		IFGR EFG 2
		IFGG A 20 A_ReFire
		Goto Ready
	UpFire:
		TNT1 A 0 A_Light1
		IFGG A 2 Bright A_PlaySound("weapons/bfgf",CHAN_WEAPON)
		IFGC ABCDE 2 Bright Radius_Quake(2,2,0,1,0)
		IFGC FGHI 1 Bright Radius_Quake(3,2,0,1,0)
		IFGC FGHIF 1 Bright Radius_Quake(4,2,0,1,0)
		IFGC GH 1 Bright Radius_Quake(6,2,0,1,0)
		TNT1 A 0 A_Light2
		TNT1 A 0 A_GunFlash
		TNT1 A 0 Radius_Quake(12,4,0,1,0)
		IBFF A 4 Bright A_FireCustomMissile("2704Ball3",0,1)
		IBFF B 3 Bright
		TNT1 A 0 A_Light0
		IFGR ABCD 1
		IFGR EFG 2
		IFGG A 20 A_ReFire("UpFire")
		Goto Ready
	Flash:
		TNT1 A 0
		Stop
	}
}
