

//==============================================================================
//============================ Corvus' Dragon Claw =============================
//==============================================================================


ACTOR BrutalDragonClaw : HereticWeapon
{
	-BLOODSPLATTER
	+AMMO_OPTIONAL
	+ALT_AMMO_OPTIONAL
	Weapon.SelectionOrder 2
	Inventory.RestrictedTo "BrutalCorvus"
	Inventory.ForbiddenTo "Corvette"
	Weapon.AmmoUse1 1
	Weapon.AmmoUse2 1
	Weapon.AmmoGive1 0
	Weapon.YAdjust 15
	Weapon.Kickback 1
	Weapon.AmmoType1 "BrutalBlasterCharge"
	Weapon.AmmoType2 "BrutalBlasterCharge"
	Weapon.SisterWeapon "None"
	ConversationID 188
	Inventory.PickupMessage "Picked up the Dragon Claw, time to RIP AND TEAR (but with magic!)"
	Tag "$TAG_BLASTER"
	Obituary "$OB_MPBLASTER"
	Weapon.SlotNumber 4
	Speed 4
  
	States
	{
		Spawn:
			TNT1 A 0 A_SpawnItemEx("BlueFlareSmall",0,0,22)
			WBLS AA 1 Bright A_SetAngle(angle+speed)
			Goto Spawn
		Ready:
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_Light(0)
			TNT1 A 0 A_SetCrosshair (10)
			BLSR A 1
			{
				If (CountInv("Action1") == 1)
				{
					return state("Kicking");
				}				
				Else
				{
					A_WeaponReady (WRF_ALLOWZOOM|WRF_ALLOWRELOAD);
					
					If (CallACS("MagicReload")== 1)
					{
						If (A_JumpIfInventory("BrutalBlasterCharge",0,1))
						{
							return state("");
						}
						If (CountInv("BrutalBlasterAmmo") == 0)
						{
							return state("");
						}
						Else
						{
							return state("Reload");
						}
					}
					If (CallACS("MagicReload")== 2)
					{
						If (A_JumpIfInventory("BrutalBlasterCharge",0,1))
						{
							return state("");
						}
						If (CountInv("BrutalBlasterAmmo") == 0)
						{
							return state("");
						}
						Else
						{
							If (CountInv("ClawAmmoToken") >= (4 - (CountInv("Level") / 5)))
							{
								A_GiveInventory("BrutalBlasterCharge",1);
								A_Takeinventory("BrutalBlasterAmmo",1);
								A_TakeInventory("ClawAmmoToken",10);								
							}
							Else
							{
								A_GiveInventory("ClawAmmoToken");
							}
						}
						return state("");
					}
					Else
					{
						return state("");
					}
				}
			}
			Loop
		Deselect:
			TNT1 A 0 A_StopSound(50)
			BLSR A 0 A_Lower
			TNT1 A 0 A_StopSound(4)
			BLSR A 1 A_Lower
			Loop
		Select:
			BLSR A 0 A_Raise
			BLSR A 1 A_Raise
			Loop
		Fire:
			TNT1 A 0 A_StopSound(50)
			BLSR A 0 A_JumpIfNoAmmo("Reload")
			BLSR FG 1 Bright 
		Hold:
			BLSR A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredHold")
			//TNT1 A 0 A_PlayWeaponSound("BLSTNEW")
			TNT1 A 0
			{
				A_StartSound("BLSTNEW",1,CHANF_NOPAUSE);
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyBlasterTracer",0,TRUE,0,4,0,frandom(0,1));
				}
				Else
				{
					A_FireProjectile("BlasterTracer",0,TRUE,0,4,0,frandom(0,1));
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			BLSR H 1 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR H 1 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR I 2 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			BLSR A 0 A_ReFire("Hold2")
			Goto Ready
		Hold2:
			BLSR A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredHold")
			//TNT1 A 0 A_PlayWeaponSound("BLSTNEW")
			TNT1 A 0
			{
				A_StartSound("BLSTNEW",1,CHANF_NOPAUSE);
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyBlasterTracer",frandom(-1, 0),TRUE,4,0,0,0);
				}
				Else
				{
					A_FireProjectile("BlasterTracer",frandom(-1, 0),TRUE,4,0,0,0);
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			BLSR J 1 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR J 1 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR K 2 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0
			BLSR A 0 A_ReFire("Hold3")
			Goto Ready
		Hold3:
			BLSR A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredHold")
			//TNT1 A 0 A_PlayWeaponSound("BLSTNEW")
			TNT1 A 0
			{
				A_StartSound("BLSTNEW",1,CHANF_NOPAUSE);
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyBlasterTracer",0,TRUE,0,-4,0,frandom(-1,0));
				}
				Else
				{
					A_FireProjectile("BlasterTracer",0,TRUE,0,-4,0,frandom(-1,0));
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			BLSR L 1 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR M 1 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR M 2 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0
			BLSR A 0 A_ReFire("Hold4")
			Goto Ready
		Hold4:
			BLSR A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredHold")
			//TNT1 A 0 A_PlayWeaponSound("BLSTNEW")
			TNT1 A 0
			{
				A_StartSound("BLSTNEW",1,CHANF_NOPAUSE);
				A_FireBullets(0,0,1,0,"FakeSwitchPuff",FBF_NOFLASH);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyBlasterTracer",frandom(0, 1),TRUE,-4,0,0,0);
				}
				Else
				{
					A_FireProjectile("BlasterTracer",frandom(0, 1),TRUE,-4,0,0,0);
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			BLSR N 1 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR G 1 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR G 2 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0
			BLSR A 0 A_ReFire("Hold2")
			Goto Ready			
		AltFire:
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredAltFireCheck")
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttack")
			TNT1 A 0 A_JumpIfInventory("Level",5,"SuperAttack")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,5)
			Goto Ready
		SuperAttack:
			BLSR A 0 A_JumpIfInventory("BrutalBlasterCharge",4,1)
			Goto Reload
			BLSR BC 1 Bright 
		AltHold:
			BLSR A 0 A_JumpIfInventory("BrutalBlasterCharge",4,1)
			Goto Reload
			//TNT1 A 0 A_PlayWeaponSound("BLSTNEW2")
			TNT1 A 0 
			{
				A_StartSound("BLSTNEW2",1,CHANF_NOPAUSE);
				
				If (GetCVAR("NoScalingPlz") == 1)
				{
					A_FireProjectile("WimpyAltBlasterTracer",0,TRUE,0,1);
					A_FireProjectile("WimpyAltBlasterTracer2",0,TRUE,0,1);
					A_FireProjectile("WimpyAltBlasterTracer3",0,TRUE,0,1);
					A_FireProjectile("WimpyAltBlasterTracer4",0,TRUE,0,1);
				}
				Else
				{
					A_FireProjectile("AltBlasterTracer",0,TRUE,0,1);
					A_FireProjectile("AltBlasterTracer2",0,TRUE,0,1);
					A_FireProjectile("AltBlasterTracer3",0,TRUE,0,1);
					A_FireProjectile("AltBlasterTracer4",0,TRUE,0,1);
				}
			}
			TNT1 A 0 A_Recoil(1 * GetCVAR("SteadyHand"))
			BLSR D 2 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR C 1 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR B 2 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			BLSR A 0 A_ReFire
			Goto Ready
		PoweredHold:
			BLSR A 0 A_JumpIfInventory("BrutalBlasterCharge",5,1)
			Goto Reload
			TNT1 A 0
			{
				A_StartSound("BLSTNEW",1,CHANF_NOPAUSE);
				
				A_FireProjectile("PoweredBlasterTracer",frandom(-2, 2),TRUE,0,0,0,frandom(-2,0));
				
				A_Recoil(1 * GetCVAR("SteadyHand"));
				
				If (CountInv("TokenOfCost") == 1)
				{
					A_TakeInventory("BrutalBlasterCharge",4);
				}
				If (CountInv("TokenOfCost") == 0)
				{
					A_TakeInventory("BrutalBlasterCharge",2);
				}
			}
			BLSR D 3
			BLSR E 3 Bright Offset(0,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR C 3 Bright Offset(0,41) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Recoil(-1 * GetCVAR("SteadyHand"))
			BLSR B 3 Bright Offset(0,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			BLSR A 0 A_ReFire
			Goto Ready
		PoweredAltFireCheck:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "PoweredAltFire")
			TNT1 A 0 A_JumpIfInventory("Level",13,"PoweredAltFire")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,13)
			Goto Ready
		PoweredAltFire:
			TNT1 A 0
			{
				If (CountInv("TokenOfCost") == 1)
				{
					return state("ExpensiveShot");
				}
				Else
				{
					return state("CheapShot");
				}
			}
		Expensiveshot:
			TNT1 A 0 A_JumpIfInventory("BrutalBlasterCharge",40,1)
			Goto Reload
			TNT1 A 0 A_StartSound("ETHPORT1",1,CHANF_NOPAUSE)
			TNT1 A 0 A_QuakeEX(2,2,1,50,0,128)
			TNT1 A 0 A_Light(-1)
			BLSR A 3 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-3)
			BLSR A 3  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-5)
			BLSR A 2 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-7)
			BLSR A 2  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-9)
			BLSR A 2 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-11)
			BLSR A 2  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-13)
			BLSR A 1 Bright Offset(3,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-15)
			BLSR A 1  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-18)
			BLSR A 1 Bright Offset(3,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",14)
			Goto PoweredAltHold
		Cheapshot:
			TNT1 A 0 A_JumpIfInventory("BrutalBlasterCharge",20,1)
			Goto Reload
			//TNT1 A 0 A_PlaySound("ETHPORT1",7,1,TRUE)
			TNT1 A 0 A_StartSound("ETHPORT1",1,CHANF_NOPAUSE|CHANF_LOOPING)
			TNT1 A 0 A_QuakeEX(2,2,1,50,0,128)
			TNT1 A 0 A_Light(-1)
			BLSR A 3 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			BLSR A 3 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-3)
			BLSR A 3  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR A 3 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 3  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Light(-5)
			BLSR A 2 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			BLSR A 2 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-7)
			BLSR A 2  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			BLSR A 2 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_Light(-9)
			BLSR A 2 Bright Offset(2,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-11)
			BLSR A 2  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 2  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-13)
			BLSR A 1 Bright Offset(3,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-15)
			BLSR A 1  Offset(3,37) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(0,36) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1  Offset(-3,37) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(3,36) A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			TNT1 A 0 A_Light(-18)
			BLSR A 1  Offset(0,37) A_SetPitch(pitch-(0.25 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_TakeInventory("BrutalBlasterCharge",1)
			BLSR A 1 Bright Offset(-2,36) A_SetPitch(pitch+(0.6 * GetCVAR("SteadyHand")))
			Goto PoweredAltHold
		PoweredAltHold:
			TNT1 A 0 A_StartSound("LITCRASH",1,CHANF_NOPAUSE,1.0,ATTN_NONE)
			TNT1 A 0 A_Light(15)
			TNT1 A 0 A_JumpIf(GetCVAR("NoScalingPlz"),"WimpyPoweredAltHold")
			BLSR DCBDCBDCBD 2 Bright
			{
				A_WeaponOffset(0,OverlayY + random(1,3));
				A_FireCustomMissile("PowerAltBlasterTracer",0,FALSE,2,0);
				A_FireCustomMissile("PowerAltBlasterTracer2",0,FALSE,-2,0);
				A_FireCustomMissile("PowerAltBlasterTracer3",0,FALSE,-2,0);
				A_FireCustomMissile("PowerAltBlasterTracer4",0,FALSE,2,0);
				A_StartSound("LITCRAS2",1,CHANF_NOPAUSE | CHANF_OVERLAP,1.0,ATTN_NONE);
				A_Recoil(1);
			}
			TNT1 A 0 A_StartSound("LITCRASH",1,CHANF_NOPAUSE,1.0,ATTN_NONE)
			TNT1 A 0 A_Recoil(30)
			TNT1 A 0 A_Light(0)
			Goto Ready
		WimpyPoweredAltHold:
			BLSR DCBDCBDCBD 1 Bright
			{
				A_WeaponOffset(0,OverlayY + random(1,3));
				A_FireCustomMissile("WimpyPowerAltBlasterTracer",0,FALSE,2,0);
				A_FireCustomMissile("WimpyPowerAltBlasterTracer2",0,FALSE,-2,0);
				A_FireCustomMissile("WimpyPowerAltBlasterTracer3",0,FALSE,-2,0);
				A_FireCustomMissile("WimpyPowerAltBlasterTracer4",0,FALSE,2,0);
				A_StartSound("LITCRAS2",1,CHANF_NOPAUSE | CHANF_OVERLAP,1.0,ATTN_NONE);
				A_Recoil(1);
			}
			TNT1 A 0 A_Recoil(30)
			TNT1 A 0 A_Light(0)
			BLSR A 1 Offset(0,56)
			BLSR A 1 Offset(0,61)
			BLSR A 1 Offset(0,71)
			BLSR A 15 Offset(0,86)
			BLSR A 2 Offset(0,71)
			BLSR A 2 Offset(0,56)
			BLSR A 2 Offset(0,41)
			BLSR A 2 Offset(0,36)
			Goto Ready
		Reload:
			TNT1 A 0 A_JumpIfInventory("BrutalBlasterCharge", 0, "Ready")
			TNT1 A 0 A_JumpIfInventory("BrutalBlasterAmmo",1,"ReadyChecked")
			TNT1 A 0 A_JumpIfInventory("BrutalBlasterCharge", 1, "Ready")
			TNT1 A 0 A_SelectWeapon("BrutalMeleeStaff")
			Goto Ready
		ReadyChecked:
			BLS2 ABCDEF 1 A_Weaponready(WRF_NOBOB|WRF_ALLOWZOOM)
			TNT1 A 0 A_StartSound("DCRELOAD",50,CHANF_LOOPING)
		ReloadLoop:			
			BLS2 GH 1 Bright
			{
				A_WeaponReady (WRF_ALLOWZOOM);
				
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("BlasterParticle2",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				
				If (CountInv("Action1") == 1)
				{
					return state("KickOverlay");
				}				
				If (A_JumpIfInventory("BrutalBlasterCharge",0,"Ready"))
				{
					return state("ReloadFinish");
				}
				If (CountInv("BrutalBlasterAmmo") == 0)
				{
					return state("ReloadFinish");
				}
				Else
				{					
					If (CountInv("Level") >=20)
					{
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
					}
					Else If (CountInv("Level") >=15)
					{
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
					}
					
					Else If (CountInv("Level") >= 10)
					{
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
					}
					Else If (CountInv("Level") >= 5)
					{
						A_Giveinventory("ClawAmmoToken",1);
						A_Giveinventory("ClawAmmoToken",1);
					}
					Else
					{
						A_Giveinventory("ClawAmmoToken",1);
					}
						Do
						{
							A_GiveInventory("BrutalBlasterCharge",1);
							A_Takeinventory("BrutalBlasterAmmo",1);
							A_Takeinventory("ClawAmmoToken",1);
						}
						
						While (!A_JumpIfInventory("BrutalBlasterAmmo",0,"Ready") && (!A_JumpIfInventory("BrutalBlasterCharge",0,"Ready")) && (CountInv("ClawAmmoToken") > 0));
					
					return state("");
					
				}
			}
			Loop
		ReloadFinish:
			TNT1 A 0 A_StopSound(50)
			BLS2 EFDCBA 1
			Goto Ready
		Kicking:
			BLSR A 1 Offset(0,42)
			BLSR A 1 Offset(0,52)
			BLSR A 1 Offset(0,62)
			BLSR A 1 Offset(0,72)
			BLSR A 1 Offset(0,82)
			TNT1 A 0 A_StartSound("WHOP",4,CHANF_NOPAUSE)
			CKCK ABCD 1 Offset(0,32)
			//TNT1 A 0 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,0,"BrutalKickPuff", 104)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 3
			TNT1 A 0 A_Recoil(3)
			CKCK DCB 1
			CKCK AA 1 A_WeaponReady(WRF_NOSECONDARY)
			TNT1 AAA 1 A_WeaponReady(WRF_NOSECONDARY)
			BLSR A 1 Offset(0,82)
			BLSR A 1 Offset(0,72)
			BLSR A 1 Offset(0,62)
			BLSR A 1 Offset(0,52)
			BLSR A 1 Offset(0,42)
			BLSR A 0 Offset(0,32)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		KickOverlay:
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_Overlay(6,"KickingOnly",True)
			BLS2 F 1 Offset(-10,40)
			BLS2 E 1 Offset(-20,45)
			BLS2 D 1 Offset(-30,50)
			BLS2 C 1 Offset(-40,55)
			BLS2 B 1 Offset(-50,60)
			BLS2 B 1 Offset(-60,65)
			BLS2 A 1 Offset(-70,70)
			BLSR A 1 Offset(-80,75)
			BLSR A 1 Offset(-90,80)
			BLSR A 2 Offset(-100,85)
			BLSR A 1 Offset(-90,80)
			BLSR A 1 Offset(-80,75)
			BLSR A 1 Offset(-70,70)
			BLSR A 1 Offset(-60,65)
			BLSR A 1 Offset(-50,60)
			BLSR A 1 Offset(-40,55)
			BLSR A 1 Offset(-30,50)
			BLSR A 1 Offset(-20,45)
			BLSR A 1 Offset(-10,40)
			BLSR A 1 Offset(0,0)
			TNT1 A 0 A_ClearOverlays(6,6)
			goto Reload
		KickingOnly:
			TNT1 A 0 A_StartSound("WHOP",4,CHANF_NOPAUSE)
			CKCK ABCD 2 Offset(70,-40)
			//TNT1 A 0 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,0,"BrutalKickPuff", 104)
			TNT1 A 0 A_FireCustomMissile("BootOfFury",0,0,0,0)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 4
			TNT1 A 0 A_Recoil(3)
			CKCK DCB 2
			CKCK A 2 A_WeaponReady(WRF_NOSECONDARY|WRF_NOPRIMARY|WRF_NOSWITCH)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 Offset(0,0)
			TNT1 A 0 A_ClearOverlays(6,6)
	}
}