Demonbuddy for Season 16 released, updates.buddyauth.com !
  • Visit Rebornbuddy
  • Visit Demonbuddy

[TUT] Brief description of _combo.txt

Discussion in 'Hearthbuddy Forum' started by CATAPLUS, Feb 17, 2016.

  1. CATAPLUS

    CATAPLUS New Member

    Joined:
    Feb 12, 2016
    Messages:
    16
    Likes Received:
    1
    Trophy Points:
    3
    I did not write this!! all credits go to the author. It helped me to understand making own combos alot better I hope it helps.


    -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;bonusfi rst: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;bonusfi rst: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.
     
    J3M likes this.
  2. MrGab

    MrGab New Member

    Joined:
    Apr 30, 2017
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    1
    Hello,

    Is it possible to have an update of this post because all combo listed here are no more accepted by the ComboBreaker.cs script:
    combomaker cant read: NEW1_022,200; CS2_106,10; mana: 3 (exemple with fiery war axe + dreadcorsair)

    When I try to integrate any new combo based on this syntax guide, I allways have same error.
    It is like if expected sytax would have change.

    Thanks in advance for your help.

    Mr Gab
     

Share This Page