mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-12-18 16:41:24 +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.
160 lines
2.8 KiB
Text
160 lines
2.8 KiB
Text
|
|
// Mage Weapon Piece --------------------------------------------------------
|
|
|
|
class MageWeaponPiece : WeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
Inventory.PickupSound "misc/w_pkup";
|
|
Inventory.PickupMessage "$TXT_BLOODSCOURGE_PIECE";
|
|
Inventory.ForbiddenTo "FighterPlayer", "ClericPlayer";
|
|
WeaponPiece.Weapon "MWeapBloodscourge";
|
|
+FLOATBOB
|
|
}
|
|
}
|
|
|
|
// Mage Weapon Piece 1 ------------------------------------------------------
|
|
|
|
class MWeaponPiece1 : MageWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 1;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WMS1 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Mage Weapon Piece 2 ------------------------------------------------------
|
|
|
|
class MWeaponPiece2 : MageWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 2;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WMS2 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Mage Weapon Piece 3 ------------------------------------------------------
|
|
|
|
class MWeaponPiece3 : MageWeaponPiece
|
|
{
|
|
Default
|
|
{
|
|
WeaponPiece.Number 3;
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
WMS3 A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Bloodscourge Drop --------------------------------------------------------
|
|
|
|
class BloodscourgeDrop : Actor
|
|
{
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A 1;
|
|
TNT1 A 1 A_DropWeaponPieces("MWeaponPiece1", "MWeaponPiece2", "MWeaponPiece3");
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// The Mages's Staff (Bloodscourge) -----------------------------------------
|
|
|
|
class MWeapBloodscourge : MageWeapon native
|
|
{
|
|
Default
|
|
{
|
|
Health 3;
|
|
Weapon.SelectionOrder 3100;
|
|
Weapon.AmmoUse1 15;
|
|
Weapon.AmmoUse2 15;
|
|
Weapon.AmmoGive1 20;
|
|
Weapon.AmmoGive2 20;
|
|
Weapon.KickBack 150;
|
|
Weapon.YAdjust 20;
|
|
Weapon.AmmoType1 "Mana1";
|
|
Weapon.AmmoType2 "Mana2";
|
|
+WEAPON.PRIMARY_USES_BOTH;
|
|
+Inventory.NoAttenPickupSound
|
|
Inventory.PickupMessage "$TXT_WEAPON_M4";
|
|
Inventory.PickupSound "WeaponBuild";
|
|
Tag "$TAG_MWEAPBLOODSCOURGE";
|
|
}
|
|
|
|
native void A_MStaffAttack();
|
|
native void A_MStaffPalette();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
TNT1 A -1;
|
|
Stop;
|
|
Select:
|
|
MSTF A 1 A_Raise;
|
|
Loop;
|
|
Deselect:
|
|
MSTF A 1 A_Lower;
|
|
Loop;
|
|
Ready:
|
|
MSTF AAAAAABBBBBBCCCCCCDDDDDDEEEEEEFFFFF 1 A_WeaponReady;
|
|
Loop;
|
|
Fire:
|
|
MSTF G 4 Offset (0, 40);
|
|
MSTF H 4 Bright Offset (0, 48) A_MStaffAttack;
|
|
MSTF H 2 Bright Offset (0, 48) A_MStaffPalette;
|
|
MSTF II 2 Offset (0, 48) A_MStaffPalette;
|
|
MSTF I 1 Offset (0, 40);
|
|
MSTF J 5 Offset (0, 36);
|
|
Goto Ready;
|
|
}
|
|
}
|
|
|
|
// Mage Staff FX2 (Bloodscourge) --------------------------------------------
|
|
|
|
class MageStaffFX2 : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Speed 17;
|
|
Height 8;
|
|
Damage 4;
|
|
DamageType "Fire";
|
|
Projectile;
|
|
+SEEKERMISSILE
|
|
+SCREENSEEKER
|
|
+EXTREMEDEATH
|
|
DeathSound "MageStaffExplode";
|
|
Obituary "$OB_MPMWEAPBLOODSCOURGE";
|
|
}
|
|
|
|
native void A_MStaffTrack();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
MSP2 ABCD 2 Bright A_MStaffTrack;
|
|
Loop;
|
|
Death:
|
|
MSP2 E 4 Bright A_SetTranslucent(1,1);
|
|
MSP2 F 5 Bright A_Explode (80, 192, 0);
|
|
MSP2 GH 5 Bright;
|
|
MSP2 I 4 Bright;
|
|
Stop;
|
|
}
|
|
}
|