From 7a56b00333110c513e3801482f331b34109b061d Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Tue, 10 Dec 2013 23:12:15 -0500 Subject: [PATCH] Fix some things I broke --- qcsrc/common/weapons/w_arc.qc | 10 +++++----- qcsrc/common/weapons/w_crylink.qc | 4 ++-- qcsrc/common/weapons/w_devastator.qc | 8 ++++---- qcsrc/common/weapons/w_electro.qc | 6 +++--- qcsrc/common/weapons/w_hagar.qc | 6 +++--- qcsrc/common/weapons/w_hlac.qc | 4 ++-- qcsrc/common/weapons/w_machinegun.qc | 8 ++++---- qcsrc/common/weapons/w_minelayer.qc | 4 ++-- qcsrc/common/weapons/w_minstanex.qc | 8 ++++---- qcsrc/common/weapons/w_mortar.qc | 4 ++-- qcsrc/common/weapons/w_nex.qc | 10 +++++----- qcsrc/common/weapons/w_rifle.qc | 6 +++--- qcsrc/common/weapons/w_seeker.qc | 10 +++++----- qcsrc/common/weapons/weapons.qc | 2 +- qcsrc/common/weapons/weapons.qh | 3 +-- qcsrc/server/weapons/weaponsystem.qc | 9 ++++++--- 16 files changed, 52 insertions(+), 50 deletions(-) diff --git a/qcsrc/common/weapons/w_arc.qc b/qcsrc/common/weapons/w_arc.qc index aad7bd72b..181a386ad 100644 --- a/qcsrc/common/weapons/w_arc.qc +++ b/qcsrc/common/weapons/w_arc.qc @@ -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: { diff --git a/qcsrc/common/weapons/w_crylink.qc b/qcsrc/common/weapons/w_crylink.qc index 704b8e5b9..45675b28e 100644 --- a/qcsrc/common/weapons/w_crylink.qc +++ b/qcsrc/common/weapons/w_crylink.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_devastator.qc b/qcsrc/common/weapons/w_devastator.qc index 66bd112a8..d2424704c 100644 --- a/qcsrc/common/weapons/w_devastator.qc +++ b/qcsrc/common/weapons/w_devastator.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_electro.qc b/qcsrc/common/weapons/w_electro.qc index d5cba995d..2d33e602b 100644 --- a/qcsrc/common/weapons/w_electro.qc +++ b/qcsrc/common/weapons/w_electro.qc @@ -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; diff --git a/qcsrc/common/weapons/w_hagar.qc b/qcsrc/common/weapons/w_hagar.qc index 87863a194..f7a7d5870 100644 --- a/qcsrc/common/weapons/w_hagar.qc +++ b/qcsrc/common/weapons/w_hagar.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_hlac.qc b/qcsrc/common/weapons/w_hlac.qc index a01b86812..126f922ad 100644 --- a/qcsrc/common/weapons/w_hlac.qc +++ b/qcsrc/common/weapons/w_hlac.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_machinegun.qc b/qcsrc/common/weapons/w_machinegun.qc index 18dec54fd..d1dacd5b9 100644 --- a/qcsrc/common/weapons/w_machinegun.qc +++ b/qcsrc/common/weapons/w_machinegun.qc @@ -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) { diff --git a/qcsrc/common/weapons/w_minelayer.qc b/qcsrc/common/weapons/w_minelayer.qc index 3210f4c83..035c8ac62 100644 --- a/qcsrc/common/weapons/w_minelayer.qc +++ b/qcsrc/common/weapons/w_minelayer.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_minstanex.qc b/qcsrc/common/weapons/w_minstanex.qc index 007825c19..47ed37d20 100644 --- a/qcsrc/common/weapons/w_minstanex.qc +++ b/qcsrc/common/weapons/w_minstanex.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_mortar.qc b/qcsrc/common/weapons/w_mortar.qc index b5d7a93a3..ce4ea923a 100644 --- a/qcsrc/common/weapons/w_mortar.qc +++ b/qcsrc/common/weapons/w_mortar.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_nex.qc b/qcsrc/common/weapons/w_nex.qc index 9a7a423be..a8ee1dfe2 100644 --- a/qcsrc/common/weapons/w_nex.qc +++ b/qcsrc/common/weapons/w_nex.qc @@ -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 diff --git a/qcsrc/common/weapons/w_rifle.qc b/qcsrc/common/weapons/w_rifle.qc index 10de1ad59..3f8ee0278 100644 --- a/qcsrc/common/weapons/w_rifle.qc +++ b/qcsrc/common/weapons/w_rifle.qc @@ -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; } diff --git a/qcsrc/common/weapons/w_seeker.qc b/qcsrc/common/weapons/w_seeker.qc index 2153cd664..34b084103 100644 --- a/qcsrc/common/weapons/w_seeker.qc +++ b/qcsrc/common/weapons/w_seeker.qc @@ -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; diff --git a/qcsrc/common/weapons/weapons.qc b/qcsrc/common/weapons/weapons.qc index 501002f28..e03475d47 100644 --- a/qcsrc/common/weapons/weapons.qc +++ b/qcsrc/common/weapons/weapons.qc @@ -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 = ""; diff --git a/qcsrc/common/weapons/weapons.qh b/qcsrc/common/weapons/weapons.qh index 007892e71..40fa51f06 100644 --- a/qcsrc/common/weapons/weapons.qh +++ b/qcsrc/common/weapons/weapons.qh @@ -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 diff --git a/qcsrc/server/weapons/weaponsystem.qc b/qcsrc/server/weapons/weaponsystem.qc index aa6f7e6a7..9f605db30 100644 --- a/qcsrc/server/weapons/weaponsystem.qc +++ b/qcsrc/server/weapons/weaponsystem.qc @@ -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 -- 2.39.2