Actor "Timon'sAxe" : FWeapFist // Replaces FWeapAxe
{
	Tag "Timon's Axe"
	Weapon.SelectionOrder 2
	+WEAPON.AXEBLOOD
	Weapon.AmmoUse1 2
	weapon.ammogive1 0
	Weapon.KickBack 100
	Weapon.YAdjust 0
	Weapon.AmmoType1 "Mana1"
	Weapon.AmmoType2 "Mana1"
	Weapon.AmmoUse2 3
	+AMMO_OPTIONAL
	+ALT_AMMO_OPTIONAL
	+UNDROPPABLE
	+MELEEWEAPON
	Inventory.PickupMessage "$TXT_WEAPON_F2"
	Weapon.BobStyle InverseSmooth
    Weapon.BobSpeed 2.1
    Weapon.BobRangeY 0.4
    Weapon.BobRangeX 0.7
	States
	{
	Spawn:
		WFAX A 0
		WFAX A -1
		Stop
		WFAX A -1
		Stop
	Select:
		FAXE A 0 A_JumpIfInventory("Mana1",2,3)
		FAXE A 1 A_Raise
		TNT1 A 0 A_Raise
		Goto Select+1
		FAXE L 1 A_Raise
		FAXE L 0 A_Raise
		FAXE L 1 A_Raise
		FAXE L 0 A_Raise
		FAXE L 1 A_Raise
		FAXE L 0 A_Raise
		FAXE M 1 A_Raise
		FAXE M 0 A_Raise
		FAXE M 1 A_Raise
		FAXE M 0 A_Raise
		FAXE M 1 A_Raise
		FAXE M 0 A_Raise
		FAXE Z 1 A_Raise
		FAXE Z 0 A_Raise
		FAXE Z 1 A_Raise
		FAXE Z 0 A_Raise
		FAXE Z 1 A_Raise
		FAXE Z 0 A_Raise
		Goto Select+3
	Deselect:
		FAXE A 0 A_JumpIfInventory("Mana1",2,3)
		FAXE A 1 A_Lower
		TNT1 A 0 A_Lower
		Goto DeSelect+1
		FAXE L 1 A_Lower
		FAXE L 0 A_Lower
		FAXE L 1 A_Lower
		FAXE L 0 A_Lower
		FAXE L 1 A_Lower
		FAXE L 0 A_Lower
		FAXE M 1 A_Lower
		FAXE M 0 A_Lower
		FAXE M 1 A_Lower
		FAXE M 0 A_Lower
		FAXE M 1 A_Lower
		FAXE M 0 A_Lower
		FAXE Z 1 A_Lower
		FAXE Z 0 A_Lower
		FAXE Z 1 A_Lower
		FAXE Z 0 A_Lower
		FAXE Z 1 A_Lower
		FAXE Z 0 A_Lower
		Goto DeSelect+3
	Ready:
		FAXE A 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE A 0 A_JumpIfInventory("Mana1",2,2)
		FAXE A 1 A_WeaponReady
	Loop
		FAXE L 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE L 1 A_WeaponReady
		FAXE L 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE L 1 A_WeaponReady
		FAXE L 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE L 1 A_WeaponReady
		FAXE M 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE M 1 A_WeaponReady
		FAXE M 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE M 1 A_WeaponReady
		FAXE M 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE M 1 A_WeaponReady
		FAXE M 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE Z 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE Z 1 A_WeaponReady
		FAXE Z 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE Z 1 A_WeaponReady
		FAXE Z 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		FAXE Z 1 A_WeaponReady
		FAXE Z 0 A_JumpIfInventory("MightyBlowing",1,"MightyBlow")
		FAXE L 0 A_JumpIfInventory("DeathBlowing",1,"DeathBlow")
		Loop
	Fire:
		FAXE B 0 A_PlayWeaponSound("FighterAxeMiss")
		FAXE B 0 A_JumpIfInventory("CriticalStrike",Random(1,40),"Fire2")
		FAXE B 0 Offset(15, 32) A_JumpIfInventory("Mana1",2,"FireGlow")
		TNT1 A 0 a_jump(128,1,2)
		Goto Swing2
		TNT1 A 0
		Goto Swing3
	Swing1:
		FAXE C 1 offset(15,32)
		FAXE D 1 offset(15,52)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAXE D 1 offset(10,70)
		FAXE D 1 offset(-15,100)
		FAXE E 1 offset(15,32)
		FAXE E 1 offset(10,54)
		TNT1 M 6 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	Swing2:
		FAX2 b 1 offset(-30,32)
		FAX2 b 1 offset(-15,32)
		FAX2 c 1 offset(-15,32)
		FAX2 d 1 offset(-15,32)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAX2 d 1 offset(15,32)
		FAX2 d 1 offset(55,32)
		FAX2 e 1 offset(1,34)
		FAX2 e 1 offset(30,38)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	Swing3:
		FAX3 b 1 offset(15,30)
		FAX3 c 1 offset(1,30)
		FAX3 c 1 offset(-30,30)
		FAX3 d 1 offset(15,30)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAX3 d 1 offset(-15,30)
		FAX3 d 1 offset(-55,40)
		FAX3 e 1 offset(-1,50)
		FAX3 e 1 offset(-30,62)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	FireGlow:
		TNT1 A 0 a_jump(128,1,2)
		Goto GSwing2
		TNT1 A 0
		Goto GSwing3
	GSwing1:
		FAXE O 1 offset(15,32)
		FAXE P 1 offset(15,52)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAXE P 1 offset(10,70)
		FAXE P 1 offset(-15,100)
		FAXE Q 1 offset(15,32)
		FAXE Q 1 offset(10,54)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	GSwing2:
		FAX4 b 1 offset(-30,32)
		FAX4 b 1 offset(-15,32)
		FAX4 c 1 offset(-15,32)
		FAX4 d 1 offset(-15,32)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAX4 d 1 offset(15,32)
		FAX4 d 1 offset(55,32)
		FAX4 e 1 offset(1,34)
		FAX4 e 1 offset(30,38)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	GSwing3:
		FAX5 b 1 offset(15,30)
		FAX5 c 1 offset(1,30)
		FAX5 c 1 offset(-30,30)
		FAX5 d 1 offset(15,30)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAX5 d 1 offset(-15,32)
		FAX5 d 1 offset(-55,40)
		FAX5 e 1 offset(-1,50)
		FAX5 e 1 offset(-30,62)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	
	Fire2:
		FAXE B 0 Offset(15, 32) A_JumpIfInventory("Mana1",2,"FireGlow2")
		TNT1 A 0 a_jump(128,1,2)
		Goto Swing22
		TNT1 A 0
		Goto Swing32
	Swing12:
		FAXE C 1 offset(15,32)
		FAXE D 1 offset(15,52)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAXE D 1 offset(10,70)
		FAXE D 1 offset(-15,100)
		FAXE E 1 offset(15,32)
		FAXE E 1 offset(10,54)
		TNT1 M 6 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	Swing22:
		FAX2 b 1 offset(-30,32)
		FAX2 b 1 offset(-15,32)
		FAX2 c 1 offset(-15,32)
		FAX2 d 1 offset(-15,32)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAX2 d 1 offset(15,32)
		FAX2 d 1 offset(55,32)
		FAX2 e 1 offset(1,34)
		FAX2 e 1 offset(30,38)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	Swing32:
		FAX3 b 1 offset(15,30)
		FAX3 c 1 offset(1,30)
		FAX3 c 1 offset(-30,30)
		FAX3 d 1 offset(15,30)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuff",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(40,62), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuff",FBF_NORANDOM,144)
		FAX3 d 1 offset(-15,30)
		FAX3 d 1 offset(-55,40)
		FAX3 e 1 offset(-1,50)
		FAX3 e 1 offset(-30,62)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE A 0 a_refire
		FAXE A 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE A 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	FireGlow2:
		TNT1 A 0 a_jump(128,1,2)
		Goto GSwing22
		TNT1 A 0
		Goto GSwing32
	GSwing12:
		FAXE O 1 offset(15,32)
		FAXE P 1 offset(15,52)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuffGhost",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAXE P 1 offset(10,70)
		FAXE P 1 offset(-15,100)
		FAXE Q 1 offset(15,32)
		FAXE Q 1 offset(10,54)
		TNT1 M 6 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	GSwing22:
		FAX4 b 1 offset(-30,32)
		FAX4 b 1 offset(-15,32)
		FAX4 c 1 offset(-15,32)
		FAX4 d 1 offset(-15,32)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuffGhost",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAX4 d 1 offset(15,32)
		FAX4 d 1 offset(55,32)
		FAX4 e 1 offset(1,34)
		FAX4 e 1 offset(30,38)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	GSwing32:
		FAX5 b 1 offset(15,30)
		FAX5 c 1 offset(1,30)
		FAX5 c 1 offset(-30,30)
		FAX5 d 1 offset(15,30)
		TNT1 A 0 A_FireBullets(0,0,1,0,"CriticalPuffGhost",FBF_NORANDOM,144)
		TNT1 A 0 A_FireBullets(0,0,1,ACS_NamedExecuteWithResult("WOC Player Scale", 2*FRandom(80,124), STRENGTH, ABIL_AXEMASTERY, ACTIVATOR),"AxePuffGlow2",FBF_NORANDOM,144)
		FAX5 d 1 offset(-15,32)
		FAX5 d 1 offset(-55,40)
		FAX5 e 1 offset(-1,50)
		FAX5 e 1 offset(-30,62)
		TNT1 M 4 a_takeinventory("hitcancel",1)
		TNT1 M 6
		FAXE M 0 a_refire
		FAXE M 1 offset(-1,60) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,52) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,44) a_weaponready(wrf_nobob|wrf_noswitch)
		FAXE Z 1 offset(-1,36) a_weaponready(wrf_nobob|wrf_noswitch)
		goto ready
	
	Altfire:
		FAXE N 2 Offset(15,32) A_JumpIfNoAmmo("Fire")
		FAXE O 1 offset(15,32)
		FAXE P 1 offset(15,52)
		FAXE P 0 A_PlayWeaponSound("FighterHammerMiss")
		FAXE P 1 offset(10,70)
		FAXE P 1 offset(-15,100)
		FAXE Q 1 offset(15,32)
		FAXE Q 1 offset(10,54)
		TNT1 A 12 A_FireCustomMissile("ThrownAxe",0,1,0,0,0)
		FAXE M 0 a_refire
		FAXE M 1 offset(1,60)
		FAXE Z 1 offset(1,52)
		FAXE Z 1 offset(1,44)
		FAXE Z 1 offset(1,36)
		goto ready
	MightyBlow:
		FAXE A 1 Offset (0, 40)
		FAXE A 1 Offset (0, 48)
		FAXE A 1 Offset (0, 56)
		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)
		FAXE A 1 Offset (1, 56)
		FAXE A 1 Offset (1, 48)
		FAXE A 1 Offset (1, 40)
		Goto Ready
	DeathBlow:
		FAXE A 1 Offset (0, 40)
		FAXE A 1 Offset (0, 48)
		FAXE A 1 Offset (0, 56)
		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)
		FAXE A 1 Offset (1, 56)
		FAXE A 1 Offset (1, 48)
		FAXE A 1 Offset (1, 40)
		Goto Ready
	}
}

Actor NewAxePuff : AxePuff replaces AxePuff
{
	+PUFFGETSOWNER
	+THRUGHOST
	+MTHRUSPECIES
	Damagetype "Physical"
	SeeSound "FighterAxeHitThing"
	AttackSound "FighterAxeHitWall"
	ActiveSound ""
	States
	{
	Spawn:
	Melee:
		FHFX S 0
		FHFX S 0 A_JumpIfInTargetInventory("IsDestroyer",1,"Fury")
		Goto Crash
	Fury:
		FHFX S 0 A_GiveToTarget("FuryItem",1)
	Crash:
		FHFX S 1 A_GiveToTarget("ScreenPitch2")
		FHFX SS 1 A_GiveToTarget("ScreenPitch1Back")
		FHFX S 1
		FHFX TUVW 4
		Stop
	}
}

ACTOR ThrownAxe
{
    PROJECTILE
	Damagetype "Lightning"
	+MTHRUSPECIES /*+NODAMAGETHRUST*/
	+DONTBLAST
    Radius 6
    Height 8
    Speed 20
    Damage (ACS_NamedExecuteWithResult("WOC Player Scale", FRandom(15,30), INTELLECT, ABIL_AXEMASTERY, WOCTARGET))
    Scale 0.85
    DeathSound "FighterAxeImpact"
    States
    {
    Spawn:
		THAX ABC 2 Bright A_FadeOut(0.1)
		THAX D 0 Bright A_PlaySound("FighterHammerContinuous")
		THAX DEFG 2 Bright A_FadeOut(0.1)
		THAX H 0 Bright A_PlaySound("FighterHammerContinuous")
		THAX H 2 Bright A_FadeOut(0.1)
		Stop
    Death:
		FAXE R 0 Radius_Quake (1, 5, 0, 2, 0)
		FAXE R 0 Radius_Quake (1, 3, 0, 3, 0)
		FAXE R 0 A_SetTranslucent(1,1)
		FAXE R 0 A_Explode(ACS_NamedExecuteWithResult("WOC Player Scale", 64, INTELLECT, ABIL_AXEMASTERY, WOCTARGET),96,0)
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")
		FAXE RR 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")// A_TakeFromTarget("Mana1", 2)
		FAXE ST 3
		FAXE UVWX 3 Bright
		Stop
    }
}

Actor AxePuffGlow2 : AxePuffGlow
{
	+PUFFGETSOWNER
	+MTHRUSPECIES
	Damagetype "Lightning"
	SeeSound "FighterAxeHitThing"
	AttackSound "FighterAxeHitWall"
	ActiveSound ""
	States
	{
	Spawn:
	Melee:
		FAXE R 0 Bright
		FAXE R 0 Bright A_TakeFromTarget("Mana1", 2, TIF_NOTAKEINFINITE)
		FAXE S 0
		FAXE S 0 A_JumpIfInTargetInventory("IsDestroyer",1,"Fury")
		Goto Crash
	Fury:
		FAXE S 0 A_GiveToTarget("FuryItem",1)
		Goto Crash
		FAXE R 0 Bright A_PlaySound("FighterAxeShock", 5)
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")
		FAXE R 0 A_GiveToTarget("ScreenPitch2")
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")// A_TakeFromTarget("Mana1", 2)
		FAXE R 0 A_GiveToTarget("ScreenPitch1Back")
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")// A_TakeFromTarget("Mana1", 2)
		FAXE S 1 Bright A_GiveToTarget("ScreenPitch1Back")
		FAXE S 2 Bright
		FAXE T 3
		FAXE UVWX 3 Bright
		Stop
	Crash:
		FAXE R 0 Bright
		FAXE R 0 Bright A_PlaySound("FighterAxeShock", 5)
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")
		FAXE R 0 A_GiveToTarget("ScreenPitch2")
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")// A_TakeFromTarget("Mana1", 2)
		FAXE R 0 A_GiveToTarget("ScreenPitch1Back")
		FAXE R 1 Bright A_SpawnItemEx("TimonsAxeFXSpawner")// A_TakeFromTarget("Mana1", 2)
		FAXE S 1 Bright A_GiveToTarget("ScreenPitch1Back")
		FAXE S 2 Bright
		FAXE T 3
		FAXE UVWX 3 Bright
		Stop
	}
}

actor TimonsAxeFXSpawner
{
	+NoBlockMap +NoGravity +NoSector +NoInteraction +NoClip -Solid +CLIENTSIDEONLY
	states
    {
    Spawn:
    Active:
		TNT1 A 0
        TNT1 A 0 A_JumpIf(Args[1], "Circle")
        TNT1 A 2
        TNT1 A 0 A_SpawnItemEx ("TimonsAxeParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), frandom(0,360), 129, Args[2])
        TNT1 A 0 A_SpawnItemEx ("TimonsAxeParticleFX", 0, 0, frandom(0, 8), (0.1)*frandom(-3, 3), (0.5)*frandom(-3, 3), (0.5)*frandom(-3, 3), frandom(0,360), 129, Args[2]) 
        Stop
    Circle:
		TNT1 A 0
        TNT1 A 2 A_SpawnItemEx ("TimonsAxeParticleFX", frandom(-Args[0], Args[0]), 0, frandom(0, 8), (0.1)*frandom(1, 3), 0, (0.1)*frandom(1, 10), frandom(0, 360), 129, Args[2]) 
        Loop
    Inactive:
		TNT1 A 1
		Loop
	}         
}

ACTOR TimonsAxeParticleFX
{
	+Missile
	+NoBlockmap
	+NoInteraction
	-Solid
	+CLIENTSIDEONLY
	Radius 0
	Height 0
	RenderStyle Add
	Alpha 0.9
	Scale 0.5
	Gravity 0.25
	States
	{
	Spawn:
		FAXE RRSSTTUUVVWWXX 1 Bright A_FadeOut(0.04)
		Stop
	}
}