all requires to be modified by trigggers and linked options
This commit is contained in:
parent
a08d7bb1b2
commit
741ec36ee1
33
Mystery.py
33
Mystery.py
|
@ -453,22 +453,6 @@ def get_plando_bosses(boss_shuffle: str, plando_options: typing.Set[str]) -> str
|
||||||
|
|
||||||
|
|
||||||
def roll_settings(weights: dict, plando_options: typing.Set[str] = frozenset(("bosses",))):
|
def roll_settings(weights: dict, plando_options: typing.Set[str] = frozenset(("bosses",))):
|
||||||
requirements = weights.get("requires", {})
|
|
||||||
if requirements:
|
|
||||||
version = requirements.get("version", __version__)
|
|
||||||
if tuplize_version(version) > version_tuple:
|
|
||||||
raise Exception(f"Settings reports required version of generator is at least {version}, "
|
|
||||||
f"however generator is of version {__version__}")
|
|
||||||
required_plando_options = requirements.get("plando", "")
|
|
||||||
required_plando_options = set(option.strip() for option in required_plando_options.split(","))
|
|
||||||
required_plando_options -= plando_options
|
|
||||||
if required_plando_options:
|
|
||||||
if len(required_plando_options) == 1:
|
|
||||||
raise Exception(f"Settings reports required plando module {', '.join(required_plando_options)}, "
|
|
||||||
f"which is not enabled.")
|
|
||||||
else:
|
|
||||||
raise Exception(f"Settings reports required plando modules {', '.join(required_plando_options)}, "
|
|
||||||
f"which are not enabled.")
|
|
||||||
if "pre_rolled" in weights:
|
if "pre_rolled" in weights:
|
||||||
pre_rolled = weights["pre_rolled"]
|
pre_rolled = weights["pre_rolled"]
|
||||||
|
|
||||||
|
@ -506,6 +490,23 @@ def roll_settings(weights: dict, plando_options: typing.Set[str] = frozenset(("b
|
||||||
if "triggers" in weights:
|
if "triggers" in weights:
|
||||||
weights = roll_triggers(weights)
|
weights = roll_triggers(weights)
|
||||||
|
|
||||||
|
requirements = weights.get("requires", {})
|
||||||
|
if requirements:
|
||||||
|
version = requirements.get("version", __version__)
|
||||||
|
if tuplize_version(version) > version_tuple:
|
||||||
|
raise Exception(f"Settings reports required version of generator is at least {version}, "
|
||||||
|
f"however generator is of version {__version__}")
|
||||||
|
required_plando_options = requirements.get("plando", "")
|
||||||
|
required_plando_options = set(option.strip() for option in required_plando_options.split(","))
|
||||||
|
required_plando_options -= plando_options
|
||||||
|
if required_plando_options:
|
||||||
|
if len(required_plando_options) == 1:
|
||||||
|
raise Exception(f"Settings reports required plando module {', '.join(required_plando_options)}, "
|
||||||
|
f"which is not enabled.")
|
||||||
|
else:
|
||||||
|
raise Exception(f"Settings reports required plando modules {', '.join(required_plando_options)}, "
|
||||||
|
f"which are not enabled.")
|
||||||
|
|
||||||
ret = argparse.Namespace()
|
ret = argparse.Namespace()
|
||||||
ret.name = get_choice('name', weights)
|
ret.name = get_choice('name', weights)
|
||||||
ret.accessibility = get_choice('accessibility', weights)
|
ret.accessibility = get_choice('accessibility', weights)
|
||||||
|
|
Loading…
Reference in New Issue