Factory responsible for creating runtime CardInstances.
Definition: cardFactory.h:24
Orchestrates a single combat encounter between one player and one enemy.
Definition: cardmatch.h:35
void playerTurn(TurnData ¤tTurnData)
Definition: cardmatch.cpp:152
bool updateMatchState()
Definition: cardmatch.cpp:86
void damagePhase()
Definition: cardmatch.cpp:213
void spendAction(TurnData &turnData)
Definition: cardmatch.cpp:72
void turnLoop()
Definition: cardmatch.cpp:110
void enemyTurn(TurnData ¤tTurnData)
Executes the enemy's next move and resolves its effects.
Definition: cardmatch.cpp:188
void gainArmor(int defense)
Legacy helper that directly increases the player's armor.
Definition: cardmatch.cpp:21
void drawMultipleCardsNoEffect(int amount)
Draws multiple cards into the player's hand.
Definition: cardmatch.cpp:23
bool canPlayerAct(TurnData ¤tTurnData)
Definition: cardmatch.cpp:132
void writeDrawnCardMessage(std::string &drawMessage, const DrawData &drawData)
void resetPhase()
Definition: cardmatch.cpp:222
void playCard(int handIndex, CombatContext ¤tContext)
Plays a card from the hand and resolves all of its effects.
Definition: cardmatch.cpp:32
void reduceAction(TurnData &turnData, int amount)
Definition: cardmatch.cpp:78
void playerTurnSetup(const TurnData ¤tTurnData)
Definition: cardmatch.cpp:146
Execution context for resolving combat effects.
Definition: combatContext.h:30
Central authority for combat rules and state mutation.
Definition: combatSystem.h:18
Manages all card piles during a single combat.
Definition: deckCombat.h:38
Base class for enemies with a predefined move sequence.
Definition: enemy.h:22
Definition: IMatchView.h:17
Player-controlled entity with a persistent deck.
Definition: player.h:23
Definition: matchData.h:16
Definition: matchData.h:22