]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
fix missing nex whoosh in overkill and insta (some turrets use this fn)
authorMartin Taibr <taibr.martin@gmail.com>
Thu, 25 Jul 2019 12:51:22 +0000 (14:51 +0200)
committerMartin Taibr <taibr.martin@gmail.com>
Thu, 25 Jul 2019 12:51:22 +0000 (14:51 +0200)
qcsrc/server/weapons/tracing.qc

index 74420b3335b2f5513ff9ac045b626412ddb62d2d..f09bf1168eb330a249845880dff35478e4f4c29e 100644 (file)
@@ -213,10 +213,7 @@ void W_SetupProjVelocity_Explicit(entity proj, vector dir, vector upDir, float p
 
 void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector end, float bdamage, float bforce, float mindist, float maxdist, float halflifedist, float forcehalflifedist, int deathtype)
 {
-       entity pseudoprojectile = NULL;
-
        vector dir = normalize(end - start);
-       //float max_length = vlen(end - start);
        vector force = dir * bforce;
 
        // go a little bit into the wall because we need to hit this wall later
@@ -277,29 +274,27 @@ void FireRailgunBullet (entity this, .entity weaponentity, vector start, vector
        //explosion = spawn();
 
        // Find all non-hit players the beam passed close by
-       float length = vlen(trace_endpos - start);
-       if(deathtype == WEP_VAPORIZER.m_id || deathtype == WEP_VORTEX.m_id) // WEAPONTODO
-       {
-               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);
+       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);
 
-                               float f = bound(0, 1 - vlen(beampos - it.origin) / 512, 1);
-                               if(f <= 0)
-                                       continue;
+                       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)
+                               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);
-       }
+       if(pseudoprojectile)
+               delete(pseudoprojectile);
 
        // find all the entities the railgun hit and hurt them
        IL_EACH(g_railgunhit, it.railgunhit,