diff options
Diffstat (limited to 'src/game/server')
| -rw-r--r-- | src/game/server/gs_server.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp index 6218ef5c..845d43af 100644 --- a/src/game/server/gs_server.cpp +++ b/src/game/server/gs_server.cpp @@ -984,11 +984,15 @@ void player::fire_weapon() vec2 direction = normalize(vec2(latest_input.target_x, latest_input.target_y)); bool fullauto = false; - if(active_weapon == WEAPON_GRENADE || active_weapon == WEAPON_SHOTGUN) + if(active_weapon == WEAPON_GRENADE || active_weapon == WEAPON_SHOTGUN || active_weapon == WEAPON_RIFLE) fullauto = true; - //if(count_input(latest_previnput.fire, latest_input.fire).presses) || ((fullauto && latest_input.fire&1) && weapons[active_weapon].ammo)) - if(!count_input(latest_previnput.fire, latest_input.fire).presses) + + // check if we gonna fire + bool will_fire = false; + if(count_input(latest_previnput.fire, latest_input.fire).presses) will_fire = true; + if(fullauto && (latest_input.fire&1) && weapons[active_weapon].ammo) will_fire = true; + if(!will_fire) return; // check for ammo |