// The Fighter's Axe -------------------------------------------------------- class FWeapAxe : FighterWeapon { Default { Weapon.SelectionOrder 1500; +WEAPON.AXEBLOOD +WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON Weapon.AmmoUse1 2; Weapon.AmmoGive1 25; Weapon.KickBack 150; Weapon.YAdjust -12; Weapon.AmmoType1 "Mana1"; Inventory.PickupMessage "$TXT_WEAPON_F2"; Obituary "$OB_MPFWEAPAXE"; Tag "$TAG_FWEAPAXE"; } action native void A_FAxeCheckUp(); action native void A_FAxeCheckReady(); action native void A_FAxeCheckAtk(); action native void A_FAxeAttack(); action native void A_FAxeCheckUpG(); action native void A_FAxeCheckReadyG(); States { Spawn: WFAX A -1; Stop; Select: FAXE A 1 A_FAxeCheckUp; Loop; Deselect: FAXE A 1 A_Lower; Loop; Ready: FAXE A 1 A_FAxeCheckReady; Loop; Fire: FAXE B 4 Offset (15, 32) A_FAxeCheckAtk; FAXE C 3 Offset (15, 32); FAXE D 2 Offset (15, 32); FAXE D 1 Offset (-5, 70) A_FAxeAttack; FAXE D 2 Offset (-25, 90); FAXE E 1 Offset (15, 32); FAXE E 2 Offset (10, 54); FAXE E 7 Offset (10, 150); FAXE A 1 Offset (0, 60) A_ReFire; FAXE A 1 Offset (0, 52); FAXE A 1 Offset (0, 44); FAXE A 1 Offset (0, 36); FAXE A 1; Goto Ready; SelectGlow: FAXE L 1 A_FAxeCheckUpG; Loop; DeselectGlow: FAXE L 1 A_Lower; Loop; ReadyGlow: FAXE LLL 1 A_FAxeCheckReadyG; FAXE MMM 1 A_FAxeCheckReadyG; Loop; FireGlow: FAXE N 4 Offset (15, 32); FAXE O 3 Offset (15, 32); FAXE P 2 Offset (15, 32); FAXE P 1 Offset (-5, 70) A_FAxeAttack; FAXE P 2 Offset (-25, 90); FAXE Q 1 Offset (15, 32); FAXE Q 2 Offset (10, 54); FAXE Q 7 Offset (10, 150); FAXE A 1 Offset (0, 60) A_ReFire; FAXE A 1 Offset (0, 52); FAXE A 1 Offset (0, 44); FAXE A 1 Offset (0, 36); FAXE A 1; Goto ReadyGlow; } override State GetUpState () { return Ammo1.Amount ? FindState ("SelectGlow") : Super.GetUpState(); } override State GetDownState () { return Ammo1.Amount ? FindState ("DeselectGlow") : Super.GetDownState(); } override State GetReadyState () { return Ammo1.Amount ? FindState ("ReadyGlow") : Super.GetReadyState(); } override State GetAtkState (bool hold) { return Ammo1.Amount ? FindState ("FireGlow") : Super.GetAtkState(hold); } } // Axe Puff ----------------------------------------------------------------- class AxePuff : Actor { Default { +NOBLOCKMAP +NOGRAVITY +PUFFONACTORS RenderStyle "Translucent"; Alpha 0.6; SeeSound "FighterAxeHitThing"; AttackSound "FighterHammerHitWall"; ActiveSound "FighterHammerMiss"; } States { Spawn: FHFX STUVW 4; Stop; } } // Glowing Axe Puff --------------------------------------------------------- class AxePuffGlow : AxePuff { Default { +PUFFONACTORS RenderStyle "Add"; Alpha 1; } States { Spawn: FAXE RSTUVWX 4 Bright; Stop; } }