X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fserver%2Fctf.qc;h=d84075cf4c959b725d97de65c6d85b2ec498dcf5;hb=3d25fdf470809fd60dbd0bc43bd532c7d94f29de;hp=6f7198c2a9f225e803fe7f63d5faa557063262a6;hpb=30cd3220d0370aa10dfb62eeb2ee3145d56b1c68;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/server/ctf.qc b/qcsrc/server/ctf.qc index 6f7198c2a..d84075cf4 100644 --- a/qcsrc/server/ctf.qc +++ b/qcsrc/server/ctf.qc @@ -135,10 +135,7 @@ void ctf_flag_spawnstuff() float ctf_score_value(string parameter) { - if(g_ctf_win_mode != 2) - return cvar(strcat("g_ctf_personal", parameter)); - else - return cvar(strcat("g_ctf_flag", parameter)); + return cvar(strcat("g_ctf_personal", parameter)); } void FakeTimeLimit(entity e, float t) @@ -419,6 +416,7 @@ void flag_cap_ring_spawn(vector org) shockwave_spawn("models/ctf/shockwavetransring.md3", org - '0 0 15', -0.8, 0, 1); } +// TODO add FlagDamage, replace weird hurttrigger handling inside trigger_hurt code by it void FlagTouch() { if(gameover) return; @@ -426,14 +424,24 @@ void FlagTouch() float t; entity player; string s, s0, h0, h1; + + if (self.cnt == FLAG_CARRY) + return; + + if (self.cnt == FLAG_DROPPED) + { + if(ITEM_TOUCH_NEEDKILL()) + { + self.pain_finished = 0; // return immediately + return; + } + } + if (other.classname != "player") return; if (other.health < 1) // ignore dead players return; - if (self.cnt == FLAG_CARRY) - return; - if (self.cnt == FLAG_BASE) if (other.team == self.team) if (other.flagcarried) // he's got a flag @@ -1012,11 +1020,6 @@ void ctf_init() captureshield_min_negscore = autocvar_g_ctf_shield_min_negscore; captureshield_max_ratio = autocvar_g_ctf_shield_max_ratio; captureshield_force = autocvar_g_ctf_shield_force; - - -//#NO AUTOCVARS START - g_ctf_win_mode = cvar("g_ctf_win_mode"); -//#NO AUTOCVARS END } void ctf_setstatus2(entity flag, float shift)