mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-18 08:31: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.
185 lines
3.1 KiB
Text
185 lines
3.1 KiB
Text
|
|
// Fighter Weapon Piece -----------------------------------------------------
|
|
|
|
class FighterWeaponPiece : WeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
Inventory.PickupSound "misc/w_pkup";
|
|
Inventory.PickupMessage "$TXT_QUIETUS_PIECE";
|
|
Inventory.ForbiddenTo "ClericPlayer", "MagePlayer";
|
|
WeaponPiece.Weapon "FWeapQuietus";
|
|
+FLOATBOB
|
|
}
|
|
}
|
|
|
|
// Fighter Weapon Piece 1 ---------------------------------------------------
|
|
|
|
class FWeaponPiece1 : FighterWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 1;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WFR1 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Fighter Weapon Piece 2 ---------------------------------------------------
|
|
|
|
class FWeaponPiece2 : FighterWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 2;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WFR2 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Fighter Weapon Piece 3 ---------------------------------------------------
|
|
|
|
class FWeaponPiece3 : FighterWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 3;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WFR3 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Quietus Drop -------------------------------------------------------------
|
|
|
|
class QuietusDrop : Actor
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A 1;
|
|
TNT1 A 1 A_DropWeaponPieces("FWeaponPiece1", "FWeaponPiece2", "FWeaponPiece3");
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// The Fighter's Sword (Quietus) --------------------------------------------
|
|
|
|
class FWeapQuietus : FighterWeapon
|
|
{
|
|
Default
|
|
{
|
|
Health 3;
|
|
Weapon.SelectionOrder 2900;
|
|
+WEAPON.PRIMARY_USES_BOTH;
|
|
+Inventory.NoAttenPickupSound
|
|
Weapon.AmmoUse1 14;
|
|
Weapon.AmmoUse2 14;
|
|
Weapon.AmmoGive1 20;
|
|
Weapon.AmmoGive2 20;
|
|
Weapon.KickBack 150;
|
|
Weapon.YAdjust 10;
|
|
Weapon.AmmoType1 "Mana1";
|
|
Weapon.AmmoType2 "Mana2";
|
|
Inventory.PickupMessage "$TXT_WEAPON_F4";
|
|
Inventory.PickupSound "WeaponBuild";
|
|
Tag "$TAG_FWEAPQUIETUS";
|
|
}
|
|
|
|
native void A_FSwordAttack();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A -1;
|
|
Stop;
|
|
Select:
|
|
FSRD A 1 Bright A_Raise;
|
|
Loop;
|
|
Deselect:
|
|
FSRD A 1 Bright A_Lower;
|
|
Loop;
|
|
Ready:
|
|
FSRD AAAABBBBCCCC 1 Bright A_WeaponReady;
|
|
Loop;
|
|
Fire:
|
|
FSRD DE 3 Bright Offset (5, 36);
|
|
FSRD F 2 Bright Offset (5, 36);
|
|
FSRD G 3 Bright Offset (5, 36) A_FSwordAttack;
|
|
FSRD H 2 Bright Offset (5, 36);
|
|
FSRD I 2 Bright Offset (5, 36);
|
|
FSRD I 10 Bright Offset (5, 150);
|
|
FSRD A 1 Bright Offset (5, 60);
|
|
FSRD B 1 Bright Offset (5, 55);
|
|
FSRD C 1 Bright Offset (5, 50);
|
|
FSRD A 1 Bright Offset (5, 45);
|
|
FSRD B 1 Bright Offset (5, 40);
|
|
Goto Ready;
|
|
}
|
|
}
|
|
|
|
// Fighter Sword Missile ----------------------------------------------------
|
|
|
|
class FSwordMissile : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Speed 30;
|
|
Radius 16;
|
|
Height 8;
|
|
Damage 8;
|
|
Projectile;
|
|
+EXTREMEDEATH
|
|
RenderStyle "Add";
|
|
DeathSound "FighterSwordExplode";
|
|
Obituary "$OB_MPFWEAPQUIETUS";
|
|
}
|
|
|
|
native void A_FSwordFlames();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
FSFX ABC 3 Bright;
|
|
Loop;
|
|
Death:
|
|
FSFX D 4 Bright;
|
|
FSFX E 3 Bright A_FSwordFlames;
|
|
FSFX F 4 Bright A_Explode (64, 128, 0);
|
|
FSFX G 3 Bright;
|
|
FSFX H 4 Bright;
|
|
FSFX I 3 Bright;
|
|
FSFX J 4 Bright;
|
|
FSFX KLM 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Fighter Sword Flame ------------------------------------------------------
|
|
|
|
class FSwordFlame : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP +NOGRAVITY
|
|
RenderStyle "Translucent";
|
|
Alpha 0.6;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FSFX NOPQRSTUVW 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|