RosettaStone Namespace Reference

Namespaces

 Generic
 
 PlayerTasks
 
 SimpleTasks
 
 Task
 

Classes

class  AccountInfo
 AccountInfo class. More...
 
class  AccountLoader
 AccountLoader class. More...
 
class  BasicPolicy
 BasicPolicy class. More...
 
class  Battlefield
 Battlefield class. More...
 
class  Card
 Card class. More...
 
class  CardLoader
 CardLoader class. More...
 
class  Cards
 Cards class. More...
 
class  Character
 Abstract character class that stores hero and minion data. More...
 
struct  Choice
 Choice struct. More...
 
class  CoreCardsGen
 CoreCardsGen class. More...
 
class  Deck
 Deck class. More...
 
class  DeckInfo
 DeckInfo class. More...
 
class  DoBothPlayer
 DoBothPlayer class. More...
 
class  DoUntil
 DoUntil class. More...
 
class  Effect
 Effect class. More...
 
class  Effects
 Effects class. More...
 
class  Enchant
 Enchant class. More...
 
class  Entity
 Abstract entity structure that stores card data. More...
 
class  Game
 Game class. More...
 
class  GameAgent
 GameAgent class. More...
 
struct  GameConfig
 GameConfig struct. More...
 
class  GameManager
 GameManager class. More...
 
class  Graveyard
 Graveyard class. More...
 
class  Hand
 Hand class. More...
 
class  Hero
 Hero class. More...
 
class  HeroPower
 HeroPower class. More...
 
class  IoPolicy
 IoPolicy class. More...
 
class  IPolicy
 IPolicy class. More...
 
class  ITask
 ITask class. More...
 
class  Minion
 Minion class. More...
 
class  Player
 Player class. More...
 
class  Power
 Power class. More...
 
class  PowerLoader
 PowerLoader class. More...
 
class  Powers
 Powers class. More...
 
struct  SearchFilter
 Search filter structure. More...
 
class  Spell
 Spell class. More...
 
class  TaskMeta
 TaskMeta class. More...
 
class  TaskMetaTrait
 TaskMetaTrait class. More...
 
class  Weapon
 Weapon class. More...
 

Typedefs

using status_t = unsigned int
 

Enumerations

enum  PlayerType { PlayerType::RANDOM, PlayerType::PLAYER1, PlayerType::PLAYER2 }
 Enumeration that represents the player. More...
 
enum  EffectOperator { EffectOperator::ADD, EffectOperator::SUB, EffectOperator::MUL, EffectOperator::SET }
 Effect operator to change card value such as attack and health. More...
 
enum  ChoiceAction { ChoiceAction::INVALID = 0, ChoiceAction::HAND = 1 }
 The action type of choice. More...
 
enum  ManaOperator { ManaOperator::ADD = 0, ManaOperator::SUB = 1, ManaOperator::SET = 2 }
 The operator to change mana. More...
 
enum  ManaType { ManaType::AVAILABLE = 0, ManaType::MAXIMUM = 1 }
 The type to change mana. More...
 
enum  TaskStatus : status_t { TaskStatus::INVALID, TaskStatus::STOP, TaskStatus::COMPLETE, TaskStatus::NUM_TASK_STATUS }
 Meta data to represent the result of the task. More...
 

Functions

 BETTER_ENUM (BlockType, int, ATTACK=1, JOUST=2, POWER=3, SCRIPT=4, TRIGGER=5, DEATHS=6, PLAY=7, FATIGUE=8, RITUAL=9, REVEAL_CARD=10, GAME_RESET=11, ACTION=99) BETTER_ENUM(BattleNetGameType
 
 BETTER_ENUM (TaskID, int, INVALID, DRAW, OVERDRAW, MODIFY_MANA, DAMAGE, MULLIGAN, PLAY_CARD, ADD_ENCHANTMENT, DESTROY, DISCARD, HEAL_FULL, POISONOUS, FREEZE, HEAL, INCLUDE, CONTROL, END_TURN, CHOOSE, ATTACK)
 An enumerator for identifying each task. More...
 

Variables

constexpr float VERSION = 0.3f
 Hearthstone++ version. More...
 
constexpr std::size_t NUM_PLAYER_CLASS = 9
 
constexpr std::size_t START_DECK_SIZE = 30
 The number of cards that can be stored in the deck at game start. More...
 
constexpr std::size_t MAX_DECK_SIZE = 60
 The maximum number of cards that can be stored in the deck during game. More...
 
constexpr std::size_t FIELD_SIZE = 7
 The maximum number of minions that can be placed in the field. More...
 
constexpr std::size_t NUM_DRAW_CARDS_AT_START_FIRST = 3
 The number of cards that the player going first will be given. More...
 
constexpr std::size_t NUM_DRAW_CARDS_AT_START_SECOND = 4
 The number of cards that the player going second will be given. More...
 
constexpr std::size_t MANA_UPPER_LIMIT = 10
 The maximum number of available/maximum mana. More...
 
constexpr std::size_t HAND_SIZE = 10
 The maximum number of cards in your hand. More...
 
constexpr std::size_t INDEX_MY_HERO = 0
 The index of my hero for targeting when player is played card. More...
 
constexpr std::size_t INDEX_MY_MINION = INDEX_MY_HERO + 1
 The index of my minion for targeting when player is played card. More...
 
constexpr std::size_t INDEX_OPPONENT_HERO = INDEX_MY_MINION + FIELD_SIZE
 The index of opponent hero for targeting when player is played card. More...
 
constexpr std::size_t INDEX_OPPONENT_MINION = INDEX_OPPONENT_HERO + 1
 The index of opponent minion for targeting when player is played card. More...
 
constexpr std::size_t GAME_MAIN_MENU_SIZE = 3
 
 int
 
 UNKNOWN = 0
 
 FRIENDS = 1
 
 RANKED_STANDARD = 2
 
 ARENA = 3
 
 VS_AI = 4
 
 TUTORIAL = 5
 
 ASYNC = 6
 
 CASUAL_STANDARD_NEWBIE = 9
 
 CASUAL_STANDARD_NORMAL = 10
 
 TEST1 = 11
 
 TEST2 = 12
 
 TEST3 = 13
 
 TAVERNBRAWL_PVP = 16
 
 TAVERNBRAWL_1P_VERSUS_AI = 17
 
 TAVERNBRAWL_2P_COOP = 18
 
 RANKED_WILD = 30
 
 CASUAL_WILD = 31
 
 FSG_BRAWL_VS_FRIEND = 40
 
 FSG_BRAWL_PVP = 41
 
 FSG_BRAWL_1P_VERSUS_AI = 42
 
 FSG_BRAWL_2P_COOP = 43
 

Typedef Documentation

◆ status_t

using RosettaStone::status_t = typedef unsigned int

Enumeration Type Documentation

◆ ChoiceAction

The action type of choice.

Enumerator
INVALID 

Invalid action.

HAND 

Hand.

◆ EffectOperator

Effect operator to change card value such as attack and health.

Enumerator
ADD 

Add card value.

SUB 

Subtract card value.

MUL 

Multiply card value.

SET 

Set card value.

◆ ManaOperator

The operator to change mana.

Enumerator
ADD 

Add mana.

SUB 

Subtract mana.

SET 

Set mana.

◆ ManaType

The type to change mana.

Enumerator
AVAILABLE 

Available mana.

MAXIMUM 

Maximum mana.

◆ PlayerType

Enumeration that represents the player.

Enumerator
RANDOM 

The random player.

PLAYER1 

The first player.

PLAYER2 

The second player.

◆ TaskStatus

Meta data to represent the result of the task.

Enumerator
INVALID 
STOP 
COMPLETE 
NUM_TASK_STATUS 

Function Documentation

◆ BETTER_ENUM() [1/2]

RosettaStone::BETTER_ENUM ( BlockType  ,
int  ,
ATTACK  = 1,
JOUST  = 2,
POWER  = 3,
SCRIPT  = 4,
TRIGGER  = 5,
DEATHS  = 6,
PLAY  = 7,
FATIGUE  = 8,
RITUAL  = 9,
REVEAL_CARD  = 10,
GAME_RESET  = 11,
ACTION  = 99 
)

◆ BETTER_ENUM() [2/2]

RosettaStone::BETTER_ENUM ( TaskID  ,
int  ,
INVALID  ,
DRAW  ,
OVERDRAW  ,
MODIFY_MANA  ,
DAMAGE  ,
MULLIGAN  ,
PLAY_CARD  ,
ADD_ENCHANTMENT  ,
DESTROY  ,
DISCARD  ,
HEAL_FULL  ,
POISONOUS  ,
FREEZE  ,
HEAL  ,
INCLUDE  ,
CONTROL  ,
END_TURN  ,
CHOOSE  ,
ATTACK   
)

An enumerator for identifying each task.

Variable Documentation

◆ ARENA

RosettaStone::ARENA = 3

◆ ASYNC

RosettaStone::ASYNC = 6

◆ CASUAL_STANDARD_NEWBIE

RosettaStone::CASUAL_STANDARD_NEWBIE = 9

◆ CASUAL_STANDARD_NORMAL

RosettaStone::CASUAL_STANDARD_NORMAL = 10

◆ CASUAL_WILD

RosettaStone::CASUAL_WILD = 31

◆ FIELD_SIZE

constexpr std::size_t RosettaStone::FIELD_SIZE = 7

The maximum number of minions that can be placed in the field.

◆ FRIENDS

RosettaStone::FRIENDS = 1

◆ FSG_BRAWL_1P_VERSUS_AI

RosettaStone::FSG_BRAWL_1P_VERSUS_AI = 42

◆ FSG_BRAWL_2P_COOP

RosettaStone::FSG_BRAWL_2P_COOP = 43

◆ FSG_BRAWL_PVP

RosettaStone::FSG_BRAWL_PVP = 41

◆ FSG_BRAWL_VS_FRIEND

RosettaStone::FSG_BRAWL_VS_FRIEND = 40

◆ GAME_MAIN_MENU_SIZE

constexpr std::size_t RosettaStone::GAME_MAIN_MENU_SIZE = 3

The number of menus in main phase.

Note
We will refactor it soon.

◆ HAND_SIZE

constexpr std::size_t RosettaStone::HAND_SIZE = 10

The maximum number of cards in your hand.

◆ INDEX_MY_HERO

constexpr std::size_t RosettaStone::INDEX_MY_HERO = 0

The index of my hero for targeting when player is played card.

◆ INDEX_MY_MINION

constexpr std::size_t RosettaStone::INDEX_MY_MINION = INDEX_MY_HERO + 1

The index of my minion for targeting when player is played card.

◆ INDEX_OPPONENT_HERO

constexpr std::size_t RosettaStone::INDEX_OPPONENT_HERO = INDEX_MY_MINION + FIELD_SIZE

The index of opponent hero for targeting when player is played card.

◆ INDEX_OPPONENT_MINION

constexpr std::size_t RosettaStone::INDEX_OPPONENT_MINION = INDEX_OPPONENT_HERO + 1

The index of opponent minion for targeting when player is played card.

◆ int

RosettaStone::int

◆ MANA_UPPER_LIMIT

constexpr std::size_t RosettaStone::MANA_UPPER_LIMIT = 10

The maximum number of available/maximum mana.

◆ MAX_DECK_SIZE

constexpr std::size_t RosettaStone::MAX_DECK_SIZE = 60

The maximum number of cards that can be stored in the deck during game.

◆ NUM_DRAW_CARDS_AT_START_FIRST

constexpr std::size_t RosettaStone::NUM_DRAW_CARDS_AT_START_FIRST = 3

The number of cards that the player going first will be given.

◆ NUM_DRAW_CARDS_AT_START_SECOND

constexpr std::size_t RosettaStone::NUM_DRAW_CARDS_AT_START_SECOND = 4

The number of cards that the player going second will be given.

◆ NUM_PLAYER_CLASS

constexpr std::size_t RosettaStone::NUM_PLAYER_CLASS = 9

The number of player class.

Note
Druid, Hunter, Mage, Paladin, Priest, Rogue, Shaman, Warlock, Warrior

◆ RANKED_STANDARD

RosettaStone::RANKED_STANDARD = 2

◆ RANKED_WILD

RosettaStone::RANKED_WILD = 30

◆ START_DECK_SIZE

constexpr std::size_t RosettaStone::START_DECK_SIZE = 30

The number of cards that can be stored in the deck at game start.

◆ TAVERNBRAWL_1P_VERSUS_AI

RosettaStone::TAVERNBRAWL_1P_VERSUS_AI = 17

◆ TAVERNBRAWL_2P_COOP

RosettaStone::TAVERNBRAWL_2P_COOP = 18

◆ TAVERNBRAWL_PVP

RosettaStone::TAVERNBRAWL_PVP = 16

◆ TEST1

RosettaStone::TEST1 = 11

◆ TEST2

RosettaStone::TEST2 = 12

◆ TEST3

RosettaStone::TEST3 = 13

◆ TUTORIAL

RosettaStone::TUTORIAL = 5

◆ UNKNOWN

RosettaStone::UNKNOWN = 0

◆ VERSION

constexpr float RosettaStone::VERSION = 0.3f

Hearthstone++ version.

◆ VS_AI

RosettaStone::VS_AI = 4