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

AnonymusQQ

New Member
Joined
Nov 14, 2015
Messages
10
Reaction score
0
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