megadicing / core /ruleset.py
gloygum
Initial megadicing space
35465a0
Raw
History Blame Contribute Delete
969 Bytes
"""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"]