]> de.git.xonotic.org Git - voretournament/voretournament.git/blobdiff - data/qcsrc/server/g_damage.qc
Port damage / velocity based player leaning from Xonotic, with good defaults for VT
[voretournament/voretournament.git] / data / qcsrc / server / g_damage.qc
index 8bb67e1cc059d9f1eaefc6d0071408a0073a30ad..02411d412fb49e7a1ba808cbb468c3ff3b06557e 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
+                       targ.leanangle_damage_loc = hitloc - targ.origin;\r
+                       targ.leanangle_damage_force += force * cvar("g_leanplayer_damage"); // keep existing force if any\r
+                       targ.leanangle_damage = damage;\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