From: Mario Date: Sun, 6 Nov 2016 11:44:13 +0000 (+1000) Subject: Move nade timer handling out of offhand code (offhand code isn't run when player... X-Git-Tag: xonotic-v0.8.2~463 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=342333dcee346dd12fe87c73fcb2975cc563149c;p=xonotic%2Fxonotic-data.pk3dir.git Move nade timer handling out of offhand code (offhand code isn't run when player is frozen) --- diff --git a/qcsrc/common/mutators/mutator/nades/nades.qc b/qcsrc/common/mutators/mutator/nades/nades.qc index 0d804a914..6ec9c2321 100644 --- a/qcsrc/common/mutators/mutator/nades/nades.qc +++ b/qcsrc/common/mutators/mutator/nades/nades.qc @@ -1174,18 +1174,6 @@ CLASS(NadeOffhand, OffhandWeapon) METHOD(NadeOffhand, offhand_think, void(NadeOffhand this, entity player, bool key_pressed)) { entity held_nade = player.nade; - if (held_nade) - { - player.nade_timer = bound(0, (time - held_nade.nade_time_primed) / autocvar_g_nades_nade_lifetime, 1); - // LOG_TRACEF("%d %d", player.nade_timer, time - held_nade.nade_time_primed); - makevectors(player.angles); - held_nade.velocity = player.velocity; - setorigin(held_nade, player.origin + player.view_ofs + v_forward * 8 + v_right * -8 + v_up * 0); - held_nade.angles_y = player.angles.y; - - if (time + 0.1 >= held_nade.wait) - toss_nade(player, false, '0 0 0', time + 0.05); - } if (!CanThrowNade(player)) return; if (!(time > player.nade_refire)) return; @@ -1227,6 +1215,20 @@ MUTATOR_HOOKFUNCTION(nades, PlayerPreThink) if (player.nade && (player.offhand != OFFHAND_NADE || (player.weapons & WEPSET(HOOK)))) OFFHAND_NADE.offhand_think(OFFHAND_NADE, player, player.nade_altbutton); + entity held_nade = player.nade; + if (held_nade) + { + player.nade_timer = bound(0, (time - held_nade.nade_time_primed) / autocvar_g_nades_nade_lifetime, 1); + // LOG_TRACEF("%d %d", player.nade_timer, time - held_nade.nade_time_primed); + makevectors(player.angles); + held_nade.velocity = player.velocity; + setorigin(held_nade, player.origin + player.view_ofs + v_forward * 8 + v_right * -8 + v_up * 0); + held_nade.angles_y = player.angles.y; + + if (time + 0.1 >= held_nade.wait) + toss_nade(player, false, '0 0 0', time + 0.05); + } + if(IS_PLAYER(player)) { if ( autocvar_g_nades_bonus && autocvar_g_nades )