Implements running from battle.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2019-12-15 11:52:10 +01:00
parent 0fad615050
commit 6ba708ad12
16 changed files with 160 additions and 54 deletions

View File

@@ -0,0 +1,25 @@
#ifndef CREATURELIB_BATTLERESULT_HPP
#define CREATURELIB_BATTLERESULT_HPP
#include <cstdint>
namespace CreatureLib::Battling {
class BattleResult {
bool _conclusiveResult;
uint8_t _winningSide;
BattleResult(bool conclusiveResult, uint8_t winningSide)
: _conclusiveResult(conclusiveResult), _winningSide(winningSide) {}
public:
static BattleResult Inconclusive() { return BattleResult(false, 0); }
static BattleResult Conclusive(uint8_t winner) { return BattleResult(true, winner); }
static BattleResult Empty() { return BattleResult(false, 0); }
/// Whether or not the battle has ended with a conclusive result.
bool IsConclusiveResult() const { return _conclusiveResult; }
/// Get the index of the side that has won the battle. Only valid if the battle has a conclusive result.
uint8_t GetWinningSide() const { return _winningSide; }
};
}
#endif // CREATURELIB_BATTLERESULT_HPP