Ok so here's my updated Dragon Priest files.
I've done a lot of work on the discovery file. I still plan to build this out more as I have time. from my observations the bot will typically pick the cheapest card when there are better options. So because we have a number of discovery cards the first thing I did was make dragon cards the highest priority. I did this for 2 reasons. first and hopefully most obviously our deck relies heavily on dragons. Second the netherspite historian card allows up to dragons. I picked through all the available dragons that are option and put them in an order that I felt I would pick them by. This part of the list is a work in progress as I'll change the weighting around. Then after the dragons I added the top cards from the warrior and shaman classes since we see them the most. Drakonid operative allows us to pick cards from our opponents deck. It's very hard to program this but over time my plans are to contiune to add cards from each of the popular meta decks to the list to cover drakonid operative. The dragon section should help cover mirror fights and dragon warrior as well. I could use some help with the combo's I'm still trying to wrap my head around how to write those properly but some I would like to see are bran into netherspite historian or brann into drakonid operative.
I've been running about a 50% win rate before I added all the mulligans to the file. I think this will bump up the win % a lot. Please test it out and let me know if it works. I'm running it overnight and I'll post my results tomorrow currently at rank 13
settings.txt
// This File: settings.txt
// Author: BotWhat
// Version: 1.2 (15-Feb-2017)
// Deck Name: Dragon Priest
// Hero: Priest
// Deck Type: Control
enfacehp = 20; //hp of enemy when your hero is allowed to attack the enemy face with his weapon
maxwide = 9000; //number of boards which are taken to the next deep-lvl where another move may be added to them
twotsamount = 1800; //number of boards where the next turn is simulated
simEnemySecondTurn = true; //simulate a 2nd enemy turn (might have been removed?)
playarround = false; //play around some enemy aoe spells?
playaroundprob = 50; //probability where the enemy plays the aoe spell but your minions are forced to survive
playaroundprob2 = 80; //probability where the enemy plays the aoe spell and your minions can die!
enemyTurnMaxWide = 40; //boards calculated in enemy first turn in first AI step (lower than enemySecondTurnMaxWide)
enemyTurnMaxWideSecondTime = 260; //boards calculated in enemys-first-turn BUT in the second AI step (higher than enemyTurnMaxWide)
enemySecondTurnMaxWide = 26; //number of enemy boards calculated in enemys second TURN (might have been removed?)
nextTurnDeep = 6; //maximum deep-lvls (total moves) in your second turn (recommended = dont touch this)
nextTurnMaxWide = 26; //maximum boards calculated in one second turn deep-lvl
nextTurnTotalBoards = 260; //maximum boards calculated in second turn simulation
useSecretsPlayArround = true; //try to play around enemy secrets
alpha = 50; //weight in % of your 2nd turn vs your 1st (0<= alpha <= 100) eg. 30 = 30% 2nd turn result + 70% first turn result
simulatePlacement = true; //simulate all placements for direwolfalpha/flametongue/defenderofargus
behave = control; //select the behavior of the ai: control, rush, face (new) or mana (very experimental, dont use that :D)
// everything below is recommended to only be in your base settings.txt because they are personal choices
// some may purposefully not reload with auto-config-switching
// deck builders please start omitting these from your deck specific settings
useExternalProcess = true; //use silver.exe for calculations, a lot faster than turning it off (recommended = true)
concedeOnBadBoard = false; //concede if the enemy board is too good (recommended = false)
//concedeOnBoardValue = -900 //concedeOnBadBoard will trigger if our best board is lower value than this (recommended = dont touch this)
speed = false; //set this true to support sending multiple actions to bot (currently buggy so forced false)
useNetwork = false; //use networking to communicate with silver.exe instead of a file (experimental, likely to fail after some time)
netAddress = 127.0.0.1; //network address where silver.exe is running (127.0.0.1 = this computer)
tcpPort = 14804; //tcp port to connect on
_Mulligan.txt
// This File: _mulligan.txt
// Author: BotWhat
// Version: 1.2 (15-feb-2017)
// Deck Name: Dragon Priest
// Hero: priest
// Deck Type: Control
// - D E C K --------------------------------
// [1] Northshire Cleric x2 (CS2_235)
// [1] Power Word: Shield x2 (CS2_004)
// [1] twilight Whelp x2 (BRM_004)
// [2] Netherspite Historian x2 (KAR_062)
// [2] Shadow Word: Pain ×2 (CS2_234)
// [2] Wyrmrest Agent x2 (AT_116)
// [3] Brann Bronzebeard x1 (LOE_077)
// [3] Kabal Talonpriest x2 (CFM_626)
// [3] Shadow Word:Death ×2 (EX1_622)
// [4] Defender of Argus x2 (EX1_093)
// [4] Twilight Guardian x2 (AT_017)
// [5] Azure Drake x2 (EX1_284)
// [5] Blackwing Corruptor x2 (BRM_034)
// [5] Drakonid Operative x2 (CFM_605)
// [5] Holy Nova x1 (CS1_112)
// [6] Book Wyrm x1 (KAR_033)
// [6] Dragonfire Potion x1 (CFM_662)
// Tech Options
// VS Aggro:
// -1 Azure Drake
// +1 Acidic Swamp Ooze
//
// VS Control:
// -1 Dragonfire Potion
// -1 Book Wyrm
// +1 Twilight Drake
// +1 Ysera
// - A L L --------------------------------------
// 1-DROP
// Twilight Whelp
hold;priest;all;BRM_004
// 1x Northshire Cleric
hold;priest;all;CS2_235:1
// 2-DROP
// 1x Wyrmrest Agent
hold;priest;all;AT_116:1
// 3 - drop
// 1x Kabal Talonpriest
hold;priest;all;CFM_626:1
// - D R U I D ----------------------------------
// 2 - drop
// 1x Shadow Word: Pain
hold;priest;druid;CS2_234:1
// 4 - drop
// 1x Twilight Guardian
hold;priest;druid;AT_017:1
// - H U N T E R --------------------------------
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;hunter;CS2_234:1
// - M A G E ------------------------------------
// 1 - Drop
// 1x Power Word: Shield
hold;priest;mage;CS2_004:1
// 4 - drop
// 1x Twilight Guardian
hold;priest;mage;AT_017:1
// - P A L A D I N ------------------------------
// 1 - Drop
// 1x Power Word: Shield
hold;priest;pala;CS2_004:1
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;pala;CS2_234:1
// - P R I E S T --------------------------------
// 1 - Drop
// 1x Power Word: Shield
hold;priest;priest;CS2_004:1
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;priest;CS2_234:1
// - R O G U E ----------------------------------
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;thief;CS2_234:1
// 4 - drop
// 1x Twilight Guardian
hold;priest;thief;AT_017:1
// - S H A M A N --------------------------------
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;shaman;CS2_234:1
// - W A R L O C K ------------------------------
// 1 - Drop
// 1x Power Word: Shield
hold;priest;warlock;CS2_004:1
// 4 - drop
// 1x Twilight Guardian
hold;priest;warlock;AT_017:1
// - W A R R I O R ------------------------------
// 2 - Drop
// 1x Shadow Word: Pain
hold;priest;warrior;CS2_234:1
_discovery.txt
// This File: _discovery.txt
// Author: BotWhat
// Version: 1.2 (15-Feb-2017)
// Deck Name: Dragon Priest
// Hero: priest
// Deck Type: Control
//Dragons
// Drakonik Operative
CFM_605,20;all;all
// Twilight Guardian
AT_017,19;all;all
// nefarian
BRM_030,18;all;all
// Azure Drake
EX1_284,17;all;all
// Drakonid Crusher
BRM_024,16;all;all
// Book Wyrm
KAR_033,15;all;all
// ysera
EX1_572,14;all;all
// Alezstrasza
EX1_561,13;all;all
//chillmaw
AT_123,12;all;all
//deathwing
NEW1_030,11;all;all
//Faerie dragon
NEW1_023,10;all;all
// twilight drake
EX1_043,9;all;all
// Top Picks from Shaman and Warrior based on current popular midrange and aggro decks.
// flamewreathed faceless
OG_024,8;all;all
//Frothing Berserker
EX1_604,7;all;all
//kor'kron Elite
NEW1_011,6;all;all
// Lightning Storm
EX1_259,5;all;all
// flametongue totem
EX1_565,4;all;all