// --------------------------------------------------------------------------
//
// Gatling Gun
//
// --------------------------------------------------------------------------

ACTOR EriGatlingGun : DoomWeapon 5014
{
	Game Doom
	Scale 0.8
	SpawnID 28
	Weapon.SelectionOrder 700
	Weapon.AmmoUse 2
	Weapon.AmmoGive 40
	Weapon.AmmoType "Clip"
	Inventory.PickupMessage "$GOTGATLINGGUN"
	Obituary "$OB_MPGATLINGGUN"
	Tag "$TAG_GATLINGGUN"
	Decal "BulletChip"
	States
	{
	Ready:
		DGTG C 1 A_WeaponReady
		Loop
	Deselect:
		DGTG C 0 A_StopSound(CHAN_BODY)
		DGTG C 1 A_Lower
		Wait
	Select:
		DGTG C 1 A_Raise
		Loop
	Fire:
		DGTG D 2 A_PlaySound("weapons/gatlingwindup", CHAN_BODY)
		DGTG AB 2
		DGTG CD 1
	F1:
		DGTG ABCD 1
		DGTF A 0 A_PlaySound("weapons/gatlingspin", CHAN_BODY, 1.0, 1)
	Hold:
		DGTF A 0 A_GunFlash
		DGTF A 0 A_PlaySound("weapons/gatlingfire", CHAN_WEAPON)
		DGTF A 1 bright A_FireBullets (8, 3, 2, 5, "BulletPuff")
		DGTG BCD 1
		DGTG D 0 A_JumpIfNoAmmo("WindDown")
		DGTG D 0 A_ReFire
	WindDown:
		DGTG A 2 A_PlaySound("weapons/gatlingwinddown", CHAN_BODY)
		DGTG BC 2
		DGTG A 0 A_JumpIfNoAmmo(2)
		DGTG A 0 A_WeaponReady(WRF_NOBOB | WRF_NOSWITCH)
		DGTG D 2
		DGTG ABC 3
		DGTG A 0 A_JumpIfNoAmmo(2)
		DGTG A 0 A_WeaponReady(WRF_NOBOB | WRF_NOSWITCH)
		DGTG DAB 4
		DGTG C 2
		Goto Ready
	Flash:
		TNT1 A 1 Bright A_Light2
		TNT1 A 1 Bright A_Light1
		Goto LightDone
	Spawn:
		DEGT A -1
		Stop
	}
}

ACTOR EriGatlingGunPickup : CustomInventory
{
	Inventory.PickupSound "misc/w_pkup"
	Inventory.PickupMessage "$GOTGATLINGGUN"	
	VisibleToPlayerClass AltPlayer
	Scale 0.8
	States
	{
	Spawn:
		DEGT A -1
		Stop
	Pickup:
		TNT1 A 0 A_JumpIfInventory("AltToken",1,1)
		Stop
		TNT1 A 0 A_GiveInventory("EriGatlingGun",1)
		Stop
	}
}