diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-18 20:33:34 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-12-18 20:33:34 +0000 |
| commit | 723057e8c9b4de4fff782fba543e87ef7577ca1c (patch) | |
| tree | 048c984b96c015107c99110276f5eff90c585bc9 | |
| parent | e988e3c1615a18f0abdaec9b3d5a3467c38a882a (diff) | |
| download | zcatch-723057e8c9b4de4fff782fba543e87ef7577ca1c.tar.gz zcatch-723057e8c9b4de4fff782fba543e87ef7577ca1c.zip | |
fixed fullauto on shotgun and rockets. fixed animation problem with 25 snaprate on hammer
| -rw-r--r-- | src/game/client/gc_client.cpp | 5 | ||||
| -rw-r--r-- | src/game/server/gs_server.cpp | 8 |
2 files changed, 9 insertions, 4 deletions
diff --git a/src/game/client/gc_client.cpp b/src/game/client/gc_client.cpp index 139181bb..5409549c 100644 --- a/src/game/client/gc_client.cpp +++ b/src/game/client/gc_client.cpp @@ -1358,6 +1358,7 @@ static void render_player( obj_player_info info = *player_info; float intratick = client_intratick(); + float ticktime = client_ticktime(); if(player.health < 0) // dont render dead players return; @@ -1405,12 +1406,12 @@ static void render_player( if (player.weapon == WEAPON_HAMMER) { - float a = clamp((client_tick()-player.attacktick+intratick)/10.0f, 0.0f, 1.0f); + float a = clamp((client_tick()-player.attacktick+ticktime)/10.0f, 0.0f, 1.0f); anim_eval_add(&state, &data->animations[ANIM_HAMMER_SWING], a, 1.0f); } if (player.weapon == WEAPON_NINJA) { - float a = clamp((client_tick()-player.attacktick+intratick)/40.0f, 0.0f, 1.0f); + float a = clamp((client_tick()-player.attacktick+ticktime)/40.0f, 0.0f, 1.0f); anim_eval_add(&state, &data->animations[ANIM_NINJA_SWING], a, 1.0f); } diff --git a/src/game/server/gs_server.cpp b/src/game/server/gs_server.cpp index 530727f6..a45e52ab 100644 --- a/src/game/server/gs_server.cpp +++ b/src/game/server/gs_server.cpp @@ -920,9 +920,13 @@ int player::handle_weapons() return handle_sniper(); */ - if(count_input(previnput.fire, input.fire).presses) //previnput.fire != input.fire && (input.fire&1)) + if(reload_timer == 0) { - if(reload_timer == 0) + bool fullauto = false; + if(active_weapon == WEAPON_ROCKET || active_weapon == WEAPON_SHOTGUN) + fullauto = true; + + if(count_input(previnput.fire, input.fire).presses || (fullauto && input.fire&1)) { // fire! if(weapons[active_weapon].ammo) |