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.
254 lines
4.2 KiB
Text
254 lines
4.2 KiB
Text
|
|
// Poison Bag (Flechette used by Cleric) ------------------------------------
|
|
|
|
class PoisonBag : Actor
|
|
{
|
|
Default
|
|
{
|
|
Radius 5;
|
|
Height 5;
|
|
+NOBLOCKMAP +NOGRAVITY
|
|
}
|
|
|
|
native void A_PoisonBagInit();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
PSBG A 18 Bright;
|
|
PSBG B 4 Bright;
|
|
PSBG C 3;
|
|
PSBG C 1 A_PoisonBagInit;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Fire Bomb (Flechette used by Mage) ---------------------------------------
|
|
|
|
class FireBomb : Actor
|
|
{
|
|
Default
|
|
{
|
|
DamageType "Fire";
|
|
+NOGRAVITY
|
|
+FOILINVUL
|
|
RenderStyle "Translucent";
|
|
Alpha 0.6;
|
|
DeathSound "FlechetteExplode";
|
|
}
|
|
|
|
native void A_TimeBomb();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
PSBG A 20;
|
|
PSBG AA 10;
|
|
PSBG B 4;
|
|
PSBG C 4 A_Scream;
|
|
XPL1 A 4 Bright A_TimeBomb;
|
|
XPL1 BCDEF 4 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Throwing Bomb (Flechette used by Fighter) --------------------------------
|
|
|
|
class ThrowingBomb : Actor
|
|
{
|
|
Default
|
|
{
|
|
Health 48;
|
|
Speed 12;
|
|
Radius 8;
|
|
Height 10;
|
|
DamageType "Fire";
|
|
+NOBLOCKMAP +DROPOFF +MISSILE
|
|
BounceType "HexenCompat";
|
|
SeeSound "FlechetteBounce";
|
|
DeathSound "FlechetteExplode";
|
|
}
|
|
|
|
native void A_CheckThrowBomb();
|
|
native void A_CheckThrowBomb2();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
THRW A 4 A_CheckThrowBomb;
|
|
THRW BCDE 3 A_CheckThrowBomb;
|
|
THRW F 3 A_CheckThrowBomb2;
|
|
Loop;
|
|
THRW G 6 A_CheckThrowBomb;
|
|
THRW F 4 A_CheckThrowBomb;
|
|
THRW H 6 A_CheckThrowBomb;
|
|
THRW F 4 A_CheckThrowBomb;
|
|
THRW G 6 A_CheckThrowBomb;
|
|
THRW F 3 A_CheckThrowBomb;
|
|
Wait;
|
|
Death:
|
|
CFCF Q 4 Bright A_NoGravity;
|
|
CFCF R 3 Bright A_Scream;
|
|
CFCF S 4 Bright A_Explode;
|
|
CFCF T 3 Bright;
|
|
CFCF U 4 Bright;
|
|
CFCF W 3 Bright;
|
|
CFCF X 4 Bright;
|
|
CFCF Z 3 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Poison Bag Artifact (Flechette) ------------------------------------------
|
|
|
|
class ArtiPoisonBag : Inventory native
|
|
{
|
|
Default
|
|
{
|
|
+FLOATBOB
|
|
Inventory.DefMaxAmount;
|
|
Inventory.PickupFlash "PickupFlash";
|
|
+INVENTORY.INVBAR +INVENTORY.FANCYPICKUPSOUND
|
|
Inventory.Icon "ARTIPSBG";
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
Inventory.PickupMessage "$TXT_ARTIPOISONBAG";
|
|
Tag "$TAG_ARTIPOISONBAG";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PSBG A -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Poison Bag 1 (The Cleric's) ----------------------------------------------
|
|
|
|
class ArtiPoisonBag1 : ArtiPoisonBag native
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "ARTIPSB1";
|
|
Tag "$TAG_ARTIPOISONBAG1";
|
|
}
|
|
}
|
|
|
|
// Poison Bag 2 (The Mage's) ------------------------------------------------
|
|
|
|
class ArtiPoisonBag2 : ArtiPoisonBag native
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "ARTIPSB2";
|
|
Tag "$TAG_ARTIPOISONBAG2";
|
|
}
|
|
}
|
|
|
|
// Poison Bag 3 (The Fighter's) ---------------------------------------------
|
|
|
|
class ArtiPoisonBag3 : ArtiPoisonBag native
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "ARTIPSB3";
|
|
Tag "$TAG_ARTIPOISONBAG3";
|
|
}
|
|
}
|
|
|
|
// Poison Bag 4 (Custom Giver) ----------------------------------------------
|
|
|
|
class ArtiPoisonBagGiver : ArtiPoisonBag native
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "ARTIPSB4";
|
|
}
|
|
}
|
|
|
|
// Poison Bag 5 (Custom Thrower) --------------------------------------------
|
|
|
|
class ArtiPoisonBagShooter : ArtiPoisonBag native
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Icon "ARTIPSB5";
|
|
}
|
|
}
|
|
|
|
// Poison Cloud -------------------------------------------------------------
|
|
|
|
class PoisonCloud : Actor native
|
|
{
|
|
Default
|
|
{
|
|
Radius 20;
|
|
Height 30;
|
|
Mass 0x7fffffff;
|
|
+NOBLOCKMAP +NOGRAVITY +DROPOFF
|
|
+NODAMAGETHRUST
|
|
+DONTSPLASH +FOILINVUL +CANBLAST +BLOODLESSIMPACT +BLOCKEDBYSOLIDACTORS
|
|
RenderStyle "Translucent";
|
|
Alpha 0.6;
|
|
DeathSound "PoisonShroomDeath";
|
|
DamageType "PoisonCloud";
|
|
}
|
|
|
|
native void A_PoisonBagDamage();
|
|
native void A_PoisonBagCheck();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
PSBG D 1;
|
|
PSBG D 1 A_Scream;
|
|
PSBG DEEEFFFGGGHHHII 2 A_PoisonBagDamage;
|
|
PSBG I 2 A_PoisonBagCheck;
|
|
PSBG I 1 A_PoisonBagCheck;
|
|
Goto Spawn + 3;
|
|
Death:
|
|
PSBG HG 7;
|
|
PSBG FD 6;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Poison Shroom ------------------------------------------------------------
|
|
|
|
class ZPoisonShroom : PoisonBag
|
|
{
|
|
Default
|
|
{
|
|
Radius 6;
|
|
Height 20;
|
|
PainChance 255;
|
|
Health 30;
|
|
Mass 0x7fffffff;
|
|
+SHOOTABLE
|
|
+SOLID
|
|
+NOBLOOD
|
|
+NOICEDEATH
|
|
-NOBLOCKMAP
|
|
-NOGRAVITY
|
|
PainSound "PoisonShroomPain";
|
|
DeathSound "PoisonShroomDeath";
|
|
}
|
|
|
|
native void A_PoisonShroom();
|
|
|
|
States
|
|
{
|
|
Spawn:
|
|
SHRM A 5 A_PoisonShroom;
|
|
Goto Pain+1;
|
|
Pain:
|
|
SHRM A 6;
|
|
SHRM B 8 A_Pain;
|
|
Goto Spawn;
|
|
Death:
|
|
SHRM CD 5;
|
|
SHRM E 5 A_PoisonBagInit;
|
|
SHRM F -1;
|
|
Stop;
|
|
}
|
|
}
|
|
|