3 #include <common/items/_mod.qh>
4 #include <common/items/item/ammo.qh>
5 #include <common/items/item/powerup.qh>
7 float instagib_respawntime_ammo = 45;
8 float instagib_respawntimejitter_ammo = 0;
9 GETTER(float, instagib_respawntime_ammo)
10 GETTER(float, instagib_respawntimejitter_ammo)
13 MODEL(VaporizerCells_ITEM, Item_Model("a_cells.md3"));
14 SOUND(VaporizerCells, Item_Sound("itempickup"));
18 int autocvar_g_instagib_ammo_drop;
19 void ammo_vaporizercells_init(Pickup this, entity item)
21 if(!GetResourceAmount(item, RESOURCE_CELLS))
22 SetResourceAmountExplicit(item, RESOURCE_CELLS, autocvar_g_instagib_ammo_drop);
25 REGISTER_ITEM(VaporizerCells, Ammo) {
26 this.m_canonical_spawnfunc = "item_vaporizer_cells";
28 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
29 this.m_model = MDL_VaporizerCells_ITEM;
30 this.m_sound = SND_VaporizerCells;
32 this.netname = "vaporizer_cells";
33 this.m_name = _("Vaporizer ammo");
34 this.m_icon = "ammo_supercells";
36 this.m_botvalue = 2000;
37 this.m_itemid = IT_CELLS;
38 this.m_respawntime = GET(instagib_respawntime_ammo);
39 this.m_respawntimejitter = GET(instagib_respawntimejitter_ammo);
40 this.m_iteminit = ammo_vaporizercells_init;
44 SPAWNFUNC_ITEM(item_vaporizer_cells, ITEM_VaporizerCells)
45 SPAWNFUNC_ITEM(item_minst_cells, ITEM_VaporizerCells)
48 MODEL(ExtraLife_ITEM, Item_Model("g_h100.md3"));
49 SOUND(ExtraLife, Item_Sound("megahealth"));
52 REGISTER_ITEM(ExtraLife, Powerup) {
53 this.m_canonical_spawnfunc = "item_extralife";
55 this.m_model = MDL_ExtraLife_ITEM;
56 this.m_sound = SND_ExtraLife;
58 this.netname = "extralife";
59 this.m_name = _("Extra life");
60 this.m_icon = "item_mega_health";
61 this.m_color = '1 0 0';
62 this.m_waypoint = _("Extra life");
63 this.m_waypointblink = 2;
64 this.m_itemid = IT_NAILS;
67 SPAWNFUNC_ITEM(item_extralife, ITEM_ExtraLife)
70 MODEL(Invisibility_ITEM, Item_Model("g_strength.md3"));
71 SOUND(Invisibility, Item_Sound("powerup"));
75 /// \brief Initializes the invisibility powerup.
76 /// \param[in,out] item Item to initialize.
77 /// \return No return.
78 void powerup_invisibility_init(Pickup this, entity item);
81 REGISTER_ITEM(Invisibility, Powerup) {
82 this.m_canonical_spawnfunc = "item_invisibility";
84 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
85 this.m_model = MDL_Invisibility_ITEM;
86 this.m_sound = SND_Invisibility;
88 this.m_respawnsound = SND_STRENGTH_RESPAWN;
90 this.netname = "invisibility";
91 this.m_name = _("Invisibility");
92 this.m_icon = "strength";
93 this.m_color = '0 0 1';
94 this.m_waypoint = _("Invisibility");
95 this.m_waypointblink = 2;
96 this.m_itemid = IT_STRENGTH;
98 this.m_iteminit = powerup_invisibility_init;
102 SPAWNFUNC_ITEM(item_invisibility, ITEM_Invisibility)
105 MODEL(Speed_ITEM, Item_Model("g_invincible.md3"));
106 SOUND(Speed, Item_Sound("powerup_shield"));
110 /// \brief Initializes the speed powerup.
111 /// \param[in,out] item Item to initialize.
112 /// \return No return.
113 void powerup_speed_init(Pickup this, entity item);
116 REGISTER_ITEM(Speed, Powerup) {
117 this.m_canonical_spawnfunc = "item_speed";
119 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
120 this.m_model = MDL_Speed_ITEM;
121 this.m_sound = SND_Speed;
123 this.m_respawnsound = SND_SHIELD_RESPAWN;
125 this.netname = "speed";
126 this.m_name = _("Speed");
127 this.m_icon = "shield";
128 this.m_color = '1 0 1';
129 this.m_waypoint = _("Speed");
130 this.m_waypointblink = 2;
131 this.m_itemid = IT_INVINCIBLE;
133 this.m_iteminit = powerup_speed_init;
137 SPAWNFUNC_ITEM(item_speed, ITEM_Speed)