@Override
    public float calculateDesire() {
        float desire = 0f;

        Actor actor = ai.getActor();

        if (actor == null) {
            return desire;
        }
        
        Player p = registry.getPlayerManager().getPlayerById(ai.getPlayer());

        //if robot is in aggressive mode, it will always choose this goal
        if (registry.getRobotMode(p).equals("Aggressive")) {
            Monster m = registry.getMonsterManager().getClosestInPanel(actor.getCenterPoint());

            if (m == null) {
                newTarget = "";
                return desire;
            } else {
                newTarget = m.getId();
            }

            desire = 1;
        } else if (registry.getRobotMode(p).equals("Defensive")) {
            Monster m = registry.getMonsterManager().getMostAggroInPanel(actor.getCenterPoint());

            if (m == null) {
                newTarget = "";
                return desire;
            } else {
                newTarget = m.getId();
            }

            desire = 1;
        }

        return desire;
    }