is it me or is the bot having trouble with shadow word pain EDIT: yeah shadow word pain definetly is not working, the opponent threw out an Maxenna and he just didn't use it and ended turn
first this api have a lot of trouble throwing card like a pro and no identifying whish card is playing and the hearthbuddy have a lot a trouble too. gg
update alpha11: -fixed swp -fixed traps-simulation @paperc07 the ai cant concede and i fixed your bitching-bug @Sil3nt-De4th combo.txt is working just place it in same folder as _carddb.txt. @Megser dont have your issue with undertaker, could you give a log? @GTFO (@ pinging your berserker) i think he will ping your berserker if its usefull, but the situation you describe looks like it will be only solved whether i'm able to implement multi-turn simulation (without skipping your turn because of calculation )
as usual: take the link from the first page https://github.com/noHero123/silverfish/blob/master/HrtBddy/Silverfish.zip?raw=true
update alpha12: -changed two turn simulation: it will now only simulate the 2. turn of the 500(default) best boards. change the number by editing the .cs file: change the number in the line: Ai.Instance.setTwoTurnSimulation(false, 500); (dont set it to high!!!!, set it to 0 to turn the second turn simulation off)
[Compiler Error] c:\XXXXX\Hearthbuddy\CustomDecks\Silverfish\silverfish_controlHB.cs(56,83) : error CS0103: Le nom 'twotsamount' n'existe pas dans le contexte actuel [Compiler Error] c:\XXXXX\Hearthbuddy\CustomDecks\Silverfish\silverfish_rushHB.cs(56,83) : error CS0103: Le nom 'twotsamount' n'existe pas dans le contexte actuel
As usual thank you for all your hard work and fixes, so what is up with this combo.txt. How exactly do we use it, I am assuming it's based on what deck or decks we are running at the current time and what combo's we have in this deck?
i copy the explanation for the combo-txt file from “another“ forum: -introduced (simple) combo-system: for combos create a txt file with name "_combo.txt" and place it in same folder like the "_carddb.txt"-file each combo is on an own line and contains this data: CardsId,penality for using this card outside of an combo;next cardsid,penality;... :manacosts for this combo (doesnt check for changing manacosts yet) you find the cardids in the carddb.txt-file ! example: the following line creates a combo for execute (CS2_108) and elven archer (CS2_189) , which costs 2 mana (total), and for playing execute outside of an combo (doesnt have to be this combo) the value of the calculated board is decreased by 20, for playing elven archer, it is decreased by 150 (because execute alone is strong, but the archer alone isnt): CS2_108,20;CS2_189,150:2 combos could be as long as you want: example coin, gadgetzan, conceal: (5 mana because of coin ) GAME_005,50;EX1_095,100;EX1_128,100:5 (order isnt important, uai decides itself how to play these combos) updated combo-system: -adding a bonus for playing the combo -penalty for not playing the whole combo -add weapon behavior: add a line weapon:XX to the _combo.txt-file where XX is the amount of HP of the enemy Hero, when your hero is allowed to go for face! example: with the line "weapon:30" your hero is allowed to attack the enemys-face in any case. weapon:0 wont forbid to attack the enemys face, weapon:10 will forbid the direct attack until the enemy hero has 10 hp. note* if the attack (with the weapon) will drop the enemys hp under this border, it will be also allowed. 15 is the default value! -manacosts are not necessary anymore! but you can specify them with "mana:xx" (example: NEW1_022,200;nxttrn;CS2_189,200;mana:3 will start the 2 turn combo if you have the two cards in hand (new1_022 and cs2_189) and your maxmana is >= 3!) (this is necessary for combos like: fiery war axe + dreadcorsair (which is a lame combo, because i think uai will handle this situation better ) this combo (fiery war axe + dreadcorsair) would require this line: NEW1_022,200;CS2_106,10;mana:3 if you dont add the mana:3, uai will wait until you have 4+2=6 mana. -added a bonus:xx keyword, to give the board a bonus for playing the whole combo (it is, like "mana:xx", optional) NEW1_022,200;CS2_106,10;mana:3;bonus:500 so playing the combo axe+corsair will give the simulated board a bonus of 500. -added a 2 turn-combo system: EX1_015,200;CS2_114,200;nxttrn;EX1_019,200;bonusfirst:50;bonussecond:50 the cards until "nxttrn" will be played in the first turn, all cards after that word, will be played if each MINION ahead "nxttrn" is on board AND was not played this turn. so this (stupid) combo: EX1_015,200;CS2_114,200;nxttrn;EX1_019,200;bonusfirst:50;bonussecond:50 will play the novice (EX1_015) and cleave (CS2_114) on the first turn, and if the novice survives the enemy turn, it will play the shattered sun cleric on the second turn! (except uai finds an even better play ) bonusfirst:XX will give the board which plays the complete first-turn-combo a bonus of XX, and bonussecond:XX will give the board, which plays the whole second part of the combo a bonus of XX. -added weapon-requirements in multi-turn combo (it doesnt check if the weapon was played the last turn, or in this turn, so it also counts as a requirement for normal combos) so for a combo which requires a weapon, write something like this CS2_106,0;nxttrn;NEW1_018,100 CS2_106 is a weapon, NEW1_018 a minion that should only played, if the weapon is equipped. -should draw cards first (before every other move (before: carddraw before using mana, now: carddraw before everything) -shouldnt trade some buffing minions for nothing -max. damage with adjacent-buffing-minions update v78: -allows to specific the class the combo is used: just add ";hero:heroname" where heroname can be: hunter, priest, druid, warlock, thief, pala, warrior, shaman or mage (if hero:heroname is missing, then the combo is used with every class) example: EX1_350,30;DS1_233,900;mana:9;hero:mage or (which is the same EX1_350,30;DS1_233,900;hero:mage;mana:9 - allows to give a cards a value: add the line cardvalue:CARDID,VALUE where CARDID is the card-id of the card, that you want to give a value (look in card-behaviour for the cardid) and VALUE is the value the card has (like 100) example: cardvalue:EX1_019,50 a value of 500 (or above), and the card will not be played! (except for lethal) so everytime the ai is playing the specific card, the boardvalue is automatical lowered by the given value. (so the move have to give more value to the board, then playing this card, to let the ai play the card) for comparison: in Control-ai, a value of a minion is almost 10 + 2* Attack + 2*HP so if you want to play the dmg-spell only on minions with an attack and hp >=4 then the value should be bigger than 10+2*3+2*3 = 22. @paperc07 does it calculate too long? (run out of time)
Same for me, it runs out of time if you draw too many cards the same turn (recalculates options) and waste the entire turn basically. I also get NullReferenceExceptions sometimes.