]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/cl_weaponsystem.qc
Make sure we can never reload weapons inside stomachs
[voretournament/voretournament.git] / data / qcsrc / server / cl_weaponsystem.qc
index b2706ecd34c002cc9f009ec618dbffd3a0080e7e..00360d68cb8b6d0d4d1aa89565ea1b32a312b87b 100644 (file)
@@ -1574,15 +1574,14 @@ void W_ReloadedAndReady()
        self.clip_load = self.old_clip_load; // restore the ammo counter, in case we still had ammo in the weapon before reloading\r
 \r
        // if the gun uses no ammo, max out weapon load, else decrease ammo as we increase weapon load\r
-       if(!self.reload_ammo_min)\r
+       if(!self.reload_ammo_min || self.items & IT_UNLIMITED_WEAPON_AMMO)\r
                self.clip_load = self.reload_ammo_amount;\r
        else\r
        {\r
                while(self.clip_load < self.reload_ammo_amount && self.(self.current_ammo)) // make sure we don't add more ammo than we have\r
                {\r
                        self.clip_load += 1;\r
-                       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)\r
-                               self.(self.current_ammo) -= 1;\r
+                       self.(self.current_ammo) -= 1;\r
                }\r
        }\r
        self.weapon_load[self.weapon] = self.clip_load;\r
@@ -1615,17 +1614,18 @@ void W_Reload(float sent_ammo_min, float sent_ammo_amount, float sent_time, stri
                dprint("Warning: Attempted to reload a weapon that does not have the WEP_FLAG_RELOADABLE flag. Fix your code!\n");\r
                return;\r
        }\r
-\r
        // return if reloading is disabled for this weapon\r
        if(!self.reload_ammo_amount)\r
                return;\r
-\r
+       // we can't reload weapons inside someone's stomach\r
+       if(self.predator.classname == "player")\r
+               return;\r
        // our weapon is fully loaded, no need to reload\r
        if (self.clip_load >= self.reload_ammo_amount)\r
                return;\r
-\r
        // no ammo, so nothing to load\r
        if(!self.(self.current_ammo) && self.reload_ammo_min)\r
+       if not(self.items & IT_UNLIMITED_WEAPON_AMMO)\r
        {\r
                if(clienttype(self) == CLIENTTYPE_REAL && self.reload_complain < time)\r
                {\r