From: Martin Taibr Date: Thu, 25 Jul 2019 13:18:47 +0000 (+0200) Subject: use whoosh even when hit X-Git-Tag: xonotic-v0.8.5~1406^2~4 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=fd4ca19778a130ede47cf94b5f26f34555ec5f5f;p=xonotic%2Fxonotic-data.pk3dir.git use whoosh even when hit --- diff --git a/qcsrc/server/weapons/tracing.qc b/qcsrc/server/weapons/tracing.qc index f09bf1168..b84b03f59 100644 --- a/qcsrc/server/weapons/tracing.qc +++ b/qcsrc/server/weapons/tracing.qc @@ -273,26 +273,25 @@ void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector // spawn a temporary explosion entity for RadiusDamage calls //explosion = spawn(); - // Find all non-hit players the beam passed close by + // Find all players the beam passed close by (even those hit) float length = vlen(endpoint - start); entity pseudoprojectile = NULL; FOREACH_CLIENT(IS_REAL_CLIENT(it) && it != this, { - if (!it.railgunhit && !(IS_SPEC(it) && it.enemy == this)) - { - // nearest point on the beam - vector beampos = start + dir * bound(0, (it.origin - start) * dir, length); + // not when spectating the shooter + if (IS_SPEC(it) && it.enemy == this) continue; - float f = bound(0, 1 - vlen(beampos - it.origin) / 512, 1); - if(f <= 0) - continue; + // nearest point on the beam + vector beampos = start + dir * bound(0, (it.origin - start) * dir, length); - if(!pseudoprojectile) - pseudoprojectile = spawn(); // we need this so the sound uses the "entchannel4" volume - msg_entity = it; - soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS, SND(NEXWHOOSH_RANDOM()), VOL_BASE * f, ATTEN_NONE); - } - }); + float f = bound(0, 1 - vlen(beampos - it.origin) / 512, 1); + if(f <= 0) + continue; + if(!pseudoprojectile) + pseudoprojectile = spawn(); // we need this so the sound uses the "entchannel4" volume + msg_entity = it; + soundtoat(MSG_ONE, pseudoprojectile, beampos, CH_SHOTS, SND(NEXWHOOSH_RANDOM()), VOL_BASE * f, ATTEN_NONE); + }); if(pseudoprojectile) delete(pseudoprojectile);