

//==============================================================================
//=================== Corvus's Gauntlets of the Necromancer ====================
//==============================================================================


ACTOR BrutalGauntlets : Gauntlets
{
	Weapon.Kickback 0
	Weapon.YAdjust 15
	Inventory.RestrictedTo "BrutalCorvus"
	Inventory.ForbiddenTo "Corvette"
	Weapon.UpSound "GNTACT"
	Weapon.SisterWeapon "None"
	ConversationID 193
	Inventory.PickupMessage "Gauntlets aquired, time to fry some hellspawn!"
	Tag "$TAG_GAUNTLETS"
	Obituary "$OB_MPGAUNTLETS"
	Damagetype "BrutalGauntlets"
	Weapon.SlotNumber 0
	Weapon.SlotPriority 1
	Weapon.SelectionOrder 5
	Speed 4
	
	+BLOODSPLATTER
	+NOEXTREMEDEATH
	+WEAPON.WIMPY_WEAPON
	+WEAPON.MELEEWEAPON
	
	var int user_shockwave;

	States
	{
		Spawn:
			TNT1 A 0 A_SpawnItemEx("GreenFlareSmall",0,0,31)
			WGNT AA 1 Bright A_SetAngle(angle+speed)
			Goto Spawn
		Ready:
			TNT1 A 0 A_Light(0)
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredReady")
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			GAUN A 1 A_WeaponReady (WRF_ALLOWRELOAD)
			Loop
		PoweredReady:
			GAUN GHI 2 Bright 
			{
				If (CountInv("Action1") == 1)
				{
					return state("Kicking");
				}
				Else
				{
					A_WeaponReady (WRF_ALLOWRELOAD);
					return state("");
				}
			}
			Goto Ready
		Deselect:
			GAUN A 0 A_Lower
			GAUN A 0 A_StopSound (CHAN_BODY)
			GAUN A 1 A_Lower
			Loop
		Select:
			GAUN A 0 A_Raise
			GAUN A 1 A_Raise
			Loop
		Reload:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredReload")
			TNT1 A 0 A_Print("Naught can be gained without sacrifice....",2)
			FLTG B 2 A_StartSound("GNTPOW",1,CHANF_NOPAUSE)
			FLTR B 2
			FLTB B 2
			FLTG B 2
			FLTR B 2
			FLTB B 2
			FLTG B 2 Offset(0,42) 
			FLTR B 2 Offset(0,52)
		ReloadLoop:
			FLTB B 2 Offset(0,62) A_Quake(1,2,0,64)
			FLTG B 2 Offset(0,72) A_Quake(2,2,0,64)
			FLTR B 2 Offset(0,100) 
			TNT1 A 0 A_JumpIf((Health < 21),"Nopenope")
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"Reload2")
			TNT1 A 0 A_JumpIfInventory("Mana",0,"ReloadManaFull")
			TNT1 A 0 A_StartSound("Charging",1,CHANF_NOPAUSE)
			TNT1 A 1 ACS_NamedExecute("HeartKickstart")
			TNT1 A 0 A_Log("Surrender thine \cGblood \c-for my \cNMagicks")
			TNT1 A 0 A_SetBlend("0 0 250", 0.5, 35)
			FLTB B 5 Offset(0,100) A_Quake(7,5,0,64)
			FLTG B 5 Offset(0,72) A_Quake(2,5,0,64)
			FLTR B 5 Offset(0,62) A_Quake(2,5,0,64)
		ReloadEnd:
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_RELOAD),"ReloadLoop")
			FLTB B 3 Offset(0,52) A_Quake(1,5,0,64)
			FLTG B 3 Offset(0,42) A_Quake(1,5,0,64)
			FLTR B 3
			FLTB B 3
			FLTG B 3
			FLTR B 3
			FLTB B 3
			FLTG B 3 A_StopSound(1)
			Goto Ready
		ReloadLoopStart:
			FLTB B 3 Offset(0,100) A_Quake(7,5,0,64)
			FLTG B 3 Offset(0,72) A_Quake(2,5,0,64)
			FLTR B 3 Offset(0,62) A_Quake(2,5,0,64)
			FLTB B 2 Offset(0,62) A_Quake(1,2,0,64)
			FLTG B 2 Offset(0,72) A_Quake(2,2,0,64)
			FLTR B 2 Offset(0,100) 
		Reload2:
			TNT1 A 0 A_JumpIfInventory("FullKrater",1,"ReloadFull")
			TNT1 A 1 ACS_NamedExecute("KraterBleed")
			TNT1 A 0 A_Log("Sacrifice thy \cGblood \c-to the depths of thine \cTChalice")
			TNT1 A 0 A_SetBlend("250 0 250", 0.5, 35)
			FLTB B 5 Offset(0,100) A_Quake(7,5,0,64)
			FLTG B 5 Offset(0,72) A_Quake(2,5,0,64)
			FLTR B 5 Offset(0,62) A_Quake(2,5,0,64)
			Goto ReloadEnd
		PoweredReload:
			TNT1 A 0 A_Print("Naught can be gained without sacrifice....",2)
			FLTG B 2 A_StartSound("GNTPOW",1,CHANF_NOPAUSE)
			FLTR B 2
			FLTB B 2
			FLTG B 2
			FLTR B 2
			FLTB B 2
			FLTG B 2 Offset(0,42) 
			FLTR B 2 Offset(0,52)
		PoweredReloadLoop:
			FLTB B 2 Offset(0,62) A_Quake(1,2,0,64)
			FLTG B 2 Offset(0,72) A_Quake(2,2,0,64)
			FLTR B 2 Offset(0,100) 
			TNT1 A 0 A_JumpIf((Health < 26),"Nopenope")
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"PoweredReload2")
			TNT1 A 0 A_JumpIfInventory("BrutalSilverShield",5,"PoweredReloadFull")
			TNT1 A 0 A_StartSound("Charging",1,CHANF_NOPAUSE)
			TNT1 A 1 ACS_NamedExecute("BestowShield")
			TNT1 A 0 A_Log("Surrender thine \cGblood \c-for my \cJProtection!")
			TNT1 A 0 A_SetBlend("250 250 250", 0.5, 35)
			FLTB B 5 Offset(0,100) A_Quake(7,5,0,64)
			FLTG B 5 Offset(0,72) A_Quake(2,5,0,64)
			FLTR B 5 Offset(0,62) A_Quake(2,5,0,64)
			Goto PoweredReloadEnd
		PoweredReload2:
			TNT1 A 0 A_JumpIf((Health < 51),"Nopenope")
			TNT1 A 0 A_JumpIfInventory("BrutalEnchantedShield",5,"PoweredReloadFull")
			TNT1 A 0 A_StartSound("Charging",1,CHANF_NOPAUSE)
			TNT1 A 1 ACS_NamedExecute("BestowBlessing")
			TNT1 A 0 A_Log("Sacrifice thy \cGblood \c-to to receive my \cTBlessing!")
			TNT1 A 0 A_SetBlend("250 125 0", 0.5, 35)
			FLTB B 5 Offset(0,100) A_Quake(7,5,0,64)
			FLTG B 5 Offset(0,72) A_Quake(2,5,0,64)
			FLTR B 5 Offset(0,62) A_Quake(2,5,0,64)
			Goto PoweredReloadEnd
		PoweredReloadEnd:
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_RELOAD),"PoweredReloadLoop")
			FLTB B 3 Offset(0,52) A_Quake(1,5,0,64)
			FLTG B 3 Offset(0,42) A_Quake(1,5,0,64)
			FLTR B 3
			FLTB B 3
			FLTG B 3
			FLTR B 3
			FLTB B 3
			FLTG B 3 A_StopSound(1)
			Goto Ready
		Nopenope:
			TNT1 A 0 A_StartSound("ERROR",1,CHANF_NOPAUSE)
			TNT1 A 0 A_Print("But you'll die if you do that!")
			GAUN A 2 Offset(0,100)
			GAUN A 2 Offset(0,72)
			GAUN A 2 Offset(0,62)
			GAUN A 2 Offset(0,52)
			GAUN A 2 Offset(0,42)
			GAUN A 2 Offset (0,32)
			Goto Ready
		ReloadManaFull:
			TNT1 A 0 A_StartSound("ERROR",1,CHANF_NOPAUSE)
			TNT1 A 0 A_Print("Your cannot sustain additional mana!")
			GAUN A 2 Offset(0,100)
			GAUN A 2 Offset(0,72)
			GAUN A 2 Offset(0,62)
			GAUN A 2 Offset(0,52)
			GAUN A 2 Offset(0,42)
			GAUN A 2 Offset (0,32)
			Goto Ready
		ReloadFull:
			TNT1 A 0 A_StartSound("ERROR",1,CHANF_NOPAUSE)
			TNT1 A 0 A_Print("Your Krather begs to be quaffed!")
			GAUN A 2 Offset(0,100)
			GAUN A 2 Offset(0,72)
			GAUN A 2 Offset(0,62)
			GAUN A 2 Offset(0,52)
			GAUN A 2 Offset(0,42)
			GAUN A 2 Offset (0,32)
			Goto Ready
		PoweredReloadFull:
			TNT1 A 0 A_StartSound("ERROR",1,CHANF_NOPAUSE)
			TNT1 A 0 A_Print("You are already blessed!")
			GAUN A 2 Offset(0,100)
			GAUN A 2 Offset(0,72)
			GAUN A 2 Offset(0,62)
			GAUN A 2 Offset(0,52)
			GAUN A 2 Offset(0,42)
			GAUN A 2 Offset (0,32)
			Goto Ready
		Fire:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredFire")
			GAUN B 4 A_StartSound("GNTUSE",4,CHANF_NOPAUSE)
			GAUN C 4
		Hold:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredHold")
			TNT1 A 0 A_StartSound("GNTFUL",4,CHANF_NOPAUSE|CHANF_LOOPING|CHANF_OVERLAP)
			GAUN DEF 3 Bright 
			{
				A_CustomPunch(random(1,10)+(CallACS("StrengthCalculator")/10),true,CPF_NOTURN,"BrutalGreenGauntletPuff",128,0,0,BasicArmorBonus,"GNTHIT","GNTFUL");
				A_SetAngle(angle+frandom(-1.0,1.0));
				A_SetPitch(pitch+frandom(-1.0,1.0));
			}
			GAUN C 3 A_ReFire
			TNT1 A 0 A_StopSound (CHAN_BODY)
			GAUN B 3 A_Light0
			Goto Ready
		AltFire:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "SuperAttack")
			TNT1 A 0 A_JumpIfInventory("Level",10,"SuperAttack")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,10)
			Goto Ready
		SuperAttack:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredAltFire")
			TNT1 A 0 A_JumpIf((Health < 11),"Nopenope")
			TNT1 A 0 ACS_NamedExecute("GroundShock",0)
			GAUN A 2 A_SetPitch(15,SPF_INTERPOLATE)
			GAUN A 2 A_SetPitch(30,SPF_INTERPOLATE)
			GPUN A 2 A_SetPitch(45,SPF_INTERPOLATE)
			GPUN B 2 A_SetPitch(60,SPF_INTERPOLATE)
			GPUN C 1 A_SetPitch(75,SPF_INTERPOLATE)
			GPUN D 1 A_SetPitch(90,SPF_INTERPOLATE)
		CircleShockwave:
			TNT1 A 0 A_FireCustomMissile("LightningCreep",0,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",18,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-18,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",36,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-36,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",54,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-54,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",72,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-72,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",90,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-90,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",108,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-108,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",126,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-126,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",144,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-144,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",162,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",-162,FALSE)
			TNT1 A 0 A_FireCustomMissile("LightningCreep",180,FALSE)
		Standup:
			TNT1 A 0 A_QuakeEX(3,3,1,40,0,128)
			GPUN D 1 Offset(20,20)
			GPUN D 1 Offset(30,20)
			GPUN D 1 Offset(20,30)
			GPUN D 1 Offset(20,20)
			GPUN D 1 Offset(30,20)
			GPUN D 1 Offset(20,30)
			TNT1 A 0 Offset(32,32)
			GPUN C 2 A_SetPitch(75,SPF_INTERPOLATE)
			GPUN B 2 A_SetPitch(60,SPF_INTERPOLATE)
			GPUN A 2 A_SetPitch(45,SPF_INTERPOLATE)
			GAUN A 2 A_SetPitch(30,SPF_INTERPOLATE)
			GAUN A 2 A_SetPitch(15,SPF_INTERPOLATE)
			GAUN A 2 A_SetPitch(0,SPF_INTERPOLATE)
			Goto Ready
		PoweredFire:
			GAUN J 4 Bright A_StartSound("GNTUSE",4,CHANF_NOPAUSE)
			GAUN K 4 Bright
		PoweredHold:
			TNT1 A 0 A_StartSound("GNTFUL",4,CHANF_NOPAUSE|CHANF_LOOPING|CHANF_OVERLAP)
			GAUN LMN 3 Bright 
			{
				A_CustomPunch(random(5,10)+(CallACS("StrengthCalculator")/7),true,CPF_NOTURN,"BrutalRedGauntletPuff",256,0.3,0,BasicArmorBonus,"GNTHIT","GNTFUL");
				A_SetAngle(angle+frandom(-1.0,1.0));
				A_SetPitch(pitch+frandom(-1.0,1.0));
			}
			GAUN K 3 Bright A_ReFire("Hold")
			GAUN J 3 Bright A_Light0
			GAUN B 0 A_StopSound (CHAN_BODY)
			Goto Ready
		PoweredAltFire:
			TNT1 A 0 A_JumpIf(CallACS("ExpressSkills")==1, "OraOraOra")
			TNT1 A 0 A_JumpIfInventory("Level",17,"OraOraOra")
			TNT1 A 0 ACS_NamedExecuteAlways("NeedLevelAttack",0,17)
			Goto Ready
		Kicking:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,"PoweredKicking")
			TNT1 A 0 A_SetAngle(angle+0.2,SPF_INTERPOLATE)
			GPUN EG 1 Offset(-17,52)
			GPUN H 2 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOPD")
			TNT1 A 0 A_AlertMonsters(128)
			TNT1 A 0 A_FireProjectile("Punchshot")
			GPUN GFE 1
			TNT1 A 0 A_SetAngle(angle-0.4,SPF_INTERPOLATE)
			GPUN ABC 1 Offset(1,32)
			GPUN D 4 A_CustomPunch(random(15,25)+(CallACS("StrengthCalculator")/4),1,0,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			TNT1 A 0 A_AlertMonsters(128)
			TNT1 A 0 A_FireProjectile("Punchshot")
			TNT1 A 0 A_SetAngle(angle+0.2)
			GPUN C 3
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"LeftKickFinish")
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ALTATTACK),"RightKickFinish")
			GPUN B 3
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"LeftKickFinish")
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ALTATTACK),"RightKickFinish")
			GPUN A 3
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ATTACK),"LeftKickFinish")
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ALTATTACK),"RightKickFinish")
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			GAUN A 1 Offset(0,82)
			GAUN A 1 Offset(0,72)
			GAUN A 1 Offset(0,62)
			GAUN A 1 Offset(0,52)
			GAUN A 1 Offset(0,42)
			GAUN A 0 Offset(0,32)
			Goto Ready
		LeftKickFinish:
			TNT1 A 0 A_Recoil(-15)
			CKCK FGHI 1 Offset(25,32)
			CKCK J 2 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,0,"BrutalKickPuff2",92,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			TNT1 A 0 A_Recoil(3)
			CKCK I 3
			CKCK HG 2
			GAUN A 1 Offset(0,82)
			GAUN A 1 Offset(0,72)
			GAUN A 1 Offset(0,62)
			GAUN A 1 Offset(0,52)
			GAUN A 1 Offset(0,42)
			GAUN A 0 Offset(0,32)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE)
			Goto Ready
		RightKickFinish:
			TNT1 A 0 A_Recoil(-5)
			TNT1 A 0 ThrustThingZ(0,20,0,0)
			CKCK FGH 1 Offset(25,52) ThrustThingZ(0,20,0,0)
			CKCK I 1 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",92,0,0,"HDArmorBonus","MCEMHIT2","WHOPF")
			CKCK A 1 Offset(-25,32) A_Quake(1,15,0,32,"")
			CKCK BCD 1
			CKCK E 2 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",128,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			TNT1 A 0 A_RadiusThrust(3000,16,0,16)
			TNT1 A 0 A_Recoil(3)
			CKCK D 3
			CKCK CB 2
			GAUN A 1 Offset(0,82)
			GAUN A 1 Offset(0,72)
			GAUN A 1 Offset(0,62)
			GAUN A 1 Offset(0,52)
			GAUN A 1 Offset(0,42)
			GAUN A 0 Offset(0,32)
			TNT1 A 0 A_WeaponReady (WRF_NOFIRE)
			Goto Ready
		PoweredKicking:
			TNT1 A 0 A_Jump(127, "LeftPunch")
		RightPunch:
			GPUN ABC 1
			GPUN D 1 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			GPUN CBA 1
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		LeftPunch:
			GPUN EFG 1 
			GPUN H 1 A_CustomPunch(random(20,40)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"PunchyPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			GPUN GFE 1
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		RightKick:
			CKCK ABCD 1 Offset(0,32)
			TNT1 A 0 A_Recoil(-6)
			CKCK E 1 A_CustomPunch(random(40,80)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			TNT1 A 0 A_Recoil(3)
			CKCK DCB 1
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			GAUN A 1 Offset(0,72)
			GAUN A 1 Offset(0,52)
			GAUN A 0 Offset(0,32)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		LeftKick:
			CKCK FGHI 1 Offset(0,32)
			TNT1 A 0 A_Recoil(-6)
			CKCK J 1 A_CustomPunch(random(40,80)+(CallACS("StrengthCalculator")/4),1,CPF_PULLIN,"BrutalKickPuff",64,0,0,"HDArmorBonus","MCEMHIT2","WHOP")
			TNT1 A 0 A_Recoil(3)
			CKCK IHG 1
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			GAUN A 1 Offset(0,72)
			GAUN A 1 Offset(0,52)
			GAUN A 0 Offset(0,32)
			TNT1 A 0 A_JumpIfInventory("Action1",1,"Kicking")
			Goto Ready
		OraOraOra:
			TNT1 A 0 Thing_Stop(0)
			TNT1 A 0 SetPlayerProperty(1,1,PROP_TOTALLYFROZEN)
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_StartSound("BKSTART",1,CHANF_NOPAUSE)
			TNT1 A 0 A_QuakeEx(2,2,2,29,0,128,"")
			TNT1 A 29
			TNT1 A 0 A_QuakeEx(4,4,4,33,0,128,"")
			TNT1 A 29
			TNT1 A 0 SetPlayerProperty(1,0,PROP_TOTALLYFROZEN)
			TNT1 A 0 A_StartSound("BKLOOP",1,CHANF_NOPAUSE|CHANF_LOOPING)
			TNT1 A 0 A_Overlay(10,"ExtraPunch1",False)
			TNT1 A 0 A_Overlay(11,"ExtraPunch2",False)
			TNT1 A 0 A_Overlay(12,"ExtraPunch3",False)
			TNT1 A 0 A_Overlay(13,"ExtraPunch4",False)
			TNT1 A 0 A_Overlay(14,"ExtraPunch5",False)
			TNT1 A 0 A_Overlay(15,"ExtraPunch6",False)
			TNT1 A 0 A_OverlayFlags(10,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayFlags(11,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayFlags(12,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayFlags(13,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayFlags(14,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayFlags(15,PSPF_RENDERSTYLE,True)
			TNT1 A 0 A_OverlayRenderstyle(10,STYLE_Add)
			TNT1 A 0 A_OverlayRenderstyle(11,STYLE_Add)
			TNT1 A 0 A_OverlayRenderstyle(12,STYLE_Add)
			TNT1 A 0 A_OverlayRenderstyle(13,STYLE_Add)
			TNT1 A 0 A_OverlayRenderstyle(14,STYLE_Add)
			TNT1 A 0 A_OverlayRenderstyle(15,STYLE_Add)
		PowerPunchLoop:
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,1)
			Goto PowerKickEnd
			TNT1 A 0 A_QuakeEx(4,4,4,5,0,128,"")
			GPUN ACD 1 
			{
				A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"BrutalPoweredStaffPuff",64,1);
				A_FireCustomMissile("PunchShot");
			}
			TNT1 A 0 A_QuakeEx(4,4,4,8,0,128,"")
			GPUN CAEGH 1 
			{
				A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"BrutalPoweredStaffPuff",64,1);
				A_FireCustomMissile("PunchShot");
			}
			TNT1 A 0 A_QuakeEx(4,4,4,3,0,128,"")
			GPUN GE 1 
			{
				A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")/8),1,CPF_PULLIN,"BrutalPoweredStaffPuff",64,1);
				A_FireCustomMissile("PunchShot");
			}
			TNT1 A 0 A_JumpIfInventory("PowerHDLevel2",1,1)
			Goto PowerKickEnd
			TNT1 A 0 A_JumpIf((GetPlayerInput (INPUT_BUTTONS) & BT_ALTATTACK),"PowerPunchLoop")
			Goto PowerKickEnd
		PowerKickEnd:
			TNT1 A 0 A_StopSound(1)
			TNT1 A 0 A_ClearOverlays(10,15)
			TNT1 A 0 A_StartSound("BKENDER",1,CHANF_NOPAUSE)
			TNT1 A 0 ThrustThingZ(0,20,0,1)
			CKCK K 1 A_SetRoll(345,SPF_INTERPOLATE)
			CKCK L 1 A_SetRoll(335,SPF_INTERPOLATE)
			CKCK M 1 A_SetRoll(325,SPF_INTERPOLATE)
			CKCK N 1 A_SetRoll(315,SPF_INTERPOLATE)
			TNT1 A 0 A_Recoil(-50)
			TNT1 A 0 A_SetGravity(0.3)
			CKCK N 1 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")),1,CPF_PULLIN,"DummyPuff",128)
		LungeLoop:
			CKCK N 1 A_CustomPunch(random(10,20)+(CallACS("StrengthCalculator")),1,CPF_PULLIN,"DummyPuff",128)
			TNT1 A 0 A_RadiusThrust(500,128,RTF_NOTMISSILE,128)
			TNT1 A 0 A_CheckFloor(1)
			Loop
			TNT1 A 0 A_SetGravity(1)
			TNT1 A 0 A_Recoil(3)
			CKCK D 1 A_SetRoll(325,SPF_INTERPOLATE)
			CKCK D 1 A_SetRoll(335,SPF_INTERPOLATE)
			CKCK D 1 A_SetRoll(345,SPF_INTERPOLATE)
			CKCK CCCBBB 1 A_SetRoll(0,SPF_INTERPOLATE)
			Goto Ready
		ExtraPunch1:
			GPUN ACDCA 1 Offset(50,-20)
			Loop
		ExtraPunch2:
			GPUN HGEGH 1 Offset(-50,-20)
			Loop
		ExtraPunch3:
			GPUN DCAC 1 Offset(50,10)
			Loop
		ExtraPunch4:
			GPUN EGHG 1 Offset(-50,20)
			Loop
		ExtraPunch5:
			GPUN CDAC 1 Offset(50,40)
			Loop
		ExtraPunch6:
			GPUN GHGE 1 Offset(-50,50)
			Loop
	}
}