Actor "SpikedGauntlets" : FWeapFist replaces FWeapFist
{
	Tag "Spiked Gauntlets"
	Weapon.KickBack 100
	+UNDROPPABLE
	+NOALERT
	+MELEEWEAPON
	Weapon.SelectionOrder 6
	Weapon.BobStyle InverseSmooth
	Weapon.BobSpeed 2.1
	Weapon.BobRangeY 0.4
	Weapon.BobRangeX 0.7
	States
	{
	Deselect:
		FPCH A 1 A_Lower
		TNT1 A 0 A_Lower
		Loop
	Select:
		FPCH A 1 A_Raise
		TNT1 A 0 A_Raise
		Loop
	Ready:
		FPCH A 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FPCH A 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FPCH A 0 A_TakeInventory("SpikedGauntletsCounter", 2)
		FPCH A 1 A_WeaponReady
		Loop
	Fire:
		FPCH E 0 A_JumpIfInventory("CriticalStrike",Random(1,40),"Fire2")
		FPCH E 1 offset(210,60) a_jump(128,"leftjab")
		FPCH E 1 offset(215,50)
		FPCH E 1 offset(210,50)
		FPCH E 1 offset(200,50)
		FPCH E 1 offset(190,50)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,55), STRENGTH, 0, ACTIVATOR),"PunchPuff",FBF_NORANDOM,96)
		FPCH E 1 offset(70,50)
		FPCH e 1 offset(40,50) a_giveinventory("hitcancel",1)
		FPCH e 1 offset(35,60)
		FPCH e 1 offset(30,70)
		FPCH e 1 offset(25,82)
		FPCH e 1 offset(20,95)
		FPCH e 1 offset(25,110)
		TNT1 a 4 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		FPCH e 0 a_refire
		TNT1 a 0 a_takeinventory("hitcancel",1)
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	leftjab:
		FPCH f 1 offset(-210,60)
		FPCH f 1 offset(-215,50)
		FPCH f 1 offset(-210,50)
		FPCH f 1 offset(-200,50)
		FPCH f 1 offset(-190,50)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,55), STRENGTH, 0, ACTIVATOR),"PunchPuff",FBF_NORANDOM,96)
		FPCH F 1 offset(-70,50)
		FPCH f 1 offset(-40,50) a_giveinventory("hitcancel",1)
		FPCH f 1 offset(-35,60)
		FPCH f 1 offset(-30,70)
		FPCH f 1 offset(-25,82)
		FPCH f 1 offset(-20,95)
		FPCH f 1 offset(-25,110)
		TNT1 a 4 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		FPCH f 0 a_refire
		TNT1 a 0 a_takeinventory("hitcancel",1)
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
		
	
		
	MightyBlow:
		FPCH E 1 Offset(220,60)
		FPCH E 1 Offset(225,50)
		FPCH E 1 Offset(220,50)
		FPCH E 1 Offset(210,50)
		FPCH E 1 Offset(190,50)
		FPCH E 1 Offset(180,40) 
		FPCH E 1 Offset(95,40)
		FPCH D 0 Offset (5, 40) A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(140,180), STRENGTH, ABIL_MIGHTYBLOW, ACTIVATOR),"MightyBlowPuff",FBF_NORANDOM,128)
		FPCH E 1 Offset(10,50)
		FPCH E 1 Offset(5,60) 
		FPCH E 1 Offset(2,70)
		FPCH E 1 Offset(0,80)
		FPCH E 1 Offset(2,90) 
		FPCH E 1 Offset(5,115)
		FPCH E 5 Offset(0,150) A_TakeInventory("MightyBlowing",2)
		Goto Ready
	DeathBlow:
		FPCH E 1 Offset(220,60)
		FPCH E 1 Offset(225,50)
		FPCH E 1 Offset(220,50)
		FPCH E 1 Offset(210,50)
		FPCH E 1 Offset(190,50)
		FPCH E 1 Offset(180,40) 
		FPCH E 1 Offset(95,40)
		FPCH E 0 A_JumpIfInventory("DeathBlow", random(0,25), 2)
		FPCH E 0 A_Jump(256,2)
		FPCH E 0 A_FireBullets(0,0,1,1000000,"DeathBlowPuff",FBF_NORANDOM,128)
		FPCH E 0 A_FireBullets(0,0,1,0,"HammerPuff",FBF_NORANDOM,128)
		FPCH E 1 Offset(10,50)
		FPCH E 1 Offset(5,60) 
		FPCH E 1 Offset(2,70)
		FPCH E 1 Offset(0,80)
		FPCH E 1 Offset(2,90) 
		FPCH E 1 Offset(5,115)
		FPCH E 5 Offset(0,150) A_TakeInventory("DeathBlowing",2)
		Goto Ready
	Altfire:
		FPCH E 0 A_JumpIfInventory("CriticalStrike",Random(1,40),"AltFire2")
		TNT1 A 0 a_jump(128,"lefthook")
		FPCH e 1 offset(220,60) a_takeinventory("hitcancel",1)
		FPCH e 1 offset(225,50)
		FPCH e 1 offset(220,50)
		FPCH e 1 offset(210,50)
		FPCH e 1 offset(190,50)
		FPCH e 1 offset(180,40)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(60,80), STRENGTH, 0, ACTIVATOR),"HammerPunchPuff",FBF_NORANDOM,96)
		FPCH e 1 offset(95,40)
		FPCH e 1 offset(10,50)
		FPCH e 1 offset(5,60)
		FPCH e 1 offset(2,70)
		FPCH e 1 offset(0,80)
		FPCH e 1 offset(2,90)
		FPCH e 1 offset(5,115)
		FPCH e 5 offset(0,150)
		TNT1 A 5
		FPCH e 0 offset(0,150) a_refire
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		goto ready
	lefthook:
		FPCH F 1 offset(-220,60) a_takeinventory("hitcancel",1)
		FPCH F 1 offset(-225,50)
		FPCH F 1 offset(-220,50)
		FPCH F 1 offset(-210,50)
		FPCH F 1 offset(-190,50)
		FPCH F 1 offset(-180,40)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(60,80), STRENGTH, 0, ACTIVATOR),"HammerPunchPuff",FBF_NORANDOM,96)
		FPCH f 1 offset(-95,40)
		FPCH f 1 offset(-10,50)
		FPCH f 1 offset(-5,60)
		FPCH f 1 offset(-2,70)
		FPCH f 1 offset(-0,80)
		FPCH f 1 offset(-2,90)
		FPCH f 1 offset(-5,115)
		FPCH f 5 offset(0,150)
		TNT1 A 5
		FPCH f 0 offset(0,150) a_refire
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		goto ready
	Fire2:
		FPCH E 1 offset(210,60) a_jump(128,"leftjab2")
		FPCH E 1 offset(215,50)
		FPCH E 1 offset(210,50)
		FPCH E 1 offset(200,50)
		FPCH E 1 offset(190,50)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,128)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(40,55), STRENGTH, 0, ACTIVATOR),"PunchPuff",FBF_NORANDOM,96)
		FPCH E 1 offset(70,50)
		FPCH E 1 offset(40,50) a_giveinventory("hitcancel",1)
		FPCH E 1 offset(35,60)
		FPCH E 1 offset(30,70)
		FPCH E 1 offset(25,82)
		FPCH E 1 offset(20,95)
		FPCH E 1 offset(25,110)
		TNT1 A 4 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		FPCH E 0 a_refire
		TNT1 A 0 a_takeinventory("hitcancel",1)
		FPCH A 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	LeftJab2:
		FPCH F 1 offset(-210,60)
		FPCH F 1 offset(-215,50)
		FPCH F 1 offset(-210,50)
		FPCH F 1 offset(-200,50)
		FPCH F 1 offset(-190,50)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,128)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(40,55), STRENGTH, 0, ACTIVATOR),"PunchPuff",FBF_NORANDOM,96)
		FPCH F 1 offset(-70,50)
		FPCH F 1 offset(-40,50) a_giveinventory("hitcancel",1)
		FPCH F 1 offset(-35,60)
		FPCH F 1 offset(-30,70)
		FPCH F 1 offset(-25,82)
		FPCH F 1 offset(-20,95)
		FPCH F 1 offset(-25,110)
		TNT1 A 4 a_weaponready(wrf_nobob|wrf_noprimary|wrf_noswitch)
		FPCH F 0 a_refire
		TNT1 A 0 a_takeinventory("hitcancel",1)
		FPCH A 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_noswitch)
		FPCH A 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_noswitch)
		Goto Ready	
	Altfire2:
		TNT1 A 0 a_jump(128,"lefthook2")
		FPCH e 1 offset(220,60) a_takeinventory("hitcancel",1)
		FPCH e 1 offset(225,50)
		FPCH e 1 offset(220,50)
		FPCH e 1 offset(210,50)
		FPCH e 1 offset(190,50)
		FPCH e 1 offset(180,40)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,128)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(60,80), STRENGTH, 0, ACTIVATOR),"HammerPunchPuff",FBF_NORANDOM,96)
		FPCH e 1 offset(95,40)
		FPCH e 1 offset(10,50)
		FPCH e 1 offset(5,60)
		FPCH e 1 offset(2,70)
		FPCH e 1 offset(0,80)
		FPCH e 1 offset(2,90)
		FPCH e 1 offset(5,115)
		FPCH e 5 offset(0,150)
		TNT1 A 5
		FPCH e 0 offset(0,150) a_refire
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		goto ready
	lefthook2:
		FPCH F 1 offset(-220,60) a_takeinventory("hitcancel",1)
		FPCH F 1 offset(-225,50)
		FPCH F 1 offset(-220,50)
		FPCH F 1 offset(-210,50)
		FPCH F 1 offset(-190,50)
		FPCH F 1 offset(-180,40)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,128)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(60,80), STRENGTH, 0, ACTIVATOR),"HammerPunchPuff",FBF_NORANDOM,96)
		FPCH f 1 offset(-95,40)
		FPCH f 1 offset(-10,50)
		FPCH f 1 offset(-5,60)
		FPCH f 1 offset(-2,70)
		FPCH f 1 offset(-0,80)
		FPCH f 1 offset(-2,90)
		FPCH f 1 offset(-5,115)
		FPCH f 5 offset(0,150)
		TNT1 A 5
		FPCH f 0 offset(0,150) a_refire
		FPCH a 1 offset(-5,62) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,52) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,42) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		FPCH a 1 offset(-5,36) a_weaponready(wrf_nobob|wrf_nosecondary|wrf_noswitch)
		goto ready
	
	}
}

Actor SpikedGauntletsCounter : Inventory
{
	+INVENTORY.UNDROPPABLE
	Inventory.MaxAmount 2
}

Actor NewPunchPuff : PunchPuff replaces PunchPuff
{
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	+THRUSPECIES
	Damagetype "Physical"
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 0 A_JumpIfInTargetInventory("IsDestroyer",1,"Fury")
		FHFX S 1 A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	Fury:
		FHFX S 0 A_GiveToTarget("FuryItem",1)
		FHFX S 1 A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 0 //A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch1")
		FHFX SS 1 A_GiveToTarget("ScreenPitchHalfBack")
		FHFX TUVW 4
		Stop
	}
}

Actor HammerPunchPuff : HammerPuff
{
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Damagetype "Physical"
	SeeSound "FighterHammerHitThing"
	AttackSound "FighterHammerHitWall"
    ActiveSound "FighterHammerMiss"
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 0 A_JumpIfInTargetInventory("IsDestroyer",1,"Fury")
		FHFX S 1
		FHFX S 0 A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	Fury:
		FHFX S 0 A_GiveToTarget("FuryItem",1)
		FHFX S 1
		FHFX S 0 A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	Crash:
		FHFX S 1
		FHFX S 0 //A_AlertMonsters(96)
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX TUVW 4
		Stop
	}
}