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

Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

AnonymusQQ

New Member
Joined
Nov 14, 2015
Messages
10
HearthBuddy\Routines\DefaultRoutine\DefaultRoutine .cs (mulligan + calculation tweaks). I have no idea have to do this, but i would really to know how to do. If any of you guys know how, please let me know, Thanks !
This bot's doing so idiot things..perhaps because there is no mulligan + calculation tweaks for me??? Please help me guys.
 
Hi AnonymusQQ

Copy - past - replaces this DefaultRoutine .cs . into yours replace all
This routines works good
anjoy :)



using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Markup;
using Buddy.Coroutines;
using HREngine.Bots;
using IronPython.Modules;
using log4net;
using Microsoft.Scripting.Hosting;
using Triton.Bot;
using Triton.Common;
using Triton.Game;
using Triton.Game.Data;

//!CompilerOption|AddRef|IronPython.dll
//!CompilerOption|AddRef|IronPython.Modules.dll
//!CompilerOption|AddRef|Microsoft.Scripting.dll
//!CompilerOption|AddRef|Microsoft.Dynamic.dll
//!CompilerOption|AddRef|Microsoft.Scripting.Metadata.dll
using Triton.Game.Mapping;

using Logger = Triton.Common.LogUtilities.Logger;

namespace HREngine.Bots
{
public class DefaultRoutine : IRoutine
{
private static readonly ILog Log = Logger.GetLoggerInstanceForType();
private readonly ScriptManager _scriptManager = new ScriptManager();

private readonly List<Tuple<string, string>> _mulliganRules = new List<Tuple<string, string>>();

private int dirtyTargetSource = -1;
private int stopAfterWins = 30;
private int concedeLvl = 5; // the rank, till you want to concede
private int dirtytarget = -1;
private int dirtychoice = -1;
private string choiceCardId = "";
DateTime starttime = DateTime.Now;
bool enemyConcede = false;

public bool learnmode = false;
public bool printlearnmode = true;

Behavior behave = new BehaviorControl();//change this to new BehaviorRush() for rush mode
//Behavior behave = new BehaviorRush();

public DefaultRoutine()
{

// Global rules. Never keep a 3+ minion, unless it's deathlord (priest).
_mulliganRules.Add(new Tuple<string, string>("True", "card.Entity.Cost >= 3 and card.Entity.Id != "FP1_009""));

// Never keep aldorpeacekeeper.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_382""));

// Never keep Equality.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_619""));

// Never keep Tracking.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.HUNTER", "card.Entity.Id == "DS1_184""));

// Example rule for self.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.MAGE", "card.Cost >= 5"));

// Example rule for opponents.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.OpponentClass == TAG_CLASS.MAGE", "card.Cost >= 3"));

// Never keep repentance.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_379""));

// Never keep aldorpeacekeeper.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_382""));

// Never keep redemption.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_136""));

// Never keep Competitive spirit.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "AT_073""));

// Never keep equality
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN",
"card.Entity.Id == "EX1_619""));

// Never keep ironbeakowl
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN",
"card.Entity.Id == "CS2_203""));

// Never keep savageroar
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.DRUID",
"card.Entity.Id == "CS2_011""));

// Never keep innervate
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.DRUID",
"card.Entity.Id == "EX1_169""));

// Never keep biggamehunter.
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.WARLOCK", "card.Entity.Id == "EX1_005""));

// Never keep innerfire
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PRIEST", "card.Entity.Id == "CS1_129""));

// Never keep divinespirit
_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PRIEST", "card.Entity.Id == "CS2_236""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.WARRIOR", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.ROGUE", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PALADIN", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.MAGE", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.DRUID", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.PRIEST", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.SHAMAN", "card.Entity.Id == "EX1_005""));

_mulliganRules.Add(new Tuple<string, string>("mulliganData.UserClass == TAG_CLASS.HUNTER", "card.Entity.Id == "EX1_005""));

// Example rule for matchups.
//_mulliganRules.Add(new Tuple<string, string>("mulliganData.userClass == TAG_CLASS.HUNTER && mulliganData.OpponentClass == TAG_CLASS.DRUID", "card.Cost >= 2"));

bool concede = false;

// play with these settings###################################
int enfacehp = 15; // hp of enemy when your hero is allowed to attack the enemy face with his weapon
int mxwde = 0; // numer of boards which are taken to the next deep-lvl
int twotsamount = 0; // number of boards where the next turn is simulated
bool enemySecondTurnSim = true; // if he simulates the next players-turn, he also simulates the enemys respons

bool playaround = true; //play around some enemys aoe-spells?
//these two probs are >= 0 and <= 100
int playaroundprob = 50; //probability where the enemy plays the aoe-spell, but your minions will not die through it
int playaroundprob2 = 80; // probability where the enemy plays the aoe-spell, and your minions can die!

int amountBoardsInEnemyTurnSim = 70;
int amountBoardsInEnemyTurnSimSecondStepp = 200;
int amountBoardsInEnemySecondTurnSim = 70;

int nextturnsimDeep = 6;
int nextturnsimMaxWidth = 200;
int nexttunsimMaxBoards = 400;
int ImprovedCalculations = 1;

bool secrets = true; // playing arround enemys secrets

int alpha = 50; // weight of the second turn in calculation (0<= alpha <= 100)

HREngine.Bots.Settings.Instance.simulatePlacement = false; //rudiment!!! set this true, and ai will simulate all placements, whether you have a alpha/flametongue/argus
 
Back
Top