diff --git a/src/monster/gladiator/gladb.c b/src/monster/gladiator/gladb.c index a04fe90..6a7e5da 100644 --- a/src/monster/gladiator/gladb.c +++ b/src/monster/gladiator/gladb.c @@ -289,13 +289,19 @@ gladb_attack(edict_t *self) return; } - /* a small safe zone */ - VectorSubtract(self->s.origin, self->enemy->s.origin, v); - range = VectorLength(v); - - if (range <= (MELEE_DISTANCE + 32)) + /* a small safe zone + but not for stand-ground ones since players can + abuse it by standing still inside this range + */ + if (!(self->monsterinfo.aiflags & AI_STAND_GROUND)) { - return; + VectorSubtract(self->s.origin, self->enemy->s.origin, v); + range = VectorLength(v); + + if (range <= (MELEE_DISTANCE + 32)) + { + return; + } } /* charge up the railgun */ diff --git a/src/monster/gladiator/gladiator.c b/src/monster/gladiator/gladiator.c index f14416f..0d52a02 100644 --- a/src/monster/gladiator/gladiator.c +++ b/src/monster/gladiator/gladiator.c @@ -275,13 +275,19 @@ gladiator_attack(edict_t *self) return; } - /* a small safe zone */ - VectorSubtract(self->s.origin, self->enemy->s.origin, v); - range = VectorLength(v); - - if (range <= (MELEE_DISTANCE + 32)) + /* a small safe zone + but not for stand-ground ones since players can + abuse it by standing still inside this range + */ + if (!(self->monsterinfo.aiflags & AI_STAND_GROUND)) { - return; + VectorSubtract(self->s.origin, self->enemy->s.origin, v); + range = VectorLength(v); + + if (range <= (MELEE_DISTANCE + 32)) + { + return; + } } /* charge up the railgun */