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(!GetResource(item, RES_CELLS))
22 SetResourceExplicit(item, RES_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_RESOURCE;
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_text = _("Extra life");
63 this.m_waypoint_icon = "waypoint_health_mega";
64 this.m_waypointblink = 2;
66 this.m_itemid = IT_RESOURCE;
70 SPAWNFUNC_ITEM(item_extralife, ITEM_ExtraLife)
73 MODEL(Invisibility_ITEM, Item_Model("g_strength.md3"));
74 SOUND(Invisibility, Item_Sound("powerup"));
78 /// \brief Initializes the invisibility powerup.
79 /// \param[in,out] item Item to initialize.
80 /// \return No return.
81 void powerup_invisibility_init(Pickup this, entity item);
84 REGISTER_ITEM(Invisibility, Powerup) {
85 this.m_canonical_spawnfunc = "item_invisibility";
87 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
88 this.m_model = MDL_Invisibility_ITEM;
89 this.m_sound = SND_Invisibility;
91 this.m_respawnsound = SND_STRENGTH_RESPAWN;
93 this.netname = "invisibility";
94 this.m_name = _("Invisibility");
95 this.m_icon = "strength";
96 this.m_color = '0 0 1';
97 this.m_waypoint_text = _("Invisibility");
98 this.m_waypoint_icon = "waypoint_invisibility";
99 this.m_waypointblink = 2;
101 this.m_itemid = IT_STRENGTH;
104 this.m_iteminit = powerup_invisibility_init;
108 SPAWNFUNC_ITEM(item_invisibility, ITEM_Invisibility)
111 MODEL(Speed_ITEM, Item_Model("g_invincible.md3"));
112 SOUND(Speed, Item_Sound("powerup_shield"));
116 /// \brief Initializes the speed powerup.
117 /// \param[in,out] item Item to initialize.
118 /// \return No return.
119 void powerup_speed_init(Pickup this, entity item);
122 REGISTER_ITEM(Speed, Powerup) {
123 this.m_canonical_spawnfunc = "item_speed";
125 this.spawnflags = ITEM_FLAG_MUTATORBLOCKED;
126 this.m_model = MDL_Speed_ITEM;
127 this.m_sound = SND_Speed;
129 this.m_respawnsound = SND_SHIELD_RESPAWN;
131 this.netname = "speed";
132 this.m_name = _("Speed");
133 this.m_icon = "shield";
134 this.m_color = '1 0 1';
135 this.m_waypoint_text = _("Speed");
136 this.m_waypoint_icon = "waypoint_speed";
137 this.m_waypointblink = 2;
139 this.m_itemid = IT_INVINCIBLE;
142 this.m_iteminit = powerup_speed_init;
146 SPAWNFUNC_ITEM(item_speed, ITEM_Speed)