Spaces:
Sleeping
Sleeping
| import os | |
| import sys | |
| # Add project root to path | |
| sys.path.append(os.path.abspath(os.path.dirname(__file__))) | |
| from compiler.parser import AbilityParser | |
| from engine.models.ability import ConditionType | |
| text = "{{toujyou.png|登場}}手札を1枚控え室に置いてもよい:自分のデッキの上からカードを4枚見る その中からハートに{{heart_04.png|heart04}}を2個以上持つメンバーカードか、必要ハートの合計が2以上の『Liella!』のライブカードを1枚公開して手札に加えてもよい。残りのカードは控え室に置く。" | |
| print(f"Parsing Text: {text}") | |
| abilities = AbilityParser.parse_ability_text(text) | |
| print(f"Found {len(abilities)} abilities.") | |
| for i, ab in enumerate(abilities): | |
| print(f"\nAbility {i + 1}:") | |
| print(f" Trigger: {ab.trigger}") | |
| print(f" Conditions: {len(ab.conditions)}") | |
| print(f" Effects: {len(ab.effects)}") | |
| for eff in ab.effects: | |
| print(f" - Type: {eff.effect_type}") | |
| print(f" Val: {eff.value}") | |
| for cond in ab.conditions: | |
| print(f" - Type: {cond.type}") | |
| print(f" Params: {cond.params}") | |
| if cond.type == ConditionType.COUNT_HEARTS: | |
| print(f" -> Gating Flag: {cond.params.get('gating')}") | |