forked from mirror/Archipelago
Core: Allows Meta.yaml to add triggers to individual yaml's categories. (#3556)
* Initial commit * Shifted added code to the appropriate indentation. Re-wrote for statement in proper python style. * Update Generate.py Co-authored-by: qwint <qwint.42@gmail.com> * change to an elif to avoid unnecessary nesting --------- Co-authored-by: qwint <qwint.42@gmail.com> Co-authored-by: Benny D <78334662+benny-dreamly@users.noreply.github.com>
This commit is contained in:
@@ -189,6 +189,11 @@ def main(args=None) -> tuple[argparse.Namespace, int]:
|
||||
yaml[category][key] = option
|
||||
elif category_name not in yaml:
|
||||
logging.warning(f"Meta: Category {category_name} is not present in {path}.")
|
||||
elif key == "triggers":
|
||||
if "triggers" not in yaml[category_name]:
|
||||
yaml[category_name][key] = []
|
||||
for trigger in option:
|
||||
yaml[category_name][key].append(trigger)
|
||||
else:
|
||||
yaml[category_name][key] = option
|
||||
|
||||
@@ -385,6 +390,8 @@ def roll_meta_option(option_key, game: str, category_dict: dict) -> Any:
|
||||
if options[option_key].supports_weighting:
|
||||
return get_choice(option_key, category_dict)
|
||||
return category_dict[option_key]
|
||||
if option_key == "triggers":
|
||||
return category_dict[option_key]
|
||||
raise Options.OptionError(f"Error generating meta option {option_key} for {game}.")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user