From: Rudolf Polzer Date: Sun, 26 Dec 2010 21:31:00 +0000 (+0100) Subject: make sure an animtime of the electro always starts when RELEASING the button X-Git-Tag: xonotic-v0.5.0~330^2~14^2~11 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=c8d0ba570569fcd945533f807dc826a1162465a7;p=xonotic%2Fxonotic-data.pk3dir.git make sure an animtime of the electro always starts when RELEASING the button --- diff --git a/qcsrc/server/w_electro.qc b/qcsrc/server/w_electro.qc index a25d26631..2a6b1f393 100644 --- a/qcsrc/server/w_electro.qc +++ b/qcsrc/server/w_electro.qc @@ -378,6 +378,15 @@ float w_electro(float req) { if (self.BUTTON_ATCK) { + if(autocvar_g_balance_electro_lightning) + if(self.BUTTON_ATCK_prev) + { + // prolong the animtime while the gun is being fired + if(self.animstate_startframe == self.anim_shoot_x && self.animstate_numframes == self.anim_shoot_y) + weapon_thinkf(WFRAME_DONTCHANGE, autocvar_g_balance_electro_primary_animtime, w_ready); + else + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); + } if (weapon_prepareattack(0, (autocvar_g_balance_electro_lightning ? 0 : autocvar_g_balance_electro_primary_refire))) { if(autocvar_g_balance_electro_lightning) @@ -386,19 +395,24 @@ float w_electro(float req) { W_Electro_Attack3(); } - self.BUTTON_ATCK_prev = 1; + if(!self.BUTTON_ATCK_prev) + { + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); + self.BUTTON_ATCK_prev = 1; + } } else { W_Electro_Attack(); + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); } - weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); } } else { if(autocvar_g_balance_electro_lightning) { if (self.BUTTON_ATCK_prev != 0) { + weapon_thinkf(WFRAME_FIRE1, autocvar_g_balance_electro_primary_animtime, w_ready); ATTACK_FINISHED(self) = time + autocvar_g_balance_electro_primary_refire * W_WeaponRateFactor(); } self.BUTTON_ATCK_prev = 0;