Actor "D-BFG" : Weapon
{
+WEAPON.BFG
+WEAPON.NOAUTOFIRE
-INVENTORY.UNDROPPABLE
Height 20
Radius 20
Weapon.PreferredSkin "DBFG-Marine"
Decal "DBFGLightning"
Weapon.Selectionorder 2820
Weapon.SlotNumber 7
Weapon.SlotPriority 1
Weapon.Kickback 100
Weapon.AmmoUse 1
Weapon.AmmoGive 20
Weapon.AmmoType "DCell"
Weapon.AmmoUse2 20
Weapon.AmmoType2 "DCell"
AttackSound ""
Weapon.UpSound "Weapons/dbfgup"
Inventory.PickupSound "misc/w_pkup2"
Inventory.Pickupmessage "You found a D-BFG!"
Obituary "%o was blasted by %k's D-BFG"
Tag "D-BFG"
States
	{
	Spawn:
		BFG3 A -1
		Loop
	Ready:
		TNT1 A 0
		TNT1 A 0 A_PlaySound("Weapons/dbfgready", CHAN_AUTO, 0.5)
		BG3G A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G B 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G C 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		BG3G D 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("HandGrenadeAction",1,"GrenadeCheck")
		TNT1 A 0 A_JumpIfInventory("MineAction",1,"MineCheck")
		Loop
	Select:
		BG3G I 1 A_Raise
		BG3G I 0 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:
		BG3G I 1 A_Lower
		BG3G I 0 A_Lower
		Loop
	Fire:
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge2", CHAN_WEAPON) // 196 tics.
		BG3G JKL 4 Bright
		BG3G JKL 3 Bright
		BG3G JKL 2 Bright
		BG3G MNM 2 Bright
		Goto Hold
	Hold:
		BG3G JKL 1 Bright A_GunFlash
		BG3G E 1 Bright A_GunFlash
		TNT1 A 0 A_SetBlend("Blue", 0.02, 3)
		BG3G F 1 Bright A_FireCustomMissile("PlayerT3DBFG10kShot",Random(100,-100)/100.00,1,0,0,0,Random(100,-100)/100.00)
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire2", CHAN_BODY)
		BG3G G 2 Bright A_Recoil(3)
		BG3G H 2 Bright A_ReFire
		BG3G I 30 A_PlaySound("Weapons/dbfgcooldown2", CHAN_WEAPON)
		Goto Ready
	AltFire:
		TNT1 A 0 A_PlaySound("Weapons/dbfgcharge", CHAN_WEAPON) // 196 tics.
		//BG3G JKLJKL 4 Bright
		//BG3G M 3 Bright
		//BG3G JKLJKLJKL 4 Bright
		//BG3G M 3 Bright
		BG3G JKLJKL 3 Bright
		BG3G MNM 2 Bright
		BG3G JKLJKLJKLJKL 2 Bright
		BG3G MNM 2 Bright
		BG3G JKLJKLJKL 2 Bright
		BG3G MNM 2 Bright
		BG3G JKLJKL 2 Bright
		BG3G MNM 2 Bright
		BG3G JKL 2 Bright
		Goto AltHold
	AltHold:
		BG3G MNM 2 Bright
		BG3G JKL 2 Bright
		BG3G MNM 2 Bright
		BG3G JKL 1 Bright
		BG3G MNM 1 Bright
		BG3G JKL 1 Bright
		BG3G MNM 1 Bright
		BG3G E 1 Bright
		TNT1 A 0 A_SetBlend("Blue", 0.02, 3)
		//BG3G F 1 Bright A_FireBullets(0,0,1,0,"T3DBFGShot")
		TNT1 A 0 A_PlaySound("Weapons/dbfgfire", CHAN_AUTO)
		BG3G F 2 A_FireCustomMissile("PlayerT3DBFGBall", 0, True)
		BG3G G 2 Bright A_Recoil(20)
		BG3G H 2 Bright A_ReFire
		BG3G I 50 A_PlaySound("Weapons/dbfgcooldown")
		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 DCell : Ammo 30720
{
//$Category Ammunition
//$Title "ArkDoom - D-Cell"
//$Sprite BG3CA0
Inventory.Amount 10
Inventory.MaxAmount 50
Ammo.BackpackAmount 0 // 25
Ammo.BackpackMaxAmount 100
Inventory.PickupMessage "Picked up an D-Cell."
Inventory.PickupSound "items/cell"
Inventory.Icon "BG3CA0"
States
	{
	Spawn:
		BG3C AB 3
		Loop
	}
}

ACTOR DCellPack : DCell 30721
{
//$Category Ammunition
//$Title "ArkDoom - D-Cell Pack"
//$Sprite BG3BA0
Inventory.PickupMessage "Picked up an D-Cellpack."
Inventory.PickupSound "items/cellpack"
Inventory.Amount 50
States
	{
	Spawn:
		BG3B AB 3
		Loop
	}
}