From 0909313a7b307830705a4cf35b70ad70031be40d Mon Sep 17 00:00:00 2001 From: kadaverjack Date: Fri, 17 Feb 2006 17:09:55 +0000 Subject: [PATCH] fixed bug with minstagib & cl_weaponswitch 0 and optimized flag return when flag is in trigger_hurt git-svn-id: svn://svn.icculus.org/nexuiz/trunk@1080 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/gamec/ctf.c | 8 ++------ data/qcsrc/server/gamec/g_triggers.c | 4 ++-- data/qcsrc/server/gamec/t_items.c | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/data/qcsrc/server/gamec/ctf.c b/data/qcsrc/server/gamec/ctf.c index 0a262da25..dda99d0a4 100644 --- a/data/qcsrc/server/gamec/ctf.c +++ b/data/qcsrc/server/gamec/ctf.c @@ -55,8 +55,6 @@ void(entity e) RegenFlag = e.cnt = FLAG_BASE; e.owner = world; e.flags = FL_ITEM; // clear FL_ONGROUND and any other junk - - e.health = 1; }; void(entity e) ReturnFlag = @@ -128,9 +126,9 @@ void() FlagThink = if (self.cnt == FLAG_BASE) return; - if (self.cnt == FLAG_DROPPED || !self.health) + if (self.cnt == FLAG_DROPPED) { - if (time > self.pain_finished || !self.health) + if (time > self.pain_finished) { if (self.team == 5) bprint("The RED flag has returned to base\n"); @@ -452,7 +450,6 @@ void() item_flag_team1 = // self.glow_size = 50; self.effects = self.effects | EF_FULLBRIGHT | EF_LOWPRECISION; - self.health = 1; }; /*QUAKED item_flag_team2 (0 0.5 0.8) (-48 -48 -24) (48 48 64) @@ -503,7 +500,6 @@ void() item_flag_team2 = // self.glow_size = 50; self.effects = self.effects | EF_FULLBRIGHT | EF_LOWPRECISION; - self.health = 1; }; diff --git a/data/qcsrc/server/gamec/g_triggers.c b/data/qcsrc/server/gamec/g_triggers.c index 4c3905ec6..cfe5ef39e 100644 --- a/data/qcsrc/server/gamec/g_triggers.c +++ b/data/qcsrc/server/gamec/g_triggers.c @@ -346,8 +346,8 @@ void() hurt_touch = { if (!other.owner) if (other.items & IT_KEY1 || other.items & IT_KEY2) - other.health = 0; - + other.pain_finished = time + 2; + if (other.takedamage) if (other.triggerhurttime < time) { diff --git a/data/qcsrc/server/gamec/t_items.c b/data/qcsrc/server/gamec/t_items.c index e3f88e320..22ea744ba 100644 --- a/data/qcsrc/server/gamec/t_items.c +++ b/data/qcsrc/server/gamec/t_items.c @@ -38,7 +38,7 @@ void Item_Touch (void) // in case the player has autoswitch enabled do the following: // if the player is using their best weapon before items are given, they // probably want to switch to an even better weapon after items are given - _switchweapon = (other.autoswitch && (other.switchweapon == w_getbestweapon(other))); + _switchweapon = (other.autoswitch && (other.switchweapon == w_getbestweapon(other)) || cvar("g_minstagib")); if (cvar("g_minstagib")) { -- 2.39.2