#ifdef SVQC
.float invisibility_finished;
-float autocvar_g_balance_powerup_invisibility_alpha = 0.15;
-float autocvar_g_balance_powerup_invisibility_time = 30;
-void powerup_invisibility_init(Pickup this, entity item)
+bool autocvar_g_powerups_invisibility;
+float autocvar_g_balance_powerup_invisibility_alpha;
+float autocvar_g_balance_powerup_invisibility_time;
+void powerup_invisibility_init(Pickup def, entity item)
{
+ if(!autocvar_g_powerups || !autocvar_g_powerups_invisibility)
+ def.spawnflags |= ITEM_FLAG_MUTATORBLOCKED;
+
if(!item.invisibility_finished)
- item.invisibility_finished = autocvar_g_balance_powerup_invisibility_time;
+ item.invisibility_finished = (item.count) ? item.count : autocvar_g_balance_powerup_invisibility_time;
}
#endif
REGISTER_ITEM(Invisibility, Powerup) {
this.m_canonical_spawnfunc = "item_invisibility";
+#ifdef SVQC
+ this.m_iteminit = powerup_invisibility_init;
+#endif
#ifdef GAMEQC
- this.spawnflags = ITEM_FLAG_NORMAL;
-// this.m_model = MDL_Invisibility_ITEM; // TODO: new model required
- this.m_model = MDL_BUFF;
+ this.spawnflags = ITEM_FLAG_NORMAL;
+ this.m_itemid = IT_INVISIBILITY;
+ this.m_model = MDL_BUFF; // TODO: MDL_Invisibility_ITEM when new model available
this.m_skin = 12;
this.m_sound = SND_Invisibility;
this.m_glow = true;
this.m_color = '0.5 0.5 1';
this.m_waypoint = _("Invisibility");
this.m_waypointblink = 2;
-#ifdef GAMEQC
- this.m_itemid = IT_INVISIBILITY;
-#endif
-#ifdef SVQC
- this.m_iteminit = powerup_invisibility_init;
-#endif
}
SPAWNFUNC_ITEM(item_invisibility, ITEM_Invisibility)
-// compat
-SPAWNFUNC_ITEM(item_invis, ITEM_Invisibility)
CLASS(Invisibility, Powerups)
ATTRIB(Invisibility, netname, string, "invisibility");