summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/game/g_buildable.c5
-rw-r--r--src/game/g_mover.c6
-rw-r--r--src/game/g_weapon.c7
-rw-r--r--src/game/tremulous.h4
4 files changed, 19 insertions, 3 deletions
diff --git a/src/game/g_buildable.c b/src/game/g_buildable.c
index 54717b3b..17cd1402 100644
--- a/src/game/g_buildable.c
+++ b/src/game/g_buildable.c
@@ -1702,7 +1702,12 @@ void HMedistat_Think( gentity_t *self )
self->active = qfalse;
}
else if( self->enemy ) //heal!
+ {
+ if( self->enemy->client && self->enemy->client->ps.stats[ STAT_STATE ] & SS_POISONED )
+ self->enemy->client->ps.stats[ STAT_STATE ] &= ~SS_POISONED;
+
self->enemy->health++;
+ }
}
}
diff --git a/src/game/g_mover.c b/src/game/g_mover.c
index 192a46cc..82de7360 100644
--- a/src/game/g_mover.c
+++ b/src/game/g_mover.c
@@ -790,6 +790,10 @@ void Use_BinaryMover( gentity_t *ent, gentity_t *other, gentity_t *activator )
int total;
int partial;
+ // if this is a non-client-usable door return
+ if( ent->targetname && other && other->client )
+ return;
+
// only the master should be used
if( ent->flags & FL_TEAMSLAVE )
{
@@ -1448,7 +1452,7 @@ void SP_func_door( gentity_t *ent )
ent->nextthink = level.time + FRAMETIME;
- if( ! (ent->flags & FL_TEAMSLAVE ) )
+ if( !( ent->flags & FL_TEAMSLAVE ) )
{
int health;
diff --git a/src/game/g_weapon.c b/src/game/g_weapon.c
index 2ab1abd5..59f513a0 100644
--- a/src/game/g_weapon.c
+++ b/src/game/g_weapon.c
@@ -793,6 +793,7 @@ void poisonCloud( gentity_t *ent )
vec3_t mins, maxs, dir;
int i, num;
gentity_t *humanPlayer;
+ trace_t tr;
VectorAdd( ent->client->ps.origin, range, maxs );
VectorSubtract( ent->client->ps.origin, range, mins );
@@ -810,6 +811,12 @@ void poisonCloud( gentity_t *ent )
if( BG_gotItem( UP_BATTLESUIT, humanPlayer->client->ps.stats ) )
continue;
+ trap_Trace( &tr, muzzle, NULL, NULL, humanPlayer->s.origin, humanPlayer->s.number, MASK_SHOT );
+
+ //can't see target from here
+ if( tr.entityNum == ENTITYNUM_WORLD )
+ continue;
+
if( !( humanPlayer->client->ps.stats[ STAT_STATE ] & SS_POISONCLOUDED ) )
{
humanPlayer->client->ps.stats[ STAT_STATE ] |= SS_POISONCLOUDED;
diff --git a/src/game/tremulous.h b/src/game/tremulous.h
index 8f2ffd34..0b30b0e6 100644
--- a/src/game/tremulous.h
+++ b/src/game/tremulous.h
@@ -61,8 +61,8 @@
#define CHIMERA_CLAW_REPEAT 500
#define CHIMERA_CLAW_U_REPEAT 400
#define CHIMERA_AREAZAP_DMG ADM(100)
-#define CHIMERA_AREAZAP_RANGE 300.0f
-#define CHIMERA_AREAZAP_REPEAT 1500
+#define CHIMERA_AREAZAP_RANGE 200.0f
+#define CHIMERA_AREAZAP_REPEAT 3000
#define CHIMERA_WALLJUMP_MAXSPEED 1000.0f
#define DRAGOON_CLAW_DMG ADM(100)