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

        //figure out the distance between player and mob
        int actorX = ai.getActor().getMapX();
        int playerX = registry.getClosestPlayerX(ai.getActor().getCenterPoint(), MAX_DISTANCE);
        int distance = Math.abs(playerX - actorX);

        //see if the mob needs to be attack the player
        //closer the player is, the more the mob wants to attack
        if (distance >= MAX_DISTANCE || playerX < 0) {
            desire = 0;
        } else {
            desire = 1.0f - ((float) distance / (float) MAX_DISTANCE);
        }

        desire *= bias;
        desire = validateDesire(desire);
        
        ai.getActor().setDebugInfo(ai.getActor().getDebugInfo() + "Player (" + ((int) desire * 100) + ")|");

        return desire;
    }