mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 15:22:16 +00:00
12915b5f6e
- use an enum type for ItemFlags, just like it was done for actor flags. Since the flag word is almost full it may soon be necessary to add a second one and then this kind of security check may become necessary.
204 lines
3.5 KiB
Text
204 lines
3.5 KiB
Text
// Invulnerability Sphere ---------------------------------------------------
|
|
|
|
class InvulnerabilitySphere : PowerupGiver
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.AUTOACTIVATE
|
|
+INVENTORY.ALWAYSPICKUP
|
|
+INVENTORY.BIGPOWERUP
|
|
Inventory.MaxAmount 0;
|
|
Powerup.Type "PowerInvulnerable";
|
|
Powerup.Color "InverseMap";
|
|
Inventory.PickupMessage "$GOTINVUL";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PINV ABCD 6 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Soulsphere --------------------------------------------------------------
|
|
|
|
class Soulsphere : Health
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM;
|
|
+INVENTORY.AUTOACTIVATE;
|
|
+INVENTORY.ALWAYSPICKUP;
|
|
+INVENTORY.FANCYPICKUPSOUND;
|
|
Inventory.Amount 100;
|
|
Inventory.MaxAmount 200;
|
|
Inventory.PickupMessage "$GOTSUPER";
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SOUL ABCDCB 6 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Mega sphere --------------------------------------------------------------
|
|
|
|
class MegasphereHealth : Health // for manipulation by Dehacked
|
|
{
|
|
Default
|
|
{
|
|
Inventory.Amount 200;
|
|
Inventory.MaxAmount 200;
|
|
+INVENTORY.ALWAYSPICKUP
|
|
}
|
|
}
|
|
|
|
// DeHackEd can only modify the blue armor's type, not the megasphere's.
|
|
class BlueArmorForMegasphere : BlueArmor
|
|
{
|
|
Default
|
|
{
|
|
Armor.SavePercent 50;
|
|
Armor.SaveAmount 200;
|
|
}
|
|
}
|
|
|
|
class Megasphere : CustomInventory
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.ALWAYSPICKUP
|
|
+INVENTORY.ISHEALTH
|
|
+INVENTORY.ISARMOR
|
|
Inventory.PickupMessage "$GOTMSPHERE";
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
MEGA ABCD 6 BRIGHT;
|
|
Loop;
|
|
Pickup:
|
|
TNT1 A 0 A_GiveInventory("BlueArmorForMegasphere", 1);
|
|
TNT1 A 0 A_GiveInventory("MegasphereHealth", 1);
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// Invisibility -------------------------------------------------------------
|
|
|
|
class BlurSphere : PowerupGiver
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+VISIBILITYPULSE
|
|
+INVENTORY.AUTOACTIVATE
|
|
+INVENTORY.ALWAYSPICKUP
|
|
+INVENTORY.BIGPOWERUP
|
|
Inventory.MaxAmount 0;
|
|
Powerup.Type "PowerInvisibility";
|
|
RenderStyle "Translucent";
|
|
Inventory.PickupMessage "$GOTINVIS";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PINS ABCD 6 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Radiation suit (aka iron feet) -------------------------------------------
|
|
|
|
class RadSuit : PowerupGiver
|
|
{
|
|
Default
|
|
{
|
|
Height 46;
|
|
+INVENTORY.AUTOACTIVATE
|
|
+INVENTORY.ALWAYSPICKUP
|
|
Inventory.MaxAmount 0;
|
|
Inventory.PickupMessage "$GOTSUIT";
|
|
Powerup.Type "PowerIronFeet";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
SUIT A -1 Bright;
|
|
Stop;
|
|
}
|
|
}
|
|
|
|
// infrared -----------------------------------------------------------------
|
|
|
|
class Infrared : PowerupGiver
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.AUTOACTIVATE
|
|
+INVENTORY.ALWAYSPICKUP
|
|
Inventory.MaxAmount 0;
|
|
Powerup.Type "PowerLightAmp";
|
|
Inventory.PickupMessage "$GOTVISOR";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PVIS A 6 Bright;
|
|
PVIS B 6;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Allmap -------------------------------------------------------------------
|
|
|
|
class Allmap : MapRevealer
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.FANCYPICKUPSOUND
|
|
+INVENTORY.ALWAYSPICKUP
|
|
Inventory.MaxAmount 0;
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
Inventory.PickupMessage "$GOTMAP";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PMAP ABCDCB 6 Bright;
|
|
Loop;
|
|
}
|
|
}
|
|
|
|
// Berserk ------------------------------------------------------------------
|
|
|
|
class Berserk : CustomInventory
|
|
{
|
|
Default
|
|
{
|
|
+COUNTITEM
|
|
+INVENTORY.ALWAYSPICKUP
|
|
+INVENTORY.ISHEALTH
|
|
Inventory.PickupMessage "$GOTBERSERK";
|
|
Inventory.PickupSound "misc/p_pkup";
|
|
}
|
|
States
|
|
{
|
|
Spawn:
|
|
PSTR A -1;
|
|
Stop;
|
|
Pickup:
|
|
TNT1 A 0 A_GiveInventory("PowerStrength");
|
|
TNT1 A 0 HealThing(100, 0);
|
|
TNT1 A 0 A_SelectWeapon("Fist");
|
|
Stop;
|
|
}
|
|
}
|
|
|