]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/client/View.qc
Armor helper
[voretournament/voretournament.git] / data / qcsrc / client / View.qc
index 5d91a7ef6e9fe32f5dcbd243ea9e0e4707613fd1..87b8f15cf76f27a3d01644b87395535d6dc6163c 100644 (file)
@@ -258,7 +258,7 @@ float stomachsplash_alpha;
 float volume_modify_1, volume_modify_2, volume_modify_default_1, volume_modify_default_2;\r
 float volume_modify_changed_1, volume_modify_changed_2;\r
 float eventchase_current_distance;\r
-float helper_pause, helper_health;\r
+float helper_pause, helper_health, helper_armor, helper_ammo;\r
 vector myhealth_gentlergb;\r
 vector liquidcolor_prev;\r
 vector damage_blurpostprocess, content_blurpostprocess;\r
@@ -300,20 +300,42 @@ void CSQC_UpdateView(float w, float h)
 \r
        // helper system\r
        if(cvar("cl_helper"))\r
-       if(helper_pause <= time)\r
-       if(!intermission && !respawned && spectatee_status >= 0 && getstati(STAT_HEALTH) > 0 && !getstati(STAT_VORE_EATEN))\r
        {\r
-               if(getstati(STAT_HEALTH) <= cvar("cl_helper_health_value"))\r
+               if(intermission || respawned || spectatee_status < 0 || getstati(STAT_HEALTH) <= 0 || getstati(STAT_VORE_EATEN))\r
                {\r
-                       if(!helper_health)\r
+                       // Set these helper messages as having been triggered, so that the player must first reach them before they complain.\r
+                       // Otherwise, if you don't have any start armor for instance, the helper will complain about low armor when we spawn.\r
+                       helper_health = TRUE;\r
+                       helper_armor = TRUE;\r
+               }\r
+               else if(helper_pause <= time)\r
+               {\r
+                       // health helper\r
+                       if(getstati(STAT_HEALTH) <= cvar("cl_helper_health_value"))\r
                        {\r
-                               sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/health_low.wav"), VOL_BASEVOICE, ATTN_NONE);\r
-                               helper_health = TRUE;\r
-                               helper_pause = time + cvar("cl_helper_pause");\r
+                               if(!helper_health)\r
+                               {\r
+                                       sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/health_low.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+                                       helper_health = TRUE;\r
+                                       helper_pause = time + cvar("cl_helper_pause");\r
+                               }\r
+                       }\r
+                       else if(helper_health)\r
+                               helper_health = FALSE;\r
+\r
+                       // armor helper\r
+                       if(getstati(STAT_ARMOR) <= cvar("cl_helper_armor_value"))\r
+                       {\r
+                               if(!helper_armor)\r
+                               {\r
+                                       sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/armor_low.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+                                       helper_armor = TRUE;\r
+                                       helper_pause = time + cvar("cl_helper_pause");\r
+                               }\r
                        }\r
+                       else if(helper_armor)\r
+                               helper_armor = FALSE;\r
                }\r
-               else if(helper_health)\r
-                       helper_health = FALSE;\r
        }\r
 \r
        // event chase camera\r