mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-02 00:43:43 +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.
98 lines
1.4 KiB
Text
98 lines
1.4 KiB
Text
|
|
// The Mage's Frost Cone ----------------------------------------------------
|
|
|
|
class MWeapFrost : MageWeapon
|
|
{
|
|
Default
|
|
{
|
|
+BLOODSPLATTER
|
|
Weapon.SelectionOrder 1700;
|
|
Weapon.AmmoUse1 3;
|
|
Weapon.AmmoGive1 25;
|
|
Weapon.KickBack 150;
|
|
Weapon.YAdjust 20;
|
|
Weapon.AmmoType1 "Mana1";
|
|
Inventory.PickupMessage "$TXT_WEAPON_M2";
|
|
Obituary "$OB_MPMWEAPFROST";
|
|
Tag "$TAG_MWEAPFROST";
|
|
}
|
|
|
|
native void A_FireConePL1();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
WMCS ABC 8 Bright;
|
|
Loop;
|
|
Select:
|
|
CONE A 1 A_Raise;
|
|
Loop;
|
|
Deselect:
|
|
CONE A 1 A_Lower;
|
|
Loop;
|
|
Ready:
|
|
CONE A 1 A_WeaponReady;
|
|
Loop;
|
|
Fire:
|
|
CONE B 3;
|
|
CONE C 4;
|
|
Hold:
|
|
CONE D 3;
|
|
CONE E 5;
|
|
CONE F 3 A_FireConePL1;
|
|
CONE G 3;
|
|
CONE A 9;
|
|
CONE A 10 A_ReFire;
|
|
Goto Ready;
|
|
}
|
|
}
|
|
|
|
// Frost Missile ------------------------------------------------------------
|
|
|
|
class FrostMissile : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Speed 25;
|
|
Radius 13;
|
|
Height 8;
|
|
Damage 1;
|
|
DamageType "Ice";
|
|
Projectile;
|
|
DeathSound "MageShardsExplode";
|
|
Obituary "$OB_MPMWEAPFROST";
|
|
}
|
|
|
|
native void A_ShedShard();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
SHRD A 2 Bright;
|
|
SHRD A 3 Bright A_ShedShard;
|
|
SHRD B 3 Bright;
|
|
SHRD C 3 Bright;
|
|
Loop;
|
|
Death:
|
|
SHEX ABCDE 5 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Ice Shard ----------------------------------------------------------------
|
|
|
|
class IceShard : FrostMissile
|
|
{
|
|
Default
|
|
{
|
|
DamageType "Ice";
|
|
-ACTIVATEIMPACT
|
|
-ACTIVATEPCROSS
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SHRD ABC 3 Bright;
|
|
Loop;
|
|
}
|
|
}
|