
// --------------------------------------------------------------------------
//
// BFG 9000
//
// --------------------------------------------------------------------------

ACTOR BIG_FUCKING_GUN : BFG9000 Replaces BFG9000
{
	Weapon.BobRangeX 0.5
	Weapon.BobRangeY 0.7
	Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.5
	Game Doom
	Height 20
	SpawnID 31
	Weapon.SelectionOrder 2800
	Weapon.AmmoUse 50
	Weapon.AmmoGive 50
	Weapon.AmmoType "Cell"
	Weapon.UpSound "weapons/weaponholster"
	Inventory.PickupSound "BFGREADY"
	//DamageType Desintegrate
	+FORCEXYBILLBOARD
    Inventory.PickupMessage "You got the BFG-9000! FUCK YEAH!"
	States
	{
	
	Flash:
	TNT1 A 0
	TNT1 A 0 A_JumpIfInventory("FlashlightAction", 1, "CheckFlashlight")
	TNT1 A 1
	TNT1 A 0 A_JumpIfInventory("IsFlashlightOn", 1, "FlashOn")
	Goto Flash
	FlashOn:
	TNT1 A 0 A_FireCustomMissile("FlashlightProjectile", 0, 0, 0, 0, 0, 0)
	TNT1 A 0 A_FireCustomMissile("FlashlightSource", 0, 0, 0, 0, 0, 0)
	Goto Flash 
	CheckFlashLight:
	TNT1 A 1
	TNT1 A 0 A_TakeInventory("FlashlightAction")
	TNT1 A 0 A_JumpIfInventory("IsFlashlightOn", 1, "TurnOffFlashlight")
	TNT1 A 0 A_GiveInventory("IsFlashlightOn", 1)
	Goto Flash
	TurnOffFlashlight:
	TNT1 A 0 A_TakeInventory("IsFlashlightOn", 1)
	Goto Flash
	
	Steady:
	TNT1 A 1
	Goto Ready
	Ready:
	    TNT1 A 0
	    TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_GunFlash
        TNT1 AAA 0
		 TNT1 A 0 A_PlaySound("BFGREADY", 5)
		BFGD W 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			 	TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGD X 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGD Y 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGD Z 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGD A 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGD B 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGD C 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_SetPitch(pitch - 0.1)
		Goto RealReady
		
		
			RealReady:
					TNT1 A 0 A_JumpIfInventory("Weaponspecial2",1,"Switchingpistol")
			TNT1 A 0 A_JumpIfInventory("switchfiremode",1,"Firerate")
			  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("TossGrenade",1,"TossGrenade")
		BFGG A 1 A_WeaponReady
		Goto RealReady
		
		SwitchingPistol:
			TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"SwitchingPistol1B")
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
		PUN4 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN4 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN4 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
		PUN4 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN4 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN4 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
			TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		
		SwitchingPistol2:
		TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"SwitchingPistol2B")
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
	PUN3 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN3 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN3 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
					TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
			TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		PUN3 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN3 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN3 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		
			SwitchingPistol3:
			TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"SwitchingPistol3B")
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
		PUN4 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN4 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN4 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
				TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		PUN4 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN4 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN4 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		
		SwitchingPistol1B:
			TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
		PUN4 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN4 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN4 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
					TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		PUN4 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN4 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN4 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
				BFGP G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
				BFGP E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		
		SwitchingPistol2B:
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
	PUN3 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN3 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN3 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
					TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
				TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		PUN3 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN3 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN3 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
					TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol3")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
				BFGP G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
				BFGP E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		SwitchingPistol3B:
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 2)
		TNT1 A 0 A_Recoil(-1)
		PUN4 A 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_PlaySound("weapons/fistwhoosh",0)
		PUN4 B 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_SetPitch(+2 + pitch)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		PUN4 D 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
			TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		RIfF AA 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 0, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, 25, 5)
		RIfF A 0 A_FireCustomMissile("MeleeStrike1Smash", 0, 0, -25, 5)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_SetPitch(+3 + pitch)
				TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		PUN4 EGH 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		PUN4 I 1 A_SetPitch(-2 + pitch)
		TNT1 A 0 A_SetPitch(-3 + pitch)
		PUN4 JKL 1 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 5
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
			TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
				TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
					TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
						TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
							TNT1 A 0 A_JumpIfInventory("weaponspecial2", 1, "SwitchingPistol2")
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
				BFGP G 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP F 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
				BFGP E 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		Goto RealReady
		
		
			/*SwitchingPistol3:
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
				TNT1 A 0 A_PlaySound("PIHOL", 4)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_PlaySound("weapons/ultrwhoosh", 5)
//		TNT1 A 0 A_GunFlash("DummyFlash")
//		TNT1 A 0 A_GunFlash("PunchFlash3")
        TNT1 A 0 A_Recoil(-8)
		TNT1 A 0 A_SetAngle(+2 + angle)
		PUN5 A 1 A_SetPitch(-1 + pitch)
		TNT1 A 0 A_SetAngle(+2 + angle)
		PUN5 B 1 A_SetPitch(-1 + pitch)
		TNT1 A 0 A_SetAngle(+2 + angle)
		PUN5 C 1 A_SetPitch(-1 + pitch)
		TNT1 A 0 A_SetAngle(+2 + angle)
		PUN5 D 1 A_SetPitch(-1 + pitch)
		TNT1 A 0 A_GiveInventory("Punching",1)
		PUNG AAAA 0 A_FireCustomMissile("MeleeStrike1", 0, 0, 0, 0)
		PUN5 E 5 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		TNT1 A 0 A_TakeInventory("Punching", 1)
		TNT1 A 0 A_SetAngle(-2 + angle)
		PUN5 D 1 A_SetPitch(+1 + pitch)
		TNT1 A 0 A_SetAngle(-2 + angle)
		PUN5 C 1 A_SetPitch(+1 + pitch)
		TNT1 A 0 A_SetAngle(-2 + angle)
		PUN5 B 1 A_SetPitch(+1 + pitch)
		TNT1 A 0 A_SetAngle(-2 + angle)
		PUN5 A 1 A_SetPitch(+1 + pitch) 
		Pun5 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
        TNT1 A 5 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_GiveInventory("PSeq4", 1)
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("PSeq2", 1)
		TNT1 A 0 A_TakeInventory("PSeq1", 1)
		TNT1 A 0 A_TakeInventory("PSeq3", 1)
		TNT1 A 0 A_TakeInventory("PSeq4", 1)
		TNT1 A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_TakeInventory("weaponspecial2",1)
		Goto Ready+11 */ 
		
		Firerate:
	//TNT1 A 0 A_JumpIfInventory("RLFRate",1,"Firerate2")	
	TNT1 A 0 A_TakeInventory("switchfiremode")
		TNT1 A 0 A_TakeInventory("Weaponspecial2")
		TNT1 A 0 A_JumpIfInventory("Cell", 5, 3)
		BFGG A 0 A_PlaySound("BFGOUT", 1)
		Goto RealReady
			TNT1 A 0 A_AlertMonsters
		TNT1 A 0 A_PlaySound("CHGP",1)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
			TNT1 A 0 Radius_Quake(1,5,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_ZoomFactor(0.99)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
		BFGF D 10 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_PlaySound("BIZ",6)
			TNT1 A 0 A_PlaySound ("CHGX",5)
			TNT1 A 0 Radius_Quake(1,12,0,2,0)
					
		
			TNT1 A 0 A_AlertMonsters
		BFGC Z 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		
		TNT1 A 0 A_ZoomFactor(0.97)
		BFGC Y 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.96)
		BFGC B 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.95)
		TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGF A 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		TNT1 A 0 A_ZoomFactor(0.94)
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
		TNT1 A 0 A_Takeinventory("Cell",20,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		BFGF B 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.96)
RIFF A 0 A_FireCustomMissile("HeatBlastExplosion", 0, 0, 8, -4, 0, 0)
		TNT1 A 0 Radius_Quake(1,15,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		TNT1 A 0 A_Recoil(1)
		BFGF C 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.97)
		TNT1 A 0 A_SetPitch(pitch - 0.1)
	TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,0)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssQuad", 0, 0, 0, 0)
		TNT1 A 0 Radius_Quake(1,5,0,2,0)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		BFGF D 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.98)
		TNT1 A 0 A_SetPitch(pitch + 0.1)
			TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,0)
		BFGF E 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		BFGF F 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
		TNT1 A 0 A_SetPitch(pitch + 0.1)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 A_TakeInventory("switchfiremode")
				TNT1 A 0 A_TakeInventory("Weaponspecial2")
		BFGG A 10 A_WeaponReady (WRF_NOFIRE)
		TNT1 A 0 A_TakeInventory("switchfiremode")
			TNT1 A 0 A_TakeInventory("Weaponspecial2")
		Goto RealReady
		
			
		

		
		
			Deselect:
		TNT1 A 0 A_Takeinventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_TakeInventory("TossGrenade", 1)
		TNT1 A 0 A_TakeInventory("Weaponspecial2")
		TNT1 A 0 A_Takeinventory("BFGSelected",1)
				TNT1 A 0 A_TakeInventory("switchfiremode")
		TNT1 A 0 A_TakeInventory("Weaponspecial")
		TNT1 A 0 A_PlaySound("PIHOL", 4)
			BFGP A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		BFGP B 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.4)
		BFGP C 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		BFGP D 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 AAAAAAAAAAAAAAAAAA 0 A_Lower
		TNT1 A 0 A_Lower
		Wait
		
	Select:
		TNT1 A 0 A_Takeinventory("FistsSelected",1)
	TNT1 A 0 A_Takeinventory("SawSelected",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("PlasmaGunSelected",1)
	TNT1 A 0 A_Takeinventory("RocketLauncherSelected",1)
    TNT1 A 0 A_Takeinventory("GrenadeLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("RevenantLauncherSelected",1)
	TNT1 A 0 A_Takeinventory("BFG10kSelected",1)
	TNT1 A 0 A_Takeinventory("RailGunSelected",1)
	TNT1 A 0 A_Takeinventory("SubMachineGunSelected",1)
	TNT1 A 0 A_Giveinventory("BFGSelected",1)
	TNT1 A 0 A_Takeinventory("LostSoulSelected",1)
	TNT1 A 0 A_Takeinventory("FlameCannonSelected",1)
	TNT1 A 0 A_Takeinventory("HasBarrel",1)
	TNT1 A 0 A_TakeInventory("TossGrenade", 1)
	TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_Raise	
	Goto Ready
		
		Fire:
        TNT1 A 0 A_PlaySound("BFGCHARGE",6)
			TNT1 A 0 Radius_Quake(1,5,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		BFGC Z 2 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_ZoomFactor(0.99)
		BFGC X 2 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_ZoomFactor(0.98)
				TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
		BFGC Y 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.97)
		  TNT1 A 0 A_Recoil(0.1)
		TNT1 A 0 Radius_Quake(3,2,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		BFGC WB 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
			TNT1 A 0 Radius_Quake(3,2,0,2,0)
			TNT1 A 0 A_ZoomFactor(0.96)
		BFGC AC 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(4,2,0,2,0)
		BFGC DE 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.95)
			TNT1 A 0 Radius_Quake(4,2,0,2,0)
		BFGC FE 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.94)
		TNT1 A 0 Radius_Quake(4,2,0,2,0)
		 TNT1 A 0 A_Recoil(0.1)
		 		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
		BFGC DC 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.93)
		TNT1 A 0 Radius_Quake(5,2,0,2,0)
		BFGC AB 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(5,3,0,2,0)
		BFGC AC 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.92)
		TNT1 A 0 Radius_Quake(5,3,0,2,0)
		BFGC DE 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(5,4,0,2,0)
		 TNT1 A 0 A_Recoil(0.1)
		BFGC FE 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(5,4,0,2,0)
				TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
		BFGC DC 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.91)
		TNT1 A 0 Radius_Quake(5,4,0,2,0)
		BFGC AB 2 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(3,3,0,2,0)
		 TNT1 A 0 A_Recoil(0.1)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		TNT1 A 0 Radius_Quake(5,2,0,2,0)
				TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
        BFGF A 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.90)
		TNT1 A 0 Radius_Quake(5,2,0,2,0)
		 TNT1 A 0 A_Recoil(0.1)
		 BFGF A 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.90)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        TNT1 A 0 A_PlaySound("BFGFIRE",7)
		TNT1 AAA 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        TNT1 A 0 A_Recoil(8)
		TNT1 A 0 Radius_Quake(4,2,0,2,0)
        TNT1 A 0 BRIGHT A_FireCustomMissile("Alerter", 0, 0, -1, 0)
		BFGF B 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(3,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.87)
		BFGF B 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.86)
		TNT1 A 0 A_FireCustomMissile("SuperBFGBall", 0, 1, 0, 0)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)
        BFGF CZ 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.89)
		BFGF D 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.90)
		BFGF E 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.92)
		BFGF F 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(2,2,0,2,0)
		TNT1 A 0 A_ZoomFactor(0.94)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
        BFGG A 1 BRIGHT  A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.95)
		TNT1 A 0 Radius_Quake(1,2,0,2,0)
		BFGG A 1  A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(1,2,0,2,0)
			TNT1 A 0 A_ZoomFactor(0.96)
		BFGG A 1  A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(1,2,0,2,0)
			TNT1 A 0 A_ZoomFactor(0.97)
		BFGG A 1  A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(1,2,0,2,0)
			TNT1 A 0 A_ZoomFactor(0.98)
		BFGG A 1  A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 Radius_Quake(1,2,0,2,0)
		 TNT1 A 0 A_ZoomFactor(1.0)
        TNT1 A 0  A_Refire
		Goto RealReady
		
		AltFire:
		TNT1 A 0 A_JumpIfInventory("Cell", 5, 3)
		BFGG A 0 A_PlaySound("BFGOUT", 1)
		Goto RealReady
		TNT1 A 0 A_FireCustomMissile("Alerter", 0, 0, 0, 0)
		TNT1 A 0 A_PlaySound("CHRG",1)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
			TNT1 A 0 Radius_Quake(1,5,0,2,0) //(intensity, duration, damrad, tremrad, tid)
		TNT1 A 0 A_ZoomFactor(0.99)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
		BFGF D 8 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_PlaySound("BIZ",6)
			TNT1 A 0 Radius_Quake(1,10,0,2,0)
		BFGC Z 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.98)
		BFGC Y 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.97)
		BFGC B 1 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.96)
		TNT1 A 0 A_SetPitch(pitch - 0.1)
		BFGF A 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		TNT1 A 0 A_ZoomFactor(0.95)
		TNT1 AAAA 0 A_FireCustomMissile("SmokeSpawner",0,0,0,2)
		TNT1 A 0 A_Takeinventory("Cell",10,TIF_NOTAKEINFINITE)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		BFGF B 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.96)
		TNT1 A 0 A_FireCustomMissile("BFGSmallSphere", 0, 1, 0, 0)
		TNT1 A 0 A_SetPitch(pitch - 0.2)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		TNT1 A 0 A_Recoil(1)
		BFGF CZ 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.97)
		TNT1 A 0 A_SetPitch(pitch - 0.1)
		TNT1 A 0 A_FireCustomMissile("ShakeYourAssDouble", 0, 0, 0, 0)
		TNT1 A 0 Radius_Quake(1,5,0,2,0)
		TNT1 A 0 A_FireCustomMissile("GreenFlareSpawn",0,0,0,0)
		BFGF D 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.98)
		TNT1 A 0 A_SetPitch(pitch + 0.1)
		BFGF E 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(0.99)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		BFGF F 1 BRIGHT A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_SetPitch(pitch + 0.2)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		BFGG A 1 A_WeaponReady (WRF_NOFIRE)
		TNT1 A 0 A_SetPitch(pitch + 0.1)
		TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOSWITCH)
		BFGG A 10 A_WeaponReady (WRF_NOFIRE)
		TNT1 A 0 A_ReFire
		Goto RealReady
		
		TiredKickStart:
	    TNT1 A 0 SetPlayerProperty(0,1,0)
	    TNT1 A 0
		Goto DoKick+2
		
	TiredKickEnd:
	    TNT1 A 0
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Select	
		
		StompKickFlash:
		STOM ABCDDDDE 1
		Stop
		
		Stomp:
	    TNT1 A 0 A_TakeInventory("Kicking", 1)
		TNT1 A 0 A_GunFlash("StompKickFlash")
	    NULL A 0 A_JumpIf (pitch > 90, "NormalAirKick")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperStomp")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		STOM ABCDDDDE 1
		TNT1 A 0 ThrustThingZ(0,-5,0,1)
		STOM EE 1
		TNT1 A 0 A_SetPitch(75)
        RIFF A 0 A_FireCustomMissile("StompAttack", 0, 0, 15, -11)
		RIFF A 0 A_FireCustomMissile("StompAttack", 0, 0, -15, -11)
		TNT1 A 0 A_SpawnItem("FootStepStrong")
        STOM F 5
		KICK A 0 A_Takeinventory("Kicking",1)
		STOM GH 2
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_jumpIfInventory("UsedStamina", 500, "TiredKickEnd")
		Goto RealReady
		
	
	SuperStomp:
		TNT1 A 0 A_GunFlash("StompKickFlash")
		TNT1 A 0 A_PlaySound("KICK")
		TNT1 A 0 SetPlayerProperty(0,1,0)
		STOM ABCDDDDE 1
		TNT1 A 0 ThrustThingZ(0,-5,0,1)
		STOM EE 1
		TNT1 A 0 A_SetPitch(75)
        RIFF A 0 A_FireCustomMissile("SuperStompAttack", 0, 0, 15, -11)
		RIFF A 0 A_FireCustomMissile("SuperStompAttack", 0, 0, -15, -11)
		TNT1 A 0 A_SpawnItem("FootStepStrong")
        STOM F 5
		KICK A 0 A_Takeinventory("Kicking",1)
		STOM GH 2
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		TNT1 A 0 A_jumpIfInventory("UsedStamina", 600, "TiredKickEnd")
		Goto RealReady

	
	KickFlash:
		BFGK BCD 1
		BFGK D 8
		BFGK DCBA 1
		Stop
	BersFlash:
		BFGK BCD 1
		BFGK D 8
		BFGK DCBA 1
		Stop
	AirKikFlash:
		BFGK BCD 1
		BFGK D 11
		BFGK DCBA 1
		Stop
		
		InsultFlash:
			BFGK BCD 1
		BFGK D 30
		BFGK DCBA 1
		Stop



	DoKick:
	    TNT1 A 0
		TNT1 A 0 A_TakeInventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_TakeInventory("ADSmode",1)
		NULL A 0 A_JumpIf (momZ > 0, "AirKick")
		NULL A 0 A_JumpIf (momZ < 0, "AirKick")
		NULL A 0 A_JumpIf(Height < 54, "SlideKick")
		TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"BerserkerKick")
		TNT1 A 0 A_PlaySound("KICK", 1)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_GunFlash("KickFlash")
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		KICK B 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.970)
		KICK C 1 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetPitch(+1.25 + pitch)
		TNT1 A 0 A_ZoomFactor(0.950)
		RIfF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
		
        KICK H 3 
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+1 + angle)
		TNT1 A 0 A_Recoil(-1)
		KICK A 0 A_TakeInventory("Kicking",1)
		KICK I 1
		TNT1 A 0 A_ZoomFactor(0.970)
		TNT1 A 0 A_SetAngle(+1 + angle)
		KICK G 1 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.998)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.999)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		KICK C 1 A_SetAngle(-0.5 + angle)
		KICK B 1 A_SetPitch(-1.25 + pitch)
		KICK A 1
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady
		
	NormalKick:
	    TNT1 A 0
		TNT1 A 0 A_TakeInventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_TakeInventory("ADSmode",1)
		NULL A 0 A_JumpIf (momZ > 0, "AirKick")
		NULL A 0 A_JumpIf (momZ < 0, "AirKick")
		NULL A 0 A_JumpIf(Height < 54, "SlideKick")
		TNT1 A 0 A_JumpIfInventory("PowerStrength",1,"BerserkerKick")
		TNT1 A 0 A_PlaySound("KICK", 1)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_GunFlash("KickFlash")
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		KICK B 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.970)
		KICK C 1 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetPitch(+1.25 + pitch)
		TNT1 A 0 A_ZoomFactor(0.950)
		RIfF A 0 A_FireCustomMissile("KickAttack", 0, 0, 0, -7)
		
        KICK H 3 
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+1 + angle)
		TNT1 A 0 A_Recoil(-1)
		KICK A 0 A_TakeInventory("Kicking",1)
		KICK I 1
		TNT1 A 0 A_ZoomFactor(0.970)
		TNT1 A 0 A_SetAngle(+1 + angle)
		KICK G 1 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.998)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.999)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		KICK C 1 A_SetAngle(-0.5 + angle)
		KICK B 1 A_SetPitch(-1.25 + pitch)
		KICK A 1
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady
	SlideKickChecker:
		TNT1 A 0
		NULL A 0 A_JumpIf (Vely > 0, "SlideKick")
		NULL A 0 A_JumpIf (Velx > 0, "SlideKick")
		NULL A 0 A_JumpIf (Vely < 0, "SlideKick")
		NULL A 0 A_JumpIf (Velx < 0, "SlideKick")
		Goto NormalKick

	SlideKickFlash1:
		BFGK ABCDDDDDDDDDDDDDDDDDD 1
		BFGK DCBA 1
		Stop

	SlideKickFlash2:
		BFGK DDDDDDDDDDD 1
		BFGK DDD 1
		BFGK DCBA 1
		Stop

	SlideKickFlash3:
		BFGK DDD 1
		BFGK DDD 1
		BFGK DCBA 1
		Stop

	SlideKick:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
//		TNT1 A 0 A_GunFlash("AirKikFlash")
		TNT1 A 0 A_Jump(128, "SlideKickRight")
		TNT1 A 0 A_GunFlash("SlideKickFlash1")
		TNT1 A 0 A_PlaySound("SlideKick/Start", 0)
		TNT1 A 0 A_Recoil (-2)
		KIC4 J 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-2.50)
		KIC4 K 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-3)
		KIC4 L 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-3.50)
		KIC4 M 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-4)
		KIC4 N 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-4.50)
		RIFF A 0 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_PlaySound("SlideKick/Loop", 1)
		TNT1 A 0 A_Recoil (-5)
	SlideKickLoop1:
		KIC4 OOOOO 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-6)
		TNT1 A 0 A_GunFlash("SlideKickFlash2")
		KIC4 OOO 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Jump(60, "SlideKickLoop1")
		Goto SlideKickEnd1
	SlideKickEnd1:
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 A_GunFlash("SlideKickFlash3")
		TNT1 A 0 A_PlaySound("SlideKick/End", 1)
		KIC4 A 0 A_TakeInventory("Kicking",1)
		KIC4 PQRST 2 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady

	SlideKickRight:
		TNT1 A 0
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
//		TNT1 A 0 A_GunFlash("AirKikFlash")
		TNT1 A 0 A_Jump(128, "SlideKickRight")
		TNT1 A 0 A_GunFlash("SlideKickFlash1")
		TNT1 A 0 A_PlaySound("SlideKick/Start", 0)
		TNT1 A 0 A_Recoil (-2)
		KIC5 J 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-2.50)
		KIC5 K 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-3)
		KIC5 L 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-3.50)
		KIC5 M 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-4)
		KIC5 N 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-4.50)
		RIFF A 0 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_PlaySound("SlideKick/Loop", 1)
		TNT1 A 0 A_Recoil (-5)
	SlideKickLoop2:
		KIC5 OOOOO 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Recoil (-6)
		TNT1 A 0 A_GunFlash("SlideKickFlash2")
		KIC5 OOO 1 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_Jump(60, "SlideKickLoop2")
		Goto SlideKickEnd2
	SlideKickEnd2:
		TNT1 A 0 A_StopSound(1)
		TNT1 A 0 A_GunFlash("SlideKickFlash3")
		TNT1 A 0 A_PlaySound("SlideKick/End", 1)
		KIC5 A 0 A_TakeInventory("Kicking",1)
		KIC5 PQRST 2 A_FireCustomMissile("SlideKickAttack", 0, 0, 0, -31)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady

	BerserkerKick:
		 TNT1 A 0
		TNT1 A 0 A_TakeInventory("Zoomed",1)
        TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_TakeInventory("ADSmode",1)
		NULL A 0 A_JumpIf (momZ > 0, "AirKick")
		NULL A 0 A_JumpIf (momZ < 0, "AirKick")
		NULL A 0 A_JumpIf(Height < 54, "SlideKick")
		
		TNT1 A 0 A_PlaySound("KICK", 1)
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_GunFlash("KickFlash")
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		KICK B 1 A_SetPitch(+0.5 + pitch)
		TNT1 A 0 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.970)
		KICK C 1 A_SetAngle(-0.5 + angle)
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetPitch(+1.25 + pitch)
		TNT1 A 0 A_ZoomFactor(0.950)
		RIFF A 0 A_FireCustomMissile("SuperKickAttack", 0, 0, 0, -7)
        KICK H 3 
		TNT1 A 0 A_ZoomFactor(0.965)
		TNT1 A 0 A_SetAngle(+1 + angle)
		TNT1 A 0 A_Recoil(-1)
		KICK A 0 A_TakeInventory("Kicking",1)
		KICK I 1
		TNT1 A 0 A_ZoomFactor(0.970)
		TNT1 A 0 A_SetAngle(+1 + angle)
		KICK G 1 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.985)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.998)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 0 A_ZoomFactor(0.999)
		TNT1 A 0 A_SetAngle(+0.5 + angle)
		KICK D 1 A_SetAngle(+0.5 + angle)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
		KICK C 1 A_SetAngle(-0.5 + angle)
		KICK B 1 A_SetPitch(-1.25 + pitch)
		KICK A 1
		TNT1 A 0 SetPlayerProperty(0,0,0)
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady



		
		AirKick:
	    TNT1 A 0
		TNT1 A 0 A_GunFlash("KickFlash")
		TNT1 A 0 A_GiveInventory("UsedStamina", 50)
		NULL A 0 A_JumpIf (pitch < 40, 1)
		Goto Stomp

	NormalAirKick:
		TNT1 A 0 A_jumpifinventory("PowerStrength",1,"SuperAirKick")
		TNT1 A 0 A_PlaySound("KICK", 0)
		TNT1 A 0 A_Recoil (-6)
		TNT1 A 0 A_GunFlash("AirKikFlash")
		KICK JKLMN 1
		RIFF A 0 A_FireCustomMissile("AirKickAttack", 0, 0, 0, -31)
		KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady

	SuperAirKick:
		TNT1 A 0 A_PlaySound("KICK", 0)
		TNT1 A 0 A_Recoil (-6)
		TNT1 A 0 A_GunFlash("AirKikFlash")
		KICK JKLMN 1
		RIFF A 0 A_FireCustomMissile("SuperAirKickAttack", 0, 0, 0, -31)
		KICK O 3
		KICK A 0 A_Takeinventory("Kicking",1)
		KICK PQRST 2
		TNT1 A 0 A_JumpIfInventory("GoFatality", 1, "Steady")
		Goto RealReady
Taunt:
		TNT1 A 0 A_GunFlash("InsultFlash")
		TNT1 A 0 A_TakeInventory("Zoomed", 1)
		TNT1 A 0 A_ZoomFactor(1.0)
		TNT1 A 5
		FUCK A 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		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)
		FUCK B 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		TNT1 A 0 A_PlaySound("FUCK",4)
		FUCK C 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		TNT1 A 0 A_AlertMonsters
		FUCK D 15 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		TNT1 A 0 A_TakeInventory("Taunting",1)
		FUCK CBA 2 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH) 
		TNT1 A 5
		Goto RealReady
		
	Salute:
		TNT1 A 0 SetPlayerProperty(0,1,0)
		TNT1 A 0 A_ALertMonsters
		SALU ABCDEDCDEDCDEDCBA 4 A_JumpIfInventory("Kicking", 1, "DoKick")
		TNT1 A 0 A_TakeInventory("Salute1",1)
		TNT1 A 0 A_TakeInventory("Salute2",1)
		TNT1 A 0 SetPlayerProperty(0,0,0)
		Goto Ready
		
	CheckGrab:
	    TNT1 A 0 
		TNT1 A 0 A_JumpIfTargetInLOS("CheckDistanceGrab")
		Goto RealReady
	CheckDistanceGrab:
	    TNT1 A 0 
		TNT1 A 0 A_JumpIfCloser(100, "Grab")
		Goto RealReady
	CheckIfCanGrab:
	    TNT1 A 0 
		TNT1 A 0 A_JumpIfInTargetInventory("CanGrab", 1, "Grab")
		Goto RealReady	
	Grab:
	    PKUP ABC 2
		TNT1 A 0 A_CustomMissile("PickupProjectile")
		PKUP DEF 2
		Goto Ready
	TossGrenade:	
		TNT1 A 0
		TNT1 A 0 A_TakeInventory("TossGrenade", 1)
		TNT1 A 0 A_JumpIfInventory("GrenadeAmmo", 1, 1)
		Goto NoGrenade
		GRTH ABCD 1
		TNT1 A 0 A_GiveInventory("FiredGrenade", 1)
		TNT1 A 0 A_PLaySound ("GRNPIN",3)
		GRTH EEFG 1
		TNT1 A 2 A_SetPitch(-0.5 + pitch)
		TNT1 A 2 A_SetPitch(-0.5 + pitch)
		TNT1 A 2 A_SetPitch(-0.25 + pitch)
		TNT1 A 2 A_SetPitch(-0.25 + pitch)
		TNT1 A 0 A_WeaponReady(WRF_NoFire|WRF_NoSwitch)
		GRTH H 1 A_PLaySound ("GRNTOSS")
		 TNT1 A 0 A_FireCustomMissile("ShakeYourAss",0,0,0,0)
		TNT1 A 0 A_TakeInventory("GrenadeAmmo", 1)
		TNT1 A 0 A_FireCustomMissile("HandGrenade", random(-2,2), 0, 0, 0, 0, 0)
		GRTH I 1
		TNT1 A 0 A_SetPitch(+0.3 + pitch)
		GRTH J 1
		TNT1 A 0 A_SetPitch(+1 + pitch)
		GRTH K 1
		 TNT1 A 0 A_SetPitch(+1 + pitch)
		GRTH L 1
		 TNT1 A 0 A_SetPitch(+1 + pitch)
		GRTH M 1
		TNT1 A 0 A_SetPitch(-0.5 + pitch)
			TNT1 A 1 A_TakeInventory("TossGrenade",1)
			TNT1 A 0 A_SetPitch(-0.5 + pitch)
		TNT1 A 4 A_SetPitch(-0.5 + pitch)
		TNT1 A 1 
		TNT1 A 0 A_TakeInventory("TossGrenade", 1)
		Goto Ready	
	NoGrenade:
		TNT1 A 0
		TNT1 A 0 A_Print("No Grenades Left.")
		Goto RealReady
		
	PuristGun:
		TNT1 A 1
		TNT1 A 0 A_GiveInventory("VanillaBFG9000", 1)
		TNT1 A 0 A_TakeInventory("BIG_FUCKING_GUN", 1)
		TNT1 A 10
		Goto Ready		
		
	Spawn:
		DEBF A -1
		Stop
	}
}



Actor SuperBFGBall : BFGBall replaces BFGBall
{
    +EXTREMEDEATH
	+FORCERADIUSDMG
	Damage 110
	Speed 50
  Decal BFGLightning
	DeathSound ""
    //DamageType Desintegrate
	Scale 0.7
	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 0 A_PlaySound("BFBLOOP",6,1,1)
    TNT1 A 0 A_SpawnItemEx("BFGFOG", 0, 0)
	  TNT1 A 0 Radius_Quake(1,20,0,20,0) 
    BFS1 A 1 BRIGHT A_SpawnItem("GreenFlareMedium",0,0)
    BFS1 A 1 BRIGHT A_SpawnItemEx("BFGTrailParticle", Random(-13, 13), Random(-13, 13), Random(0, 18), Random(1, 3), 0, (0.1)*Random(-10, 10), Random(-20, 20), 128)
    TNT1 A 0 A_SpawnItemEx("BFGFOG", 0, 0)
    BFS1 B 1 BRIGHT A_SpawnItem("GreenFlareMedium",0,0)
    BFS1 B 1 BRIGHT A_SpawnItemEx("BFGTrailParticle", Random(-13, 13), Random(-13, 13), Random(0, 18), Random(1, 3), 0, (0.1)*Random(-10, 10), Random(-20, 20), 128)
    Loop
 
 Death:
    TNT1 A 0
	  TNT1 A 0 Radius_Quake(1,34,0,25,0) //(intensity, duration, damrad, tremrad, tid)
	  TNT1 A 0 A_PlaySound("BFGEXPLO",2)
	   TNT1 A 0 A_PlaySound("BFGAR",3)
	TNT1 A 0 Bright A_SpawnItem("GreenShockWave",0,0,0)
    BFE1 A 0 A_SpawnItemEx("BFGDeathParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
    BFE1 A 0 A_SpawnItemEx("BFGSuperParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	EXPL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("BFGBIGFOG", 0, 0, random (0, 360), 2, random (0, 360))
	EXPL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("BFGBIGFOG", 0, 0, random (0, 360), 2, random (0, 360))
	EXPL AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile ("BFGSuperParticle", 0, 0, random (0, 360), 2, random (0, 360))
    TNT1 A 0 A_SpawnItem("MegaGibRemoving")
	BFGB AABBCCDDEE 1 Bright A_SpawnItem("GreenFlare",0,0)
	TNT1 A 0 A_Explode(128,400,0)
    BFE1 F 1 Bright A_BFGSpray
	TNT1 A 0 A_SPawnItem("SuperBFGExtraGiant")
    BFE1 GGHHIIJJKK 1 Bright A_SpawnItem("GreenFlare",0,0)
    Stop
  }
}


Actor BFGTrailParticle
{
  Height 0
  Radius 0
  Mass 0
  Speed 3
  +Missile
  +NoBlockMap
  +NoGravity
  +DontSplash
  RenderStyle Add
  Scale 0.05
  States
  {
  Spawn:
    SPKG A 2 Bright A_FadeOut(0.02)
    Loop
  }
}



Actor BFGDeathParticle
{
  Height 0
  Radius 0
  Mass 0
  +Missile
  +NoBlockMap
  -NoGravity
  +LowGravity
  +DontSplash
  +DoomBounce
  BounceFactor 0.5
  RenderStyle Add
  Scale 0.04
  States
  {
  Spawn:
  Death:
    SPKG A 2 Bright A_FadeOut(0.02)
    Loop
  }
}

Actor SuperBFGExtra : BFGExtra Replaces BFGExtra
{
  +NoBlockMap
  +NoGravity
  RenderStyle Add
  +FORCERADIUSDMG
  +EXTREMEDEATH
  Alpha 0.75
  Damage 0
  Scale 0.6
  States
  {
  Spawn:
    BFE2 A 0
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
	BFGB ABCDEFGHIJK 2 Bright A_SpawnItem("GreenFlareMedium",0,0)
    stop
  }
}


Actor SuperBFGExtraGiant : SuperBFGExtra
{
  Scale 2.9
  States
  {
  Spawn:
    BFE2 A 0
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGExtraParticle", 0, 0, 14, (0.1)*Random(10, 40), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
	BFGB ABCDEFGHIJK 3 Bright A_SpawnItem("GreenFlareMedium",0,0)
	Stop
}}

Actor BFGExtraParticle
{
  Height 0
  Radius 0
  Mass 0
  +Missile
  +NoBlockMap
  +DontSplash
  +NoInteraction
  RenderStyle Add
  Scale 0.035
  States
  {
  Spawn:
  Death:
    SPKG A 2 Bright A_FadeOut(0.1)
    Loop
  }
}


ACTOR GreenShockWave 
{ 
   Speed 0
   Height 64 
   Radius 32
   Scale 2.25 
   RenderStyle add
   Alpha 0.9
   +DROPOFF 
   +NOBLOCKMAP 
   +NOGRAVITY 
   States 
   { 
   Spawn: 
      SHOK A 1 BRIGHT
      Goto Death 
   Death: 
      SHOK BCDEFFGGHHIIIJJJKKKLLMMNNOPQR 1 BRIGHT A_FadeOut(0.03)
      Stop 
   } 
} 

ACTOR BFGFOG
{
    Radius 1
    Height 1
	Alpha 0.7
	RenderStyle Add
	Scale 0.4
	Speed 8
	Gravity 0
    +NOBLOCKMAP
    +NOTELEPORT
    +DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
    +CLIENTSIDEONLY
    States
    {
    Spawn:
        BFOG ABCDEF 6 BRIGHT A_SpawnItem("GreenFlareMedium",0,0)
        Goto Death
	Death:
	    BFOG G 3 BRIGHT A_SpawnItem("GreenFlareMedium",0,0)
		Stop
    }
}

ACTOR BFGBIGFOG: BFGFOG
{
	Scale 0.8
}

ACTOR SmallGreenFog: BFGFOG
{
	Speed 3
	Scale 0.5
}

Actor BFGDeathParticleSpawner
{
  +NoClip
  +NoBlockMap
  +NoGravity
  +Missile
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AAAAA 0 A_SpawnItemEx("BFGDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 AAAAA 0 A_SpawnItemEx("BFGDeathParticle", 0, 0, 0, (0.1)*Random(20, 45), 0, (0.1)*Random(-40, 40), Random(0, 360), 128)
    TNT1 A 1
    Stop
  }
}

Actor BFGSuperParticleSpawner
{
  +NoClip
  +NoBlockMap
  +NoGravity
  +Missile
  +FORCEXYBILLBOARD
  States
  {
  Spawn:
    TNT1 A 0
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("BFGSuperParticle", 0, 0, 0, (0.1)*Random(10, 35), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    TNT1 AAAAAAAAAAA 0 A_SpawnItemEx("BFGSuperParticle", 0, 0, 0, (0.1)*Random(10, 35), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    TNT1 AAAAAAAAAAAAAAA 0 A_SpawnItemEx("BFGSuperParticle", 0, 0, 0, (0.1)*Random(10, 35), 0, (0.1)*Random(-20, 20), Random(0, 360), 128)
    TNT1 A 1
    Stop
  }
}


Actor BFGSuperParticle
{
  Height 0
  Radius 0
  Mass 0
  +Missile
  +NoBlockMap
  +NOGRAVITY
  +DontSplash
  +FORCEXYBILLBOARD
  RenderStyle Add
  Scale 0.04
  Speed 24
  States
  {
  Spawn:
  Death:
    SPKG A 2 Bright A_FadeOut(0.02)
    Loop
  }
}

ACTOR BFGSmallSphere: FastProjectile
{
	  damagetype Desintegrate
  Speed 300
  Radius 6
	Height 6
	Scale 1.2
	Projectile
	+RANDOMIZE
	+EXTREMEDEATH
	+BLOODSPLATTER
	+FORCEXYBILLBOARD
	-THRUGHOST
	Damage 50
	RenderStyle Add
	Alpha 1
		DeathSound "PEX"
	SeeSound "None"
	Decal "Scorch"
	States
	{
	Spawn:
	TNT1 A 0 A_PlaySound("PBLOOP",6,1,1)
	TNT1 A 0 Radius_Quake(1,10,0,10,0) //(intensity, duration, damrad, tremrad, tid)
	  TNT1 A 0 A_SpawnItem ("OldschoolRocketSmokeTrail2")
	  TNT1 A 0 A_SpawnItemEx("SmallGreenFlameTrails", 0, 0, 0, 0, 0, 0, 0, 128)
	  FRPG J 1 BRIGHT A_SpawnItem("GreenFlareSmall",0,0)
	  TNT1 A 0 A_SpawnItemEx("SmallGreenFlameTrails", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 A_SpawnItemEx("BFGAltTrail", Random(-13, 13), Random(-13, 13), Random(0, 18), Random(1, 3), 0, (0.1)*Random(-10, 10), Random(-20, 20), 128)
	  FRPG K 1 BRIGHT A_SpawnItem("GreenFlareSmall",0,0)
	  Loop
	Death:
	TNT1 A 0 A_StopSound(6)
	  TNT1 A 0 A_SpawnItemEx ("DetectFloorCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItemEx ("DetectCeilCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 AAA 0 A_SpawnItemEx("PlasmaParticleSpawner", 0, 0, 0, 6, 6, 6, 0, 128)
	  TNT1 A 0 A_SpawnItemEx ("BFGAltExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItem("BFGAltShockWave",0,0)
	  EXPG ABCDEFG 2 BRIGHT A_SpawnItem("GreenFlare",0,0)
	  TNT1 AAAAA 19 A_CustomMissile("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
	  Stop
	XDeath:
	TNT1 A 0 A_StopSound(6)
	  TNT1 A 0 A_SpawnItemEx ("DetectFloorCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItemEx ("DetectCeilCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 AAA 0 A_SpawnItemEx("PlasmaParticleSpawner", 0, 0, 0, 0, 0, 0, 0, 128)
	  TNT1 A 0 A_SpawnItemEx ("BFGAltExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItem("BFGAltShockWave",0,0)
	  EXPG ABCDEFG 2 A_SpawnItem("GreenFlare",0,0)
	  Stop
	Crash:
	TNT1 A 0 A_StopSound(6)
	  TNT1 A 0 A_SpawnItemEx ("DetectFloorCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItemEx ("DetectCeilCraterSmall",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 AAA 0 A_SpawnItemEx("PlasmaParticleSpawner", 0, 0, 0, 6, 6, 6, 0, 128)
	  TNT1 A 0 A_SpawnItemEx ("BFGAltExplosion",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	  TNT1 A 0 A_SpawnItem("BFGAltShockWave",0,0)
	  EXPG ABCDEFG 2 BRIGHT A_SpawnItem("GreenFlare",0,0)
	  TNT1 AAAAA 19 A_CustomMissile ("PlasmaSmoke", 1, 0, random (0, 360), 2, random (0, 160))
	  Stop
	}
}

ACTOR BFGAltShockWave: GreenShockWave
{
   Height 1
   Radius 1
   +FORCEXYBILLBOARD
   Scale 1.0
   States
   {
   Spawn:
	 SHOK A 1 BRIGHT
	 Goto Death 
   Death:
	 SHOK CEGIKMOQS 1 BRIGHT A_FadeOut(0.11)
	 Stop
   }
}

ACTOR BFGAltTrail: BFGTrailParticle
{
  Height 0
  Radius 0
  Mass 0
  Speed 3
  +MISSILE
  +NOBLOCKMAP
  +NOGRAVITY
  +DONTSPLASH
  RenderStyle Add
  Scale 0.025
  States
  {
  Spawn:
	SPKG A 1 BRIGHT A_FadeOut(0.04)
	Loop
  }
}

ACTOR BFGAltExplosion
{
	+NOBLOCKMAP
	+MISSILE
	Damagetype ExplosiveImpact
	States
	{
	Spawn:
		TNT1 A 1
		TNT1 A 0 A_Explode(10,100)
		Stop
	}
}

ACTOR GreenExplosionFire
{
	Game Doom
	Radius 1
	Height 1
	Speed 3
	Damage 0 
	+NOBLOCKMAP
	+NOTELEPORT
	+DONTSPLASH
	+MISSILE
	+FORCEXYBILLBOARD
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOCLIP
	RenderStyle Add
	DamageType Flames
	SeeSound "9KEXPL"
	Scale 2.0
	Alpha 1
	Gravity 0
	States
	{
	Spawn:
	  TNT1 A 0
	  EXPG ABCDEFG 3 BRIGHT
	  Stop
	}
}

//Credits to DoomGuy5th for this awesome ability.




Actor EffectBase
{
	RenderStyle Add
	+NOINTERACTION
	+CLIENTSIDEONLY
	+FORCEXYBILLBOARD
	+NOBLOCKMAP
	+DONTSPLASH
	+THRUACTORS
	+NOTRIGGER
	+NOBLOCKMONST
//	+NOTONAUTOMAP
	+CANNOTPUSH
	Radius 0.5
	Height 1
	Gravity 0.66
	Species "VFX"
}


Actor RandomExplosionSprite : EffectBase
{
	States
	{
	Spawn:
		TNT1 A 0
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_SetScale(-ScaleX,ScaleY)
		TNT1 A 0 A_Jump(128,2)
		TNT1 A 0 A_SetScale(ScaleX,-ScaleY)
		TNT1 A 0 A_Jump(256,"Spawn1","Spawn2","Spawn3","Spawn4","Spawn5")
	Spawn1:
		X003 ACEGHJKMNPQSTUWYZ 1 Bright
		Stop
	Spawn2:
		X004 ABCDEFGHIJKLMNOPQ 1 Bright
		Stop
	Spawn3:
		X005 ACDFGHJKMOPQSUVWX 1 Bright
		Stop
	Spawn4:
		X006 ABCDEFGHIJKLMNOP 1 Bright
		Stop
	Spawn5:
		X015 ACDFGHIKLNOPRSUWX 1 Bright
		Stop
	}
}

Actor HeatBlastSprite : RandomExplosionSprite
{
Scale 1.33

}

Actor HeatBlastExplosion
{
	+PUFFONACTORS +ALWAYSPUFF +NOINTERACTION +PUFFGETSOWNER +FORCERADIUSDMG
	DamageType Explosive
	Obituary "%o was sent to overheat by %k's plasma rifle."
	Decal BigScorch
	Damage 0
	States
	{
	Spawn:
		TNT1 A 0
		//TNT1 A 0 A_SpawnItemEx ("DetectFloorCrater2",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
	    //TNT1 A 0 A_SpawnItemEx ("DetectCeilCrater",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		//TNT1 A 0 A_SpawnItemEx ("LiquidExplosionEffectSpawner",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0)
		TNT1 A 0 A_SpawnItem(HeatBlastBack)
		TNT1 AAAA 0 A_SpawnItem(HeatBlastExplosionShockWave)
		TNT1 A 0 A_Explode(230,245,0,0)
		TNT1 AAAAAAAA 0 A_SpawnItemEx(HeatBlastSprite,0,0,0,FRandom(0,8),0,FRandom(-8,8),Random(1,360))
		TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_CustomMissile(HeatBlastExplosionSpark,5,0,Random(1,360),2,Random(-45,90))
		TNT1 A 0 A_CustomMissile("ShakeYourAssQuad")//Radius_Quake (5, 10, 0, 10, 0)
		Stop
		
	}
}



Actor HeatBlastParticle : EffectBase
{
	Scale 0.4
	States
	{
	Spawn:
		TNT1 A 0 A_FadeOut(0.1)
		MUZZ Q 1 Bright A_SetScale(ScaleX*0.95)
		Loop
	}
}


Actor HeatBlastBack : HeatBlastParticle
{
	Scale 10
	States
	{
	Spawn:
		MUZZ Q 1 Bright A_JumpIf(ScaleX<=0,"Null")
		TNT1 A 0 A_SetScale(ScaleX-1)
		Loop
	}
}
Actor HeatBlastExplosionShockWave : HeatBlastParticle
{
	Scale 0.25
	States
	{
	Spawn:
		BSW1 A 1 Bright A_FadeOut(0.15)
		TNT1 A 0 A_SetScale(ScaleX*1.3)
		Loop
	}
}
Actor HeatBlastExplosionSpark : HeatBlastParticle
{
	+DONTSPLASH +MISSILE -NOINTERACTION +THRUACTORS
	Radius 1
	Height 1
	Scale 0.66
	Gravity 0.66
	Speed 16
	States
	{
	Spawn:
		TNT1 AA 0 A_ScaleVelocity(FRandom(0.75,1.1))
		TNT1 A 0 A_SetScale(ScaleX*FRandom(0.75,1.2))
		NULL A 5 Bright
	Fade:
		NULL A 1 Bright A_JumpIf(ScaleX<=0,"Null")
		TNT1 A 0 A_SetScale(ScaleX-0.05)
		Loop
	}
}

