Skip to content

levinson/HearthstoneBot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This project is divided into 4 parts.

  • The bot plugin (Bot.dll), found at projects/Bot
  • The injector module (Injector.exe), found at projects/Injector
  • The commandline tool (LoaderCommandline.exe), found at projects/LoaderCommandline
  • The AI scripts, found at projects/Release/LuaScripts

The injector module, modifies the Blizzard dll file, Assembly-CSharp.dll, by injecting a reference to the Bot.dll file. This effectivly means that whenever Heartstone startup, it loads Bot.dll, which will be our hook into Heartstone.exe

The bot plugin, serves multiple purposes. 1. It allows us to send commands to Heartstone, from the commandline tool (via. a tcp server socket it opens). 2. It loads the lua enviroment, and fires off the ai lua script, also it triggers events in the ai scripts, whenever it makes sense to do so.

The commandline tool, is the interface to the entire system, it allows for easy inject into Heartstone, which involves invoking the injector module, copying the injected dll files, and any dependencies, that Bot.dll depends on. Also it's the tool for sending commands to Bot.dll, for instance starting the bot, stopping the bot, reloading the AI scripts, ect.

For a compresensive list of commands, please run the commandline tool, with --help.

The AI scripts are plain lua scripts, and an interface to interact with the game (implemented by hooks to C#).

Developer info:

  • error CS0006: Metadata file `Assembly-CSharp.dll' could not be found; This means you have not 'Assembly-CSharp.dll' into projects/Bot/lib, from the Hearthstone folder

About

A bot for the Blizzards game Hearthstone

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 85.6%
  • Python 7.3%
  • Lua 7.1%