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:
1 parent
c8fff05ccb
commit
fb9d0a4eb4
89 files changed
+11852
-6
No files matched your search
@@ -271,3 +271,70 @@ Fetched with WebFetch, which returns quotes of 125 characters or fewer, so the q
|
||||
- "Damage taken will always be deducted from Armor before Health."
|
||||
- "Damage taken while protected by Armor still counts as taking damage for game purposes."
|
||||
- The page does not mention Bolf Ramshield or redirection.
|
||||
|
||||
## Source 6: Combat, Taunt, end of turn (fetched 2026-11-11, course v2 Task 9)
|
||||
|
||||
Fetched with WebFetch, which returns quotes of 125 characters or fewer, so the quotes below are short verbatim excerpts. The Advanced rulebook is about 480k characters; WebFetch read it in 100k chunks, and the combat section was in the chunk from character 100,000 to 200,000. The tool did not report the rulebook's last-edited date this time.
|
||||
|
||||
| Source | Result |
|
||||
|---|---|
|
||||
| https://hearthstone.wiki.gg/wiki/Advanced_rulebook | Loaded (characters 0 to 200,000 read for this task). |
|
||||
| https://hearthstone.wiki.gg/wiki/Attack | Loaded. Last edited 18 July 2024. |
|
||||
| https://hearthstone.wiki.gg/wiki/Taunt | Loaded. Last edited 11 August 2025. |
|
||||
| https://hearthstone.wiki.gg/wiki/Drakkari_Enchanter | Loaded. Last edited 2 January 2026. |
|
||||
| https://hearthstone.wiki.gg/wiki/Bonechewer_Brawler | Loaded. Last edited 4 October 2026. |
|
||||
| https://theliquidfire.com/2017/09/11/make-a-ccg-action-system/ | Loaded (re-fetched for the `priority` field). |
|
||||
| https://hearthstone.wiki.gg/wiki/Bolf_Ramshield | Loaded again, for what it says about attacks. |
|
||||
|
||||
**Advanced rulebook, Combat.**
|
||||
- "When you order a minion to attack another minion, the following Sequence takes place:"
|
||||
- Sequences: "Sending a Character to attack another character creates a Sequence of two Phases - "Preparation" and "Attack"."
|
||||
- Combat Preparation Phase: "A Proposed Attack Event is resolved." Then "Finally, an Attack Event is resolved."
|
||||
- Combat Phase: "Damage is dealt simultaneously in the order (attack, counterattack) and resolved."
|
||||
- "The subjects of Combat are the attacker and defender."
|
||||
- After Attack Event: "An After Attack Event is resolved as long as the attack was successful, even if it dealt 0 damage."
|
||||
- Ordering of damage in the Combat Phase, damage taken: "If both minions trigger when they take damage (such as a Grim Patron and an Imp Gang Boss), the defender" / "ALWAYS triggers first, regardless of order of play."
|
||||
- Same section, damage dealt: "If both minions trigger when they deal damage (such as Queen of Pain and Poison), the attacker" / "ALWAYS triggers first, regardless of order of play."
|
||||
- Paraphrased example from the same section: your Grim Patron attacks an enemy Imp Gang Boss; the defender queues first, so the Imp Gang Boss's trigger resolves first.
|
||||
- Not found in the chunks read: a statement that a 0 Attack minion cannot attack, the Taunt rule, attacks per turn. Those come from the Attack and Taunt pages below.
|
||||
|
||||
**Advanced rulebook, Start and end of turn.**
|
||||
- "All 'end of turn' Triggers (as well as the special case Shadow Madness) are Queued and resolved."
|
||||
- Notes: "Enchantments that trigger at the start or end of turn Queue in order of play alongside typical triggers."
|
||||
- Rule 4 notes (already in Source 1): Drakkari Enchanter is among the cards that "check before an Event starts", and "Deathrattles/End of turn effects that follow can benefit, for Aura (Other) is updated when you summon them."
|
||||
|
||||
**Attack.**
|
||||
- Attackers: "Characters with 0 Attack cannot be ordered to attack."
|
||||
- Choosing an attacker: "A character with an Attack of 0 (like Shieldbearer and most heroes) cannot attack."
|
||||
- Combat: "The attacker and defender deal damage to each other at the same time..." (the tool's excerpt ends with the ellipsis).
|
||||
- Attackers: "...heroes by default have no Attack value." Overview: "Therefore, enemy minions can hit the hero without harm during the opponent's turn."
|
||||
- Choosing an attacker: "A character can usually attack up to one time per turn, with the following exceptions:" The course doesn't model this.
|
||||
- The page also names "summoning sickness". The course doesn't model it.
|
||||
|
||||
**Taunt.**
|
||||
- "Enemies must attack minions that have Taunt."
|
||||
- Players "cannot attack any other characters while there are enemy Taunt minions on the battlefield."
|
||||
- "Taunts have no effect on spells, Hero Powers or other damaging effects."
|
||||
- "If the opponent has more than one minion with Taunt, the player will be able to choose which one of them to attack."
|
||||
- Stealth: "The Taunt effect is temporarily negated by the Stealth or Immunity." The course has no Stealth.
|
||||
|
||||
**Drakkari Enchanter.** 3-mana 1/5 Epic, Knights of the Frozen Throne.
|
||||
- Text: "Your end of turn effects trigger twice."
|
||||
- "This card affects most end-of-turn effects." and "Drakkari Enchanter doesn't affect some end of turn effects."
|
||||
- The page says nothing about two Drakkaris, or about a Drakkari summoned during the end of a turn. The rulebook's Rule 4 note covers the second.
|
||||
|
||||
**Bonechewer Brawler.** 2-mana 2/3 Common, Neutral, Ashes of Outland, Fel orc.
|
||||
- Text: "Taunt. Whenever this minion takes damage, gain +2 Attack."
|
||||
- Expressible in the course's card format with existing words: keyword `taunt`, trigger `selfDamaged`, effect `gainAttack` on `self`. Used as Module 12's Expansion Drop.
|
||||
|
||||
**Bolf Ramshield and attacks.**
|
||||
- Notes: "Thus, any effects which trigger from the attacking character dealing damage, such as Snowchugger and Queen of Pain" / "will still take effect if Bolf Ramshield intercepts the damage." So Bolf intercepts attack damage aimed at his hero.
|
||||
- The page says nothing about Bolf dealing damage back to the attacker, and nothing about weapons. The course's choice: no counterattack from a redirect.
|
||||
|
||||
**Liquid Fire, Make a CCG – Action System.**
|
||||
- Field: "public int priority { get; set; }"
|
||||
- "The “priority” is most important and is a way to override the default sorting in “orderOfPlay”"
|
||||
- "The final result will order them first by “priority” in descending order (higher priority goes first)"
|
||||
- `SortActions`: "if (x.priority != y.priority) {" / "return y.priority.CompareTo(x.priority);" / "} else {" / "return x.orderOfPlay.CompareTo(y.orderOfPlay);"
|
||||
|
||||
**Course use (Module 12).** The defender-first rule is modelled as a priority on the queue entries that answer the defender's Damage Event; the attacker-first rule for "deal damage" triggers is not modelled (the course has no trigger on dealing damage). The rulebook's "(attack, counterattack)" order of the damage is not followed for the `Damaged` events: the course creates them in order of play, as for all area damage, and says so in the lesson.
|
||||
Reference in new issue
Block a user