Update to the latest CreatureLib version.

This commit is contained in:
2020-04-06 20:03:44 +02:00
parent 29a82a5e75
commit 48ef465c82
41 changed files with 297 additions and 221 deletions

View File

@@ -9,7 +9,7 @@ namespace PkmnLib::Library {
public:
Item(const Arbutils::CaseInsensitiveConstString& name, CreatureLib::Library::ItemCategory category,
CreatureLib::Library::BattleItemCategory battleCategory, int32_t price,
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags, uint8_t flingPower)
std::unordered_set<uint32_t> flags, uint8_t flingPower)
: CreatureLib::Library::Item(name, category, battleCategory, price, flags), _flingPower(flingPower) {}
inline uint8_t GetFlingPower() const { return _flingPower; }

View File

@@ -1,11 +1,12 @@
#include "MoveData.hpp"
#include <utility>
PkmnLib::Library::MoveData::MoveData(const std::string& name, uint8_t type,
PkmnLib::Library::MoveData::MoveData(const Arbutils::CaseInsensitiveConstString& name, uint8_t type,
PkmnLib::Library::MoveCategory category, uint8_t power, uint8_t accuracy,
uint8_t baseUsage, CreatureLib::Library::AttackTarget target, int8_t priority,
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags)
const CreatureLib::Library::SecondaryEffect& effect,
std::unordered_set<uint32_t> flags)
: AttackData(name, type, static_cast<CreatureLib::Library::AttackCategory>(category), power, accuracy, baseUsage,
target, priority, std::move(flags)) {}
target, priority, effect, std::move(flags)) {}
PkmnLib::Library::MoveCategory PkmnLib::Library::MoveData::GetCategory() const {
return static_cast<PkmnLib::Library::MoveCategory>(AttackData::GetCategory());

View File

@@ -7,11 +7,11 @@
namespace PkmnLib::Library {
class MoveData : public CreatureLib::Library::AttackData {
private:
public:
MoveData(const std::string& name, uint8_t type, PkmnLib::Library::MoveCategory category, uint8_t power,
uint8_t accuracy, uint8_t baseUsage, CreatureLib::Library::AttackTarget target, int8_t priority,
std::unordered_set<Arbutils::CaseInsensitiveConstString> flags);
MoveData(const Arbutils::CaseInsensitiveConstString& name, uint8_t type,
PkmnLib::Library::MoveCategory category, uint8_t power, uint8_t accuracy, uint8_t baseUsage,
CreatureLib::Library::AttackTarget target, int8_t priority,
const CreatureLib::Library::SecondaryEffect& effect, std::unordered_set<uint32_t> flags);
PkmnLib::Library::MoveCategory GetCategory() const;
};

View File

@@ -1,21 +1,22 @@
#ifndef PKMNLIB_NATURE_HPP
#define PKMNLIB_NATURE_HPP
#include <CreatureLib/Core/Statistic.hpp>
#include <CreatureLib/Library/Statistic.hpp>
namespace PkmnLib::Library {
class Nature {
private:
CreatureLib::Core::Statistic _increaseStat;
CreatureLib::Core::Statistic _decreaseStat;
CreatureLib::Library::Statistic _increaseStat;
CreatureLib::Library::Statistic _decreaseStat;
float _increaseModifier;
float _decreaseModifier;
public:
Nature()
: _increaseStat(CreatureLib::Core::Statistic::Health), _decreaseStat(CreatureLib::Core::Statistic::Health),
_increaseModifier(1.0f), _decreaseModifier(1.0f) {}
: _increaseStat(CreatureLib::Library::Statistic::Health),
_decreaseStat(CreatureLib::Library::Statistic::Health), _increaseModifier(1.0f), _decreaseModifier(1.0f) {
}
Nature(CreatureLib::Core::Statistic increasedStat, CreatureLib::Core::Statistic decreasedStat,
Nature(CreatureLib::Library::Statistic increasedStat, CreatureLib::Library::Statistic decreasedStat,
float increasedModifier = 1.1f, float decreasedModifier = 0.9f)
: _increaseStat(increasedStat), _decreaseStat(decreasedStat), _increaseModifier(increasedModifier),
_decreaseModifier(decreasedModifier) {}
@@ -23,10 +24,10 @@ namespace PkmnLib::Library {
[[nodiscard]] float GetIncreaseModifier() const { return _increaseModifier; }
[[nodiscard]] float GetDecreaseModifier() const { return _decreaseModifier; }
[[nodiscard]] CreatureLib::Core::Statistic GetIncreasedStat() const { return _increaseStat; }
[[nodiscard]] CreatureLib::Core::Statistic GetDecreasedStat() const { return _decreaseStat; }
[[nodiscard]] CreatureLib::Library::Statistic GetIncreasedStat() const { return _increaseStat; }
[[nodiscard]] CreatureLib::Library::Statistic GetDecreasedStat() const { return _decreaseStat; }
[[nodiscard]] float GetStatModifier(CreatureLib::Core::Statistic stat) const {
[[nodiscard]] float GetStatModifier(CreatureLib::Library::Statistic stat) const {
if (stat == _increaseStat)
return _increaseModifier;
else if (stat == _decreaseStat)

View File

@@ -1,7 +1,7 @@
#ifndef PKMNLIB_NATURELIBRARY_HPP
#define PKMNLIB_NATURELIBRARY_HPP
#include <CreatureLib/Core/Exceptions/CreatureException.hpp>
#include <CreatureLib/Library/Exceptions/CreatureException.hpp>
#include <Arbutils/Random.hpp>
#include <unordered_map>
#include <vector>

View File

@@ -1,7 +1,7 @@
#include "PokemonForme.hpp"
PkmnLib::Library::PokemonForme::PokemonForme(ConstString name, float height, float weight, uint32_t baseExperience,
std::vector<uint8_t> types,
CreatureLib::Core::StatisticSet<uint16_t> baseStats,
std::vector<ConstString> talents, std::vector<ConstString> secretTalents,
const List<uint8_t>& types,
CreatureLib::Library::StatisticSet<uint16_t> baseStats,
const List<ConstString>& talents, const List<ConstString>& secretTalents,
const CreatureLib::Library::LearnableAttacks* attacks)
: SpeciesVariant(name, height, weight, baseExperience, types, baseStats, talents, secretTalents, attacks) {}

View File

@@ -6,13 +6,15 @@
namespace PkmnLib::Library {
class PokemonForme : public CreatureLib::Library::SpeciesVariant {
public:
PokemonForme(ConstString name, float height, float weight, uint32_t baseExperience, std::vector<uint8_t> types,
CreatureLib::Core::StatisticSet<uint16_t> baseStats, std::vector<ConstString> talents,
std::vector<ConstString> secretTalents, const CreatureLib::Library::LearnableAttacks* attacks);
PokemonForme(ConstString name, float height, float weight, uint32_t baseExperience, const List<uint8_t>& types,
CreatureLib::Library::StatisticSet<uint16_t> baseStats, const List<ConstString>& talents,
const List<ConstString>& secretTalents, const CreatureLib::Library::LearnableAttacks* attacks);
private:
public:
inline const ConstString& GetAbility(int index) const { return GetTalent(index); }
inline const ConstString& GetAbility(const CreatureLib::Library::TalentIndex& index) const {
return GetTalent(index);
}
};
}

View File

@@ -1,19 +1,20 @@
#ifndef PKMNLIB_STATISTIC_HPP
#define PKMNLIB_STATISTIC_HPP
#include <CreatureLib/Core/Statistic.hpp>
#include <CreatureLib/Library/Statistic.hpp>
namespace PkmnLib::Library {
class Statistic {
public:
static constexpr const CreatureLib::Core::Statistic HealthPoints = CreatureLib::Core::Statistic::Health;
static constexpr const CreatureLib::Core::Statistic PhysicalAttack =
CreatureLib::Core::Statistic::PhysicalAttack;
static constexpr const CreatureLib::Core::Statistic PhysicalDefense =
CreatureLib::Core::Statistic::PhysicalDefense;
static constexpr const CreatureLib::Core::Statistic SpecialAttack = CreatureLib::Core::Statistic::MagicalAttack;
static constexpr const CreatureLib::Core::Statistic SpecialDefense =
CreatureLib::Core::Statistic::MagicalDefense;
static constexpr const CreatureLib::Core::Statistic Speed = CreatureLib::Core::Statistic::Speed;
static constexpr const CreatureLib::Library::Statistic HealthPoints = CreatureLib::Library::Statistic::Health;
static constexpr const CreatureLib::Library::Statistic PhysicalAttack =
CreatureLib::Library::Statistic::PhysicalAttack;
static constexpr const CreatureLib::Library::Statistic PhysicalDefense =
CreatureLib::Library::Statistic::PhysicalDefense;
static constexpr const CreatureLib::Library::Statistic SpecialAttack =
CreatureLib::Library::Statistic::MagicalAttack;
static constexpr const CreatureLib::Library::Statistic SpecialDefense =
CreatureLib::Library::Statistic::MagicalDefense;
static constexpr const CreatureLib::Library::Statistic Speed = CreatureLib::Library::Statistic::Speed;
};
}