ACTOR m60 : BrutalWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	Weapon.SelectionOrder 2500
	Weapon.AmmoType1 "762NATO"
	Obituary "%o was shot down by %k's assault rifle."
    Inventory.PickupSound "CLIPIN"
	Inventory.Pickupmessage "$GOTRIFLE"
    +WEAPON.NOALERT
	//+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	Tag "M-60 Machinegun"
	States
	{
	
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_SpawnItemEx("M60Weapon", 0, 0, 0, momx, momy, momz)
		Stop
	
	Ready:
	Ready3:
		M60G A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		M60G A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		M60G A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		"----" # 0 A_JumpIfInventory("UsedBandage", 1, "UseBandages")
		Loop
		
		
	Ready2:
		TNT1 A 0 A_TakeInventory("MGIsOverSOmething", 1)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -45)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -50)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -40)
		M60A A 2 A_WeaponReady(WRF_ALLOWRELOAD)
		M60G A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		M60G A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_JumpIFInventory("MGIsOverSomething", 1, "Ready2")
		"----" # 0 A_JumpIfInventory("UsedBandage", 1, "UseBandages")
		M60U A 1
		
	Ready4:
		M60U B 1 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOPRIMARY)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -45)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -50)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -40)
		M60G A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		M60G A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		TNT1 A 0 A_JumpIFInventory("MGIsOverSomething", 1, "Ready2")
		"----" # 0 A_JumpIfInventory("UsedBandage", 1, "UseBandages")
		Loop	
	
	Deselect:
		M60G A 0
		
		M60G A 0 A_TakeInventory("TossGrenade", 1)
		M60G A 0 A_TakeInventory("M60Deployed", 1)
        M60G A 0 A_ZoomFactor(1.0)
		M60G AAA 1 A_Lower
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Wait
		
	Select:
		M60G A 0
		
		M60G AAA 3 A_Lower
		TNT1 AAAAAAAAA 0 A_Raise
		Goto Ready3
	
    Fire:
        M60G A 0 A_JumpIfInventory("762NATO",1,2)
        Goto NoAmmo
        TNT1 AA 0
		M60G A 0 A_AlertMonsters
		M60G A 0 A_PlaySound("M60FIRE", 1)
		//SMGG A 0 A_PlaySound("FARSHT", 6)
		
		TNT1 A 0 A_JumpIFInventory("M60Deployed", 1, "Fire2")
		M60F A 1 A_FireBullets (4.0, 4.0, -1, 22, "M14Puff", FBF_NORANDOM)
		M60F C 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		M60G A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        RIFF A 0 A_FireCustomMissile("M14Tracer", random(-2,2), 0, 0, 0, 0, random(-2,2))
		M60G A 0 A_ZoomFactor(0.96)
		M60G A 0 A_SetPitch(pitch-0.5)
		M60G A 0 A_SetANgle(angle-0.2)
		M60G A 0 A_Takeinventory("762NATO",1)
		M60F D 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		M60G A 0 A_SetPitch(pitch-0.5)
		M60G A 0 A_SetANgle(angle-0.2)
		M60G A 0 A_ZoomFactor(1.0)
		M60F E 1
		
		
		M60G A 0 A_PlaySound("M60FIRE", 5)
		//SMGG A 0 A_PlaySound("FARSHT", 6)
		M60F B 1 A_FireBullets (3.0, 3.0, -1, 22, "M14Puff", FBF_NORANDOM)
		M60F C 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		M60G A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        RIFF A 0 A_FireCustomMissile("M14Tracer", random(-2,2), 0, 0, 0, 0, random(-2,2))
		M60G A 0 A_ZoomFactor(0.96)
		M60G A 0 A_SetPitch(pitch-0.5)
		M60G A 0 A_SetANgle(angle-0.2)
		M60G A 0 A_Takeinventory("762NATO",1)
		M60F D 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		M60G A 0 A_SetPitch(pitch-0.5)
		M60G A 0 A_SetANgle(angle-0.2)
		M60G A 0 A_ZoomFactor(1.0)
		M60F E 1
		
		M60G A 0 A_Refire
		Goto Ready3
		
		
		
	Fire2:
		TNT1 A 0
		TNT1 A 0 SetPlayerProperty(0, 1, 0)
		M60A B 1 A_FireBullets (3.0, 3.0, 1, 22, "M14Puff", FBF_NORANDOM)
		M60A D 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		M60G A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        RIFF A 0 A_FireCustomMissile("m14Tracer", random(-1,1), 0, 0, 0, 0, random(-1,1))
		M60G A 0 A_ZoomFactor(0.96)
		M60G A 0 A_Takeinventory("762NATO",1)
		M60A E 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		M60G A 0 A_ZoomFactor(1.0)
		M60A F 1
		
		M60G A 0 A_PlaySound("M60FIRE", 5)
		//SMGG A 0 A_PlaySound("FARSHT", 6)
		M60A C 1 A_FireBullets (2.0, 2.0, -1, 22, "M14Puff", FBF_NORANDOM)
		M60A D 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		M60G A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        RIFF A 0 A_FireCustomMissile("m14Tracer", random(-1,1), 0, 0, 0, 0, random(-1,1))
		M60G A 0 A_ZoomFactor(0.96)
		M60G A 0 A_Takeinventory("762NATO",1)
		M60A E 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		M60G A 0 A_ZoomFactor(1.0)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -45)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -50)
		RIFF A 0 A_FireCustomMissile("MachinegunCheck", 0, 0, 0, 12, 0, -40)
		M60A F 1
		TNT1 A 0 SetPlayerProperty(0, 0, 0)
		TNT1 A 0 A_JumpIFInventory("MGIsOverSomething", 1, "Ready2")
		Goto Ready4
		
	 AltFire:
		TNT1 A 0
		TNT1 A 0 A_JumpIFInventory("M60Deployed", 1, "StopAlt")
		TNT1 A 0 A_GiveInventory("M60Deployed", 1)
		M60D ABCDEF 1
		Goto Ready2
		
	StopAlt:
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("M60Deployed", 1)
		M60D FEDCBA 1
		Goto Ready3	
	
	NoAmmo:
		M60G A 0
		TNT1 A 0 A_TakeInventory("M60Deployed", 1)
		TNT1 A 0 A_PlaySound("weapons/empty", 4)
	NoAmmo2:
		M60G A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
		M60G A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		M60G A 5 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOPRIMARY)
		TNT1 A 0 A_TakeInventory("M60Deployed", 1)
		Goto Ready3
	}
}





Actor MachinegunCheck
{
	Projectile
	+FORCEXYBILLBOARD
	+DONTSPLASH
	+HITTARGET
	radius 8
	height 2
	speed 24
	Scale 0.3
		states
			{
		Spawn:
			TNT1 A 0
			TNT1 A 1
			TNT1 A 0 A_Stop
			TNT1 A 2 BRIGHT
			Stop
		Death:
			TNT1 A 0
			TNT1 A 0 A_CheckFloor("IsOverSomething")
			TNT1 A 0 A_Stop
			TNT1 A 2
			Stop
		Xdeath:	
			TNT1 A 0
			TNT1 A 0 A_JumpIfInTargetINventory("IsSandbag", 1, "IsOverSomething2")
			TNT1 A 1
			Stop
		IsOverSomething:
			TNT1 A 0
			TNT1 A 0 A_GiveToTarget("MGIsOverSomething", 1)
			Stop
		IsOverSomething2:
			TNT1 A 0
			TNT1 A 0 A_RadiusGive("MGIsOverSomething", 100, RGF_PLAYERS, 1)
			Stop
			}
}



Actor CoverCheck: MachinegunCheck
{
Speed 32
radius 10
height 12
		states
			{
		Spawn:
			TNT1 A 0
			TNT1 A 3
			TNT1 A 0 A_Stop
			TNT1 A 2 BRIGHT
			Stop

		Death:
			TNT1 A 0
			TNT1 A 0 A_RadiusGive("MGIsOverSomething", 100, RGF_MONSTERS, 1)
			Stop

		Xdeath:	
			TNT1 A 0
			TNT1 A 0 A_JumpIfInTargetINventory("IsSandbag", 1, "Death")
			TNT1 A 0 A_JumpIfInTargetINventory("IsPlant", 1, "Death")
			TNT1 A 1
			Stop
			}
}


Actor CoverCheck2: CoverCheck
{
radius 1
}



Actor GunnerCoverCheck: CoverCheck
{
radius 4
		states
			{
		Spawn:
			TNT1 A 0
			TNT1 A 3
			TNT1 A 0 A_Stop
			TNT1 A 2 BRIGHT
			Stop

		Death:
			TNT1 A 0
			TNT1 A 0 A_RadiusGive("MGIsOverSomething", 100, RGF_MONSTERS, 1)
			Stop

		Xdeath:	
			TNT1 A 0
			TNT1 A 0 A_JumpIfInTargetINventory("IsSandbag", 1, "Death")
			TNT1 A 1
			Stop
			}
}



Actor GunnerCoverCheck2: GunnerCoverCheck
{
Speed 45
}
