]> git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/t_items.qc
Fix invisibility icon shown for speed item in minstagib
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / t_items.qc
index 3846af4bca478403d51bb226f2f0e3f8ab56b4a2..ad03d50ae09210236a4f004c313d78adc6e567d3 100644 (file)
@@ -181,34 +181,46 @@ void Item_Show (entity e, float mode)
 
 float it_armor_large_time;
 float it_health_mega_time;
-float it_strength_time;
 float it_invisible_time;
-float it_extralife_time;
 float it_speed_time;
+float it_extralife_time;
+float it_strength_time;
 float it_shield_time;
 float it_fuelregen_time;
 float it_jetpack_time;
 
+void Item_ItemsTime_Init()
+{
+       it_armor_large_time = -1;
+       it_health_mega_time = -1;
+       it_invisible_time = -1;
+       it_speed_time = -1;
+       it_extralife_time = -1;
+       it_strength_time = -1;
+       it_shield_time = -1;
+       it_fuelregen_time = -1;
+       it_jetpack_time = -1;
+}
 void Item_ClearItemsTime()
 {
-       self.item_armor_large_time = 0;
-       self.item_health_mega_time = 0;
-       self.item_strength_time = 0;
-       self.item_invisible_time = 0;
-       self.item_extralife_time = 0;
-       self.item_speed_time = 0;
-       self.item_shield_time = 0;
-       self.item_fuelregen_time = 0;
-       self.item_jetpack_time = 0;
+       self.item_armor_large_time = (it_armor_large_time == -1) ? -1 : 0;
+       self.item_health_mega_time = (it_health_mega_time == -1) ? -1 : 0;
+       self.item_invisible_time   = (it_invisible_time   == -1) ? -1 : 0;
+       self.item_speed_time       = (it_speed_time       == -1) ? -1 : 0;
+       self.item_extralife_time   = (it_extralife_time   == -1) ? -1 : 0;
+       self.item_strength_time    = (it_strength_time    == -1) ? -1 : 0;
+       self.item_shield_time      = (it_shield_time      == -1) ? -1 : 0;
+       self.item_fuelregen_time   = (it_fuelregen_time   == -1) ? -1 : 0;
+       self.item_jetpack_time     = (it_jetpack_time     == -1) ? -1 : 0;
 }
 void Item_GetItemsTime(entity e)
 {
        e.item_armor_large_time = it_armor_large_time;
        e.item_health_mega_time = it_health_mega_time;
-       e.item_strength_time = it_strength_time;
        e.item_invisible_time = it_invisible_time;
-       e.item_extralife_time = it_extralife_time;
        e.item_speed_time = it_speed_time;
+       e.item_extralife_time = it_extralife_time;
+       e.item_strength_time = it_strength_time;
        e.item_shield_time = it_shield_time;
        e.item_fuelregen_time = it_fuelregen_time;
        e.item_jetpack_time = it_jetpack_time;
@@ -942,6 +954,8 @@ void StartItem (string itemmodel, string pickupsound, float defaultrespawntime,
 
                if((itemflags & (FL_POWERUP | FL_WEAPON)) || (itemid & (IT_HEALTH | IT_ARMOR | IT_KEY1 | IT_KEY2)))
                        self.target = "###item###"; // for finding the nearest item using find()
+
+               Item_UpdateTime(self, 0);
        }
 
        self.bot_pickup = TRUE;