diff --git a/src/entity.js b/src/entity.js index 54384a5..6a61030 100644 --- a/src/entity.js +++ b/src/entity.js @@ -311,13 +311,10 @@ export default class Entity { return absoluteClosestTarget } - const targetsInDirectVision = targetsInRange.filter((it) => entityIdsInDirectVision.includes(it.id)) - if (targetsInDirectVision.length < 1) { return } - const visibleEntityIds = this.visibleEntities() - const visibleEntitiesInRange = targetsInRange.it((it) => visibleEntityIds.includes(it.id)) + const visibleEntitiesInRange = targetsInRange.filter((it) => visibleEntityIds.includes(it.id)) - return visibleEntitiesInRange.filter((it) => visibleEntityIds.includes(it.id) && this.team != it.team && it.distanceTo(cursor) <= range + this.radius + it.radius) + return visibleEntitiesInRange.reduce((e1, e2) => (e1?.distanceTo(cursor) ?? Infinity) < e2.distanceTo(cursor) ? e1 : e2, null) } customBboxCollidables(bbox) {