func (h *HateFlag) Do(obj gameObjectsBase.Activer) { if _, exists := obj.GetTarget(); exists { return } center := obj.GetCenter() lt, rb := h.field.GetSquareArea(center.X, center.Y, obj.GetRadiusVision()) for i := int(lt.Y); i < int(rb.Y); i++ { for j := int(lt.X); j < int(rb.X); j++ { for _, m := range h.field.GetActors(j, i) { if m.GetKind().GetRace() == h.hated && obj.GetID() != m.GetID() { obj.SetTarget(m) return } } } } }