//==============================================================================
// Kampfpistole (Based on the german Sturmpistole)
//==============================================================================

ACTOR HDFlareGun : KriegslandLightWeapon
{
	+WEAPON.NOAUTOFIRE
	+INVENTORY.UNDROPPABLE
	Weapon.SelectionOrder 1000
	Weapon.AmmoUse 1
	Weapon.SlotNumber 5
	Weapon.AmmoGive 1
	Weapon.AmmoType "BOEX1"
	Inventory.Pickupmessage "You got the Kampfpistole!"
	Inventory.PickupSound 	"weapons/generic/pickup1"
	Tag "Kampfpistole"
	Scale 0.1
	States
	{
	Deselect:
		WPMG A 1 Offset(2, 34)
		WPMG A 1 Offset(7, 39)
		WPMG A 1 Offset(10, 47)
		WPMG A 1 Offset(22, 58)
		WPMG A 1 Offset(32, 69)
		WPMG A 1 Offset(54, 81)
		WPMG A 1 Offset(67, 100)
		WPMG A 1 A_Lower
		Wait 
	Ready:
		WPMG A 1 A_WeaponReady
		TNT1 A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		TNT1 A 0 A_JumpIfInventory("IsCrossing",1,"Cross")
		TNT1 A 0 A_JumpIfInventory("IsKnifing",1,"Knife")
		TNT1 A 0 A_JumpifInventory("IsKicking",1,"Kick")
		Loop
	Select:
		TNT1 A 0 A_Playsound("weapons/generic/select1",7)
		WPMG A 1 Offset(67, 100)
		WPMG A 1 Offset(54, 81)
		WPMG A 1 Offset(32, 69)
		WPMG A 1 Offset(22, 58)
		WPMG A 1 Offset(10, 47)
		WPMG A 1 Offset(7, 39)
		WPMG A 1 Offset(2, 34)
		WPMG A 1 A_Raise
		Wait
	Fire:	
		TNT1 A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
		WPMF A 2 BRIGHT
		TNT1 A 0 A_Playsound("weapons/KPP/fire",6)
		TNT1 A 0 A_AlertMonsters
		TNT1 AA 0 A_FireCustomMissile("GunSmokeSpawner",0,0,7,0,0,0)
		TNT1 A 0 A_Gunflash
		TNT1 A 0 A_FireCustomMissile("KampfFlare",0,1,11,1)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMF B 1 BRIGHT
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		TNT1 A 0 A_SetPitch(pitch -0.3)
		WPMG B 1 Offset(2,34)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG C 1 Offset(3,36)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG D 1 Offset(4,38)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG E 1 Offset(6,41)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG F 1 Offset(8,42)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG G 1 Offset(6,41)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG H 1 Offset(4,39)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG I 2 Offset(2,36)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG A 2 Offset(0,33)
		TNT1 A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
	ReloadFlare:
		WPMR A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Open",7)
		WPMR B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR C 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_FireCustomMissile("FKExplosiveCasingSpawn",345+random(-8,8),0,-4,-5,0)
		WPMR FFF 5 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR G 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR H 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_Playsound("weapons/SGN/pump2",6)
		WPMR I 1 Offset(-4,34)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR I 1 Offset(-8,38)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR J 1 Offset(-12,44)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR J 1 Offset(-10,48)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR K 1 Offset(-8,46)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR K 1 Offset(-6,44)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR L 1 Offset(-4,40)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR L 1 Offset(-2,38)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR L 1 Offset(-1,34)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR XXX 4 Offset(0,32) A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Close",6)
		WPMR B 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMR A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	Altfire:
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG A 2 A_JumpIfInventory("HDFlareGunX2",1,"SelectAkimbo")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	SelectAkimbo:
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMG A 2 A_SelectWeapon("HDFlareGunX2")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	Cross:
		WPMG A 1
		TNT1 A 0 A_JumpIfInventory("HDRocketLauncher",1,"SelectCross")
		Goto Ready
	SelectCross:
		NULL A 0 A_GiveInventory("HDCrossAkimbo4",1)
		WPMG A 1 A_SelectWeapon("HDCrossAkimbo4")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	Dryfire:
		TNT1 A 0 A_Print("No ammo",1)
		Goto Ready
	Kick:
		WPMT A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT B 1
		TNT1 A 2
		KICF A 1 Offset(-10,32)
		KICF CE 1
		KICF FG 1 A_Recoil(-1)
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_PlaySound("FKPlayer/Grunt")
		KICF H 5 A_CustomPunch(6,0,0,"FightPuff") 
		KICF IGFEDC 1 
		KICF BA 1 A_Recoil(+0.5)
		TNT1 A 2
		WPMT B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT A 1
		Goto Ready
	IsSliding:
		TNT1 A 0 A_TakeInventory("SlidePlayer",1)
		TNT1 A 0 A_JumpIfInventory("CrouchPlayer",1,"Ready")
		WPMT A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT B 1
		TNT1 A 0 A_PlaySound("FKPlayer/slide/start",4)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/loop",5,0.5,TRUE)
		TNT1 A 0 A_SetPitch(pitch+0.8)
		SLDK ABCDEF 2
		TNT1 A 0 A_SetPitch(pitch-0.8)
		SLDK G 6 A_FireCustomMissile("KickAttack",0,0,0,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/end",6)
		SLDK HI 2
		Goto Ready
	Knife:
		WPMT A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
 		NULL A 0 Offset(-10,32)
		NULL A 1
		WP1L AB 1
		NULL A 0 A_Jump(86,2)
		NULL A 0 A_PlaySound("FKPlayer/Grunt")
		WP1L C 1 A_CustomPunch(8,0,0,"KnifePuff")
		WP1L DEF 1
		NULL A 1
		WPMT B 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto Ready
	Throwgrenade:
		TNT1 A 0 A_JumpIf(waterlevel>2,"Dryfire")
		TNT1 A 0 A_JumpIfInventory("BOGR1",1,1)
		Goto Dryfire
		WPMT A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT B 1
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 Offset(-20,32)
		TNT1 A 3 Offset(-20,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 A 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 B 1 Offset(0,24)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 C 1 Offset(0,23)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,26) A_PlaySound("weapons/SHG/throw")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_SpawnItemEx("RealGrenade",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_TakeInventory("BOGR1",1)
		MND2 E 1 Offset(-3,30)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 E 1 Offset(-6,31)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(-9,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(-12,33)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_TakeInventory("GetOnWithIt", 100)
		TNT1 A 0 A_JumpIfNoAmmo("Dryfire")
		TNT1 A 5 Offset (75, 152)
		TNT1 A 1 Offset (6, 42)
		WPMT B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMT A 1
		Goto Ready
	Flash:
		TNT1 A 0 Bright A_Light1
		Goto LightDone
		TNT1 A 0 Bright A_Light1
		Goto LightDone
 	Spawn:
		WPMP A -1
		Stop
	}
}

//==============================================================================
// Zwei KampfPistole
//==============================================================================

ACTOR HDFlareGunX2 : KriegslandLightWeapon
{
	+INVENTORY.UNDROPPABLE
	Weapon.SelectionOrder 1100
	Weapon.SlotNumber 0
	Weapon.AmmoUse 1
	Weapon.AmmoGive 10
	Weapon.AmmoType "BOEX1"
	Inventory.Pickupmessage "You got another Kampfpistole!"
	Tag "Zwei Kampfpistole"
	States
	{
	Deselect:
		TNT1 A 0 A_Gunflash("LightDone")
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredPrimary",1)
		TNT1 A 0 A_GiveInventory("StopDualWield", 1)
		WPMB ABC 1
		TNT1 A 1 A_Lower
		Wait 
	Ready:
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredPrimary",1)
		WPMB CBA 1
		TNT1 A 0 A_TakeInventory("StopDualWield", 1)
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	ReadyToFire:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun") //Check if player wants to reload
		WMLG A 1 A_WeaponReady(WRF_NOFIRE|WRF_ALLOWZOOM)// Weapon is ready to fire
		TNT1 A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		TNT1 A 0 A_JumpifInventory("IsKnifing",1,"Knife")
		TNT1 A 0 A_JumpifInventory("IsKicking",1,"Kick")
		Loop
	Select:
		TNT1 A 0 A_Playsound("weapons/generic/select1",7)
		TNT1 A 0 Offset(67, 100)
		TNT1 A 0 Offset(54, 81)
		TNT1 A 0 Offset(32, 69)
		TNT1 A 0 Offset(22, 58)
		TNT1 A 0 Offset(10, 47)
		TNT1 A 0 Offset(7, 39)
		TNT1 A 0 Offset(2, 34)
		TNT1 A 0 Offset(0, 32)
		TNT1 A 1 A_Raise
		Wait
	Fire:
		TNT1 A 0
		WPMB A 1
		TNT1 A 0 A_JumpifInventory("IsKicking",1,"Kick")
		TNT1 A 0 A_JumpifInventory("IsKnifing",1,"Knife")
		NULL A 0 A_JumpIfInventory("SlidePlayer",1,"IsSliding")
		TNT1 A 0 A_JumpifInventory("IsBombing",1,"ThrowGrenade")
		TNT1 A 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		Goto ReadyToFire
	FireLeftGun:
		TNT1 A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
		WMLF A 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_Playsound("weapons/KPP/fire",6)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_FireCustomMissile("KampfFlare",0,1,-11,1)
		TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,-10,0,0,0)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLF B 1 BRIGHT
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		TNT1 A 0 A_SetPitch(pitch -0.6)
		WMLG B 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG C 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG D 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG E 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG F 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG A 1
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMLG AAAA 1
		NULL A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPML A 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Open",7)
		WPML B 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_FireCustomMissile("FKExplosiveCasingL",345+random(-8,8),0,-4,-5,0)
		WPML C 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPML D 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPML EEE 8
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Close",6)
		WPML F 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPML B 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPML A 2
		NULL AAA 0 A_JumpIfInventory("FiredPrimary",1,"FireLeftGun")
		Goto ReadyToFire
	FireRightGun:
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		TNT1 A 0 A_GiveInventory("IsFiringSecondary", 1)
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		TNT1 A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
		WMRF A 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_Playsound("weapons/KPP/fire",6)
		TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_FireCustomMissile("KampfFlare",0,1,11,1)
		TNT1 A 0 A_FireCustomMissile("GunSmokeSpawner",0,0,10,0,0,0)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRF B 1 BRIGHT
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("RecoilToggle")==0,2)
		TNT1 A 0 A_SetPitch(pitch -0.6)
		WMRG B 1 Offset(2,34)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG C 1 Offset(4,38)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG D 1 Offset(6,41)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG E 1 Offset(8,42)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG F 1 Offset(6,41)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG A 1 Offset(4,39)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG A 1 Offset(2,36)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WMRG A 4 Offset(0,32) A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		NULL A 0 A_JumpIfInventory("BOEX1",1,1)
		Goto Dryfire
		WPLR A 2 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Open",7)
		WPLR B 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_FireCustomMissile("FKExplosiveCasingSpawn",345+random(-8,8),0,-4,-5,0)
		WPLR C 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPLR D 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPLR EEE 8
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/KPP/Close",6)
		WPLR F 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPLR B 2
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPLR A 2
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 AAA 0 A_JumpIfInventory("FiredSecondary",1,"FireRightGun")
		Goto Flash
	Zoom:
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		WPMB A 2 A_SelectWeapon("HDFlareGun")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		Goto ReadyToFire
	Dryfire:
		TNT1 A 0 A_Print("No ammo",1)
		TNT1 A 0 A_TakeInventory("IsFiringSecondary",1)
		TNT1 A 0 A_TakeInventory("FiredSecondary",1)
		WPMB A 1 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	Kick:
		TNT1 A 0 A_GunFlash("LightDone")
		WPMB ABC 1
		TNT1 A 2
		KICF A 1 Offset(-10,32)
		KICF CE 1
		KICF FG 1 A_Recoil(-1)
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_PlaySound("FKPlayer/Grunt")
		KICF H 5 A_CustomPunch(6,0,0,"FightPuff") 
		KICF IGFEDC 1 
		KICF BA 1 A_Recoil(+0.5)
		TNT1 A 2
		WPMB CBA 1
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	IsSliding:
		TNT1 A 0 A_GunFlash("LightDone")
		TNT1 A 0 A_TakeInventory("SlidePlayer",1)
		TNT1 A 0 A_JumpIfInventory("CrouchPlayer",1,"Ready")
		WPMB ABC 1
		TNT1 A 0 A_PlaySound("FKPlayer/slide/start",4)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/loop",5,0.5,TRUE)
		TNT1 A 0 A_SetPitch(pitch+0.8)
		SLDK ABCDEF 2
		TNT1 A 0 A_SetPitch(pitch-0.8)
		SLDK G 6 A_FireCustomMissile("KickAttack",0,0,0,0)
		TNT1 A 0 A_StopSound(5)
		TNT1 A 0 A_PlaySound("FKPlayer/slide/end",6)
		SLDK HI 2
		Goto Ready
	Knife:
		TNT1 A 0 A_GunFlash("LightDone")
		WPMB ABC 1
 		NULL A 0 Offset(-10,32)
		NULL A 1
		WP1L AB 1
		NULL A 0 A_Jump(86,2)
		NULL A 0 A_PlaySound("FKPlayer/Grunt")
		WP1L C 1 A_CustomPunch(8,0,0,"KnifePuff")
		WP1L DEF 1
		NULL A 1
		WPMB CBA 1
		TNT1 A 0 A_GunFlash
		Goto ReadyToFire
	Throwgrenade:
		TNT1 A 0 A_GunFlash("LightDone")
		WPMB ABC 1
		TNT1 A 0 Offset(-10,36)
		TNT1 A 0 A_JumpIf(waterlevel>2,"Dryfire")
		TNT1 A 0 A_JumpIfInventory("BOGR1",1,1)
		Goto Dryfire
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 Offset(-20,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 A 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 B 1 Offset(0,24)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 C 1 Offset(0,23)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,26) A_PlaySound("weapons/SHG/throw")
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 D 1 Offset(0,28)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_SpawnItemEx("RealGrenade",0,1,24,cos(pitch)*40,0,sin(-pitch)*40,3,SXF_TRANSFERPITCH|SXF_NOCHECKPOSITION)
		TNT1 A 0 A_TakeInventory("BOGR1",1)
		MND2 E 1 Offset(0,30)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 E 1 Offset(0,31)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(0,32)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		MND2 F 1 Offset(0,33)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSecondary|WRF_NoSwitch)
		TNT1 A 0 A_TakeInventory("GetOnWithIt", 100)
		TNT1 A 0 A_JumpIfNoAmmo("Dryfire")
		TNT1 A 7 Offset (75, 152)
		TNT1 A 1 Offset (6, 42)
		Goto Ready
	Flash: //Right gun ready state
	    TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("StopDualWield", 1, "LightDone")
		WMRG A 1 A_JumpIfInventory("FiredSecondary", 1, "FireRightGun")
		TNT1 A 0 A_JumpIfInventory("FiredSecondary", 1, "FireRightGun")
		Loop
	DontFlash:
	    TNT1 A 1
		Goto Flash
 	Spawn:
		WPMP A -1
		Stop
	}
}

//==============================================================================
// Kampfpistole projectiles
//==============================================================================

ACTOR NapalmDebris
{
	+NOBLOCKMAP
	+DONTSPLASH
	+RANDOMIZE
	+WINDTHRUST
	-NOGRAVITY
	-SOLID
	PROJECTILE
	Health 5
	Radius 1
	Height 1
	Speed 10
	Scale 0.2
	States
  {
	Spawn:
		NULL A 0   BRIGHT A_Jump(192,3,4,6,8)
		FSPK A 10  BRIGHT
		FSPK A 200 BRIGHT A_LowGravity
		Stop
		FSPK B 10  BRIGHT
		FSPK B 200 BRIGHT A_LowGravity
		Stop
		FSPK C 10  BRIGHT
		FSPK C 200 BRIGHT A_LowGravity
		Stop
		FSPK D 10  BRIGHT
		FSPK D 200 BRIGHT A_LowGravity
		Stop
		FSPK E 10  BRIGHT
		FSPK E 200 BRIGHT A_LowGravity
		Stop
	Death:
		FSPK A 1
		Stop
	}
}

ACTOR Flaretrail : NapalmDebris
{  
  Scale 0.1
  Translation "176:191=32:47","208:223=16:31"
}

ACTOR KampfFlare
{
   -SOLID
   -EXTREMEDEATH
   +SEEKERMISSILE
   +ROCKETTRAIL    
   +DONTSPLASH
   PROJECTILE
   DONTHURTSHOOTER
   Radius 3
   Height 4
   Speed 25
   Scale 0.5
   Damage 0
   ExplosionRadius 64 // was 32
   ExplosionDamage 110 // was 55
   Decal "DoomImpScorch"
   Damagetype Fire
   Activesound "weapons/KPP/air"
   DeathSound  "weapons/KPP/death"
   States
   {
	Spawn:
		NULL A   0 BRIGHT A_LoopActiveSound
		FAIR ABC 1 BRIGHT A_SeekerMissile(80,20)
		NULL AAA 0 A_CustomMissile("Flaretrail",0,0,random(0,360),2,random(-90,90))
		Loop
	Death:
		NULL A 0 A_Explode
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		NULL A 0 A_SetScale(0.3)
		BLAG ABCDEFGHIJKLMNOPQRSTUVWXXYYZZ 1 BRIGHT A_SetTranslucent(0.6,1)
		Stop
	XDeath:
		NULL A 0 A_Explode
		FAIR A 1 BRIGHT
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		NULL AAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("Flaretrail",0,0,10,random(-4,4),random(-4,4),random(-4,4),random(1,360))
		Stop
   }
}