mirror of
https://github.com/mwisnowski/mtg_python_deckbuilder.git
synced 2025-12-17 08:00:13 +01:00
feature: add non-basic land types to tagging mechanics
This commit is contained in:
parent
fbb85645e6
commit
4a8d71b16b
6 changed files with 402 additions and 177 deletions
|
|
@ -730,6 +730,18 @@ def build_catalog(limit: int, verbose: bool) -> Dict[str, Any]:
|
|||
merged = [s for s in merged if s not in special_noise]
|
||||
# If theme is one of the special ones, keep the other if present (no action needed beyond above filter logic).
|
||||
|
||||
# Land type theme filtering: Gates/Caves/Spheres are land types, not artifact/token mechanics.
|
||||
# Rationale: These themes tag specific land cards, creating spurious correlations with artifact/token
|
||||
# themes when those cards happen to also produce artifacts/tokens (e.g., Tireless Tracker in Gates decks).
|
||||
# Filter out artifact/token synergies that don't make thematic sense for land-type-matters strategies.
|
||||
land_type_themes = {"Gates Matter"}
|
||||
incompatible_with_land_types = {
|
||||
"Investigate", "Clue Token", "Detective Kindred"
|
||||
}
|
||||
if theme in land_type_themes:
|
||||
merged = [s for s in merged if s not in incompatible_with_land_types]
|
||||
# For non-land-type themes, don't filter (they can legitimately synergize with these)
|
||||
|
||||
if synergy_cap > 0 and len(merged) > synergy_cap:
|
||||
ce_len = len(curated_list) + len([s for s in enforced_list if s not in curated_list])
|
||||
if ce_len < synergy_cap:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue