#include "Actors/Weapons/NewWeapons/Deagle.dec"
#include "Actors/Weapons/NewWeapons/DualDeagles.dec"
#include "Actors/Weapons/NewWeapons/DeagleSpawner.dec"
#include "Actors/MISC/DeagleFly.dec"
#include "Actors/MISC/DroppedDeagle.dec"
#include "Actors/MISC/ShotgunSlugCasing.dec"

#include "Actors/Weapons/NewWeapons/RiotShield.dec"
#include "Actors/Weapons/NewWeapons/Carbine.dec"
#include "actors/Weapons/NewWeapons/LMG.dec"
#include "Actors/Weapons/NewWeapons/MGL.dec"
#include "actors/Weapons/NewWeapons/PlasmaBlaster.dec"
#include "actors/Weapons/NewWeapons/PlasmaMK2.dec"

#include "Actors/Weapons/NewWeapons/SuppressedPistol.dec"
#include "Actors/Weapons/NewWeapons/SuppressedDualPistol.dec"

Actor CantUseScopes : IsTacticalClass {}

// --- Weapon Spawners --------------------------------------------------------

ACTOR PistolSpawner2 : PistolSpawner replaces PistolSpawner
{
	//$Category Weapons
	//$Sprite P3STKA0
	//$Title "Pistol spawner"
	Inventory.PickupMessage "$GOTPISTOL"
	Inventory.PickupSound "Pistol/Draw"
	States
	{
	Spawn:
		P3ST A 0
		P3ST A 1
		P3ST A 0 A_ChangeFlag("THRUACTORS", 0)
	Stay:
		P3ST K -1
		Stop

	Pickup:
		P3ST A 0
		P3ST A 0 A_JumpIfInventory("PuristPistol", 1, "AmmoOnly")
		P3ST A 0 A_JumpIfInventory("BrutalPistol", 1, "DualPistol")
		P3ST A 0 A_JumpIfInventory("SuppressedBrutalPistol", 1, "DualPistol")
		P3ST A 0 A_JumpIfInventory("DualPistols", 1, "AmmoOnly")
		P3ST A 0 A_JumpIfInventory("SuppressedDualPistols", 1, "AmmoOnly")
	PickupNormal:
		P3ST A 0 A_GiveInventory("BrutalPistol", 1)
		P3ST A 0 A_GiveInventory("Clip1", 10)
		Stop

	DualPistol:
		P3ST A 0
		P3ST A 0 A_GiveInventory("HasDualPistol", 1)
		P3ST A 0 A_GiveInventory("Clip1", 10)
		Stop

	AmmoOnly:
		P3ST A 0
		P3ST A 0 A_GiveInventory("Clip1", 10)
		Stop
	}
}

// ------ Fake weapons (visual only)

Actor FakeWeaponPickup {
	// VisibleToPlayerClass Purist, BDoomer, Doomer2, Doomer3, TacticalDoomer, TacticalMarksman, TacticalCQC
	Scale 0.9
	+FORCEXYBILLBOARD
}

// ------ Slot 3

Actor FakeSniper : FakeWeaponPickup { // Spawn where SSG spawn, so slot 3
	VisibleToPlayerClass Doomer2, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			WM14 B 5
			Stop
	}
}

Actor FakeShotgun : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, Doomer2, TacticalDoomer, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			SHTC A 5
			Stop
	}
}

Actor FakeSSG : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, TacticalDoomer
	States {
		Spawn:
			TNT1 A 0
			SGN2 A 5
			Stop
	}
}

Actor FakeASG : FakeWeaponPickup {
	VisibleToPlayerClass Doomer3, TacticalCQC
	States {
		Spawn:
			TNT1 A 0
			A12P A 5
			Stop
	}
}

Actor FakeRevolver : FakeWeaponPickup {
	VisibleToPlayerClass Doomer3, TacticalCQC
	States {
		Spawn:
			TNT1 A 0
			REVP A 5
			Stop
	}
}

// ------ Slot 4

Actor FakeChaingun : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, Doomer3, TacticalDoomer, TacticalCQC
	States {
		Spawn:
			TNT1 A 0
			MGUN A 5
			Stop
	}
}

Actor FakeSMG : FakeWeaponPickup {
	VisibleToPlayerClass Doomer2, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			SMGZ A 5
			Stop
	}
}

// ------ Slot 5

Actor FakeRL : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, Doomer2, TacticalDoomer, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			RLAU A 5
			Stop
	}
}

Actor FakeGL : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, TacticalDoomer
	States {
		Spawn:
			TNT1 A 0
			GLAP A 5
			Stop
	}
}

Actor FakeMGL : FakeWeaponPickup {
	VisibleToPlayerClass Doomer3, TacticalCQC
	States {
		Spawn:
			TNT1 A 0
			SGL0 Z 5
			Stop
	}
}

Actor FakeM202 : FakeWeaponPickup {
	VisibleToPlayerClass Doomer2, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			W202 A 5
			Stop
	}
}

// ------ Slot 6

Actor FakePlasmaRifle : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, TacticalDoomer
	States {
		Spawn:
			TNT1 A 0
			PRAS C 5
			Stop
	}
}

Actor FakeRailgun : FakeWeaponPickup {
	VisibleToPlayerClass Purist, BDoomer, Doomer2, TacticalDoomer, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			SRCG A 5
			Stop
	}
}

Actor FakeMK2 : FakeWeaponPickup {
	VisibleToPlayerClass Doomer2, TacticalMarksman
	States {
		Spawn:
			TNT1 A 0
			M2PR B 5
			Stop
	}
}

Actor FakePlasmaBlaster : FakeWeaponPickup {
	VisibleToPlayerClass Doomer3, TacticalCQC
	States {
		Spawn:
			TNT1 A 0
			PLSG B 5
			Stop
	}
}
