ACTOR Nugget : BrutalWeapon
{
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	Weapon.AmmoUse2 0
	Weapon.AmmoGive2 0
	YScale 0.6
	XScale 0.8
	Weapon.SelectionOrder 2500
	Weapon.AmmoType1 "762NATO"
	Weapon.AmmoType2 "NuggetAmmo"
	Obituary "%o was shot down by %k's Mosin–Nagant."
    AttackSound "None"
    Inventory.PickupSound "CLIPIN"
	Inventory.Pickupmessage "$GOTx21"
    +WEAPON.NOAUTOAIM
    +WEAPON.NOALERT
	+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	Tag "Mosin–Nagant PU Sniper"
    Scale 0.8
	States
	{
 	Spawn:
		WM14 b 1
		TNT1 A 0 A_SpawnItemEx("NuggetWeapon", 0, 0, 0, momx, momy, momz)
		Stop	
	
	Ready:
	Ready3:
		NUGG A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		NUGG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
        NUGG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		NUGG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		"----" # 0 A_JumpIfInventory("UsedBandage", 1, "UseBandages")
		Loop
		
	Ready2:
		SNIP A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		NUGG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
        NUGG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		NUGG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		Loop	
	
		
	Deselect:
		NUGG A 0
		NUGG A 0 A_TakeInventory("TossGrenade", 1)
        NUGG A 0 A_TakeInventory("Reloading",1)
		NUGG A 0 A_TakeInventory("Unloading",1)
        NUGG A 0 A_ZoomFactor(1.0)
		NUGG AAAAA 1 A_Lower
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 1 A_Lower
		Wait
		
	Select:
		NUGG A 0
		NUGG AAAAA 1 A_Raise
		TNT1 AAAAAAAAA 0 A_Raise
		Goto Ready3

	Drop:
		RIFF A 0
		TNT1 A 0 A_TakeInventory("DropWeapon", 1)
		RIFF A 0 A_SpawnItemEx("NuggetWeapon", 0, 0, 30, 10, 0, 2)
		TNT1 A 0 A_TakeInventory("Nugget", 1)
		TNT1 A 0 A_TakeInventory("Slot2Weapon", 1)
		Goto Ready
	
    Fire:
        NUGG A 0 A_JumpIfInventory("NuggetAmmo",1,2)
        Goto NoAmmo
        TNT1 AA 0
		NUGG A 0 A_AlertMonsters
		NUGG A 0 A_PlaySound("m14FIRE", 1)
		SMGG A 0 A_PlaySound("FARM14", 6)
		TNT1 A 0 A_JumpIFInventory("SniperAim", 1, "Fire2")
		
		NUGF A 1 A_FireBullets (1, 1, -1, 40, "m14Puff", FBF_NORANDOM)
		NUGF B 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		NUGG A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        NUGF A 0 A_FireCustomMissile("m14Tracer", 0, 0, 0, 0, 0, 0)
		NUGG A 0 A_ZoomFactor(0.96)
		NUGG A 0 A_SetPitch(pitch-2.6)
		NUGG A 0 A_SetANgle(angle-1.4)
		NUGG A 0 A_Takeinventory("NuggetAmmo",1)
		NUGF C 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		NUGG A 0 A_ZoomFactor(1.0)
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_SetPitch(pitch+0.2)
		NUGG A 0 A_SetANgle(angle+0.1)
		NUGG A 1
		NUGG A 0 A_JumpIfInventory("NuggetAmmo",1,2)
        Goto NoAmmo
        TNT1 AA 0
		Goto Bolt
	
	 Bolt:
		NUGB ABCDEF 1
		TNT1 A 0 A_PLaySound("RELO1", 4)
		NUGB GHIJKKK 1
		NUGB JHIGFEDCBA 1
		TNT1 A 0 A_JumpIFInventory("SniperAim", 1, "ZoomBack")
		Goto Ready3

     Fire2:
		SNIP A 1 A_FireBullets (0, 0, -1, 40, "m14Puff", FBF_NORANDOM)
		SNIP A 1 A_FireCustomMissile("SmokeSpawner", random(-0.3,0.3), 0, 0, 0, 0, random(-0.3,0.3))
		NUGG A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
        NUGF A 0 A_FireCustomMissile("m14Tracer", 0, 0, 0, 0, 0, 0)
		NUGG A 0 A_ZoomFactor(5.96)
		SNIP A  0 A_SetPitch(pitch-2.6)
		SNIP A  0 A_SetANgle(angle-1.4)
		SNIP A  0 A_Takeinventory("NuggetAmmo",1)
		SNIP A 1 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-14)
		SNIP A  0 A_ZoomFactor(6.0)
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		SNIP A  1 A_WeaponReady
		SNIP A  0 A_SetPitch(pitch+0.2)
		SNIP A  0 A_SetANgle(angle+0.1)
		TNT1 A 0 A_ZoomFactor(1.0)
		NUGZ BA 1
		NUGG A 0 A_JumpIfInventory("NuggetAmmo",1,2)
        Goto NoAmmo
        TNT1 AA 0
		Goto Bolt
		
    AltFire:
		TNT1 A 0
		TNT1 A 0 A_JumpIFInventory("SniperAim", 1, "StopAlt")
		TNT1 A 0 A_GiveInventory("SniperAim", 1)
	ZoomBack:
		TNT1 A 0 A_ZoomFactor(6.0)
		NUGZ AB 1
		Goto Ready2
		
	StopAlt:
		TNT1 A 0 A_ZoomFactor(1.0)
		NUGZ BA 1
		TNT1 A 0 A_TakeInventory("SniperAim", 1)
		Goto Ready3
			
		
	NoAmmo:
		NUGG A 0
		NUGG A 0 A_ZoomFactor(1.0)
		NUGG A 0 A_Takeinventory("Zoomed",1)
		NUGG A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_PlaySound("weapons/empty", 4)
	NoAmmo2:
		NUGG A 0 A_JumpIfInventory("TossGrenade",1,"TossGrenade")
        NUGG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		NUGG A 0 A_JumpIfInventory("Kicking",1,"DoKick")
		NUGG A 5 A_WeaponReady(WRF_ALLOWRELOAD | WRF_NOPRIMARY)
		NUGG A 0 A_JumpIfInventory("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("NoAutoReload", 1, "NoAmmo2")
		NUGG A 0 A_JumpIfInventory("762NATO",1,"Reload")
		Goto Ready3
	
    Reload:
		NUGG A 1 A_WeaponReady
		NUGG A 0 A_ZoomFactor(1.0)
		NUGG A 0 A_Takeinventory("Reloading",1)
		NUGG A 0 A_Takeinventory("ADSmode",1)
		NUGG A 0 A_Takeinventory("SniperAim",1)
		NUGG A 0 A_JumpIfInventory("NuggetAmmo",21,76)
        NUGG A 0 A_JumpIfInventory("762NATO",1,3)
        Goto FinishReloading
        TNT1 AAA 0
		NUGG A 0 A_Takeinventory("SniperAim",1)
		NUGG A 0 A_GiveInventory ("Pumping", 1)
		NUGG A 0 A_Takeinventory("Reloading",1)
		
		NUGB ABCDEF 1
		TNT1 A 0 A_PLaySound("RELO1", 4)
		NUGB GHIJKKK 1
		NUGR ABCD 1
		NUGR D 10
		Goto InsertBullets
		
		
	InsertBullets:
		TNT1 AAAA 0
		NUGG A 0 A_JumpIfInventory("NuggetAmmo",5,"FinishReloading")
		NUGG A 0 A_JumpIfInventory("762NATO",1,3)
		Goto FinishReloading
        TNT1 AAAAAA 0
		NUGG A 0 A_Giveinventory("NuggetAmmo",1)
		NUGG A 0 A_Giveinventory("DoubleNuggetAmmo",1)
		NUGG A 0 A_Takeinventory("762NATO",1)
		TNT1 A 0 A_PlaySound("insertshell")
		NUGR DEFGFEDDDD 1
		Goto InsertBullets
		
		TNT1 AAAAAAAAAA 0
		NUGG A 0 A_Takeinventory("Reloading",1)
        Goto FinishReloading	
		TNT1 AAAA 0
		NUGG A 0 A_Takeinventory("Reloading",1)
        Goto FinishReloading	
	
	FinishReloading:

		NUGR DCBA 1
		TNT1 A 0 A_PLaySound("RELO4", 4)
		NUGB KJHIGFEDCBA 1
		NUGG A 0 A_Refire
		Goto Ready3
	}
}

ACTOR NuggetAmmo : Ammo
{
   Inventory.Amount 0
   Inventory.MaxAmount 5
   Ammo.BackpackAmount 0
   Ammo.BackpackMaxAmount 5
   Inventory.Icon "WM14b0"
}