ACTOR U_ClassicWeapon : Weapon
{
	Game Doom
	+WEAPON.NOAUTOFIRE
	+FORCEXYBILLBOARD
	+WEAPON.CHEATNOTWEAPON
	+INVENTORY.RESTRICTABSOLUTELY
	INVENTORY.FORBIDDENTO Doomer3
	VisibleToPlayerClass U_Purist
	States
	{
	Select:
		TNT1 A 0
		TNT1 A 0 A_Takeinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Takeinventory("SawSelected",1)
		TNT1 A 0 A_Takeinventory("FistsSelected",1)
		TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
		TNT1 A 0 A_Takeinventory("ShotgunSelected",1)
		TNT1 A 0 A_Takeinventory("SSGSelected",1)
		TNT1 A 0 A_Takeinventory("MinigunSelected",1)
		TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
		TNT1 A 0 A_Takeinventory("HasPlasmaWeapon",1)
		TNT1 A 0 A_Takeinventory("PlasmaGunSelected",1)
		TNT1 A 0 A_Takeinventory("BFGSelected",1)
		TNT1 A 0 A_Giveinventory("GoSpecial",1)
		TNT1 A 0 A_Jump(256,"Select1")
		Goto Select1
	Ready:
		TNT1 A 1 A_Weaponready
		Goto Ready
    Deselect:
		TNT1 A 0
		TNT1 A 0 A_Lower
		Wait
    Fire:
		TNT1 A 0
		Goto Ready
	Steady:
		TNT1 A 1
		TNT1 A 0 A_Jump(256,"Ready")
		Goto Ready
	CheckFlashlight:
		TNT1 A 0 A_JumpIfInventory("PistolFlashlightON",1,"FlashlightTurnON")
		Stop
	Flashlight:
		TNT1 A 0 A_Takeinventory("SwitchFlashlight",1)
		TNT1 A 0 A_PlaySound("flashlight/click",5)
		TNT1 A 0 A_JumpIfInventory("PistolFlashlightON",1,4)//Turn on or off?
		TNT1 A 0 A_Giveinventory("PistolFlashlightON",1)
		TNT1 A 0 A_GunFlash("FlashlightTurnON")
		TNT1 A 0 A_Jump(256,"Ready")
		TNT1 A 0 A_Takeinventory("PistolFlashlightON",1)
		TNT1 A 0 A_GunFlash("FlashlightTurnOFF")
		TNT1 A 0 A_Jump(256,"Ready")
		Goto Steady
	FlashlightTurnOFF:
		TNT1 A 0
		Stop
	FlashlightTurnON:
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==0,"FlashlightOnSimple")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==1,"FlashlightOnLQ")
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1020)==2,"FlashlightOnHQ")
		Stop
	FlashlightOnHQ:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ1",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ2",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ3",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ4",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ5",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ6",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ7",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ8",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ9",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ10",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ11",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ12",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ13",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ14",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ15",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ16",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ17",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ18",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ19",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ20",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ21",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ22",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ23",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ24",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamHQ25",0,0,0,0)
		Loop
	FlashlightOnLQ:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ1",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ2",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ3",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ4",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ5",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ6",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ7",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ8",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ9",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ10",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ11",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamLQ12",0,0,0,0)
		Loop
	FlashlightOnSimple:
		TNT1 A 1
		TNT1 A 0 A_FireCustomMissile("FlashLightBeamSimple",0,0,0,0)
		Loop
	DoKick:
		TNT1 A 2
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_Takeinventory("ADSmode",1)
		TNT1 A 0 A_JumpIf (momZ > 0,"AirKick")
		TNT1 A 0 A_JumpIf (momZ < 0,"AirKick")
        TNT1 A 0 A_jumpifinventory("PowerStrength",1,"BerserkerKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK BCD 1
		TNT1 A 0 A_FireCustomMissile("KickAttack",0,0,0,-7)
        KICK H 5
		TNT1 A 0 A_Takeinventory("Kicking",1)
		KICK I 1
		KICK GFEDCBA 1 
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		RIBA A 0 A_Takeinventory("Kicking",1)
		Goto Steady
    BerserkerKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		KICK BCD 1
        TNT1 A 0 A_FireCustomMissile("SuperKickAttack",0,0,0,-7)
        KICK H 5
		TNT1 A 0 A_Takeinventory("Kicking",1)
		KICK I 1
		KICK GFEDCBA 1 
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		TNT1 A 0 A_Takeinventory("Kicking",1)
		Goto Steady
	AirKick:
	    TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        TNT1 A 0 A_FireCustomMissile("AirKickAttack",0,0,0,-31)
        KICK O 3
		TNT1 A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		TNT1 A 0 A_Takeinventory("Kicking",1)
		Goto Steady
	SuperAirKick:
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_Recoil (-6)
		KICK JKLMN 1
        TNT1 A 0 A_FireCustomMissile("SuperAirKickAttack",0,0,0,-31)
        KICK O 3
		TNT1 A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality",1,"Steady")
		TNT1 A 0 A_Takeinventory("Kicking",1)
		Goto Steady
    Taunt:
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_Takeinventory("Taunting",1)
        TNT1 A 10
		FVCK A 1
		TNT1 A 0 A_FireCustomMissile("Taunter",0,0,-1,0)
		TNT1 A 0 A_FireCustomMissile("Taunter",-9,0,-1,0)
		TNT1 A 0 A_FireCustomMissile("Taunter",9,0,-1,0)
        FVCK B 1 A_PlaySound("FUCK",2)
        FVCK CD 1 A_AlertMonsters
		FVCK E 15 A_Takeinventory("Taunting",1)
        FVCK DCBA 1
        TNT1 A 10
		Goto Steady
	Salute:
	    TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_ALertMonsters
		TNT1 A 0 ACS_ExecuteAlways(400,0,0,0,0)//Start Camera
		TNT1 ABCDEDCDEDCDEDCBA 4
		TNT1 A 0 A_TakeInventory("Salute1",1)
		TNT1 A 0 A_TakeInventory("Salute2",1)
		TNT1 A 0 ACS_ExecuteAlways(402,0,0,0,0)//Stop Camera
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Steady
	}
}

ACTOR U_ClassicFist : U_ClassicWeapon
{
	Weapon.SelectionOrder 3700
	Weapon.Kickback 100
	Obituary "$OB_MPFIST"
	Tag "$TAG_FIST"
	+WEAPON.MELEEWEAPON
	+WEAPON.NOALERT
	-WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		PKFS A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKFS A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("FistsSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKFS A 1 A_Raise
		Loop
	Fire:
	    TNT1 A 0 A_jumpifinventory("PowerStrength",1,"Fire2")
		PKFS B 1 A_Giveinventory("Punching",1)
		TNT1 A 0 A_PlaySound("skeleton/swing")
		PKFS CD 1
		PKFS E 2 A_FireCustomMissile("MeleeStrike2",0,0,0,-5)
		PKFS FGHIJKL 2
		TNT1 A 0 A_Refire
		Goto Ready
	Fire2:
		PKFS B 1 A_Giveinventory("Punching",1)
		TNT1 A 0 A_PlaySound("weapons/gswing")
		PKFS CD 1
		PKFS E 2 A_FireCustomMissile("MeleeStrike2Smash",0,0,0,-5)
		PKFS FGHIJK 2
		TNT1 A 0 A_Refire
		Goto Ready	
	}
}

ACTOR U_ClassicSaw : U_ClassicWeapon
{
	Weapon.Kickback 0
	Weapon.SelectionOrder 2200
	Weapon.UpSound "weapons/sawup"
	Weapon.ReadySound "weapons/sawidle"
	Inventory.PickupMessage "$GOTCHAINSAW"
	Obituary "$OB_MPCHAINSAW"
	Tag "$TAG_CHAINSAW"
	+WEAPON.MELEEWEAPON
	+WEAPON.AXEBLOOD
	-WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		TNT1 A 0 A_FireCustomMissile("SmokeSpawner",0,0,0,5)
		TNT1 A 0 A_Playsound("weapons/chainsaw/idle")
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,5)
        TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,6)
        TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,7)
		VSAW AB 2 A_WeaponReady
		Goto Ready
		VSRW AB 2 A_WeaponReady
		Goto Ready
		VSBW AB 2 A_WeaponReady
		Goto Ready
		VSGW AB 2 A_WeaponReady
		Goto Ready
	Deselect:
		VSAW A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("HasCutingWeapon",1)
		TNT1 A 0 A_Giveinventory("SawSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		TNT1 A 0 A_Takeinventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_Takeinventory("PowerGreenBloodOnVisor",1)
		VSAW A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Fire.Blood")
        TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Fire.BlueBlood")
        TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Fire.GreenBlood")
		VSAW C 2 A_Saw("weapons/chainsaw/loop","CSAWCUT",random(10,30),"SSawPuff",SF_NORANDOM)
		VSAW D 2 A_Saw("","",random(10,23),"SSawPuff",SF_NORANDOM)
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_StopsoundEx("Weapon")
		Goto Ready
	Fire.Blood:
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor",1)
		VSRW C 2 A_Saw("weapons/chainsaw/loop","CSAWCUT",random(10,30),"SSawPuff",SF_NORANDOM)
		VSRW D 2 A_Saw("","",random(10,23),"SSawPuff",SF_NORANDOM)
		TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Fire.BlueBlood")
        TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Fire.GreenBlood")
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_StopsoundEx("Weapon")
		Goto Ready
	Fire.BlueBlood:
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor",1)
		TNT1 A 0 A_TakeInventory("PowerGreenBloodOnVisor",1)
		VSBW C 2 A_Saw("weapons/chainsaw/loop","CSAWCUT",random(10,30),"SSawPuff",SF_NORANDOM)
		VSBW D 2 A_Saw("","",random(10,23),"SSawPuff",SF_NORANDOM)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Fire.Blood")
        TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Fire.GreenBlood")
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_StopsoundEx("Weapon")
		Goto Ready
	Fire.GreenBlood:
		TNT1 A 0 A_TakeInventory("PowerBlueBloodOnVisor",1)
		TNT1 A 0 A_TakeInventory("PowerBloodOnVisor",1)
		VSGW C 2 A_Saw("weapons/chainsaw/loop","CSAWCUT",random(10,30),"SSawPuff",SF_NORANDOM)
		VSGW D 2 A_Saw("","",random(10,23),"SSawPuff",SF_NORANDOM)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Fire.Blood")
        TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Fire.BlueBlood")
		TNT1 A 0 A_ReFire
		TNT1 A 0 A_StopsoundEx("Weapon")
		Goto Ready
	Spawn:
		CSAW A -1
		Stop
	}
}

ACTOR U_ClassicPistol : U_ClassicWeapon
{
	Weapon.SelectionOrder 1900
	Weapon.AmmoUse 1
	Weapon.AmmoGive 10
	Weapon.AmmoType "Clip2"
	Obituary "$OB_MPPISTOL"
	+WEAPON.WIMPY_WEAPON
	-WEAPON.CHEATNOTWEAPON
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	Tag "$TAG_PISTOL"
	States
	{
	Ready:
		PKPI A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKPI A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKPI A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_FireBullets(1.2,1.2,-1,10,"HitPuff",1)
		TNT1 A 0 A_PlaySound("pfire",1)
		TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-2,2),0,0,0)
		TNT1 A 0 A_ZoomFactor(0.98)
        PKPI F 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		PKPI CDE 1 A_ZoomFactor(1.0)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,6,-8)
		PKPI D 1
		PKPI CB 1 A_WeaponReady
		PKPI A 3 A_WeaponReady
		TNT1 A 0 A_ReFire
		Goto Ready
 	Spawn:
		PIST A -1
		Stop
	}
}

ACTOR U_ClassicSMG : U_ClassicWeapon
{
	Weapon.SelectionOrder 1800
	Weapon.AmmoUse 1
	Weapon.AmmoGive 10
	Weapon.AmmoType "clip2"
	Obituary "$OB_MPPISTOL"
	+WEAPON.NOAUTOFIRE
	-WEAPON.CHEATNOTWEAPON
	Inventory.Pickupmessage "You got the Sub-Machinegun!"
	Tag "Sub-Machinegun"
	States
	{
	Ready:
		VSMG A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		VSMG A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("SubMachineGunSelected",1)	
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		VSMG A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_FireBullets(4,2,1,10,"HitPuff")
		TNT1 A 0 A_PlaySound("pfire",1)
		TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-2,2),0,0,0)
		TNT1 A 0 A_ZoomFactor(0.99)
        VSMG B 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		VSMG C 1 A_ZoomFactor(1.0)
		TNT1 A 0 A_FireCustomMissile("9mmCaseSpawn",5,0,6,-8)
		VSMG A 1
		TNT1 A 0 A_FireBullets(4,2,1,10,"HitPuff")
		TNT1 A 0 A_PlaySound("pfire",1)
		TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-2,2),0,0,0)
		TNT1 A 0 A_ZoomFactor(0.99)
        VSMG B 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		VSMG C 1 A_ZoomFactor(1.0)
		TNT1 A 0 A_FireCustomMissile("PistolCaseSpawn",5,0,0,-9)
		VSMG A 1
		TNT1 A 0 A_FireBullets(4,2,1,10,"HitPuff")
		TNT1 A 0 A_PlaySound("pfire",1)
		TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-2,2),0,0,0)
		TNT1 A 0 A_ZoomFactor(0.99)
        VSMG B 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		VSMG C 1 A_ZoomFactor(1.0)
		TNT1 A 0 A_FireCustomMissile("PistolCaseSpawn",5,0,0,-9)
		VSMG CCDDAA 1
		TNT1 A 0 A_ReFire
		Goto Ready
 	Spawn:
		SMGZ A -1
		Stop
	}
}

ACTOR U_ClassicShotgun : U_ClassicWeapon
{
	Weapon.SelectionOrder 1300
	Weapon.AmmoUse 1
	Weapon.AmmoGive 8
	Weapon.AmmoType "AmmoShell"
	-WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTSHOTGUN"
	Obituary "$OB_MPSHOTGUN"
	Tag "$TAG_SHOTGUN"
	States
	{
	Ready:
		PKSG A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKSG A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("ShotgunSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKSG A 1 A_Raise
		Loop
	Fire:
		PKSG A 1
		TNT1 AAAAAAA 0 A_FireCustomMissile("DecorativeTracer",random(-5,5),0,0,-12,0,random(-1,1))
		TNT1 A 0 A_FireBullets(5,1,7,9,"ShotgunPuff")
		TNT1 A 0 A_PlaySound("weapons/sg",1)
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		PKSG B 2 BRIGHT A_SetPitch(-4.0 + pitch)
		PKSG C 1
		PKSG CDDE 1 A_SetPitch(1.0 + pitch)
		PKSG A 4
		PKSG FGHI 1
		SHTG A 0 A_PlaySound("weapons/sgpump",3)
		PKSG JKKLLMMM 1
		TNT1 A 0 A_FireCustomMissile("ShotCaseSpawn",0,0,-10,-20)
		PKSG LLKKJIHGF 1
		PKSG A 3
		TNT1 A 0 A_Refire
		PKSG A 10 A_WeaponReady
		Goto Ready
	Spawn:
		SHOT A -1
		Stop
	}
}	

ACTOR U_ClassicSSG : U_ClassicWeapon
{
	Game Doom
	Weapon.SelectionOrder 400
	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType "AmmoShell"
	Inventory.PickupMessage "$GOTSHOTGUN2"
	Obituary "$OB_MPSSHOTGUN"
	Tag "$TAG_SUPERSHOTGUN"
	+WEAPON.NOAUTOFIRE
	-WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		PKSS A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKSS A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("SSGSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKSS A 1 A_Raise
		Loop
	Fire:
	    PKSS A 1
		TNT1 A 0 A_FireBullets(0,0,1,15,"shotpuff",0,180)
		TNT1 AAAAAAAAAAAAAA 0 A_FireCustomMissile("DecorativeTracer",random(-10,10),0,0,-12,0,random(-3,3))
		TNT1 A 0 A_FireBullets(10,3,14,10,"ShotgunPuff")
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
		TNT1 A 0 A_playsound("SSHFIRE",1)
		PKSS B 2 BRIGHT A_SetPitch(-6.0 + pitch)
		PKSS C 1
		PKSS DEFAAA 1 A_SetPitch(1.0 + pitch)
		PKSS A 3
		TNT1 A 0 A_CheckReload
		PKSS GHIJKL 1
		TNT1 A 0 A_PlaySound("weapons/sshoto",4)
		PKSS MNOPQR 1
		TNT1 A 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
		TNT1 A 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-18)
		PKES S 4
		PKSS STUV 2
		TNT1 A 0 A_PlaySound("weapons/sshotl",4)
		PKSS WXYZ 2
		PKS2 ABCD 2
		TNT1 A 0 A_PlaySound("weapons/sshotc",4)
		PKS2 EFG 2
		PKSS A 3
		TNT1 A 0 A_Refire
		Goto Ready
	Spawn:
		SGN2 A -1
		Stop	
	}
}

ACTOR U_ClassicChaingun : U_ClassicWeapon
{
	Weapon.SelectionOrder 700
	Weapon.AmmoUse 1
	Weapon.AmmoGive 20
	Weapon.AmmoType "clip2"
	-WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTCHAINGUN"
	Obituary "$OB_MPCHAINGUN"
	Tag "$TAG_CHAINGUN"
	States
	{
	Ready:
		PKCG A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKCG A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("MinigunSelected",1)	
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKCG A 1 A_Raise
		Loop
	Fire:
        TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-3,3),0,0,-12,0,random(-3,3))
		TNT1 A 0 A_PlaySound("CHGNSHOT",1)
		PKCG F 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		PKCG G 1 A_FireBullets(5,1,1,10,"MachineGunBulletPuff")
		PKCG H 1 A_SetPitch(0.5 + pitch)
		TNT1 A 0 A_FireCustomMissile("50CaseSpawn2",5,0,12,-14)
        TNT1 A 0 A_FireCustomMissile("DecorativeTracer",random(-3,3),0,0,-12,0,random(-3,3))
		TNT1 A 0 A_PlaySound("CHGNSHOT",1)
		PKCG E 1 BRIGHT A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		PKCG G 1 A_FireBullets(5,1,1,10,"MachineGunBulletPuff")
		PKCG H 1 A_SetPitch(0.5 + pitch)
		TNT1 A 0 A_FireCustomMissile("50CaseSpawn2",5,0,12,-14)
		TNT1 A 0 A_ReFire
		PKCG ABCDAABBCCCDDDD 1 A_WeaponReady(1)
		Goto Ready
	Spawn:
		MGUN B -1
		Stop
	}
}

ACTOR U_ClassicRocketLauncher : U_ClassicWeapon
{
	Weapon.SelectionOrder 2500
	Weapon.AmmoUse 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "AmmoRocket"
	Inventory.PickupMessage "$GOTLAUNCHER"
	Tag "$TAG_ROCKETLAUNCHER"
	-WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:
		PKRL A 1 A_WeaponReady
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		PKRL A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("RocketLauncherSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		PKRL A 1 A_Raise
		Loop
	Fire:
		PKRL BC 2 BRIGHT
		TNT1 A 0 A_PlaySound ("DSRFIRE")
		TNT1 A 0 A_FireCustomMissile("WeakRocket",0,1,0,-10)
		TNT1 A 0 A_SetPitch(-2.0 + pitch)
		PKRL D 2 BRIGHT
		PKRL EFGHIJ 2 A_SetPitch(0.25 + pitch)
		PKRL AA 1 A_SetPitch(0.25 + pitch)
		TNT1 A 0 A_Refire
		Goto Ready
	Spawn:
		LAUN A -1
		Stop
	}
}

ACTOR U_ClassicPlasmaRifle : U_ClassicWeapon
{
	Weapon.SelectionOrder 100
	Weapon.AmmoUse 1
	Weapon.AmmoGive 40
	Weapon.AmmoType "AmmoCell"
	Inventory.PickupMessage "$GOTPLASMA"
	Tag "$TAG_PLASMARIFLE"
	-WEAPON.CHEATNOTWEAPON
	States
	{
	Ready:  
		3LSG A 1 A_WeaponReady		
		TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		3LSG A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("HasPlasmaWeapon",1)
		TNT1 A 0 A_Giveinventory("PlasmaGunSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		3LSG A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_FireCustomMissile("ClassicPlasmaBall",0,1,0,-10)
		3LSF EF 1 BRIGHT
		3KPL A 1
		TNT1 A 0 A_Refire
		3KPL ABCDEFF 1
		3KPL G 6
		3KPL FFEDCBA 1
		Goto Ready
	Spawn:
		PLAS A -1
		Stop
	}
}

ACTOR U_ClassicBFG9000 : U_ClassicWeapon
{
	Height 20
	Weapon.SelectionOrder 2800
	Weapon.AmmoUse 40
	Weapon.AmmoGive 40
	Weapon.AmmoType "AmmoCell"
	+WEAPON.NOAUTOFIRE
	-WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTBFG9000"
	Tag "$TAG_BFG9000"
	States
	{
	Ready:
		BFGI AB 2 A_WeaponReady
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		BFGI CD 2 A_WeaponReady
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		BFGI EF 2 A_WeaponReady
        TNT1 A 0 A_JumpIfInventory("Kicking",1,"DoKick")
        TNT1 A 0 A_JumpIfInventory("Taunting",1,"Taunt")
		TNT1 A 0 A_JumpIfInventory("Salute1",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("Salute2",1,"Salute")
		TNT1 A 0 A_JumpIfInventory("SwitchFlashlight",1,"Flashlight")
		Loop
	Deselect:
		BFGN A 1 A_Lower
		Loop
	Select1:
		TNT1 A 0 A_Giveinventory("BFGSelected",1)
		TNT1 A 0 A_GunFlash("CheckFlashlight")
	Select2:
		BFGN A 1 A_Raise
		Loop
	Fire:
        TNT1 A 0 A_PlaySound("BFGCHARGE")
		BFGC ABCDEFGHIJKFGHIJK 2 BRIGHT
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1024)==0, 2)
		TNT1 A 0 A_Firebullets(10,0,6,50,"BfgPuff",0,120)//Kills smaller enemies at point blank so the projectile gets a chanse to fly.
        BFGF A 2 BRIGHT A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        TNT1 A 0 A_PlaySound("BFGFIRE")
		TNT1 AAA 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        TNT1 A 0 A_Recoil(8)
        TNT1 A 0 A_FireCustomMissile("Alerter",0,0,-1,0)
		TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(1024)==0, 3)
		TNT1 A 0 A_FireCustomMissile("U_BFGBall1")
		TNT1 A 0 A_Jump(256,2)
		TNT1 A 0 A_FireCustomMissile("U_BFGBall2")
		BFGF B 2 BRIGHT
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble",0,0,0,0)
        BFGF CDEF 2 BRIGHT A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        BFGF G 2 BRIGHT
		BFGI ABCDEF 2
        TNT1 A 0 A_Refire
		Goto Ready
	Spawn:
		BFUG A -1
		Stop
	}
}