X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fw_common.qc;h=0b405ba77e8043dc2d73e7edf7a1155aa8f7554a;hb=21a6985a5568f9ade821c914c5d66595ddc4619d;hp=8f2de4e8ce27b777624ea583860d081df599e830;hpb=c045b87696a4fb7c1537b058cafaef23213c35bc;p=xonotic%2Fxonotic-data.pk3dir.git 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