mantimon-tcg/backend/data/definitions/pokemon/a1/037-vulpix.json
Cal Corum adb55dec12 Fix scraper to preserve energy types in effect text
The source website uses <span class='energy-text energy-text--type-fire'>
to render inline energy icons. BeautifulSoup's get_text() was stripping
these spans, losing the energy type information and causing merged text
like 'Discard aEnergy' instead of 'Discard a Fire Energy'.

Changes:
- Add ENERGY_TEXT_TYPES mapping for inline energy references
- Add replace_energy_text_spans() to convert spans to text before extraction
- Add extract_effect_text() helper with proper text joining (separator=' ')
- Update parse_attack(), parse_ability(), _parse_trainer_details() to use it
- Fix JSON encoding in convert_cards.py to use UTF-8 (ensure_ascii=False)

Before: 'Discard an Energy from this Pokémon'
After:  'Discard a Fire Energy from this Pokémon'

Re-scraped all 372 cards and regenerated 382 definitions.
2026-01-27 15:10:02 -06:00

27 lines
564 B
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"id": "a1-037-vulpix",
"name": "Vulpix",
"card_type": "pokemon",
"hp": 50,
"pokemon_type": "fire",
"stage": "basic",
"variant": "normal",
"retreat_cost": 1,
"set_id": "a1",
"rarity": "common",
"attacks": [
{
"name": "Tail Whip",
"cost": [
"colorless"
],
"damage": 0,
"effect_description": "Flip a coin. If heads, the Defending Pokémon cant attack during your opponents next turn."
}
],
"weakness": {
"energy_type": "water",
"value": 20
},
"illustrator": "Toshinao Aoki"
}