]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/weapons/throwing.qc
Fixes the superweapons portion of #2422 "target_items issues"
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / weapons / throwing.qc
index 9aaabb05bfafa8075ea63466e89ab0996ffe53b5..ba039fc1055baf6655a3bc91724635df4d69281f 100644 (file)
@@ -67,15 +67,15 @@ float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector
                        });
                        if(superweapons <= 1)
                        {
-                               wep.superweapons_finished = own.superweapons_finished;
-                               own.superweapons_finished = 0;
+                               wep.superweapons_finished = STAT(SUPERWEAPONS_FINISHED, own);
+                               STAT(SUPERWEAPONS_FINISHED, own) = 0;
                        }
                        else
                        {
-                               float timeleft = own.superweapons_finished - time;
+                               float timeleft = STAT(SUPERWEAPONS_FINISHED, own) - time;
                                float weptimeleft = timeleft / superweapons;
                                wep.superweapons_finished = time + weptimeleft;
-                               own.superweapons_finished -= weptimeleft;
+                               STAT(SUPERWEAPONS_FINISHED, own) -= weptimeleft;
                        }
                }
        }
@@ -89,7 +89,7 @@ float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector
        wep.pickup_anyway = true; // these are ALWAYS pickable
 
        //wa = W_AmmoItemCode(wpn);
-       if(ammotype == RESOURCE_NONE)
+       if(ammotype == RES_NONE)
        {
                return 0;
        }
@@ -104,7 +104,7 @@ float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector
                                GiveResource(own, ammotype, own.(weaponentity).(weapon_load[i]));
                                own.(weaponentity).(weapon_load[i]) = -1; // schedule the weapon for reloading
                        }
-                       SetResourceAmount(wep, ammotype, 0);
+                       SetResource(wep, ammotype, 0);
                }
                else if(doreduce)
                {
@@ -116,10 +116,10 @@ float W_ThrowNewWeapon(entity own, float wpn, float doreduce, vector org, vector
                                own.(weaponentity).(weapon_load[i]) = -1; // schedule the weapon for reloading
                        }
 
-                       float ownderammo = GetResourceAmount(own, ammotype);
-                       float thisammo = min(ownderammo, GetResourceAmount(wep, ammotype));
-                       SetResourceAmount(wep, ammotype, thisammo);
-                       SetResourceAmount(own, ammotype, ownderammo - thisammo);
+                       float ownderammo = GetResource(own, ammotype);
+                       float thisammo = min(ownderammo, GetResource(wep, ammotype));
+                       SetResource(wep, ammotype, thisammo);
+                       SetResource(own, ammotype, ownderammo - thisammo);
 
                        return thisammo;
                }
@@ -134,9 +134,9 @@ bool W_IsWeaponThrowable(entity this, int w)
        if (!autocvar_g_pickup_items)
                return false;
        if (g_weaponarena)
-               return 0;
-    if(w == WEP_Null.m_id)
-        return false;
+               return false;
+       if (w == WEP_Null.m_id)
+               return false;
 
        return (Weapons_from(w)).weaponthrowable;
 }