gzdoom/wadsrc/static/zscript/hexen/fighterhammer.txt
Christoph Oelckers 371712c53a - turned everything I could into non-action functions.
- fixed emission of the self pointer in FxVMFunctionCall. I did not realize that the self expression only sets up a register for the value, not pushing it onto the stack.
2016-10-22 17:49:08 +02:00

110 lines
1.9 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";
}
native void A_FHammerAttack();
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;
}
}