def METHOD_NAME(world: MultiWorld, player: int,
        all_weights: Dict[str, Union[Dict[str, int], str]], key: str) -> Tuple[bool, bool]:
    weights: Union[Dict[str, int], str] = all_weights[key]
    if isinstance(weights, dict):
        result: str = world.random.choices(list(weights.keys()), weights=list(map(int, weights.values())))[0]
    else:
        result: str = weights
    if result == "Dry":
        return False, False
    elif result == "Flooded":
        return True, True
    elif result == "FloodedWithSavePointAvailable":
        return True, False