What's new
  • Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Visit Resources
  • Visit Downloads
  • Visit Portal

[Custom Deck] Silverfish AI

now say nothing he use the life tab and i have 10 cards and 3 of then is 2 mana taunt and I have 7 crystal of mana. gg or is don't detecting the card (unstable ghoul)
 
Last edited:
please launch again V110alpha11 is was the best update so far.
 
please launch again V110alpha11 is was the best update so far.
 
Love your work Botmaker!! I have a question, I feel my winrate would spike if I had better control of my mulligans. Just mulling cards 5 or higher isn'tt always best and I lose games because of it. I'm really interested in this _mulligan.txt thing. How do I write one? I think this would benefit a lot of people!
 
Love your work Botmaker!! I have a question, I feel my winrate would spike if I had better control of my mulligans. Just mulling cards 5 or higher isn'tt always best and I lose games because of it. I'm really interested in this _mulligan.txt thing. How do I write one? I think this would benefit a lot of people!

Not supported yet i dont think. GO bug hankerspace in the main post. ill back you up =P

Even tho it does not work here is the explanation for it. For when it does.

Botmaker-

open this created "_mulligan.txt" file with an txt-editor of your choice, and you are rdy
to start creating your own mulligan rules!

a typical line of a mulligan file will look like this:
hold;mage;all;CS2_189:1,CS2_106,CS2_222;3
or
discard;all;druid;CS2_108,CS2_222,CS2_112;4

explanation:

lets take this as an example:
hold;mage;all;CS2_106,CS2_189:1,CS2_222;3

the first word can be "hold" or "discard" which tells the ai,
whether you want to hold the following cards or discards them.

after this keyword (hold or discard) you have to write a ";" !

the second item is the own class you will be using for the following rule.
in our example, the rule in this line will be only used, whether you are using a mage.

here is a list, which word you can use (instead of mage):
all, hunter, priest, druid, warlock, thief, pala, warrior, shaman or mage.
if you use the word "all" instead of a class-name, the own selected hero doesnt matter,
the rule will be used for every class!

the third item (which stands right behind an ";") is the name of the enemy-class, which you are facing.
you can use this words again:
all, hunter, priest, druid, warlock, thief, pala, warrior, shaman or mage.
if you use the word "all" instead of a class-name, the class of the enemy hero doesnt matter,
the rule will be used against every class!

so the 4th "item" which is seperated by ";" is the list of the cards-id's, we want to hold/discard.
in our case:
CS2_106,CS2_189:1,CS2_222

to create such a list, you have to follow this rules:
- you find the card-id in the "Card Behaviour Editor" in hearthcrawler!
- consider upper and lower case!
- each card you want to hold/discard is seperated by a comma! like CS2_106,CS2_189,CS2_222

- for HOLD-rules, (a line which starts with the word "hold"), you are able to specific
how mutch cards should be holded, by adding ":1" (if you want to hold just one card of this specific card)
or ":2" (if you want to hold two cards of this specific card) right after the card-id!
(if you dont write :1 or :2 after the card id, the ai will hold 2 cards in the starthand!)
so this line:
hold;all;all;CS2_189:1
will discard one Elven Archer (CS2_189), whether you got two of them in your starting hand!

- also for HOLD-rules: you are able to add "condition-cards" for holding the specific card,
by adding ":" and the cardid(s) you want in starting-hand, for keeping the selected card!
example:
hold;all;all;CS2_088:1:CS2_087
will hold the card CS2_088 (guadian of kings) (one time), only if you also got a CS2_087 (blessing of might) in the starting hand.
so if you dont hold a blessing of might, "hold;all;all;CS2_088:1:CS2_087" will discard all guardian of kings!
Attention: this option requires the declaration of the number of cards you want to hold!
so CS2_088:CS2_087 this is forbidden!!! write CS2_088:2:CS2_087 instead!
if you want to hold the card CS2_088 whether you also hold a blessing of might (CS2_087) OR a holy light (CS2_089)
just seperate them (condition-cards) with a "/". example:
CS2_088:1:CS2_087/CS2_089
(you can add as many "condition-cards" as you want, like CS2_088:1:CS2_087/CS2_088/CS2_089/...)

this allows to add rules like "hold card a and card b ONLY if you have all two of them, elsewise discard the card you are holding"_
CS2_222:1:EX1_019,EX1_019:1:CS2_222,...
will hold CS2_222 only if you also have the EX1_019 on starting hand, and reverse. so you need both cards to hold them.

and the last "item" seperated by a ";" is just a number (in oure example a 3):
this adds the ability for HOLD-rules, to hold cards with LESS OR EQUAL manacosts,
or discard them (for DISCARD-rules) whether they have HIGHER OR EQUAL manacosts!
example:
hold;all;all;CS2_222:1,EX1_019;2
this line will hold all cards with mana <=2 AND the one stormwind-champion and 2 shattered sun cleric's (if you have them in the starting hand)
(
this mana-border is OPTIONAL, you dont have to add this!
so just use
hold;mage;all;CS2_106,CS2_189:1,CS2_222
instead of
hold;mage;all;CS2_106,CS2_189:1,CS2_222;3
whether u dont want to use this mana-border

BUT if you want to add only a mana-border, (example 3 mana)
you have to write:
hold;all;all;;3
[it needs 4 ";" before the mana-border]
)
 
Last edited:
update alpha13:
-tweaked multiturn simulation (new default value is 256) and the amount of calculated second turn-boards is halved every recalculation :D

@dagoso you can simply turn of the second turn simulation (see the end of the first post in this topic)
could you post a log of the life-tap with full hand?
 
Last edited:
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.
please post uai-logs of the nullReferenceExceptions! :*
 
update alpha14:
fixed board-comparison (will fix multiple use of the hero-power in one turn and other stuff)
 

ok so I think I did this the right way.

1) Delete your silverfish folder (or atleast I did, to start new)

2) Make a new folder and name it Silverfish

3) Most of you im assuming should already have TortoiseSVN (If not get it here TortoiseSVN - Downloads)

4) Once you have TortoiseSVN right click on your newly created Silverfish folder and select SVN checkout

5) For URL of Repository make sure you put this in https://github.com/noHero123/silverfish/trunk/HrtBddy

6) For Checkout directory it should somewhat look like this C:\Hearthbuddy\CustomDecks\Silverfish ( if not point it to where your newly created silverfish folder is)

7) Hit OK and you will see it in there, I believe this is how it is done ( if not make sure to chew my ass out lol)


EDIT: now it's not adding the data folder (give me a min while I work on this)

EDIT2: I tried adding https://github.com/noHero123/silverfish/trunk and that just added way to much and it didn't load in HearthBuddy

EDIT3: I tried to use the URL from page one (https://github.com/noHero123/silverfish/blob/master/HrtBddy/Silverfish.zip?raw=true) but that just says URL doesn't exist

EDIT4: I got this one to work https://github.com/noHero123/silverfish/trunk/HrtBddy/Silverfish.zip but then it add's the zip and then you have to go into that (I am almost there just doing some little thing wrong

EDIT5: I tried using the trunk again https://github.com/noHero123/silverfish/trunk and manually picking the files silverfish.cs, silverfishcontrol, silverfishrush, carddb.txt, but it still throws errors and I would still need carddb.txt in the data folder which isn't there

EDIT6: I need to be able to get the zip file to extract the contents of the zip and not the whole zip, but there doesn't seem to be a way
 
Last edited:
@paperc07 you only need to copy the _carddb.txt from the "main"-folder, and silverfish_controlHB.cs and silverfish_rushHB.cs from the HrtBddy-subfolder (dont know how to select the single files via svn)
 
@paperc07 you only need to copy the _carddb.txt from the "main"-folder, and silverfish_controlHB.cs and silverfish_rushHB.cs from the HrtBddy-subfolder (dont know how to select the single files via svn)

I know but that's what im saying we can't use a svn then, you would have to move the files around then or basically make a folder and just put what we need in it so when we svn it gets just those files and doesn't mess anything up
 
@electrician this should work for the svn checkout

Code:
https://github.com/noHero123/silverfish/trunk/HrtBddy/Silverfish
 
update alpha15: (link on first page changed! https://github.com/noHero123/silverfish/blob/master/HrtBddy/Silverfish/Silverfish.zip?raw=true )
- fixed bonus for killing minions that spawn other minions on death
- raised the value of every card from 1 to 5 (fixed the wasting of cards, whether they will buff a minion on your side )
- will not simulate the second turn, whether the enemy has lethal on that board
- added svn support (checkout the HrtBuddy-folder on github (yes, there is an unecessary zip-file in it, but iam to lazy to jump between folders just to update the zip))
address for checkout is https : //github.com/noHero123/silverfish/trunk/HrtBddy (or .../HrtBddy/Silverfish )
 
thats not a bug in the ai, its a bug in hrtbuddy (someone wrote that this only occours if hearthstone was minimized)
 
Back
Top