X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_common.qc;h=0b405ba77e8043dc2d73e7edf7a1155aa8f7554a;hp=8f2de4e8ce27b777624ea583860d081df599e830;hb=4fc59bbd7e2d4f25ba21952ed50ae754295a7faa;hpb=025ab6614545df21ad7392f7806ad375b9c40af3 diff --git a/qcsrc/server/w_common.qc b/qcsrc/server/w_common.qc index 8f2de4e8c..0b405ba77 100644 --- a/qcsrc/server/w_common.qc +++ b/qcsrc/server/w_common.qc @@ -270,7 +270,7 @@ float W_BallisticBullet_LeaveSolid(entity e, vector vel, float constant) self.W_BallisticBullet_LeaveSolid_origin = trace_endpos; - dst = vlen(trace_endpos - self.origin); + dst = max(cvar("g_ballistics_mindistance"), vlen(trace_endpos - self.origin)); // E(s) = E0 - constant * s, constant = area of bullet circle * material constant / mass Es_m = E0_m - constant * dst; if(Es_m <= 0) @@ -371,6 +371,8 @@ void fireBallisticBullet(vector start, vector dir, float spread, float pSpeed, f proj.oldvelocity = proj.velocity; + other = proj; MUTATOR_CALLHOOK(EditProjectile); + if(cvar("g_antilag_bullets")) if(pSpeed >= cvar("g_antilag_bullets")) { @@ -511,6 +513,7 @@ void W_PrepareExplosionByDamage(entity attacker, void() explode) self.takedamage = DAMAGE_NO; self.event_damage = SUB_Null; self.owner = attacker; + self.realowner = attacker; // do not explode NOW but in the NEXT FRAME! // because recursive calls to RadiusDamage are not allowed