#include "../../common/items/all.qc"
- void spawnfunc_item_minst_cells (void)
+ void spawnfunc_item_minst_cells()
-{
+{SELFPARAM();
if (!g_instagib) { remove(self); return; }
- if (!self.ammo_cells)
- self.ammo_cells = autocvar_g_instagib_ammo_drop;
+ if (!self.ammo_cells) self.ammo_cells = autocvar_g_instagib_ammo_drop;
+ StartItemA(ITEM_VaporizerCells);
+ }
- StartItemA (ITEM_VaporizerCells);
+ void instagib_invisibility()
+ {
+ self.strength_finished = autocvar_g_balance_powerup_strength_time;
+ StartItemA(ITEM_Invisibility);
}
- void instagib_health_mega()
+ void instagib_extralife()
-{
+{SELFPARAM();
self.max_health = 1;
- StartItemA (ITEM_ExtraLife);
+ StartItemA(ITEM_ExtraLife);
+ }
+
+ void instagib_speed()
+ {
+ self.invincible_finished = autocvar_g_balance_powerup_invincible_time;
+ StartItemA(ITEM_Speed);
}
.float instagib_nextthink;
}
MUTATOR_HOOKFUNCTION(instagib_PlayerPhysics)
-{
+{SELFPARAM();
- if(self.items & ITEM_Shield.m_itemid)
+ if(self.items & ITEM_Speed.m_itemid)
self.stat_sv_maxspeed = self.stat_sv_maxspeed * autocvar_g_instagib_speed_highspeed;
return false;
}
MUTATOR_HOOKFUNCTION(instagib_OnEntityPreSpawn)
-{
+{SELFPARAM();
if (!autocvar_g_powerups) { return false; }
- if (!(self.classname == "item_strength" || self.classname == "item_invincible" || self.itemdef == ITEM_HealthMega))
+ // Can't use .itemdef here
+ if (!(self.classname == "item_strength" || self.classname == "item_invincible" || self.classname == "item_health_mega"))
return false;
entity e = spawn();