X-Git-Url: http://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fserver%2Fmiscfunctions.qc;h=f3f4d71bc45e7a841599447ae9883925f7490d66;hp=40421bbc0fcd9345490cc5c63dcdac2ef368d481;hb=405ed8bb55aac6155fe25e757bde8666176ee4c7;hpb=26f74fde4b86df999a01be07a6b78adf8e00a88c diff --git a/qcsrc/server/miscfunctions.qc b/qcsrc/server/miscfunctions.qc index 40421bbc0..f3f4d71bc 100644 --- a/qcsrc/server/miscfunctions.qc +++ b/qcsrc/server/miscfunctions.qc @@ -929,7 +929,7 @@ void readlevelcvars(void) g_bugrigs_speed_pow = cvar("g_bugrigs_speed_pow"); g_bugrigs_steer = cvar("g_bugrigs_steer"); - g_minstagib = cvar("g_minstagib"); + g_instagib = cvar("g_instagib"); sv_clones = cvar("sv_clones"); sv_foginterval = cvar("sv_foginterval"); @@ -1590,6 +1590,44 @@ void Net_LinkEntity(entity e, float docull, float dt, float(entity, float) sendf } } + +entity eliminatedPlayers; +.float(entity) isEliminated; +float EliminatedPlayers_SendEntity(entity to, float sendflags) +{ + float i, f, b; + entity e; + WriteByte(MSG_ENTITY, ENT_CLIENT_ELIMINATEDPLAYERS); + WriteByte(MSG_ENTITY, sendflags); + + if(sendflags & 1) + { + for(i = 1; i <= maxclients; i += 8) + { + for(f = 0, e = edict_num(i), b = 1; b < 256; b *= 2, e = nextent(e)) + { + if(eliminatedPlayers.isEliminated(e)) + f |= b; + } + WriteByte(MSG_ENTITY, f); + } + } + + return TRUE; +} + +void EliminatedPlayers_Init(float(entity) isEliminated_func) +{ + if(eliminatedPlayers) + { + backtrace("Can't spawn eliminatedPlayers again!"); + return; + } + Net_LinkEntity(eliminatedPlayers = spawn(), FALSE, 0, EliminatedPlayers_SendEntity); + eliminatedPlayers.isEliminated = isEliminated_func; +} + + void adaptor_think2touch() { entity o;