// here

ACTOR FG42Ammo : Ammo
{
	Inventory.MaxAmount 20
	+IGNORESKILL
}

Actor FG42 : Weapon
{
	attacksound "Weapons/AK47FIR"
	inventory.pickupmessage "You got the Fallschirmjagergewehr 42!"
	Weapon.SlotNumber 6
	weapon.kickback 100
	Weapon.AmmoType "FG42Ammo"
	Weapon.AmmoUse1 0
	Weapon.AmmoGive1 0
	weapon.ammotype2 "MauserAmmo"
	weapon.ammouse2 1
	weapon.ammogive2 10
	Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.2
	Weapon.BobRangeY 0.5
	Weapon.BobRangeX 0.7
	ConversationID 195
	Scale 0.38
	Tag "FG 42"
	Decal "BulletChip"
	+Ammo_Optional
  	+Alt_Ammo_Optional
	+WEAPON.PRIMARY_USES_BOTH
	+Weapon.NoAlert
	States
	{
	Ready:
		FG42 A 1 A_WeaponReady(WRF_ALLOWRELOAD)
		Loop
	Deselect:
		FG42 A 0 A_Lower
		FG42 A 1 A_Lower
		Loop
	Select:
		FG42 A 0 A_Raise
		FG42 A 1 A_Raise
		Loop
	Fire:
		FG42 A 0 A_JumpIfInventory("FG42Ammo",1,1)
		Goto Dryfire
		FG42 B 0 A_GunFlash
		TNT1 A 0 A_Jump(250,2)
		TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
		FG42 B 0 A_PlayWeaponSound("fg42/fire")
		FG42 B 0 A_TakeInventory("FG42Ammo",1)
		FG42 B 1 bright A_FireCustomMissile("FGTracer",frandom(-2.5,2.5),0,0,0,0,frandom(-1.0,1.0))
		FG42 C 1 bright Offset(0,38) A_SetPitch(pitch - 1.8)
		FG42 A 0 A_AlertMonsters
		FG42 A 1 A_Refire
		FG42 A 1 Offset(0,42) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,44) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,43) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,40) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,36) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)
		Goto Ready
	Hold:
		FG42 A 0 A_JumpIfInventory("FG42Ammo",1,1)
		Goto Dryfire
		FG42 B 0 A_GunFlash
		TNT1 A 0 A_Jump(250,2)
		TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
		FG42 B 0 A_PlayWeaponSound("fg42/fire")
		FG42 B 0 A_TakeInventory("FG42Ammo",1)
		FG42 B 1 bright A_FireCustomMissile("FGTracer",frandom(-2.5,2.5),0,0,0,0,frandom(-1.0,1.0))
		FG42 C 1 bright Offset(0,50) A_SetPitch(pitch - 1.8)
		FG42 A 0 A_AlertMonsters
		FG42 A 1 A_Refire
		FG42 A 1 Offset(0,52) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,54) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,53) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,50) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,46) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,41) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,35) A_WeaponReady(WRF_NOBOB)
		FG42 A 1 Offset(0,32) A_WeaponReady(WRF_NOBOB)
		Goto Ready
	Dryfire:
		FG42 A 1
	Reload:
		FG42 A 0 A_JumpIfInventory("FG42Ammo",20,2)
		FG42 A 0 A_JumpIfNoAmmo(1)
		Goto ProperReload
		FG42 A 1
		Goto Ready
	ProperReload:
		FG42 A 1 Offset(0,35) A_PlaySound("reloads/fg42", CHAN_ITEM)
		TNT1 A 0 A_Jump(160,2)
		TNT1 A 0 A_PlaySound("*taunt", CHAN_VOICE)
		FG42 A 1 Offset(0,38)
		FG42 A 1 Offset(0,44)
		FG42 A 1 Offset(-2,46)
		FG42 A 1 Offset(-4,52)
		FG42 A 1 Offset(-7,56)
		FG42 A 1 Offset(-10,57)
		FG42 A 8 Offset(-11,58)
	ReloadLoop:
		TNT1 A 0 A_TakeInventory("MauserAmmo",1,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_GiveInventory("FG42Ammo",1)
		TNT1 A 0 A_JumpIfInventory("FG42Ammo",20,"ReloadFinish")
		TNT1 A 0 A_JumpIfNoAmmo("ReloadFinish")
		Goto ReloadLoop
	ReloadFinish:
		FG42 A 1 Offset(-10,58)
		FG42 A 1 Offset(-10,61)
		FG42 A 1 Offset(-10,65)
		FG42 A 1 Offset(-10,71)
		FG42 A 1 Offset(-10,65)
		FG42 A 1 Offset(-10,60)
		FG42 A 1 Offset(-10,55)
		FG42 A 1 Offset(-10,53)
		FG42 A 1 Offset(-10,51)
		FG42 A 1 Offset(-9,50)
		FG42 A 1 Offset(-8,46)
		FG42 A 1 Offset(-7,43)
		FG42 A 1 Offset(-5,40)
		FG42 A 1 Offset(-3,37)
		FG42 A 1 Offset(-1,34)
		FG42 A 1 Offset(0,32)
		Goto Ready
	Flash:
		TNT1 A 2 BRIGHT A_Light2
		TNT1 A 2 BRIGHT A_Light1
		TNT1 A 0 A_Light0
		Stop
	Spawn:
		FG42 P -1
		Stop
	}
}