]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Add burst ammo control
authorSamual Lenks <samual@xonotic.org>
Thu, 20 Feb 2014 05:47:14 +0000 (00:47 -0500)
committerSamual Lenks <samual@xonotic.org>
Thu, 20 Feb 2014 05:47:14 +0000 (00:47 -0500)
qcsrc/common/weapons/w_arc.qc

index c4932a23da4f57dfc624c36db97ca38a0978ed8f..a5521462f53f89a9e092e09689099f6a35d49b04 100644 (file)
@@ -38,6 +38,7 @@ REGISTER_WEAPON(
        w_cvar(id, sn, NONE, beam_refire) \
        w_cvar(id, sn, NONE, beam_returnspeed) \
        w_cvar(id, sn, NONE, beam_tightness) \
+       w_cvar(id, sn, NONE, burst_ammo) \
        w_cvar(id, sn, NONE, burst_damage) \
        w_cvar(id, sn, NONE, burst_healing_aps) \
        w_cvar(id, sn, NONE, burst_healing_hps) \
@@ -160,10 +161,16 @@ void W_Arc_Beam_Think(void)
        float dt = frametime;
        if(!(self.owner.items & IT_UNLIMITED_WEAPON_AMMO))
        {
-               if(WEP_CVAR(arc, beam_ammo))
+               float rootammo;
+               if(burst)
+                       { rootammo = WEP_CVAR(arc, burst_ammo); }
+               else
+                       { rootammo = WEP_CVAR(arc, beam_ammo); }
+
+               if(rootammo)
                {
-                       dt = min(dt, self.owner.WEP_AMMO(ARC) / WEP_CVAR(arc, beam_ammo));
-                       self.owner.WEP_AMMO(ARC) = max(0, self.owner.WEP_AMMO(ARC) - WEP_CVAR(arc, beam_ammo) * frametime);
+                       dt = min(dt, self.owner.WEP_AMMO(ARC) / rootammo);
+                       self.owner.WEP_AMMO(ARC) = max(0, self.owner.WEP_AMMO(ARC) - (rootammo * frametime));
                }
        }