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.
105 lines
1.8 KiB
Text
105 lines
1.8 KiB
Text
|
|
// The Cleric's Serpent Staff -----------------------------------------------
|
|
|
|
class CWeapStaff : ClericWeapon
|
|
{
|
|
Default
|
|
{
|
|
Weapon.SelectionOrder 1600;
|
|
Weapon.AmmoUse1 1;
|
|
Weapon.AmmoGive1 25;
|
|
Weapon.KickBack 150;
|
|
Weapon.YAdjust 10;
|
|
Weapon.AmmoType1 "Mana1";
|
|
Inventory.PickupMessage "$TXT_WEAPON_C2";
|
|
Obituary "$OB_MPCWEAPSTAFFM";
|
|
Tag "$TAG_CWEAPSTAFF";
|
|
}
|
|
|
|
native void A_CStaffInitBlink();
|
|
native void A_CStaffCheckBlink();
|
|
native void A_CStaffCheck();
|
|
native void A_CStaffAttack();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
WCSS A -1;
|
|
Stop;
|
|
Select:
|
|
CSSF C 1 A_Raise;
|
|
Loop;
|
|
Deselect:
|
|
CSSF B 3;
|
|
CSSF C 4;
|
|
CSSF C 1 A_Lower;
|
|
Wait;
|
|
Ready:
|
|
CSSF C 4;
|
|
CSSF B 3 A_CStaffInitBlink;
|
|
CSSF AAAAAAA 1 A_WeaponReady;
|
|
CSSF A 1 A_CStaffCheckBlink;
|
|
Goto Ready + 2;
|
|
Fire:
|
|
CSSF A 1 Offset (0, 45) A_CStaffCheck;
|
|
CSSF J 1 Offset (0, 50) A_CStaffAttack;
|
|
CSSF J 2 Offset (0, 50);
|
|
CSSF J 2 Offset (0, 45);
|
|
CSSF A 2 Offset (0, 40);
|
|
CSSF A 2 Offset (0, 36);
|
|
Goto Ready + 2;
|
|
Blink:
|
|
CSSF BBBCCCCCBBB 1 A_WeaponReady;
|
|
Goto Ready + 2;
|
|
Drain:
|
|
CSSF K 10 Offset (0, 36);
|
|
Goto Ready + 2;
|
|
}
|
|
}
|
|
|
|
// Serpent Staff Missile ----------------------------------------------------
|
|
|
|
class CStaffMissile : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Speed 22;
|
|
Radius 12;
|
|
Height 10;
|
|
Damage 5;
|
|
RenderStyle "Add";
|
|
Projectile;
|
|
DeathSound "ClericCStaffExplode";
|
|
Obituary "$OB_MPCWEAPSTAFFR";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
CSSF DDEE 1 Bright A_CStaffMissileSlither;
|
|
Loop;
|
|
Death:
|
|
CSSF FG 4 Bright;
|
|
CSSF HI 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Serpent Staff Puff -------------------------------------------------------
|
|
|
|
class CStaffPuff : Actor
|
|
{
|
|
Default
|
|
{
|
|
+NOBLOCKMAP +NOGRAVITY
|
|
+PUFFONACTORS
|
|
RenderStyle "Translucent";
|
|
Alpha 0.6;
|
|
SeeSound "ClericCStaffHitThing";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
FHFX STUVW 4;
|
|
Stop;
|
|
}
|
|
}
|