#include <common/items/_mod.qh>
#include <common/items/item/ammo.qh>
-#include <common/items/item/powerup.qh>
+#include <common/mutators/mutator/powerups/_mod.qh>
float instagib_respawntime_ammo = 45;
float instagib_respawntimejitter_ammo = 0;
#ifdef SVQC
int autocvar_g_instagib_ammo_drop;
-void ammo_vaporizercells_init(entity item)
+void ammo_vaporizercells_init(Pickup this, entity item)
{
- if(!item.ammo_cells)
- item.ammo_cells = autocvar_g_instagib_ammo_drop;
+ if(!GetResource(item, RES_CELLS))
+ SetResourceExplicit(item, RES_CELLS, autocvar_g_instagib_ammo_drop);
}
#endif
REGISTER_ITEM(VaporizerCells, Ammo) {
this.m_canonical_spawnfunc = "item_vaporizer_cells";
- this.spawnflags = ITEM_FLAG_INSTAGIB | ITEM_FLAG_MUTATORBLOCKED;
#ifdef GAMEQC
+ this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
this.m_model = MDL_VaporizerCells_ITEM;
this.m_sound = SND_VaporizerCells;
#endif
this.netname = "vaporizer_cells";
- this.m_name = "Vaporizer Ammo";
+ this.m_name = _("Vaporizer ammo");
this.m_icon = "ammo_supercells";
#ifdef SVQC
this.m_botvalue = 2000;
- this.m_itemid = IT_CELLS;
+ this.m_itemid = IT_RESOURCE;
this.m_respawntime = GET(instagib_respawntime_ammo);
this.m_respawntimejitter = GET(instagib_respawntimejitter_ammo);
this.m_iteminit = ammo_vaporizercells_init;
REGISTER_ITEM(ExtraLife, Powerup) {
this.m_canonical_spawnfunc = "item_extralife";
- this.spawnflags = ITEM_FLAG_INSTAGIB;
#ifdef GAMEQC
- this.m_model = MDL_ExtraLife_ITEM;
+ this.m_model = MDL_ExtraLife_ITEM;
this.m_sound = SND_ExtraLife;
#endif
this.netname = "extralife";
- this.m_name = "Extra life";
+ this.m_name = _("Extra life");
this.m_icon = "item_mega_health";
this.m_color = '1 0 0';
this.m_waypoint = _("Extra life");
this.m_waypointblink = 2;
- this.m_itemid = IT_NAILS;
-}
-
-SPAWNFUNC_ITEM(item_extralife, ITEM_ExtraLife)
-
-#ifdef GAMEQC
-MODEL(Invisibility_ITEM, Item_Model("g_strength.md3"));
-SOUND(Invisibility, Item_Sound("powerup"));
-#endif
-
-#ifdef SVQC
-/// \brief Initializes the invisibility powerup.
-/// \param[in,out] item Item to initialize.
-/// \return No return.
-void powerup_invisibility_init(entity item);
-#endif
-
-REGISTER_ITEM(Invisibility, Powerup) {
- this.m_canonical_spawnfunc = "item_invisibility";
- this.spawnflags = ITEM_FLAG_INSTAGIB;
-#ifdef GAMEQC
- this.m_model = MDL_Invisibility_ITEM;
- this.m_sound = SND_Invisibility;
- this.m_glow = true;
- this.m_respawnsound = SND_STRENGTH_RESPAWN;
-#endif
- this.netname = "invisibility";
- this.m_name = "Invisibility";
- this.m_icon = "strength";
- this.m_color = '0 0 1';
- this.m_waypoint = _("Invisibility");
- this.m_waypointblink = 2;
- this.m_itemid = IT_STRENGTH;
-#ifdef SVQC
- this.m_iteminit = powerup_invisibility_init;
-#endif
-}
-
-SPAWNFUNC_ITEM(item_invisibility, ITEM_Invisibility)
-
-#ifdef GAMEQC
-MODEL(Speed_ITEM, Item_Model("g_invincible.md3"));
-SOUND(Speed, Item_Sound("powerup_shield"));
-#endif
-
#ifdef SVQC
-/// \brief Initializes the speed powerup.
-/// \param[in,out] item Item to initialize.
-/// \return No return.
-void powerup_speed_init(entity item);
-#endif
-
-REGISTER_ITEM(Speed, Powerup) {
- this.m_canonical_spawnfunc = "item_speed";
- this.spawnflags = ITEM_FLAG_INSTAGIB;
-#ifdef GAMEQC
- this.m_model = MDL_Speed_ITEM;
- this.m_sound = SND_Speed;
- this.m_glow = true;
- this.m_respawnsound = SND_SHIELD_RESPAWN;
-#endif
- this.netname = "speed";
- this.m_name = "Speed";
- this.m_icon = "shield";
- this.m_color = '1 0 1';
- this.m_waypoint = _("Speed");
- this.m_waypointblink = 2;
- this.m_itemid = IT_INVINCIBLE;
-#ifdef SVQC
- this.m_iteminit = powerup_speed_init;
+ this.m_itemid = IT_RESOURCE;
#endif
}
-SPAWNFUNC_ITEM(item_speed, ITEM_Speed)
+SPAWNFUNC_ITEM(item_extralife, ITEM_ExtraLife)