mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-06 13:01:03 +00:00
371712c53a
- 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.
110 lines
1.9 KiB
Text
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;
|
|
}
|
|
}
|