"""Ruleset selector for probability enrichment tables. The default RuleSet loads current Blood Bowl 3 rules from lookup_registry. Pass a custom RuleSet instance to GameStateProcessor to override rules without modifying enrichment logic. """ from core.lookup_registry import ( get_action_skill_reroll_policies, get_pro_status_values, get_skill_rule, ) class RuleSet: """Bundles probability-relevant rule tables. Default loads from lookup_registry.""" def __init__(self): self.pro_rule = get_skill_rule("pro") self.action_skill_reroll_policies = get_action_skill_reroll_policies() pro_status = get_pro_status_values() self.pro_status_blocked_category = pro_status["blocked_category"] self.pro_status_blocked_skill = pro_status["blocked_skill"] self.pro_status_no_pro = pro_status["no_pro"] self.pro_status_eligible = pro_status["eligible"] self.pro_status_used = pro_status["used"]