• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Bot missed lethal and concedes

    Discussion in 'Hearthbuddy Support' started by OtisRight, Sep 4, 2016.

    1. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      Hello,
      the following misplay occured the first time today:

      Turn 23
      Enemy: Rogue, 5hp, 4 minions: gadgetzanauctioneer 4/2, arcanegiant 8/6, arcanegiant 8/8, azuredrake 4/4 (24dmg in total)
      Me: Shaman, 13hp, 1 minions 0/2 totem, doomhammer with 2 remaining charges equipped

      I draw abusive sargent, which is lethal, but the bot somehow didn't see it and concedes because the enemy has lethal on board. Maybe there is a problem with summoned minions like totems etc? In the logfile the totem is marked as Ready:false, but I didn't attack with it this turn. Anyway here is the logfile: View attachment UILogg_2016-09-04_22-22-40.txt
       
    2. Coolmaster

      Coolmaster Member

      Joined:
      Aug 16, 2013
      Messages:
      709
      Likes Received:
      3
      Trophy Points:
      18
      Do you have any other modified files?
       
    3. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
    4. Iso

      Iso Member

      Joined:
      Sep 30, 2014
      Messages:
      323
      Likes Received:
      5
      Trophy Points:
      18
    5. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
    6. Coolmaster

      Coolmaster Member

      Joined:
      Aug 16, 2013
      Messages:
      709
      Likes Received:
      3
      Trophy Points:
      18
      On clean bot it takes the right decision.

      ps: OtisRight, show me the rules that you follow when creating combos (perhaps there is an error in the description)

      For example, what result you expect to get from this rule:
      /// Turn one Coin->Totem Golem over other plays
      GAME_005,1;AT_052,0;mana:1;bonus:70;hero:shaman;

      Describe in words, please.
       
      Last edited: Sep 6, 2016
    7. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      Sure. When writing combos I'm looking at the cards and ask myself two questions: Whitch cards have good synergies? And whitch cards are the most powerful?

      In this case it should mean: If I'm a shaman, and I have one mana available, and I have the coin+totem golem in hand, play these two more often then for exemple coin another two drop or just play a one drop. Totem golem is the most powerful two drop in the game and can deal with almost every 3 drop, so I want it to play over other cards if possible.
       
    8. Coolmaster

      Coolmaster Member

      Joined:
      Aug 16, 2013
      Messages:
      709
      Likes Received:
      3
      Trophy Points:
      18
      In fact (unfortunately), this rule means:
      If I'm a shaman, and I have one or more mana available, and I have the coin+totem golem in hand, play these two...

      It also means if you have 1 mana, and you have in your hand Tunnel Trogg, Coin and Totem Golem, you still play Coin + Totem Golem.
       
      Last edited: Sep 6, 2016
    9. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      Thanks! Didn't know that. I guess this rule and some others I made have ensured a loooot of misplays.
      Is there a way to set this up like "If I'm a X, and I have exactly X mana" or go away from mana and go with turn? But then it would still play into doomsayer, right?
       
    10. Coolmaster

      Coolmaster Member

      Joined:
      Aug 16, 2013
      Messages:
      709
      Likes Received:
      3
      Trophy Points:
      18
      The current combo system is outdated, and I'm going to expand its capabilities. For example, add a rule like:
      If I have a card A, and at the same time I don't have cards B and C...
      So if you have any special rules that you can not realize in the current combo system, you can describe this rules here...
       
    11. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      That's awesome! I hope we get a form of guide to avoid any misunderstandings :)

      What about a lethal condition? Use the combo cards only if the result would cause me having lethal.
      For example: Leroy + Power Overwhelming + Faceless Manipulator(20 dmg), or Raging Worgen + Inner Rage + Charge + Faceless Manipulator(32 dmg)

      Edit: I just saw, you guys pushed an update. Could you please tell me, what the changes are, so I can update my files, too?
       
      Last edited: Sep 8, 2016
    12. macboy

      macboy New Member

      Joined:
      Jul 21, 2015
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
      First, OtisRight i love your shaman changes :).

      The most significant change that I can see to have an impact in the code you add is:

      In PenaltyManager.cs
      if (!lethal && target.isHero && target.Hp > settings.enfacehp && settings.weaponOnlyAttackMobsUntilEnfacehp && p.ownWeaponAttack > 1)


      In BehaviourControl.cs
      *Here it has some fixes
      for (int i = 0; i < discoverCards.Count; i++)

      DefaultRoutine.cs
      Fixes, just reset to your settings and that's it.
       
    13. Coolmaster

      Coolmaster Member

      Joined:
      Aug 16, 2013
      Messages:
      709
      Likes Received:
      3
      Trophy Points:
      18
      OtisRight, lethal condition - great idea. Anything else?
       
    14. macboy

      macboy New Member

      Joined:
      Jul 21, 2015
      Messages:
      3
      Likes Received:
      0
      Trophy Points:
      0
      Sorry if this already have been done, I am kind of new to this bot.

      -Trading weapon. Well I like the change that OtisRight did when it comes trading weapon instead of wasting that vs hero, thought there is one bug in his logic when requires 2 runs for lethal, meaning if you use weapon vs hero in this run, in next you will have lethal or get very close to it.

      -I added logic when it comes to reno jackson to hold it for as long as possible, sometimes the bot use it at 20hp or more because is the only card that can play, which in human perspective is better to hold it and eat the damage.

      -About evolve. I manage to make it good, but implement logic into and I am not even sure if is right, to make it more human wise, the bot before that logic was using double evolve like crazy or use it for 1 or 2 mobs, which is not desirable at all. So what I did there is to give a bad evaluation if there is one or two mobs in field, and only use it for more than 2, which overall give me great results.

      -About mulligan. I am unsure if this already done, but will be good to have a mulligan combo, meaning if you have this lvl 4 card and this lvl 2 card, keep both, as meaning are part of a deadly combo, otherwise discard them.
       
    15. OtisRight

      OtisRight New Member

      Joined:
      Aug 6, 2016
      Messages:
      183
      Likes Received:
      0
      Trophy Points:
      0
      I think we're good for now, if you can implement turn/mana and lethal conditions.

      I don't think it has anything to do with this thread. But to answer your questions:

      1. The bot does not calculate two-turn-lethal in it's current state. I would like add something like if(two-turn-lethal) do something something
      2. You can higher the cardvalue in combo.txt to use it less often or make a penality like in 3
      3. You can make a penality in PenaltyManager.cs for using it on less then two mobs or more
      4. We already have a this mulligan rule:
      HB Style Mulligans
      Format:
      card;self;enemy;type:[count];requirements

      card = a card id like "OG_024" - search _carddb.txt for the name of your card to find the id
      self = a class name like "shaman"
      enemy = a class name like "shaman"
      type = "Hold" or "Discard"
      count = up to how many copies of the card to keep or discard (default 2)
      requirements = "/" - no addition rules, or "0-20" - manarule, or card:card:card:... - more cards required
       
    16. sepefeet

      sepefeet New Member

      Joined:
      Jan 20, 2016
      Messages:
      122
      Likes Received:
      1
      Trophy Points:
      0
      FYI just keep a copy of the old routine around like in a local git repo so that you can diff the new one.
       

    Share This Page