One Year of Placing Fires

Today marks the one year anniversary of Fireplace’s first commit.

1461 commits later, Mulligans have finally been implemented

About time, huh?

Mulligans set a choice variable on the player. If that variable is set, ending the turn or performing any action will result in an error.

The choice variable is an action (a MulliganChoice, specifically). It has a cards attribute which contains the list of cards that can be picked. To perform the mulligan, call player.choice.choose(card1, card2, ...). This will first draw an amount of cards equal to the amount of chosen cards, and then shuffle the chosen cards into the deck (therefore, the chosen cards will never be re-drawn).

Calling choose() with no arguments will perform an empty mulligan (keep all cards).

Jousting has also been implemented, using the following syntax:

Joust(FRIENDLY + MINION + IN_DECK, ENEMY + MINION + IN_DECK) & Buff(SELF, ...)

The classic joust is aliased to JOUST to help readability and avoid repetition.

Auras have been rewritten again. They are completely gone from the CardDefs.xml file and are now action-driven instead. This makes them much easier to implement and also paves the way for attribute scripts to become auras as well. I’ll be very sad to see them go, but the action/selector system is just so much more flexible.

The Grand Pack Analysis

The Grand Tournament is out!

Yesterday, I posted about a pack analysis we intend to run over crowdsourced data of the TGT packs. In the 12 hours since TGT has come out, we have had over three hundred submissions including over eleven thousand packs!

Fluxflashor has already set up a website that allows for automatic processing of submissions and viewing the submitted data.

The data is pouring in and the next post on this blog will be a short analysis on the set, as well as the raw CSV data and the source code used to generate it. The analysis will be cross-posted to both Hearthpwn and /r/Hearthstone.

Kettles and Stoves

Work on matchmaking in Stove is progressing at a very fast pace. The first Kettle commit (previously known as Firesim) is in the Fireplace tree, right on time for the anniversary.

AGPLv3+ relicensing

Both Fireplace and Stove have been relicensed from GPL3 to the Affero GPLv3.

65 files changed, 3471 insertions(+), 1412 deletions(-)

Jerome