This commit is contained in:
@@ -18,26 +18,29 @@ namespace PkmnLib::Battling {
|
||||
const BattleLibrary* GetLibrary() const { return reinterpret_cast<const BattleLibrary*>(_library); }
|
||||
|
||||
public:
|
||||
Pokemon(const BattleLibrary* library, const Library::PokemonSpecies* species,
|
||||
const Library::PokemonForme* forme, uint8_t level, uint32_t experience, uint32_t uid,
|
||||
CreatureLib::Library::Gender gender, uint8_t coloring, const Library::Item* heldItem,
|
||||
const std::string& nickname, const CreatureLib::Library::TalentIndex& talent,
|
||||
const List<CreatureLib::Battling::LearnedAttack*>& moves,
|
||||
Pokemon(const BattleLibrary* library, const ArbUt::BorrowedPtr<const Library::PokemonSpecies>& species,
|
||||
const ArbUt::BorrowedPtr<const Library::PokemonForme>& forme, uint8_t level, uint32_t experience,
|
||||
uint32_t uid, CreatureLib::Library::Gender gender, uint8_t coloring,
|
||||
ArbUt::BorrowedPtr<const Library::Item> heldItem, const std::string& nickname,
|
||||
const CreatureLib::Library::TalentIndex& talent,
|
||||
const ArbUt::List<CreatureLib::Battling::LearnedAttack*>& moves,
|
||||
CreatureLib::Library::StatisticSet<uint8_t> individualValues,
|
||||
CreatureLib::Library::StatisticSet<uint8_t> effortValues, const PkmnLib::Library::Nature* nature,
|
||||
bool allowedExperienceGain = true)
|
||||
: CreatureLib::Battling::Creature(library, species, forme, level, experience, uid, gender, coloring,
|
||||
heldItem, nickname, talent, moves, allowedExperienceGain),
|
||||
: CreatureLib::Battling::Creature(library, species.As<const CreatureLib::Library::CreatureSpecies>(),
|
||||
forme.As<const CreatureLib::Library::SpeciesVariant>(), level, experience,
|
||||
uid, gender, coloring, heldItem.As<const CreatureLib::Library::Item>(),
|
||||
nickname, talent, moves, allowedExperienceGain),
|
||||
_individualValues(individualValues), _effortValues(effortValues), _nature(nature) {}
|
||||
|
||||
const Library::PokemonForme* GetForme() const {
|
||||
return dynamic_cast<const Library::PokemonForme*>(GetVariant());
|
||||
const ArbUt::BorrowedPtr<const Library::PokemonForme> GetForme() const {
|
||||
return _variant.As<const Library::PokemonForme>();
|
||||
}
|
||||
|
||||
inline bool IsShiny() const noexcept { return _coloring == 1; }
|
||||
|
||||
const Arbutils::Collections::List<LearnedMove*>& GetMoves() const {
|
||||
return reinterpret_cast<const Arbutils::Collections::List<LearnedMove*>&>(_attacks);
|
||||
const ArbUt::List<LearnedMove*>& GetMoves() const {
|
||||
return reinterpret_cast<const ArbUt::List<LearnedMove*>&>(_attacks);
|
||||
}
|
||||
|
||||
inline const Library::Nature* GetNature() const noexcept { return _nature; }
|
||||
@@ -48,8 +51,8 @@ namespace PkmnLib::Battling {
|
||||
return _effortValues.GetStat(stat);
|
||||
}
|
||||
|
||||
inline const PkmnLib::Library::PokemonSpecies* GetPokemonSpecies() const noexcept {
|
||||
return dynamic_cast<const Library::PokemonSpecies*>(_species);
|
||||
inline ArbUt::BorrowedPtr<const PkmnLib::Library::PokemonSpecies> GetPokemonSpecies() const noexcept {
|
||||
return _species.As<const PkmnLib::Library::PokemonSpecies>();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user