- SpellGrid cards move to course/10-spellgrid/cards; start-module and verify-references stage course/cards plus module-local cards up to the module, so M5-M9 workspaces get exactly the pre-M10 card set. - cast() rejects a chosen-target spell without a target (checkCast/checkPlay); new test_10_targeted_spell_needs_target. - Rust CLI pre-validates instead of swapping the global panic hook. - Catalog: CRIER noun; DEATHRATTLE/BATTLECRY note on lexicon vs catalog role. - Lesson: design note on mid-movement reparse. Co-Authored-By: Claude Opus 5.5 <[email protected]>
29 lines
432 B
JSON
29 lines
432 B
JSON
{
|
|
"name": "Ember Moth",
|
|
"type": "minion",
|
|
"cost": 1,
|
|
"attack": 1,
|
|
"health": 1,
|
|
"noun": "MOTH",
|
|
"split": 1,
|
|
"text": [
|
|
{
|
|
"kind": "keyword",
|
|
"keyword": "Taunt"
|
|
},
|
|
{
|
|
"kind": "trigger",
|
|
"on": "deathrattle"
|
|
},
|
|
{
|
|
"kind": "effect",
|
|
"effect": {
|
|
"type": "dealDamage",
|
|
"target": "enemyHero",
|
|
"amount": 2
|
|
}
|
|
}
|
|
],
|
|
"game": "spellgrid"
|
|
}
|