feat: Module 12, Combat (attack as one Sequence, Taunt, defender-first as a queue priority, end of turn; Bonechewer Brawler as the Expansion Drop)

Adds course/12-combat: lesson, scenarios, nine test_12 tests in both tracks,
the cumulative reference (Module 11's plus combat) and the drop. The Damage
action carries per-target hits with a priority; react stable-sorts its Queue by
priority before order of play, so the triggers answering the defender's Damage
Event go first. orderAttack/canAttack/endTurn join the harness (orderAttack
because attack(id) already reads Attack). endOfTurn triggers fire, so Drakkari
Enchanter's data is live. Test Bell is scoped to Module 12's cards. Harness
contract, catalog, research notes and earlier lessons' forward pointers follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Lucas WintherandClaude Opus 5.5 committed 2026-11-11 13:34:20 +01:00
1 parent c8fff05ccb
commit fb9d0a4eb4
89 files changed
+11852 -6

No files matched your search

+1 -1
View File
@@ -2,7 +2,7 @@
A free, hands-on course on **systemic game design**. You learn by rebuilding the rules machinery of two games, then extending it:
- **Part I: Hearthstone** (cards, zones, triggers, death phases, auras, text assembly)
- **Part I: Hearthstone** (cards, zones, triggers, death phases, auras, text assembly; Module 12 adds combat, Taunt and the end of a turn)
- **Part II: Baba Is You** (rules as pushable text, parsing, movement, win/lose; Module 11 adds conditions, `BABA ON KEY IS WIN`)
- **Part III: SpellGrid**, a small original game that combines both systems
- **Module 13: Break your own engine**, an optional closing module on testing what the tests miss: mutation testing, invariants, metamorphic relations, undo and replay, and a level solver