+ // helper system\r
+ if(cvar("cl_helper"))\r
+ if not(getstati(STAT_ARMOR) < g_power || time <= power_boot)\r
+ {\r
+ if(intermission || respawned || spectatee_status < 0 || getstati(STAT_HEALTH) <= 0 || getstati(STAT_VORE_EATEN))\r
+ {\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
+ helper_ammo = TRUE;\r
+ helper_stomachload = TRUE;\r
+ }\r
+ else if(helper_pause <= time)\r
+ {\r
+ // health helper\r
+ if(getstati(STAT_HEALTH) <= cvar("cl_helper_item_health"))\r
+ {\r
+ if(cvar("cl_helper_item_health") && !helper_health)\r
+ {\r
+ sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/health.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+ helper_health = TRUE;\r
+ helper_pause = time + cvar("cl_helper_pause");\r
+ helper_ammo = 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_item_armor"))\r
+ {\r
+ if(cvar("cl_helper_item_armor") && !helper_armor)\r
+ {\r
+ sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/armor.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
+ // ammo helper\r
+ if(getstati(STAT_FUEL) <= cvar("cl_helper_item_ammo_fuel"))\r
+ {\r
+ if(cvar("cl_helper_item_ammo_fuel") && !helper_ammo)\r
+ {\r
+ sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/ammo.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+ helper_ammo = TRUE;\r
+ helper_pause = time + cvar("cl_helper_pause");\r
+ }\r
+ }\r
+ else if(helper_ammo)\r
+ helper_ammo = FALSE;\r
+\r
+ // speed helper\r
+ if(vlen(pmove_vel) >= cvar("cl_helper_item_speed"))\r
+ {\r
+ if(cvar("cl_helper_item_speed") && !helper_speed)\r
+ {\r
+ sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/speed.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+ helper_speed = TRUE;\r
+ helper_pause = time + cvar("cl_helper_pause");\r
+ }\r
+ }\r
+ else if(helper_speed)\r
+ helper_speed = FALSE;\r
+\r
+ // stomach load helper\r
+ if(getstati(STAT_VORE_LOAD) / getstati(STAT_VORE_MAXLOAD) >= cvar("cl_helper_item_stomachload"))\r
+ {\r
+ if(cvar("cl_helper_item_stomachload") && !helper_stomachload)\r
+ {\r
+ sound(self, CHAN_VOICE, strcat("helper/", cvar_string("cl_helper_voice"), "/stomachload.wav"), VOL_BASEVOICE, ATTN_NONE);\r
+ helper_stomachload = TRUE;\r
+ helper_pause = time + cvar("cl_helper_pause");\r
+ }\r
+ }\r
+ else if(helper_stomachload)\r
+ helper_stomachload = FALSE;\r
+ }\r
+ }\r
+\r