Add support for Egg Groups.
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2020-08-08 18:41:27 +02:00
parent 2a884a0a8b
commit ca087a7ed8
5 changed files with 41 additions and 22 deletions

View File

@@ -10,12 +10,14 @@ namespace PkmnLib::Library {
private:
uint8_t _baseHappiness;
ArbUt::UniquePtrList<const EvolutionData> _evolutions;
ArbUt::List<ArbUt::StringView> _eggGroups;
public:
PokemonSpecies(uint16_t id, const ArbUt::StringView& name, const PokemonForme* defaultForme, float genderRatio,
const ArbUt::StringView& growthRate, uint8_t captureRate, uint8_t baseHappiness) noexcept
const ArbUt::StringView& growthRate, uint8_t captureRate, uint8_t baseHappiness,
const ArbUt::List<ArbUt::StringView>& eggGroups) noexcept
: CreatureSpecies(id, name, defaultForme, genderRatio, growthRate, captureRate),
_baseHappiness(baseHappiness) {}
_baseHappiness(baseHappiness), _eggGroups(eggGroups) {}
~PokemonSpecies() override = default;
@@ -41,6 +43,9 @@ namespace PkmnLib::Library {
inline void AddEvolution(const EvolutionData* data) noexcept { _evolutions.Append(data); }
const ArbUt::UniquePtrList<const EvolutionData>& GetEvolutions() const noexcept { return _evolutions; }
bool HasEggGroup(const ArbUt::StringView& sv) const noexcept { return _eggGroups.Contains(sv); }
const ArbUt::List<ArbUt::StringView>& GetEggGroups() const noexcept { return _eggGroups; }
};
}