From 04c9248961ab3c0ad5e3019c8dbeda5d26fe31b8 Mon Sep 17 00:00:00 2001 From: BjossiAlfreds Date: Sat, 22 Apr 2023 18:51:05 +0000 Subject: [PATCH] Fixed stand-ground gladiators not attacking at certain range --- src/monster/gladiator/gladb.c | 18 ++++++++++++------ src/monster/gladiator/gladiator.c | 18 ++++++++++++------ 2 files changed, 24 insertions(+), 12 deletions(-) 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 */