]> git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/g_damage.qc
Damage player leaning: Skip if the target origin and hit location are the same. Preve...
[voretournament/voretournament.git] / data / qcsrc / server / g_damage.qc
index 8bb67e1cc059d9f1eaefc6d0071408a0073a30ad..22ed5de1ab1a68d1641b6abae6f25c32aacf35d8 100644 (file)
@@ -864,6 +864,19 @@ void Damage (entity targ, entity inflictor, entity attacker, float damage, float
                                }\r
                        }\r
                }\r
+\r
+               // lean the player based on the amount of damage taken\r
+               if(cvar("g_leanplayer_damage"))\r
+               {\r
+                       if(hitloc != targ.origin) // prevents a bug\r
+                               targ.leanangle_damage_loc = hitloc - targ.origin;\r
+                       targ.leanangle_damage_force += force * cvar("g_leanplayer_damage"); // keep existing force if any\r
+\r
+                       // bound angles to the specified limit\r
+                       targ.leanangle_damage_force_x = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_x, cvar("g_leanplayer_damage_max"));\r
+                       targ.leanangle_damage_force_y = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_y, cvar("g_leanplayer_damage_max"));\r
+                       targ.leanangle_damage_force_z = bound(-cvar("g_leanplayer_damage_max"), targ.leanangle_damage_force_z, cvar("g_leanplayer_damage_max"));\r
+               }\r
        }\r
 \r
        // apply push\r