Fix floater melee / zap damage getting applied if enemy is out of range.

Found by @BjossiAlfreds, closes yquake2/yquake2#454.
This commit is contained in:
Yamagi Burmeister 2019-09-23 17:27:59 +02:00
parent f3dd878809
commit 59cc08fd96
1 changed files with 6 additions and 2 deletions

View File

@ -640,8 +640,12 @@ floater_zap(edict_t *self)
gi.WriteByte(1); /* sparks */
gi.multicast(origin, MULTICAST_PVS);
T_Damage(self->enemy, self, self, dir, self->enemy->s.origin,
vec3_origin, 5 + rand() % 6, -10, DAMAGE_ENERGY, MOD_UNKNOWN);
if (range(self, self->enemy) && infront(self, self->enemy) &&
visible(self, self->enemy))
{
T_Damage(self->enemy, self, self, dir, self->enemy->s.origin,
vec3_origin, 5 + rand() % 6, -10, DAMAGE_ENERGY, MOD_UNKNOWN);
}
}
void