rabukasim / tools /_legacy_scripts /debug /debug_parser_pb1_013.py
trioskosmos's picture
Upload folder using huggingface_hub
463f868 verified
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')}")