gzdoom/wadsrc/static/zscript/hexen/fighterhammer.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

110 lines
2 KiB
Text

// The Fighter's Hammer -----------------------------------------------------
class FWeapHammer : FighterWeapon
{
Default
{
+BLOODSPLATTER
Weapon.SelectionOrder 900;
+WEAPON.AMMO_OPTIONAL +WEAPON.MELEEWEAPON
Weapon.AmmoUse1 3;
Weapon.AmmoGive1 25;
Weapon.KickBack 150;
Weapon.YAdjust -10;
Weapon.AmmoType1 "Mana2";
Inventory.PickupMessage "$TXT_WEAPON_F3";
Obituary "$OB_MPFWEAPHAMMERM";
Tag "$TAG_FWEAPHAMMER";
}
action native void A_FHammerAttack();
action native void A_FHammerThrow();
States
{
Spawn:
WFHM A -1;
Stop;
Select:
FHMR A 1 A_Raise;
Loop;
Deselect:
FHMR A 1 A_Lower;
Loop;
Ready:
FHMR A 1 A_WeaponReady;
Loop;
Fire:
FHMR B 6 Offset (5, 0);
FHMR C 3 Offset (5, 0) A_FHammerAttack;
FHMR D 3 Offset (5, 0);
FHMR E 2 Offset (5, 0);
FHMR E 10 Offset (5, 150) A_FHammerThrow;
FHMR A 1 Offset (0, 60);
FHMR A 1 Offset (0, 55);
FHMR A 1 Offset (0, 50);
FHMR A 1 Offset (0, 45);
FHMR A 1 Offset (0, 40);
FHMR A 1 Offset (0, 35);
FHMR A 1;
Goto Ready;
}
}
// Hammer Missile -----------------------------------------------------------
class HammerMissile : Actor
{
Default
{
Speed 25;
Radius 14;
Height 20;
Damage 10;
DamageType "Fire";
Projectile;
DeathSound "FighterHammerExplode";
Obituary "$OB_MPFWEAPHAMMERR";
}
States
{
Spawn:
FHFX A 2 Bright;
FHFX B 2 Bright A_PlaySound ("FighterHammerContinuous");
FHFX CDEFGH 2 Bright;
Loop;
Death:
FHFX I 3 Bright A_SetTranslucent(1,1);
FHFX J 3 Bright;
FHFX K 3 Bright A_Explode (128, 128, 0);
FHFX LM 3 Bright;
FHFX N 3;
FHFX OPQR 3 Bright;
Stop;
}
}
// Hammer Puff (also used by fist) ------------------------------------------
class HammerPuff : Actor
{
Default
{
+NOBLOCKMAP +NOGRAVITY
+PUFFONACTORS
RenderStyle "Translucent";
Alpha 0.6;
VSpeed 0.8;
SeeSound "FighterHammerHitThing";
AttackSound "FighterHammerHitWall";
ActiveSound "FighterHammerMiss";
}
States
{
Spawn:
FHFX STUVW 4;
Stop;
}
}