From ecadb301c0fcb2ba8d3958d6f53513ae7cd2bf69 Mon Sep 17 00:00:00 2001 From: Vertraic Date: Sat, 8 Nov 2025 15:45:26 -0800 Subject: [PATCH] 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 * change to an elif to avoid unnecessary nesting --------- Co-authored-by: qwint Co-authored-by: Benny D <78334662+benny-dreamly@users.noreply.github.com> --- Generate.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Generate.py b/Generate.py index 1044a9880d..2b27cb222b 100644 --- a/Generate.py +++ b/Generate.py @@ -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}.")