]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Fix some things I broke
authorSamual Lenks <samual@xonotic.org>
Wed, 11 Dec 2013 04:12:15 +0000 (23:12 -0500)
committerSamual Lenks <samual@xonotic.org>
Wed, 11 Dec 2013 04:12:15 +0000 (23:12 -0500)
16 files changed:
qcsrc/common/weapons/w_arc.qc
qcsrc/common/weapons/w_crylink.qc
qcsrc/common/weapons/w_devastator.qc
qcsrc/common/weapons/w_electro.qc
qcsrc/common/weapons/w_hagar.qc
qcsrc/common/weapons/w_hlac.qc
qcsrc/common/weapons/w_machinegun.qc
qcsrc/common/weapons/w_minelayer.qc
qcsrc/common/weapons/w_minstanex.qc
qcsrc/common/weapons/w_mortar.qc
qcsrc/common/weapons/w_nex.qc
qcsrc/common/weapons/w_rifle.qc
qcsrc/common/weapons/w_seeker.qc
qcsrc/common/weapons/weapons.qc
qcsrc/common/weapons/weapons.qh
qcsrc/server/weapons/weaponsystem.qc

index aad7bd72b873551df2e548e4a0a6dbf1b5932b58..181a386adb07e64a5f6bf65110b09b74037c72fa 100644 (file)
@@ -78,7 +78,7 @@ void W_Arc_Beam_Think()
                remove(self);
                return;
        }
-       if (self.owner.weaponentity.state != WS_INUSE || (self.owner.(self.current_ammo) <= 0 && !(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)) || self.owner.deadflag != DEAD_NO || !self.owner.BUTTON_ATCK || self.owner.freezetag_frozen)
+       if (self.owner.weaponentity.state != WS_INUSE || (self.owner.AMMO_VAL(WEP_ARC) <= 0 && !(self.owner.items & IT_UNLIMITED_WEAPON_AMMO)) || self.owner.deadflag != DEAD_NO || !self.owner.BUTTON_ATCK || self.owner.freezetag_frozen)
        {
                if(self == self.owner.arc_beam)
                        self.owner.arc_beam = world;
@@ -96,8 +96,8 @@ void W_Arc_Beam_Think()
        {
                if(WEP_CVAR_PRI(arc, ammo))
                {
-                       dt = min(dt, self.owner.(self.current_ammo) / WEP_CVAR_PRI(arc, ammo));
-                       self.owner.(self.current_ammo) = max(0, self.owner.(self.current_ammo) - WEP_CVAR_PRI(arc, ammo) * frametime);
+                       dt = min(dt, self.owner.AMMO_VAL(WEP_ARC) / WEP_CVAR_PRI(arc, ammo));
+                       self.owner.AMMO_VAL(WEP_ARC) = max(0, self.owner.AMMO_VAL(WEP_ARC) - WEP_CVAR_PRI(arc, ammo) * frametime);
                }
        }
 
@@ -253,11 +253,11 @@ float w_arc(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       return !WEP_CVAR_PRI(arc, ammo) || (self.(self.current_ammo) > 0);
+                       return !WEP_CVAR_PRI(arc, ammo) || (self.AMMO_VAL(WEP_ARC) > 0);
                }
                case WR_CHECKAMMO2:
                {
-                       return self.(self.current_ammo) >= WEP_CVAR_SEC(arc, ammo);
+                       return self.AMMO_VAL(WEP_ARC) >= WEP_CVAR_SEC(arc, ammo);
                }
                case WR_CONFIG:
                {
index 704b8e5b923946415a4b35aea02431db9f0268c5..45675b28e4657c8b98280d389bb6a048627e3b40 100644 (file)
@@ -647,7 +647,7 @@ float w_crylink(float req)
                        if(self.crylink_lastgroup && self.crylink_waitrelease)
                                return TRUE;
 
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(crylink, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_CRYLINK) >= WEP_CVAR_PRI(crylink, ammo);
                        ammo_amount += self.(weapon_load[WEP_CRYLINK]) >= WEP_CVAR_PRI(crylink, ammo);
                        return ammo_amount;
                }
@@ -657,7 +657,7 @@ float w_crylink(float req)
                        if(self.crylink_lastgroup && self.crylink_waitrelease)
                                return TRUE;
 
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(crylink, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_CRYLINK) >= WEP_CVAR_SEC(crylink, ammo);
                        ammo_amount += self.(weapon_load[WEP_CRYLINK]) >= WEP_CVAR_SEC(crylink, ammo);
                        return ammo_amount;
                }
index 66bd112a87421d3b4f08d48aff3e64fd5edf9d1b..d2424704c0aa90be586312b36428c6ab87f71155 100644 (file)
@@ -81,7 +81,7 @@ void W_Devastator_Explode()
 
        if (self.realowner.weapon == WEP_DEVASTATOR)
        {
-               if(self.realowner.(self.current_ammo) < WEP_CVAR(devastator, ammo))
+               if(self.realowner.AMMO_VAL(WEP_DEVASTATOR) < WEP_CVAR(devastator, ammo))
                {
                        self.realowner.cnt = WEP_DEVASTATOR;
                        ATTACK_FINISHED(self.realowner) = time;
@@ -102,7 +102,7 @@ void W_Devastator_DoRemoteExplode()
 
        if (self.realowner.weapon == WEP_DEVASTATOR)
        {
-               if(self.realowner.(self.current_ammo) < WEP_CVAR(devastator, ammo))
+               if(self.realowner.AMMO_VAL(WEP_DEVASTATOR) < WEP_CVAR(devastator, ammo))
                {
                        self.realowner.cnt = WEP_DEVASTATOR;
                        ATTACK_FINISHED(self.realowner) = time;
@@ -414,10 +414,10 @@ float W_Devastator(float req)
                                ammo_amount = FALSE;
                                if(WEP_CVAR(devastator, reload_ammo))
                                {
-                                       if(self.(self.current_ammo) < WEP_CVAR(devastator, ammo) && self.(weapon_load[WEP_DEVASTATOR]) < WEP_CVAR(devastator, ammo))
+                                       if(self.AMMO_VAL(WEP_DEVASTATOR) < WEP_CVAR(devastator, ammo) && self.(weapon_load[WEP_DEVASTATOR]) < WEP_CVAR(devastator, ammo))
                                                ammo_amount = TRUE;
                                }
-                               else if(self.(self.current_ammo) < WEP_CVAR(devastator, ammo))
+                               else if(self.AMMO_VAL(WEP_DEVASTATOR) < WEP_CVAR(devastator, ammo))
                                        ammo_amount = TRUE;
                                return !ammo_amount;
                        }
index d5cba995d5d4525f8b4bef352e6c2f7015dfdace..2d33e602b365971f6d86f1042802a25d70d25bb3 100644 (file)
@@ -487,7 +487,7 @@ float W_Electro(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(electro, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_PRI(electro, ammo);
                        ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_PRI(electro, ammo);
                        return ammo_amount;
                }
@@ -495,12 +495,12 @@ float W_Electro(float req)
                {
                        if(WEP_CVAR(electro, combo_safeammocheck)) // true if you can fire at least one secondary blob AND one primary shot after it, otherwise false.
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
                                ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_SEC(electro, ammo) + WEP_CVAR_PRI(electro, ammo);
                        }
                        else
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(electro, ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_ELECTRO) >= WEP_CVAR_SEC(electro, ammo);
                                ammo_amount += self.(weapon_load[WEP_ELECTRO]) >= WEP_CVAR_SEC(electro, ammo);
                        }
                        return ammo_amount;
index 87863a1946c555b957afbda219b3b7121104edd6..f7a7d5870c3960bb6b243d62c1f43fab5e3b8ae1 100644 (file)
@@ -297,7 +297,7 @@ void W_Hagar_Attack2_Load (void)
        if(autocvar_g_balance_hagar_reload_ammo)
                enough_ammo = self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_SEC(hagar, ammo);
        else
-               enough_ammo = self.(self.current_ammo) >= WEP_CVAR_SEC(hagar, ammo);
+               enough_ammo = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_SEC(hagar, ammo);
 
        if(self.BUTTON_ATCK2)
        {
@@ -463,13 +463,13 @@ float w_hagar(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(hagar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_PRI(hagar, ammo);
                        ammo_amount += self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_PRI(hagar, ammo);
                        return ammo_amount;
                }
                case WR_CHECKAMMO2:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(hagar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HAGAR) >= WEP_CVAR_SEC(hagar, ammo);
                        ammo_amount += self.(weapon_load[WEP_HAGAR]) >= WEP_CVAR_SEC(hagar, ammo);
                        return ammo_amount;
                }
index a01b8681230d60aaaab3811dcc46d1f3e4db2776..126f922ad85b7ef0f54333d35a8a987ceaac6e00 100644 (file)
@@ -244,13 +244,13 @@ float w_hlac(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(hlac, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HLAC) >= WEP_CVAR_PRI(hlac, ammo);
                        ammo_amount += self.(weapon_load[WEP_HLAC]) >= WEP_CVAR_PRI(hlac, ammo);
                        return ammo_amount;
                }
                case WR_CHECKAMMO2:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(hlac, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_HLAC) >= WEP_CVAR_SEC(hlac, ammo);
                        ammo_amount += self.(weapon_load[WEP_HLAC]) >= WEP_CVAR_SEC(hlac, ammo);
                        return ammo_amount;
                }
index 18dec54fdcbc27c74c0fa448d2b48af7961a0c83..d1dacd5b9048a5ba9e5acf910aa4a5798a516946 100644 (file)
@@ -314,9 +314,9 @@ float w_uzi(float req)
                case WR_CHECKAMMO1:
                {
                        if(WEP_CVAR(uzi, mode) == 1)
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(uzi, sustained_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_UZI) >= WEP_CVAR(uzi, sustained_ammo);
                        else
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(uzi, first_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_UZI) >= WEP_CVAR(uzi, first_ammo);
 
                        if(autocvar_g_balance_uzi_reload_ammo)
                        {
@@ -330,9 +330,9 @@ float w_uzi(float req)
                case WR_CHECKAMMO2:
                {
                        if(WEP_CVAR(uzi, mode) == 1)
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(uzi, burst_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_UZI) >= WEP_CVAR(uzi, burst_ammo);
                        else
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(uzi, first_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_UZI) >= WEP_CVAR(uzi, first_ammo);
 
                        if(autocvar_g_balance_uzi_reload_ammo)
                        {
index 3210f4c8379a2ca36dd6f5a84795bfbc86a3129e..035c8ac6273252b242dab99ad800a3b4d253a7c3 100644 (file)
@@ -504,7 +504,7 @@ float w_minelayer(float req)
                        if(autocvar_g_balance_minelayer_reload_ammo && self.clip_load < WEP_CVAR(minelayer, ammo)) // forced reload
                        {
                                // not if we're holding the minelayer without enough ammo, but can detonate existing mines
-                               if(!(W_PlacedMines(FALSE) && self.(self.current_ammo) < WEP_CVAR(minelayer, ammo)))
+                               if(!(W_PlacedMines(FALSE) && self.AMMO_VAL(WEP_MINE_LAYER) < WEP_CVAR(minelayer, ammo)))
                                        WEP_ACTION(self.weapon, WR_RELOAD);
                        }
                        else if (self.BUTTON_ATCK)
@@ -543,7 +543,7 @@ float w_minelayer(float req)
                        // don't switch while placing a mine
                        if (ATTACK_FINISHED(self) <= time || self.weapon != WEP_MINE_LAYER)
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(minelayer, ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_MINE_LAYER) >= WEP_CVAR(minelayer, ammo);
                                ammo_amount += self.(weapon_load[WEP_MINE_LAYER]) >= WEP_CVAR(minelayer, ammo);
                                return ammo_amount;
                        }
index 007825c194cb971058f6c4a40fba8dc4a01e6bb4..47ed37d200d9a844ba2af50eac44926186459338 100644 (file)
@@ -120,7 +120,7 @@ float w_minstanex(float req)
        {
                case WR_AIM:
                {
-                       if(self.(self.current_ammo) > 0)
+                       if(self.AMMO_VAL(WEP_MINSTANEX) > 0)
                                self.BUTTON_ATCK = bot_aim(1000000, 0, 1, FALSE);
                        else
                                self.BUTTON_ATCK2 = bot_aim(WEP_CVAR_SEC(minstanex, speed), 0, WEP_CVAR_SEC(minstanex, lifetime), FALSE); // WEAPONTODO: replace with proper minstanex cvars
@@ -194,13 +194,13 @@ float w_minstanex(float req)
                }
                case WR_SETUP:
                {
-                       self.current_ammo = (self.current_ammo);
+                       self.current_ammo = AMMO_VAL(WEP_MINSTANEX);
                        self.minstanex_lasthit = 0;
                        return TRUE;
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= minstanex_ammo;
+                       ammo_amount = self.AMMO_VAL(WEP_MINSTANEX) >= minstanex_ammo;
                        ammo_amount += self.(weapon_load[WEP_MINSTANEX]) >= minstanex_ammo;
                        return ammo_amount;
                }
@@ -208,7 +208,7 @@ float w_minstanex(float req)
                {
                        if(!WEP_CVAR_SEC(minstanex, ammo))
                                return TRUE;
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(minstanex, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_MINSTANEX) >= WEP_CVAR_SEC(minstanex, ammo);
                        ammo_amount += self.(weapon_load[WEP_MINSTANEX]) >= WEP_CVAR_SEC(minstanex, ammo);
                        return ammo_amount;
                }
index b5d7a93a37277149269281b0c292f055451fe0d6..ce4ea923a4f1f43b4199cc258dd1a11ce1ad7718 100644 (file)
@@ -416,13 +416,13 @@ float w_glauncher(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(mortar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_MORTAR) >= WEP_CVAR_PRI(mortar, ammo);
                        ammo_amount += self.(weapon_load[WEP_MORTAR]) >= WEP_CVAR_PRI(mortar, ammo);
                        return ammo_amount;
                }
                case WR_CHECKAMMO2:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(mortar, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_MORTAR) >= WEP_CVAR_SEC(mortar, ammo);
                        ammo_amount += self.(weapon_load[WEP_MORTAR]) >= WEP_CVAR_SEC(mortar, ammo);
                        return ammo_amount;
                }
index 9a7a423bed450ee0ca364fbc0279f346875a3a1d..a8ee1dfe221236b3b43ce6bc9aa5c09c33b79bed 100644 (file)
@@ -202,11 +202,11 @@ float w_nex(float req)
                                                                                }
                                                                                else
                                                                                {
-                                                                                       dt = min(dt, (self.(self.current_ammo) - WEP_CVAR_PRI(nex, ammo)) / WEP_CVAR_SEC(nex, ammo));
+                                                                                       dt = min(dt, (self.AMMO_VAL(WEP_NEX) - WEP_CVAR_PRI(nex, ammo)) / WEP_CVAR_SEC(nex, ammo));
                                                                                        dt = max(0, dt);
                                                                                        if(dt > 0)
                                                                                        {
-                                                                                               self.(self.current_ammo) = max(WEP_CVAR_SEC(nex, ammo), self.(self.current_ammo) - WEP_CVAR_SEC(nex, ammo) * dt);
+                                                                                               self.AMMO_VAL(WEP_NEX) = max(WEP_CVAR_SEC(nex, ammo), self.AMMO_VAL(WEP_NEX) - WEP_CVAR_SEC(nex, ammo) * dt);
                                                                                        }
                                                                                }
                                                                        }
@@ -250,7 +250,7 @@ float w_nex(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(nex, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_NEX) >= WEP_CVAR_PRI(nex, ammo);
                        ammo_amount += (autocvar_g_balance_nex_reload_ammo && self.(weapon_load[WEP_NEX]) >= WEP_CVAR_PRI(nex, ammo));
                        return ammo_amount;
                }
@@ -259,8 +259,8 @@ float w_nex(float req)
                        if(WEP_CVAR(nex, secondary))
                        {
                                // don't allow charging if we don't have enough ammo
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(nex, ammo);
-                               ammo_amount += self.(weapon_load[WEP_NEX]) >= WEP_CVAR_SEC(nex, ammo);  
+                               ammo_amount = self.AMMO_VAL(WEP_NEX) >= WEP_CVAR_SEC(nex, ammo);
+                               ammo_amount += self.(weapon_load[WEP_NEX]) >= WEP_CVAR_SEC(nex, ammo);
                                return ammo_amount;
                        }
                        else
index 10de1ad59e96adae251283230725f2f3249944f9..3f8ee02786396c4eef9ddfcde40f186db955b3e6 100644 (file)
@@ -93,7 +93,7 @@ void W_Rifle_BulletHail_Continue()
        af = ATTACK_FINISHED(self);
        self.switchweapon = self.weapon;
        ATTACK_FINISHED(self) = time;
-       print(ftos(self.(self.current_ammo)), "\n");
+       print(ftos(self.AMMO_VAL(WEP_RIFLE)), "\n");
        r = weapon_prepareattack(self.rifle_bullethail_frame == WFRAME_FIRE2, self.rifle_bullethail_refire);
        if(self.switchweapon == self.weapon)
                self.switchweapon = sw;
@@ -211,13 +211,13 @@ float W_Rifle(float req)
                }
                case WR_CHECKAMMO1:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_PRI(rifle, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_RIFLE) >= WEP_CVAR_PRI(rifle, ammo);
                        ammo_amount += self.(weapon_load[WEP_RIFLE]) >= WEP_CVAR_PRI(rifle, ammo);
                        return ammo_amount;
                }
                case WR_CHECKAMMO2:
                {
-                       ammo_amount = self.(self.current_ammo) >= WEP_CVAR_SEC(rifle, ammo);
+                       ammo_amount = self.AMMO_VAL(WEP_RIFLE) >= WEP_CVAR_SEC(rifle, ammo);
                        ammo_amount += self.(weapon_load[WEP_RIFLE]) >= WEP_CVAR_SEC(rifle, ammo);
                        return ammo_amount;
                }
index 2153cd66410600e768b11ac8c90b63fa14c6a4b2..34b08410374a9a2c509e6caa4ccc7efac016096e 100644 (file)
@@ -411,7 +411,7 @@ void W_Seeker_Vollycontroller_Think() // TODO: Merge this with W_Seeker_Attack
        entity oldself,oldenemy;
        self.cnt = self.cnt - 1;
 
-       if((!(self.realowner.items & IT_UNLIMITED_AMMO) && self.realowner.(self.current_ammo) < WEP_CVAR(seeker, missile_ammo)) || (self.cnt <= -1) || (self.realowner.deadflag != DEAD_NO) || (self.realowner.switchweapon != WEP_SEEKER))
+       if((!(self.realowner.items & IT_UNLIMITED_AMMO) && self.realowner.AMMO_VAL(WEP_SEEKER) < WEP_CVAR(seeker, missile_ammo)) || (self.cnt <= -1) || (self.realowner.deadflag != DEAD_NO) || (self.realowner.switchweapon != WEP_SEEKER))
        {
                remove(self);
                return;
@@ -670,12 +670,12 @@ float W_Seeker(float req)
                {
                        if (WEP_CVAR(seeker, type) == 1)
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(seeker, missile_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_SEEKER) >= WEP_CVAR(seeker, missile_ammo);
                                ammo_amount += self.(weapon_load[WEP_SEEKER]) >= WEP_CVAR(seeker, missile_ammo);
                        }
                        else
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(seeker, tag_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_SEEKER) >= WEP_CVAR(seeker, tag_ammo);
                                ammo_amount += self.(weapon_load[WEP_SEEKER]) >= WEP_CVAR(seeker, tag_ammo);
                        }
                        return ammo_amount;
@@ -684,12 +684,12 @@ float W_Seeker(float req)
                {
                        if (WEP_CVAR(seeker, type) == 1)
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(seeker, tag_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_SEEKER) >= WEP_CVAR(seeker, tag_ammo);
                                ammo_amount += self.(weapon_load[WEP_SEEKER]) >= WEP_CVAR(seeker, tag_ammo);
                        }
                        else
                        {
-                               ammo_amount = self.(self.current_ammo) >= WEP_CVAR(seeker, flac_ammo);
+                               ammo_amount = self.AMMO_VAL(WEP_SEEKER) >= WEP_CVAR(seeker, flac_ammo);
                                ammo_amount += self.(weapon_load[WEP_SEEKER]) >= WEP_CVAR(seeker, flac_ammo);
                        }
                        return ammo_amount;
index 501002f28a4c418a4d2c82f50b6bba321e604520..e03475d4729897c37dc1012a910f61bf8cc08289 100644 (file)
@@ -117,7 +117,7 @@ void register_weapons_done()
        dummy_weapon_info.model2 = "";
        dummy_weapon_info.impulse = -1;
        dummy_weapon_info.bot_pickupbasevalue = 0;
-       dummy_weapon_info.current_ammo = ammo_broken;
+       dummy_weapon_info.current_ammo = ammo_none;
 
        float i;
        weaponorder_byid = "";
index 007892e71d0c02fff182b63f09bcb8a62f554960..40fa51f0654125903a171b045bedb3ebb81ddc0a 100644 (file)
@@ -123,7 +123,6 @@ float W_AmmoItemCode(float wpn);
 .float ammo_cells;
 .float ammo_fuel;
 .float ammo_none;
-.float ammo_broken; // dummy
 
 // entity properties of weaponinfo:
 .float weapon; // WEP_...
@@ -142,7 +141,7 @@ float W_AmmoItemCode(float wpn);
 
 // other useful macros
 #define WEP_ACTION(wpn,wrequest) (get_weaponinfo(wpn)).weapon_func(wrequest)
-
+#define AMMO_VAL(wpn) ((get_weaponinfo(wpn)).current_ammo)
 
 // =====================
 //  Weapon Registration
index aa6f7e6a7c6d7bd0c949d0386f19a755b9e01f27..9f605db30d22c166f144b188cb4864901c74a3bb 100644 (file)
@@ -686,6 +686,7 @@ void W_WeaponFrame()
                        self.weapon = self.switchweapon;
                        self.weaponname = newwep.mdl;
                        self.bulletcounter = 0; // WEAPONTODO
+                       //self.current_ammo = newwep.current_ammo;
                        WEP_ACTION(self.switchweapon, WR_SETUP);
                        self.weaponentity.state = WS_RAISE;
 
@@ -810,17 +811,19 @@ void W_AttachToShotorg(entity flash, vector offset)
 
 void W_DecreaseAmmo(float ammo_use)
 {
-       if((self.items & IT_UNLIMITED_WEAPON_AMMO) && !self.reloading_ammo)
+       entity wep = get_weaponinfo(self.weapon);
+
+       if((self.items & IT_UNLIMITED_WEAPON_AMMO) && !wep.reloading_ammo)
                return;
 
        // if this weapon is reloadable, decrease its load. Else decrease the player's ammo
-       if(self.reloading_ammo)
+       if(wep.reloading_ammo)
        {
                self.clip_load -= ammo_use;
                self.(weapon_load[self.weapon]) = self.clip_load;
        }
        else
-               self.(self.current_ammo) -= ammo_use;
+               self.(wep.current_ammo) -= ammo_use;
 }
 
 // weapon reloading code