static public boolean isNeedTreatment(Game game, World world, Trooper self, Move move) {
        if (self.isHoldingMedikit() && self.getActionPoints() > game.getMedikitUseCost()) {
            Trooper weakestTroop = null;

            for (Trooper trooper : world.getTroopers()) {
                if (trooper.isTeammate() && (trooper.getMaximalHitpoints() - trooper.getHitpoints() > game.getMedikitHealSelfBonusHitpoints())) {       //TODO if current HP is not full
                    if (weakestTroop == null) {
                        weakestTroop = trooper;
                    }
                    if (self.getDistanceTo(trooper) < self.getDistanceTo(weakestTroop)) {
                        weakestTroop = trooper;
                    }                                 // TODO need to check path instead distance
                }
            }


            if (weakestTroop == null) {
                return false;
            }
            if (self.getDistanceTo(weakestTroop) <= 1) {
                move.setAction(ActionType.USE_MEDIKIT);
                move.setX(weakestTroop.getX());
                move.setY(weakestTroop.getY());
                return true;
            }


        }
        return false;

    }