From 845019202147db4b0587a42031b0da2100882ce5 Mon Sep 17 00:00:00 2001 From: divverent Date: Sun, 18 Jan 2009 19:10:25 +0000 Subject: [PATCH] GAME_NEXUIZ: skip player entities in hitnetworkplayers if they have -666 (spectator) or -616 (nonsolid player) frags git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@8657 d7cf8633-e32d-0410-b094-e92efae38249 --- cl_collision.c | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/cl_collision.c b/cl_collision.c index 10e8f4c2..09e9349c 100644 --- a/cl_collision.c +++ b/cl_collision.c @@ -317,15 +317,33 @@ trace_t CL_Move(const vec3_t start, const vec3_t mins, const vec3_t maxs, const { vec3_t origin, entmins, entmaxs; matrix4x4_t entmatrix, entinversematrix; + + if(gamemode == GAME_NEXUIZ) + { + // don't hit network players, if we are a nonsolid player + if(cl.scores[cl.playerentity-1].frags == -666 || cl.scores[cl.playerentity-1].frags == -616) + goto skipnetworkplayers; + } + for (i = 1;i <= cl.maxclients;i++) { entity_render_t *ent = &cl.entities[i].render; - // don't hit players that don't exist - if (!cl.scores[i-1].name[0]) - continue; + // don't hit ourselves if (i == cl.playerentity) continue; + + // don't hit players that don't exist + if (!cl.scores[i-1].name[0]) + continue; + + if(gamemode == GAME_NEXUIZ) + { + // don't hit spectators or nonsolid players + if(cl.scores[i-1].frags == -666 || cl.scores[i-1].frags == -616) + continue; + } + Matrix4x4_OriginFromMatrix(&ent->matrix, origin); VectorAdd(origin, cl.playerstandmins, entmins); VectorAdd(origin, cl.playerstandmaxs, entmaxs); @@ -338,6 +356,9 @@ trace_t CL_Move(const vec3_t start, const vec3_t mins, const vec3_t maxs, const *hitnetworkentity = i; Collision_CombineTraces(&cliptrace, &trace, NULL, false); } + +skipnetworkplayers: + ; } // clip to entities -- 2.39.2