qzdoom-gpl/wadsrc/static/zscript/hexen/fighteraxe.txt
Christoph Oelckers a2f4cd7cda - fixed: All functions that are callable from weapon states and not members of Actor need to be declared 'action'.
With the stricter type checks of the self pointer that were now implemented these all produced errors.
2016-11-13 14:20:30 +01:00

122 lines
2.3 KiB
Text

// The Fighter's Axe --------------------------------------------------------
class FWeapAxe : FighterWeapon native
{
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;
}
}
// 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;
}
}