Implements experience gain on opponent faint.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2019-12-14 13:28:23 +01:00
parent 3baed93597
commit 649de39571
9 changed files with 119 additions and 21 deletions

View File

@@ -6,6 +6,7 @@
#include "BattleStatCalculator.hpp"
#include "CriticalLibrary.hpp"
#include "DamageLibrary.hpp"
#include "ExperienceLibrary.hpp"
namespace CreatureLib::Battling {
class BattleLibrary {
@@ -13,11 +14,13 @@ namespace CreatureLib::Battling {
BattleStatCalculator* _statCalculator = nullptr;
DamageLibrary* _damageLibrary = nullptr;
CriticalLibrary* _criticalLibrary = nullptr;
ExperienceLibrary* _experienceLibrary = nullptr;
ScriptResolver* _scriptResolver = nullptr;
public:
BattleLibrary(Library::DataLibrary* staticLib, BattleStatCalculator* statCalculator,
DamageLibrary* damageLibrary, CriticalLibrary* criticalLibrary, ScriptResolver* scriptResolver);
DamageLibrary* damageLibrary, CriticalLibrary* criticalLibrary,
ExperienceLibrary* experienceLibrary, ScriptResolver* scriptResolver);
~BattleLibrary();
[[nodiscard]] const Library::LibrarySettings& GetSettings() const;
@@ -25,10 +28,14 @@ namespace CreatureLib::Battling {
[[nodiscard]] const Library::ItemLibrary* GetItemLibrary() const;
[[nodiscard]] const Library::AttackLibrary* GetAttackLibrary() const;
[[nodiscard]] const Library::TypeLibrary* GetTypeLibrary() const;
[[nodiscard]] const Library::GrowthRateLibrary* GetGrowthRateLibrary() const {
return _staticLib->GetGrowthRates();
}
[[nodiscard]] const BattleStatCalculator* GetStatCalculator() const;
[[nodiscard]] const DamageLibrary* GetDamageLibrary() const;
[[nodiscard]] const CriticalLibrary* GetCriticalLibrary() const;
[[nodiscard]] const ExperienceLibrary* GetExperienceLibrary() const { return _experienceLibrary; }
[[nodiscard]] Script* LoadScript(ScriptResolver::ScriptCategory category, const std::string& scriptName) const;
};