]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/server/resources.qc
Clear out most references to the .ammo_* fields
[xonotic/xonotic-data.pk3dir.git] / qcsrc / server / resources.qc
index 4ad66bb98ed2169380e7074ea23147a503e652cf..b63ba7874d9042f560957bcdd46babee6309be27 100644 (file)
@@ -74,6 +74,17 @@ float GetResourceAmount(entity e, int resource_type)
        return e.(resource_field);
 }
 
+bool SetResourceAmountExplicit(entity e, int resource_type, float amount)
+{
+       .float resource_field = GetResourceField(resource_type);
+       if (e.(resource_field) != amount)
+       {
+               e.(resource_field) = amount;
+               return true;
+       }
+       return false;
+}
+
 void SetResourceAmount(entity e, int resource_type, float amount)
 {
        bool forbid = MUTATOR_CALLHOOK(SetResourceAmount, e, resource_type, amount);
@@ -90,10 +101,9 @@ void SetResourceAmount(entity e, int resource_type, float amount)
                amount_wasted = amount - max_amount;
                amount = max_amount;
        }
-       .float resource_field = GetResourceField(resource_type);
-       if (e.(resource_field) != amount)
+       bool changed = SetResourceAmountExplicit(e, resource_type, amount);
+       if (changed)
        {
-               e.(resource_field) = amount;
                MUTATOR_CALLHOOK(ResourceAmountChanged, e, resource_type, amount);
        }
        if (amount_wasted == 0)