I'm new to HR, been using the trial (4hrs/day) for the past couple of days. Last night I discovered you can use silverfish and tweak settings (_mulligan.txt, _combo.txt, settings.txt) and am thrilled to see the bot performing way better than it did out of the box. I created custom _mulligan.txt and _combo.txt files to try to get the most out of the deck I'm currently using since I'm fairly new to Hearthstone as well (started at the beginning of January). I *think* my _combo.txt is working, I only watched a few games with it active, however I've witnessed the bot not following rules I have in _mulligan.txt. My log file/terminal window is showing "read _mulligan.txt" in it, so I feel like it is finding the file.
What I'm trying to do with _mulligan.txt is to keep all 3-drop and lower cards in my deck, EXCEPT for Arcane Intellect. I'm also trying to keep Mechanical Yeti, Goblin Blastmage and Polymorph. Here's the file in its current state:
// [DECK] NICKS MECH MAGE
// [CARD LIST]
// (2) Frostbolt CS2_024
// (2) Mechwarper GVG_006
// (2) Snowchugger GVG_002
// (3) Arcane Intellect CS2_023
// (3) Spellslinger AT_007
// (4) Fireball CS2_029
// (4) Polymorph CS2_022
// (4) Goblin Blastmage GVG_004
// (4) Mechanical Yeti GVG_078
// (4) Piloted Shredder GVG_096
// (4) Sen'jin Shieldmasta CS2_179
// (5) Clockwork Knight AT_096
// (6) Lord of the Arena CS2_162
// (7) Flamestrike CS2_032
// (7) Stormwind Champion CS2_222
// rule_type;player_class;enemy_class;rule_definition[;coin_condition[;mana_border]]
// rule_type: hold|discard
// player_class: all|hunter|priest|druid|warlock|thief|pala|warrior|shaman|mage
// enemy_class: all|hunter|priest|druid|warlock|thief|pala|warrior|shaman|mage
// rule_definition: CARD_ID[:1|2[:condition_cards]][,rule_definition ..]
// condition_cards: CARD_ID[+CARD_ID|/CARD_ID ..]
// coin_condition: coin|nocoin|always
// mana_border: INT
hold;mage;any;;;3
// Hold all cards costing 3 mana or less and Polymorph, Goblin Blastmage, and Mechanical Yeti
hold;mage;any;CS2_022,GVG_004,GVG_078
// Except for Arcane Intellect
discard;mage;any;CS2_023
Originally the first two rules I had replaced with:
hold;mage;any;CS2_022,GVG_004,GVG_078;;3
Which I thought would achieve the desired effect, but it didn't seem to work (should it?). I am pretty sure that my current _mulligan.txt is not working as expected. Any thoughts? Also below is my _combo.txt, like I said I think it is working, but if any of the vets want to take a quick look and confirm for me, I'd appreciate it! Intent should be shown in comments:
// [DECK] NICKS MECH MAGE
// [CARD LIST]
// (2) Frostbolt CS2_024
// (2) Mechwarper GVG_006
// (2) Snowchugger GVG_002
// (3) Arcane Intellect CS2_023
// (3) Spellslinger AT_007
// (4) Fireball CS2_029
// (4) Polymorph CS2_022
// (4) Goblin Blastmage GVG_004
// (4) Mechanical Yeti GVG_078
// (4) Piloted Shredder GVG_096
// (4) Sen'jin Shieldmasta CS2_179
// (5) Clockwork Knight AT_096
// (6) Lord of the Arena CS2_162
// (7) Flamestrike CS2_032
// (7) Stormwind Champion CS2_222
// * Max board value seems to be 500 ?
// card_definition[;card_definition ..][;clauses]
// card_definition[;card_definition ..];nxttrn;card_definition[;card_definition ..][;clauses]
// cardvalue:CARD_ID,{0-500}
// weapon:{0-30}
// clauses:
// mana:INT
// hero:{hunter|priest|druid|warlock|thief|pala|warrior|shaman|mage}
// bonus:{0-500}
// bonusfirst:{0-500}
// bonussecond:{0-500}
// Slight preference for Fireball to be used for face
cardvalue:CS2_029,75
// Snowchugger + Goblin Blastmage
GVG_002,0;GVG_004,100;bonus:75;mana:5;hero:mage
GVG_002,0;nxttrn;GVG_004,100;bonusfirst:0;bonussecond:75;mana:3;hero:mage
// Mechwarper + Goblin Blastmage
GVG_006,0;GVG_004,100;bonus:75;mana:5;hero:mage
GVG_006,0;nxttrn;GVG_004,100;bonusfirst:0;bonussecond:75;mana:3;hero:mage
// Mechanical Yeti + Goblin Blastmage
GVG_078,0;GVG_004,100;bonus:100;mana:8;hero:mage
GVG_078,0;nxttrn;GVG_004,100;bonusfirst:0;bonussecond:100;mana:4;hero:mage
// Piloted Shredder + Goblin Blastmage
GVG_096,0;GVG_004,100;bonus:100;mana:8;hero:mage
GVG_096,0;nxttrn;GVG_004,100;bonusfirst:0;bonussecond:100;mana:4;hero:mage
// Clockwork Knight + Goblin Blastmage
AT_096,0;GVG_004,100;bonus:100;mana:9;hero:mage
AT_096,0;nxttrn;GVG_004,100;bonusfirst:0;bonussecond:100;mana:5;hero:mage
Lastly, a random question. In _combo.txt, on the topic of assigning bonuses to certain combos, how should one decide on what value to use? I am using this forum post to try to write my combo file (is there a better explanation somewhere?):
http://www.hearthranger.com/forum/yaf_postsm27750_silverfish-update.aspx#post27750In that forum post, there is a paragraph where the cardvalue:CARD_ID,VALUE directive is discussed and he mentions that a value of 500 or more will prevent the card from being played at all unless its a lethal move. That leads me to believe that the max value a board can have is 500, so I've been giving bonus values based on this. For example, a few of my bonus values are 100. I am assuming that this is giving a 20% (100 out of 500) more preference to the board resulting from that move. Am I correct in thinking this way, or does it work differently?
Thank you for the help!