ACTOR ClassicFist : Weapon
{
	Game Doom
	Weapon.SelectionOrder 4
	Weapon.Kickback 100
	Obituary "$OB_MPFIST"
	Tag "$TAG_FIST"
	+WEAPON.MELEEWEAPON
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOALERT
	+WEAPON.NOAUTOAIM
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		PKFS A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		PKFS A 1 A_Lower
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Select:
		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
		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
		Goto Ready	
	}
}




ACTOR ClassicSaw : Weapon
{
	Game Doom
	Weapon.Kickback 0
	Weapon.SelectionOrder 2
	Weapon.UpSound "weapons/sawup"
	Weapon.ReadySound "none"
	Inventory.PickupMessage "$GOTCHAINSAW"
	Obituary "$OB_MPCHAINSAW"
	Tag "$TAG_CHAINSAW"
	+WEAPON.MELEEWEAPON
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.AXEBLOOD
	States
	{
	Ready:
		TNT1 A 0
		TNT1 A 0 A_Takeinventory("HasCutingWeapon",1)
		TNT1 A 0 A_PlaySound("weapons/sawidle", 2)
		TNT1 A 0 A_JumpIfInventory("PowerBloodOnVisor",1,"Ready.Blood")
        TNT1 A 0 A_JumpIfInventory("PowerBlueBloodOnVisor",1,"Ready.BlueBlood")
        TNT1 A 0 A_JumpIfInventory("PowerGreenBloodOnVisor",1,"Ready.GreenBlood")
		
		VSAW ABAB 2 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Chain_saw")
		Loop
		
	Ready.Blood:
		VSRW ABAB 2 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Chain_saw")
		Goto Ready
		
	Ready.BlueBlood:
		VSBW ABAB 2 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Chain_saw")
		Goto Ready
		
	Ready.GreenBlood:
		VSGW ABAB 2 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Chain_saw")
		Goto Ready	
		
	Deselect:
		VSAW A 1 A_Lower
		Loop
	Select:
		VSAW A 1 A_Raise
		
		Loop
	Fire:
		TNT1 A 0
		TNT1 A 0 A_Giveinventory("HasCutingWeapon",1)
		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 CD 2 A_Saw("weapons/chainsaw/loop", "CSAWCUT", 3, "SSawPuff")
		SAWG B 0 A_ReFire
		Goto Ready
		
	Fire.Blood:
		VSRW CD 2 A_Saw("weapons/chainsaw/loop", "CSAWCUT", 3, "SSawPuff")
		SAWG B 0 A_ReFire
		Goto Ready
	
	Fire.BlueBlood:
		VSBW CD 2 A_Saw("weapons/chainsaw/loop", "CSAWCUT", 3, "SSawPuff")
		SAWG B 0 A_ReFire
		Goto Ready
		
	Fire.GreenBlood:
		VSGW CD 2 A_Saw("weapons/chainsaw/loop", "CSAWCUT", 3, "SSawPuff")
		SAWG B 0 A_ReFire
		Goto Ready
	
	Spawn:
		CSAW A -1
		Stop
	}
}


ACTOR ClassicPistol : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 3
	Weapon.AmmoUse 1
	Weapon.AmmoGive 20
	Weapon.AmmoType "Clip2"
	Obituary "$OB_MPPISTOL"
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOFIRE
	+WEAPON.NOAUTOAIM
	Inventory.Pickupmessage "$PICKUP_PISTOL_DROPPED"
	Tag "$TAG_PISTOL"
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		PKPI A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		PKPI A 1 A_Lower
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Select:
		PKPI A 1 A_Raise
		Loop
	Fire:
		TNT1 A 0 A_FireBullets (3, 1, 1, 10, "HitPuff")
		TNT1 A 0 A_PlaySound("weapons/rifle")
		RIFF A 0 A_FireCustomMissile("Tracer", random(-2,2), 0, -1, 0)
		TNT1 A 0 A_SetPitch(-1.0 + pitch)
        PKPI F 1 BRIGHT
		PKPI CDE 1 A_SetPitch(0.25 + pitch)
		TNT1 A 0 A_FireCustomMissile("RifleCaseSpawn",5,0,8,-9)
		PKPI D 1
		PKPI C 1 A_WeaponReady(1)
		PKPI B 0 A_WeaponReady(1)
		PKPI A 5 A_WeaponReady(1)
		TNT1 A 0 A_ReFire
		Goto Ready
 	Spawn:
		PIST A -1
		Stop
	}
}




ACTOR ClassicShotgun : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 2
	Weapon.AmmoUse 1
	Weapon.AmmoGive 8
	Weapon.AmmoType "Shell"
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTSHOTGUN"
	Obituary "$OB_MPSHOTGUN"
	Tag "$TAG_SHOTGUN"
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Shot_gun")
		PKSG A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Shot_gun")
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
	    TNT1 A 0 A_TakeInventory("Shot_gun")
		PKSG A 1 A_Lower
		TNT1 A 0 A_TakeInventory("Shot_gun")
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Select:
		PKSG A 1 A_Raise
		TNT1 A 0 A_TakeInventory("Shot_gun")
		Loop
	Fire:
		PKSG A 1
		TNT1 AAAAAAA 0 A_FireCustomMissile("Tracer", random(-5,5),0,-1,-12,0,random(-1,1))
		TNT1 A 0 A_FireBullets (5.0, 1.0, 7, 8, "ShotgunPuff")
		TNT1 A 0 A_PlaySound("weapons/sg", 1)
		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
		TNT1 A 0 A_FireCustomMissile ("ShotCaseSpawn", 0, 0, -4, -4)
		SHTG A 0 A_PlaySound("weapons/sgpump", 3)
		PKSG JKKLLMMMLLKKJIHGF 1
		PKSG A 3
		TNT1 A 0 A_Refire
		PKSG A 10 A_WeaponReady
		Goto Ready
	Spawn:
		SHOT A -1
		Stop
	}
}	




ACTOR ClassicSSG : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 1
	Weapon.AmmoUse 2
	Weapon.AmmoGive 8
	Weapon.AmmoType "Shell"
	Inventory.PickupMessage "$GOTSHOTGUN2"
	Obituary "$OB_MPSSHOTGUN"
	Tag "$TAG_SUPERSHOTGUN"
	+WEAPON.NOAUTOFIRE
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOAIM
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("SSG")
		PKSS A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("SSG")
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		PKSS A 1 A_Lower
		Loop
	Select:
		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("Tracer", random(-10,10),0,-1,-12,0,random(-3,3))
		TNT1 A 0 A_FireBullets (10.0, 3.0, 14, 8, "ShotgunPuff")
		TNT1 A 0 A_SpawnItemEx("PlayerMuzzle2",30,5,27)
		TNT1 A 0 A_playsound("SSHFIRE", 3)
		PKSS B 2 BRIGHT A_SetPitch(-6.0 + pitch)
		PKSS C 1
		PKSS DEFAAA 1 A_SetPitch(1.0 + pitch)
		PKSS A 5
		TNT1 A 0 A_CheckReload
		PKSS GHIJKL 1
		TNT1 A 0 A_OpenShotgun2
		PKSS MNOPQR 1
		TNT1 AA 0 A_FireCustomMissile("SSGCaseSpawner",0,0,-10)
		PKES S 4
		PKSS STUV 2
		TNT1 A 0 A_LoadShotgun2
		PKSS XWYZ 1
		//TNT1 A 10
		PKS2 ABCD 2
		TNT1 A 0 A_PlaySound("weapons/sshotc")
		PKS2 EFG 2
		PKSS A 5
		TNT1 A 0 A_Refire
		Goto Ready
	Spawn:
		SGN2 A -1
		Stop
	}
}




ACTOR ClassicChaingun : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 1
	Weapon.AmmoUse 1
	Weapon.AmmoGive 20
	Weapon.AmmoType "Clip2"
	Inventory.PickupMessage "$GOTCHAINGUN"
	Obituary "$OB_MPCHAINGUN"
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOAIM
	Tag "$TAG_CHAINGUN"
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Minigun")
		PKCG A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Minigun")
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		PKCG A 1 A_Lower
		TNT1 A 0 A_TakeInventory("Minigun")
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Select:
	    TNT1 A 0 A_TakeInventory("Minigun")
		PKCG A 1 A_Raise
		TNT1 A 0 A_TakeInventory("Minigun")
		Loop
	Fire:
		TNT1 A 0 BRIGHT A_FireBullets (5, 1, 1, 9, "MachineGunBulletPuff")
        TNT1 A 0 A_FireCustomMissile("Tracer", random(-3,3), 0, -1, -12, 0, random(-3,3))
		TNT1 A 0 A_PlaySound("CHGNSHOT", 1)
		TNT1 A 0 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-6)
		PKCG F 1 BRIGHT 
		TNT1 A 0 A_SetPitch(-1.0 + pitch)
		PKCG B 1 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		PKCG CD 1 A_SetPitch(0.5 + pitch)
		
		
		TNT1 A 0 BRIGHT A_FireBullets (5, 1, 1, 9, "MachineGunBulletPuff")
        TNT1 A 0 A_FireCustomMissile("Tracer", random(-3,3), 0, -1, -12, 0, random(-3,3))
		TNT1 A 0 A_PlaySound("CHGNSHOT", 1)
		TNT1 A 0 A_FireCustomMissile("RifleCaseSpawn",5,0,6,-6)
		PKCG E 1 BRIGHT 
		TNT1 A 0 A_SetPitch(-1.0 + pitch)
		PKCG B 1 A_SpawnItemEx("PlayerMuzzle1",30,5,30)
		PKCG CD 1 A_SetPitch(0.5 + pitch)
		
		TNT1 A 0 A_ReFire
		PKCG ABCDAABBCCCDDDD 1 A_WeaponReady(1)
		Goto Ready
	Spawn:
		MGUN A -1
		Stop
	}
}


ACTOR ClassicRocketLauncher : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 4
	Weapon.AmmoUse 1
	Weapon.AmmoGive 2
	Weapon.AmmoType "RocketAmmo"
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTLAUNCHER"
	Tag "$TAG_ROCKETLAUNCHER"
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Rocket_Launcher", 1)
		PKRL A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Rocket_Launcher", 1)
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		PKRL A 1 A_Lower
		TNT1 A 0 A_TakeInventory("Rocket_Launcher", 1)
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Select:
		PKRL A 1 A_Raise
		TNT1 A 0 A_TakeInventory("Rocket_Launcher", 1)
		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 ClassicPlasmaRifle : DoomWeapon
{
	Game Doom
	Weapon.SelectionOrder 1
	Weapon.AmmoUse 1
	Weapon.AmmoGive 40
	Weapon.AmmoType "Cell"
	+WEAPON.CHEATNOTWEAPON
	+WEAPON.NOAUTOAIM
	Inventory.PickupMessage "$GOTPLASMA"
	Tag "$TAG_PLASMARIFLE"
	States
	{
	Ready:
	    TNT1 A 0 A_TakeInventory("Plasma_Gun", 1)
		3LSG A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("Plasma_Gun", 1)
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
	    TNT1 A 0 A_Takeinventory("HasPlasmaWeapon",1)
		TNT1 A 0 A_TakeInventory("Plasma_Gun", 1)
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		3LSG A 1 A_Lower
		Loop
	Select:
	    TNT1 A 0 A_Giveinventory("HasPlasmaWeapon",1)
		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 ClassicPlasmaBall
{
	Game Doom
	Radius 4
	Height 4
	Speed 25
	Damage 7
	Projectile
	+RANDOMIZE
	RenderStyle Add
	Alpha 0.75
	SeeSound "weapons/plasmaf"
	DeathSound "weapons/plasmax"
	damagetype Plasma
	Obituary "$OB_MPPLASMARIFLE"
	Species "Marines"
	+THRUSPECIES
	+MTHRUSPECIES
	States
	{
	DM:
		TNT1 A 0
		TNT1 A 0 A_ChangeFLag("THRUSPECIES", 0)
		TNT1 A 0 A_ChangeFLag("MTHRUSPECIES", 0)
		Goto Spawn1
	
	Spawn:
		TNT1 A 0
		TNT1 A 0 ACS_ExecuteAlways(719, 0, 0, 0, 0)//Check if Coop

	Spawn1:
	    TNT1 A 1
		Goto Spawn2
	Spawn2:
		PLSS ABAB 1 Bright A_SpawnItem("BlueFlareSmall")
		Loop
	Death:
	    TNT1 A 0
		TNT1 A 0 A_CustomMissile ("BluePlasmaFire", 0, 0, random (0, 360), 2, random (0, 360))
		TNT1 AAAAA 0 A_CustomMissile ("BluePlasmaParticle", 0, 0, random (0, 360), 2, random (0, 360))
		PLSE ABC 2 BRIGHT A_SpawnItem("BlueFlare")
		PLSE DE 2 Bright A_SpawnItem("BlueFlareSmall")
		Stop
	}
}


ACTOR VanillaBFG9000 : DoomWeapon
{
	Game Doom
	Height 20
	Weapon.SelectionOrder 2
	Weapon.AmmoUse 40
	Weapon.AmmoGive 40
	Weapon.AmmoType "Cell"
	+WEAPON.NOAUTOFIRE
	+WEAPON.CHEATNOTWEAPON
	Inventory.PickupMessage "$GOTBFG9000"
	Tag "$TAG_BFG9000"
	States
	{
	Ready:
		TNT1 A 0 A_TakeInventory("BIG_FUCKING_GUN", 1)
		BFGG A 1 A_WeaponReady
		TNT1 A 0 A_TakeInventory("BIG_FUCKING_GUN", 1)
		TNT1 A 0 A_TakeInventory("Rifle")
		TNT1 A 0 A_TakeInventory("DualRifles")
		Loop
	Deselect:
		BFGG A 1 A_Lower
		Loop
	Select:
		BFGG A 1 A_Raise
		Loop
	Fire:
        TNT1 A 0 A_PlaySound("BFGCHARGE")
		BFGC ABABABABABABABAB 2 BRIGHT A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        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_ZoomFactor(1.3)
        TNT1 A 0 BRIGHT A_FireCustomMissile("Alerter", 0, 0, -1, 0)
		TNT1 A 0 A_FireBFG
		BFGF B 2 BRIGHT// A_FireCustomMissile("SuperBFGBall", 0, 1, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)
        BFGF CDEF 2 BRIGHT A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        //TNT1 A 0 A_ZoomFactor(1.0)
        BFGG A 1 BRIGHT
		BFGG A 4
        TNT1 A 0  A_Refire
		Goto Ready
	}
}