You are on page 1of 48

////////////////////////////////////////////////////////////////////////////////////////////

//Choose default if you don't know what kind of your deck it is.
//
////////////////////////////////////////////////////////////////////////////////////////////
PLAY STYLE Default

USE DEFAULT MULLIGAN RULES YES


//////////

//////////
CARD NAME PRIORITY USE TYPE
////////////////////////////////////////////////////////////////////////////////////////////
//Important: if you edit your own mulligan rules here, you need to set [USE DEFAULT MULLIGAN RULES] to
//If text in cell starts with '//', then it's comment.
//Highest priority mulligan rules will be matched first.
////////////////////////////////////////////////////////////////////////////////////////////
//KEEP IT IF command has higher priority than REPLACE IF command
CONDITION_01 AND CONDITION_02
///////////////////////////////
ed to set [USE DEFAULT MULLIGAN RULES] to [NO] in [GlobalRule] worksheet !

///////////////////////////////
AND CONDITION_03 AND CONDITION_04 AND CONDITION_05
AND CONDITION_06 AND CONDITION_07 AND CONDITION_08
AND CONDITION_09 AND CONDITION_10 AND CONDITION_11
AND CONDITION_12 AND CONDITION_13 AND CONDITION_14
AND CONDITION_15 AND CONDITION_16 AND CONDITION_17
AND CONDITION_18 AND CONDITION_19 AND CONDITION_20
CARD NAME ACTION GAIN USE TYPE
////////////////////////////////////////////////////////////////////////////////////////////
//If text in cell starts with '//', then it's comment.
//If action gain is not set to a rule, then it's zero.
//usually action gain is zero, except it's 'GAIN FOR *' rule.
//Before you set play rules, make sure it's really necessary, usually bot can play correctly.
////////////////////////////////////////////////////////////////////////////////////////////
CONDITION_01 / Target
////////////////////////////////

y, usually bot can play correctly.


////////////////////////////////
AND CONDITION_02 AND CONDITION_03
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITION_20
Supported Condition
*
enemy hero
enemy hero has $keyword
enemy hero has no $keyword

enemy hero is $keyword

enemy hero is not $keyword


enemy hero with $keyword
my hero
my hero has $keyword
my hero has no $keyword
my hero is $keyword
my hero is not $keyword
my hero with $keyword

one of enemy minions has $keyword

one of enemy minions has no $keyword

one of enemy minions is $keyword

one of enemy minions is not $keyword


one of enemy minions with $keyword

this card itself has $keyword

this card itself has no $keyword

this card itself is $keyword

this card itself is not $keyword


this card itself with $keyword

this minion has $keyword

this minion has no $keyword

this minion is $keyword

this minion is not $keyword


this minion with $keyword

this card has $keyword

this card has no $keyword

this card is $keyword

this card is not $keyword


this card with $keyword

these minions have $keyword

these minions have no $keyword

these minions are $keyword

these minions are not $keyword


these minions with $keyword

these cards have $keyword

these cards have no $keyword

these cards are $keyword

these cards are not $keyword


these cards with $keyword

some enemy minions have $keyword

some enemy minions have no $keyword

some enemy minions are $keyword

some enemy minions are not $keyword


some enemy minions with $keyword

one of my battlefield minions has $keyword

one of my battlefield minions has no $keyword

one of my battlefield minions is $keyword


one of my battlefield minions is not $keyword
one of my battlefield minions with $keyword

some of my battlefield minions have $keyword

some of my battlefield minions have no $keyword

some of my battlefield minions are $keyword

some of my battlefield minions are not $keyword


some of my battlefield minions with $keyword

one of my hand cards has $keyword

one of my hand cards has no $keyword

one of my hand cards is $keyword

one of my hand cards is not $keyword


one of my hand cards with $keyword

some of my hand cards have $keyword

some of my hand cards have no $keyword

some of my hand cards are $keyword

some of my hand cards are not $keyword


some of my hand cards with $keyword

enemy minions number


enemy hand card number
enemy deck remains number

my battlefield minions number


my hand card number
my deck remains number

enemy battlefield has card named $keyword


enemy battlefield has no card named $keyword
my battlefield has card named $keyword
my battlefield has no card named $keyword
my hand has card named $keyword
my hand has no card named $keyword
my total crystals
my available mana
turn

other cards contains $keyword

other cards not contains $keyword

with coin
without coin

gain multiplied by $keyword


Keyword
-
$weapon,$secret,$armor
$weapon,$secret,$armor

$frozen,$mage,$warrior,$hunter,$druid,$paladin,$warlock,$shaman,$rogue,$priest

$frozen,$mage,$warrior,$hunter,$druid,$paladin,$warlock,$shaman,$rogue,$priest
$attack,$health,$armor

$weapon,$secret,$armor
$weapon,$secret,$armor
$frozen,$mage,$warrior,$hunter,$druid,$paladin,$warlock,$shaman,$rogue,$priest
$frozen,$mage,$warrior,$hunter,$druid,$paladin,$warlock,$shaman,$rogue,$priest
$attack,$health,$armor

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$attack,$health,$armor,$cost

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$attack,$health,$armor,$cost,$durability

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$attack,$health,$armor,$cost

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$attack,$health,$armor,$cost

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$attack,$health,$armor,$cost,$number

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$attack,$health,$armor,$cost,$number

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech
$attack,$health,$armor,$cost

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number,$inspire
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$attack,$health,$armor,$cost,$number

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$attack,$health,$armor,$cost

$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number
$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,$overload,$silence,
$spellpower,$taunt,$windfury,$ability,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$damaged,$enraged,$exhausted,$frozen,$immune,$poisonous,$silenced,$spell,
$stealthed,$murloc,$beast,$totem,$pirate,$demon,$dragon,$mech,$number
$attack,$health,$armor,$cost,$number

this condition not support combined with 'and' ,'or'


this condition not support combined with 'and' ,'or'
this condition not support combined with 'and' ,'or'

this condition not support combined with 'and' ,'or'


this condition not support combined with 'and' ,'or'
this condition not support combined with 'and' ,'or'

$(cardname)
$(cardname)
$(cardname)
$(cardname)
$(cardname)
$(cardname)
-
-
-

$(cardname),$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,
$healthmin,$overload,$silence,$spellpower,$spellpowerdoulbe,$taunt,
$windfury,$minion,$spell,$health,$cost,$attack
$(cardname),$battlecry,$charge,$combo,$deathrattle,$divineshield,$enrage,
$healthmin,$overload,$silence,$spellpower,$spellpowerdoulbe,$taunt,
$windfury,$minion,$spell,$health,$cost,$attack

-
-

$(enemy minions number),$(enemy hand card number),$(enemy deck remains number),$


(my battlefield minions number),$(my hand card number),$(my deck remains
number),$(target number)
What it Means
unconditional
use it with '* TARGET' rules
sample: enemy hero has $weapon
sample: enemy hero has $weapon
sample: enemy hero is $mage or $hunter
this condition also can be used in mulligan rules.
sample: enemy hero is not $mage and $frozen
this condition also can be used in mulligan rules.
sample: enemy hero with $health>20

sample: my hero has $secret

this condition also can be used in mulligan rules.


this condition also can be used in mulligan rules.
sample: my hero with $attack>1 or $armor > 4

sample: one of enemy minions has $divineshield or $taunt

sample: one of enemy minions has no $ability and $deathrattle

'this card' means the card specified by [CARD NAME] column

sample: this card itself has $charge

this minion' means the minion matched with Condition_01


this card' means the card matched with condition_01

sample: these minions have $taunt and $number>=2

$number parameter is a must have keyword


sample: enemy minions number > 2
sample: enemy hand card number < 3
sample: enemy deck remains number < 5

sample: my battlefield minions number >2

sample: enemy battlefield has card named $(Ironbeak Owl)


cardname can be written in the same language game uses.
it means: $(Ironbeak Owl) is the same as $(Eisenschnabeleule) and $()

sample: my hand has card named $(Ironbeak Owl) and $(Ancient Watcher)
sample: my total crystals > 4 (the crystals including blank and locked ones)
sample: my available mana > 6
sample: turn>10 ( which means crystals>5 at the start of your turn)

only for mulligan rules

only for mulligan rules

only for mulligan rules


only for mulligan rules

only for 'GAIN FOR *' rules


CARD NAME ACTION GAIN USE TYPE
////////////////////////////////////////////////////////////////////////////////////////////
//If text in cell starts with '//', then it's comment.
//If action gain is not set to a rule, then it's zero.
//usually action gain is zero, except it's 'GAIN FOR *' rule.
//Before you set play rules, make sure it's really necessary, usually bot can play correctly.
////////////////////////////////////////////////////////////////////////////////////////////

//restrict pyroblast only attack enemy hero and only when enemy hero has no $secret
Pyroblast CAST AND TARGET

//restrict ice lance only attack frozen character


Ice Lance CAST AND TARGET
Ice Lance CAST AND TARGET

//restrict to cast leeroy jenkins only when enemy hero is low health.
Leeroy Jenkins CAST IF

//restrict earth shock only attack enemy minion with 1 hp


Earth Shock CAST AND TARGET

//only cast sea giant when its cost is lower than 3


Sea Giant CAST IF

//restrict dark iron dwarf battlecry only used on my minion with health greater than 2, and still can
Dark Iron Dwarf CAST AND TARGET

//only use lightning storm when enemy minions number is no less than 2 and all the low health minion's
Lightning Storm CAST IF

//if cult master is not silenced, it'll only attack enemy hero, if it's silenced, then it can attack f
Cult Master ATTACK AND TARGET
Cult Master ATTACK IF

//only cast lay on hands when my hand is lower than 5 cards


Lay On Hands CAST IF

//only cast divine favor when my hand only have 0,1,2 cards, and enemy hand card number is greater tha
Divine Favor CAST IF

//if molten giant can attack enemy hero, then plus gain to make it more like to attack enemy hero inst
Molten Giant 100 GAIN FOR ATTACK AND TARGET

//if enemy hero is hunter and it has secret (maybe is freezing trap), then set gain to make bot more
//'Any Card' can only be used on 'GAIN FOR*' use type
Any Card 200 GAIN FOR ATTACK AND TARGET

//the following rules (gray) is equal with one rule (blue)


//Shadowflame 30 GAIN FOR CAST
//Shadowflame 60 GAIN FOR CAST
//Shadowflame 90 GAIN FOR CAST
//Shadowflame 120 GAIN FOR CAST
//Shadowflame 150 GAIN FOR CAST
//Shadowflame 180 GAIN FOR CAST
//Shadowflame 210 GAIN FOR CAST
Shadowflame 10 GAIN FOR CAST AND TARGET
Shadowflame 20 GAIN FOR CAST AND TARGET
CONDITION_01 / Target
////////////////////////////////
THIS IS GAME PLAY RULE
y, usually bot can play correctly.
SAMPLES
////////////////////////////////

emy hero has no $secret


enemy hero

enemy hero is $frozen


one of enemy minions is $frozen

enemy hero with $health<15

one of enemy minions with $health=1

this card itself with $cost<3

with health greater than 2, and still can attack at current turn
one of my battlefield minions with $health>2

ess than 2 and all the low health minion's health is no greater than 3
some enemy minions with $health<=3 and $number>=2

ro, if it's silenced, then it can attack freely.


enemy hero
this card itself is $silenced

my hand card number < 5

and enemy hand card number is greater than 4


my hand card number < 3

ake it more like to attack enemy hero instead of enemy minions


enemy hero

ing trap), then set gain to make bot more likely to attack hunter with lower cost minion

enemy hero is $hunter

one of my battlefield minions with $health>=0


one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0
one of my battlefield minions with $health>=0 and $attack>=2
my battlefield has card named $(Nerubian Egg)
AND CONDITION_02 AND CONDITION_03

PLAY RULE
LES

enemy hero has no $secret

this minion is not $exhausted

this card itself is not $silenced

enemy hand card number > 4

er with lower cost minion

enemy hero has $secret this card itself with $cost<=3

enemy minions number = 1


enemy minions number = 2
enemy minions number = 3
enemy minions number = 4
enemy minions number = 5
enemy minions number = 6
enemy minions number = 7
gain multiplied by $(enemy minions number) enemy minions number >=3
gain multiplied by $(enemy minions number) this minion with $attack>=2
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
//this minion means Nerubian Egg
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITIONAND CONDITIONAND CONDITIONAND CONDITION
AND CONDITION_20
THIS WORKSHEET IS HELP DOCUMENT, DELETE IT IF YOU DON'T NEED IT.

Rule 47,48,49 combined with 'OR'


CONDITION_01,02 combined with 'AND'
THIS WORKSHEET IS HELP DOCUMENT, DELETE IT IF YOU DON'T NEED IT.
How To Debug Deck Rules

1.Start Hearthstone
2.Click [D] button,
3.Start Bot
1.Start Hearthstone game.
2.Click [D] button, open debug window.
3.Start Bot

1.When bot paused, check matched rules in debug window.


2.If the result is not desired, click [Edit Deck Rules], bot will
3.Edit the deck rule with Excel.
4.Save the deck rule in Excel, and you can keep the deck rule file
5.Click [Reload Rules] to see the new matched result.
6.If the rules are good, click [Continue] button to resume the bot

*You can close/open debug window anytime in play, if debug window


*You can edit deck rule file anytime, but need to [Reload Rules] o
*If [Edit Deck Rules] button not work, you can start Excel manuall
ug window.
eck Rules], bot will open deck rule file in Excel window.

ep the deck rule file open, no need to close it.

ton to resume the bot.

lay, if debug window is opened, bot enters debug mode.


d to [Reload Rules] or restart bot to take effect.
n start Excel manually then open deck rule file.

You might also like