From: Mario Date: Fri, 13 Mar 2015 19:51:40 +0000 (+1100) Subject: Disable machine gun reloading while carrying ammo buff X-Git-Tag: xonotic-v0.8.1~18^2~13 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=74f25d3754770f839b04fec7b4ac15b68ccdb274;p=xonotic%2Fxonotic-data.pk3dir.git Disable machine gun reloading while carrying ammo buff --- diff --git a/qcsrc/server/mutators/mutator_buffs.qc b/qcsrc/server/mutators/mutator_buffs.qc index 16ea5f274..7dfdaca62 100644 --- a/qcsrc/server/mutators/mutator_buffs.qc +++ b/qcsrc/server/mutators/mutator_buffs.qc @@ -759,6 +759,10 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink) } } + if(self.buffs & BUFF_AMMO) + if(self.clip_size) + self.clip_load = self.(weapon_load[self.switchweapon]) = self.clip_size; + if((self.buffs & BUFF_INVISIBLE) && (self.oldbuffs & BUFF_INVISIBLE)) if(self.alpha != autocvar_g_buffs_invisible_alpha) self.alpha = autocvar_g_buffs_invisible_alpha; // powerups reset alpha, so we must enforce this (TODO) @@ -777,6 +781,10 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink) { self.buff_ammo_prev_infitems = (self.items & IT_UNLIMITED_WEAPON_AMMO); self.items |= IT_UNLIMITED_WEAPON_AMMO; + + if(self.clip_load) + self.buff_ammo_prev_clipload = self.clip_load; + self.clip_load = self.(weapon_load[self.switchweapon]) = self.clip_size; } BUFF_ONREM(BUFF_AMMO) @@ -785,6 +793,9 @@ MUTATOR_HOOKFUNCTION(buffs_PlayerThink) self.items |= IT_UNLIMITED_WEAPON_AMMO; else self.items &= ~IT_UNLIMITED_WEAPON_AMMO; + + if(self.buff_ammo_prev_clipload) + self.clip_load = self.buff_ammo_prev_clipload; } BUFF_ONADD(BUFF_INVISIBLE) diff --git a/qcsrc/server/mutators/mutator_buffs.qh b/qcsrc/server/mutators/mutator_buffs.qh index 7c1734fc5..af600a4a6 100644 --- a/qcsrc/server/mutators/mutator_buffs.qh +++ b/qcsrc/server/mutators/mutator_buffs.qh @@ -5,6 +5,7 @@ // // ammo .float buff_ammo_prev_infitems; +.int buff_ammo_prev_clipload; // invisible .float buff_invisible_prev_alpha; // flight