diff --git a/inc/shared/shared.h b/inc/shared/shared.h index 676cb40e5..1fbb2fff4 100644 --- a/inc/shared/shared.h +++ b/inc/shared/shared.h @@ -1265,6 +1265,7 @@ enum { SPLASH_SLIME, SPLASH_LAVA, SPLASH_BLOOD, + SPLASH_ELECTRIC_N64, // KEX }; // sound channels diff --git a/src/client/tent.c b/src/client/tent.c index 17128a6db..126d36ca2 100644 --- a/src/client/tent.c +++ b/src/client/tent.c @@ -1285,11 +1285,17 @@ void CL_ParseTEnt(void) break; case TE_SPLASH: // bullet hitting water - if (te.color < 0 || te.color > 6) - r = 0x00; - else - r = splash_color[te.color]; - CL_ParticleEffect(te.pos1, te.dir, r, te.count); + if (cl.csr.extended && te.color == SPLASH_ELECTRIC_N64) { + CL_ParticleEffect(te.pos1, te.dir, 0x6c, te.count / 2); + CL_ParticleEffect(te.pos1, te.dir, 0xb0, (te.count + 1) / 2); + te.color = SPLASH_SPARKS; + } else { + if (te.color >= q_countof(splash_color)) + r = 0x00; + else + r = splash_color[te.color]; + CL_ParticleEffect(te.pos1, te.dir, r, te.count); + } if (te.color == SPLASH_SPARKS) { r = Q_rand() & 3;