

//==============================================================================
//============================ Corvus' Sidhe Wrath =============================
//==============================================================================


Actor SidheWrath : Weapon
{
	+AMMO_OPTIONAL
	+ALT_AMMO_OPTIONAL
	Weapon.SelectionOrder 7
	Inventory.RestrictedTo "BrutalCorvus"
	Inventory.ForbiddenTo "Corvette"
	Inventory.PickupMessage "Your fallen allies call out to you"
	Inventory.PickupSound "Misc/W_PkUp"
	Weapon.YAdjust 15
	Weapon.AmmoType1 "SidheWrathCharge"
	Weapon.AmmoType2 "SidheWrathCharge"
	Weapon.AmmoGive 0
	Weapon.AmmoUse1 20
	Weapon.AmmoUse2 30
	Weapon.KickBack 0
	ConversationID 196
	Weapon.SisterWeapon "None"
	Weapon.Slotnumber 8
	AttackSound "SLSPHIT"
	
	States
	{
		Spawn:
			SLSP A -1
			Loop
		Ready:
			TNT1 A 0 A_SetCrosshair (14)
			TNT1 A 0 A_Light(0)
			TNT1 A 0 A_StopSound(50)
			SLSP BBBBCCCCDDDDEEEE 1
			{
				If (CountInv("Action1") == 1)
				{
					return state("Kicking");
				}				
				Else
				{
					A_WeaponReady (WRF_ALLOWZOOM|WRF_ALLOWRELOAD);
					
					If (CallACS("MagicReload")== 1)
					{
						If (A_JumpIfInventory("SidheWrathCharge",0,1))
						{
							return state("");
						}
						If (CountInv("BrutalPhoenixRodAmmo") == 0)
						{
							return state("");
						}
						Else
						{
							return state("Reload");
						}
					}
					If (CallACS("MagicReload")== 2)
					{
						If (A_JumpIfInventory("SidheWrathCharge",0,1))
						{
							return state("");
						}
						If (CountInv("BrutalPhoenixRodAmmo") == 0)
						{
							return state("");
						}
						Else
						{
							If (CountInv("PHNXAmmoToken") > (20 - (CountInv("Level"))))
							{
								A_GiveInventory("SidheWrathCharge",1);
								A_Takeinventory("BrutalPhoenixRodAmmo",1);
								A_TakeInventory("PHNXAmmoToken",20);								
							}
							Else
							{
								A_GiveInventory("PHNXAmmoToken");
							}
						}
						return state("");
					}
					Else
					{
						return state("");
					}
				}
			}
			Loop
		PoweredReady:
			TNT1 A 0 A_Light(-8)
			SLSP BBBCCCDDDEEE 1
			{
				A_WeaponReady (WRF_ALLOWRELOAD);
				
				If (CountInv("Action1") == 1)
				{
					return state("Kicking");
				}
				Else
				{
					return state("");
				}
			}
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			TNT1 A 0 A_Light(0)
			Goto Ready
		Deselect:
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_light(0)
			SLSP B 1 A_Lower
			Loop
		Select:
			SLSP B 1 A_Raise
			Loop
		Fire:
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredFire")
			TNT1 A 0 A_JumpIfNoAmmo("Reload")
			//TNT1 A 0 A_PlayWeaponSound("SLSPLOOP")
			TNT1 A 0 A_StartSound("SLSPLOOP",1,CHANF_NOPAUSE | CHANF_LOOPING)
			SLSP F 9 A_WeaponOffset(0,39)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP G 9 Bright A_WeaponOffset(0,41)
			TNT1 A 0 A_light(-2)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP F 7 A_QuakeEx (1,1,1,7,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponOffset(0,43)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP G 7 Bright A_QuakeEx (1,1,1,7,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponOffset(0,46)
			TNT1 A 0 A_light(-6)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP F 5 A_QuakeEx (2,2,2,5,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP G 5 Bright A_QuakeEx (1,1,1,7,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponOffset(0,39)
			TNT1 A 0 A_light(-8)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP F 3 A_QuakeEx (3,3,3,3,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP G 3 Bright A_QuakeEx (3,3,3,3,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponOffset(0,36)
			TNT1 A 0 A_light(-10)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP F 1 A_QuakeEx (4,4,4,1,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE|WRF_NOBOB)
			SLSP G 1 Bright A_QuakeEx (4,4,4,3,0,64,"world/quake",QF_SCALEDOWN,0,0,0,64)
			TNT1 A 0 A_light(-12)
			//SLSP F 0 A_PlayWeaponSound("SCREAM2")
			TNT1 A 0 A_StartSound("SCREAM2",1,CHANF_NOPAUSE)
			TNT1 A 0 A_JumpIf(GetCVAR("NoScalingPlz"),3)
			TNT1 A 0 A_FireCustomMissile("SpiritBomb",0,True)
			TNT1 A 0 A_Jump(256,2)
			TNT1 A 0 A_FireCustomMissile("WimpySpiritBomb",0,True)
			TNT1 A 0 A_light(0)
			TNT1 A 0 A_Recoil(3 * GetCVAR("SteadyHand"))
			TNT1 A 0 A_WeaponOffset(0,32)
			SLSP HIHIHIHIHIHI 2 Bright
			SLSP JK 2
			Goto Ready
		PoweredFire:
			SLSP MLKJIH 2
		PoweredFireLoop:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,1)
			Goto Ready
			TNT1 A 0 A_JumpIfInventory("SidheWrathCharge",5,1)
			Goto Reload
			TNT1 A 0 A_StartSound("ETHPORT1",50,CHANF_NOPAUSE|CHANF_LOOPING)
			SLSP F 2 Bright
			SLSP G 1 Bright
			{
				A_TakeInventory("SidheWrathCharge",1);
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP GG 1 Bright
			{
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP F 1 Bright
			{
				A_TakeInventory("SidheWrathCharge",1);
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP FF 1 Bright
			{
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP G 1 Bright
			{
				A_TakeInventory("SidheWrathCharge",1);
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP GG 1 Bright
			{
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP F 1 Bright
			{
				A_TakeInventory("SidheWrathCharge",1);
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP FF 1 Bright
			{
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP G 1 Bright
			{
				A_TakeInventory("SidheWrathCharge",1);
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("SidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			SLSP GG 1 Bright
			{
				
				If (GetCVAR("NoScalingPlz"))
				{
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("WimpySidheWrathMissile",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
				Else
				{
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
					A_FireCustomMissile("PoweredSpooker",frandom(10,-10),False,0,0,0,frandom(10,-10));
				}
			}
			TNT1 A 0 A_Refire("PoweredFireLoop")
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_light(0)
			SLSP HIJKLM 2 Bright
			Goto Ready
		AltFire:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredAltFireCheck")
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttack")
			TNT1 A 0 A_JumpIfInventory("Level",9,"SuperAttack")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,9)
			goto ready	
		SuperAttack:
			TNT1 A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_StopSound(50)
			//TNT1 A 0 A_PlayWeaponSound("SLSPLOOP")
			TNT1 A 0 A_StartSound("SLSPLOOP",50,CHANF_NOPAUSE)
			SLSP F 9 
			SLSP G 9 Bright 
			TNT1 A 0 A_light(-2)
			SLSP F 7 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 7 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-6)
			SLSP F 5 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 5 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-8)
			SLSP F 3 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 3 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-10)
			SLSP F 1 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 1 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-12)
			//SLSP F 0 A_PlayWeaponSound("SCREAM2")
			TNT1 A 0 A_StartSound("SCREAM2",50,CHANF_NOPAUSE)
			TNT1 A 0 A_FireCustomMissile("GhostspawnerPortal",1)
			TNT1 A 0 A_light(0)
			TNT1 A 0 A_Recoil(3 * GetCVAR("SteadyHand"))
			SLSP HIHIHIHIHIHI 2 Bright
			SLSP JK 2
			Goto Ready
		PoweredAltFireCheck:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "PoweredAltFire")
			TNT1 A 0 A_JumpIfInventory("Level",17,"PoweredAltFire")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,17)
			Goto Ready
		PoweredAltFire:
			TNT1 A 0 A_JumpIfNoAmmo("Reload")
			TNT1 A 0 A_StopSound(50)
			//TNT1 A 0 A_PlayWeaponSound("SLSPLOOP")
			TNT1 A 0 A_StartSound("SLSPLOOP",50,CHANF_NOPAUSE)
			SLSP F 9 
			SLSP G 9 Bright 
			TNT1 A 0 A_light(-2)
			SLSP F 7 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 7 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-6)
			SLSP F 5 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 5 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-8)
			SLSP F 3 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 3 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-10)
			SLSP F 1 A_SetPitch(pitch+(0.5 * GetCVAR("SteadyHand")))
			SLSP G 1 Bright A_SetPitch(pitch-(0.5 * GetCVAR("SteadyHand")))
			TNT1 A 0 A_light(-12)
			//SLSP F 0 A_PlayWeaponSound("SCREAM2")
			TNT1 A 0 A_StartSound("SCREAM2",50,CHANF_NOPAUSE)
			TNT1 A 0 A_FireCustomMissile("MooBoyPortal",1)
			TNT1 A 0 A_light(0)
			TNT1 A 0 A_Recoil(3 * GetCVAR("SteadyHand"))
			SLSP HIHIHIHIHIHI 2 Bright
			SLSP JK 2
			Goto Ready
			
		Reload:
			TNT1 A 0 A_JumpIfInventory("SidheWrathCharge", 0, "Ready")
			TNT1 A 0 A_JumpIfInventory("BrutalPhoenixRodAmmo",1,"ReadyChecked")
			TNT1 A 0 A_JumpIfInventory("SidheWrathCharge", 1, "Ready")
			TNT1 A 0 A_SelectWeapon("BrutalMeleeStaff")
			Goto Ready
		ReadyChecked:
			TNT1 A 0 A_StartSound("SWREGO",50,CHANF_NOPAUSE)
			SLSR ABCDEFGHIJK 1 A_Weaponready
			TNT1 A 0 A_StartSound("SWRECH",50,CHANF_NOPAUSE|CHANF_LOOPING)
		ReloadLoop:
			SLSR LL 1 Bright
			{
				A_WeaponReady (WRF_ALLOWZOOM);
				
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",frandom(5,-5),frandom(20,-20),frandom(3,-3),frandom(3,-3),frandom(3,-3),6,0,SXF_NOCHECKPOSITION);
				A_SpawnItemEx("RocketTrailParticleC",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("SidheWrathCharge",0,"Ready"))
				{
					return state("ReloadFinish");
				}
				If (CountInv("BrutalPhoenixRodAmmo") == 0)
				{
					return state("ReloadFinish");
				}
				Else
				{
					If (CountInv("PHNXAmmoToken") > (5 - ((CountInv("Level")/5))))
					{
						A_GiveInventory("SidheWrathCharge",1);
						A_Takeinventory("BrutalPhoenixRodAmmo",1);
						A_TakeInventory("PHNXAmmoToken",20);
						
						If (CountInv("Level") > 20)
						{
							If (A_JumpIfInventory("SidheWrathCharge",0,"Ready"))
							{
								return state("ReloadFinish");
							}
							If (CountInv("BrutalPhoenixRodAmmo") == 0)
							{
								return state("ReloadFinish");
							}
							Else
							{
								A_GiveInventory("SidheWrathCharge",1);
								A_Takeinventory("BrutalPhoenixRodAmmo",1);
							}
						}
						return state("");
					}
					Else
					{
						A_GiveInventory("PHNXAmmoToken");
						return state("");
					}
				}
			}
			SLSR MMNN 1
			{
				A_WeaponReady (WRF_ALLOWZOOM);
				
				If (CountInv("Action1") == 1)
				{
					return state("KickOverlay");
				}				
				If (A_JumpIfInventory("SidheWrathCharge",0,"Ready"))
				{
					return state("ReloadFinish");
				}
				If (CountInv("BrutalPhoenixRodAmmo") == 0)
				{
					return state("ReloadFinish");
				}
				Else
				{
					If (CountInv("PHNXAmmoToken") > (5 - ((CountInv("Level")/5))))
					{
						A_GiveInventory("SidheWrathCharge",1);
						A_Takeinventory("BrutalPhoenixRodAmmo",1);
						A_TakeInventory("PHNXAmmoToken",20);
						
						If (CountInv("Level") > 20)
						{
							If (A_JumpIfInventory("SidheWrathCharge",0,"Ready"))
							{
								return state("ReloadFinish");
							}
							If (CountInv("BrutalPhoenixRodAmmo") == 0)
							{
								return state("ReloadFinish");
							}
							Else
							{
								A_GiveInventory("SidheWrathCharge",1);
								A_Takeinventory("BrutalPhoenixRodAmmo",1);
							}
						}
						return state("");
					}
					Else
					{
						A_GiveInventory("PHNXAmmoToken");
						return state("");
					}
				}
			}
			Loop
		ReloadFinish:
			TNT1 A 0 A_StartSound("SWRENO",50,CHANF_NOPAUSE)
			//TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_light(0)
			SLSR KKJJIIHGFEDCBBA 1
			Goto Ready
		Kicking:
			TNT1 A 0 A_StopSound(50)
			SLSP B 1 Offset(0,42)
			SLSP C 1 Offset(0,52)
			SLSP D 1 Offset(0,62)
			SLSP E 1 Offset(0,72)
			SLSP B 1 Offset(0,82)
			TNT1 A 0 A_StopSound(50)
			TNT1 A 0 A_PlaySound("WHOP")
			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)
			SLSP B 1 Offset(0,82)
			SLSP C 1 Offset(0,72)
			SLSP D 1 Offset(0,62)
			SLSP E 1 Offset(0,52)
			SLSP D 1 Offset(0,42)
			SLSP C 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_StopSound(1)
			TNT1 A 0 A_light(0)
			TNT1 A 0 A_Overlay(6,"KickingOnly",True)
			SLSR K 1 Offset(-10,40)
			SLSR K 1 Offset(-20,45)
			SLSR K 1 Offset(-30,50)
			SLSR J 1 Offset(-40,55)
			SLSR J 1 Offset(-50,60)
			SLSR J 1 Offset(-60,65)
			SLSR I 1 Offset(-70,70)
			SLSR I 1 Offset(-80,75)
			SLSR I 1 Offset(-90,80)
			SLSR H 1 Offset(-100,85)
			SLSR F 1 Offset(-90,80)
			SLSR D 1 Offset(-80,75)
			SLSR B 1 Offset(-70,70)
			SLSR A 1 Offset(-60,65)
			SLSP B 1 Offset(-50,60)
			SLSP C 1 Offset(-40,55)
			SLSP D 1 Offset(-30,50)
			SLSP B 1 Offset(-20,45)
			SLSP C 1 Offset(-10,40)
			SLSP D 1 Offset(-0,0)
			TNT1 A 0 A_ClearOverlays(6,6)
			goto Reload
		KickingOnly:
			TNT1 A 0 A_PlaySound("WHOP")
			TNT1 A 0 A_StartSound("WHOP",7,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,"KickingLoop")TNT1 A 0 Offset(0,0)
			TNT1 A 0 A_ClearOverlays(6,6)
			Goto Ready
	}
}