X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Fhud%2Fhud.qc;h=c87cb5a89cd853e3561826106d9b31fd2dd4ac2c;hb=3220cab5a7b69ced4a641504a6a5f4eccf2d3bfc;hp=49cf0a390df49568bf3ada7fc1e170efd70d1191;hpb=f52ddede69621c7c9d31983591902f47fd40d7d0;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/client/hud/hud.qc b/qcsrc/client/hud/hud.qc index 49cf0a390..c87cb5a89 100644 --- a/qcsrc/client/hud/hud.qc +++ b/qcsrc/client/hud/hud.qc @@ -450,12 +450,15 @@ void Hud_Dynamic_Frame() hud_dynamic_shake_factor = 0; else { - float health = STAT(HEALTH); + static float old_health = 0; + float health = max(-1, STAT(HEALTH)); float new_hud_dynamic_shake_factor = 0; - if(prev_health - health >= autocvar_hud_dynamic_shake_damage_min && autocvar_hud_dynamic_shake_damage_max > autocvar_hud_dynamic_shake_damage_min) + if (old_health - health >= autocvar_hud_dynamic_shake_damage_min + && autocvar_hud_dynamic_shake_damage_max > autocvar_hud_dynamic_shake_damage_min + && old_health > 0 && !intermission) { float m = max(autocvar_hud_dynamic_shake_damage_min, 1); - new_hud_dynamic_shake_factor = (prev_health - health - m) / (autocvar_hud_dynamic_shake_damage_max - m); + new_hud_dynamic_shake_factor = (old_health - health - m) / (autocvar_hud_dynamic_shake_damage_max - m); if(new_hud_dynamic_shake_factor >= 1) new_hud_dynamic_shake_factor = 1; if(new_hud_dynamic_shake_factor >= hud_dynamic_shake_factor) @@ -464,6 +467,7 @@ void Hud_Dynamic_Frame() hud_dynamic_shake_time = time; } } + old_health = health; if(hud_dynamic_shake_factor) if(!Hud_Shake_Update()) hud_dynamic_shake_factor = 0;