This commit is contained in:
5
src/Battling/Models/Battle.cpp
Normal file
5
src/Battling/Models/Battle.cpp
Normal file
@@ -0,0 +1,5 @@
|
||||
#include "Battle.hpp"
|
||||
|
||||
const CreatureLib::Battling::BattleLibrary *CreatureLib::Battling::Battle::GetLibrary() const {
|
||||
return _library;
|
||||
}
|
||||
18
src/Battling/Models/Battle.hpp
Normal file
18
src/Battling/Models/Battle.hpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef CREATURELIB_BATTLE_HPP
|
||||
#define CREATURELIB_BATTLE_HPP
|
||||
|
||||
#include <vector>
|
||||
#include "BattleSide.hpp"
|
||||
#include "../Library/BattleLibrary.hpp"
|
||||
|
||||
namespace CreatureLib::Battling {
|
||||
class Battle {
|
||||
const BattleLibrary* _library;
|
||||
std::vector<BattleSide*> _sides;
|
||||
public:
|
||||
const BattleLibrary* GetLibrary() const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //CREATURELIB_BATTLE_HPP
|
||||
37
src/Battling/Models/BattleCreature.cpp
Normal file
37
src/Battling/Models/BattleCreature.cpp
Normal file
@@ -0,0 +1,37 @@
|
||||
#include "BattleCreature.hpp"
|
||||
#include "../Models/Battle.hpp"
|
||||
|
||||
using namespace CreatureLib;
|
||||
|
||||
Battling::BattleCreature::BattleCreature(Battling::Battle *battle,
|
||||
Library::Creature *creature)
|
||||
:__Battle(battle),
|
||||
__Level(creature->GetLevel()),
|
||||
_creature(creature),
|
||||
_statBoost(Core::StatisticSet<int8_t >())
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
const Library::Creature* Battling::BattleCreature::GetBackingCreature() {
|
||||
return _creature;
|
||||
}
|
||||
|
||||
void Battling::BattleCreature::ApplyPostBattleEffects() {
|
||||
|
||||
}
|
||||
|
||||
uint32_t Battling::BattleCreature::GetStat(Core::Statistic stat) {
|
||||
return _fullStats.GetStat(stat);
|
||||
}
|
||||
|
||||
void Battling::BattleCreature::RecalculateStats() {
|
||||
this->_fullStats = this->__Battle->GetLibrary()->GetStatCalculator()->CalculateStats(this);
|
||||
}
|
||||
|
||||
void Battling::BattleCreature::RecalculateStat(Core::Statistic stat) {
|
||||
auto s = this->__Battle->GetLibrary()->GetStatCalculator()->CalculateStat(this, stat);
|
||||
this->_fullStats.SetStat(stat, s);
|
||||
}
|
||||
|
||||
|
||||
34
src/Battling/Models/BattleCreature.hpp
Normal file
34
src/Battling/Models/BattleCreature.hpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#ifndef CREATURELIB_BATTLECREATURE_HPP
|
||||
#define CREATURELIB_BATTLECREATURE_HPP
|
||||
|
||||
#include "../../GenericTemplates.cpp"
|
||||
#include "../../Library/Creature.hpp"
|
||||
|
||||
namespace CreatureLib::Battling{
|
||||
// Forward declare battle class
|
||||
class Battle;
|
||||
|
||||
class BattleCreature {
|
||||
GetProperty(Battle*, Battle);
|
||||
GetProperty(uint8_t, Level);
|
||||
|
||||
private:
|
||||
Library::Creature* _creature;
|
||||
Core::StatisticSet<int8_t > _statBoost;
|
||||
Core::StatisticSet<uint32_t > _fullStats;
|
||||
|
||||
public:
|
||||
BattleCreature(Battle* battle, Library::Creature* creature);
|
||||
|
||||
const Library::Creature* GetBackingCreature();
|
||||
void ApplyPostBattleEffects();
|
||||
|
||||
uint32_t GetStat(Core::Statistic stat);
|
||||
void RecalculateStats();
|
||||
|
||||
void RecalculateStat(Core::Statistic);
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //CREATURELIB_BATTLECREATURE_HPP
|
||||
1
src/Battling/Models/BattleSide.cpp
Normal file
1
src/Battling/Models/BattleSide.cpp
Normal file
@@ -0,0 +1 @@
|
||||
#include "BattleSide.hpp"
|
||||
14
src/Battling/Models/BattleSide.hpp
Normal file
14
src/Battling/Models/BattleSide.hpp
Normal file
@@ -0,0 +1,14 @@
|
||||
#ifndef CREATURELIB_BATTLESIDE_HPP
|
||||
#define CREATURELIB_BATTLESIDE_HPP
|
||||
|
||||
#include <vector>
|
||||
#include "BattleCreature.hpp"
|
||||
|
||||
namespace CreatureLib::Battling{
|
||||
class BattleSide {
|
||||
std::vector<BattleCreature*> _creatures;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
#endif //CREATURELIB_BATTLESIDE_HPP
|
||||
1
src/Battling/Models/BattleTeam.cpp
Normal file
1
src/Battling/Models/BattleTeam.cpp
Normal file
@@ -0,0 +1 @@
|
||||
#include "BattleTeam.hpp"
|
||||
10
src/Battling/Models/BattleTeam.hpp
Normal file
10
src/Battling/Models/BattleTeam.hpp
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef CREATURELIB_BATTLETEAM_HPP
|
||||
#define CREATURELIB_BATTLETEAM_HPP
|
||||
|
||||
|
||||
class BattleTeam {
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif //CREATURELIB_BATTLETEAM_HPP
|
||||
Reference in New Issue
Block a user