Update to latest CreatureLib.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
42ea76cf53
commit
19062cfc93
|
@ -73,13 +73,13 @@ PkmnLib::Battling::Pokemon* PkmnLib::Battling::CreatePokemon::Build() {
|
|||
auto experience = _library->GetGrowthRateLibrary()->CalculateExperience(species->GetGrowthRate(), _level);
|
||||
|
||||
auto attacks = List<CreatureLib::Battling::LearnedAttack*>(_attacks.Count());
|
||||
for (size_t i = 0; i < attacks.Count(); i++) {
|
||||
for (size_t i = 0; i < _attacks.Count(); i++) {
|
||||
auto& kv = _attacks[i];
|
||||
auto move = kv.Move;
|
||||
if (move != nullptr)
|
||||
attacks[i] = new LearnedMove(move, kv.LearnMethod);
|
||||
attacks.Append(new LearnedMove(move, kv.LearnMethod));
|
||||
else
|
||||
attacks[i] = nullptr;
|
||||
attacks.Append(nullptr);
|
||||
}
|
||||
auto ivs = CreatureLib::Library::StatisticSet(_ivHp, _ivAttack, _ivDefense, _ivSpAtt, _ivSpDef, _ivSpeed);
|
||||
auto evs = CreatureLib::Library::StatisticSet(_evHp, _evAttack, _evDefense, _evSpAtt, _evSpDef, _evSpeed);
|
||||
|
@ -158,8 +158,6 @@ PkmnLib::Battling::CreatePokemon::LearnMove(const Arbutils::CaseInsensitiveConst
|
|||
throw CreatureException("This pokemon already has the maximal allowed moves.");
|
||||
}
|
||||
Assert(move != nullptr);
|
||||
auto& c = _attacks[_currentMove++];
|
||||
c.Move = move;
|
||||
c.LearnMethod = method;
|
||||
_attacks.Append(ToLearnMethod(move, method));
|
||||
return *this;
|
||||
}
|
||||
|
|
|
@ -22,6 +22,8 @@ namespace PkmnLib::Battling {
|
|||
const Library::MoveData* Move;
|
||||
CreatureLib::Battling::AttackLearnMethod LearnMethod;
|
||||
ToLearnMethod() : Move(nullptr), LearnMethod(CreatureLib::Battling::AttackLearnMethod::Unknown){};
|
||||
ToLearnMethod(const Library::MoveData* move, CreatureLib::Battling::AttackLearnMethod method)
|
||||
: Move(move), LearnMethod(method){};
|
||||
};
|
||||
Arbutils::Collections::List<ToLearnMethod> _attacks;
|
||||
uint8_t _currentMove = 0;
|
||||
|
@ -45,8 +47,7 @@ namespace PkmnLib::Battling {
|
|||
|
||||
public:
|
||||
CreatePokemon(const BattleLibrary* library, const Arbutils::CaseInsensitiveConstString& species, uint8_t level)
|
||||
: _library(library), _species(species), _level(level) {
|
||||
_attacks.Resize(library->GetSettings()->GetMaximalMoves(), ToLearnMethod());
|
||||
: _library(library), _species(species), _level(level), _attacks(library->GetSettings()->GetMaximalMoves()) {
|
||||
}
|
||||
|
||||
CreatePokemon WithForme(const Arbutils::CaseInsensitiveConstString& forme);
|
||||
|
@ -54,15 +55,15 @@ namespace PkmnLib::Battling {
|
|||
CreatePokemon IsShiny(bool value);
|
||||
CreatePokemon WithHeldItem(const Arbutils::CaseInsensitiveConstString& item);
|
||||
CreatePokemon LearnMove(const Arbutils::CaseInsensitiveConstString& move,
|
||||
CreatureLib::Battling::AttackLearnMethod method);
|
||||
CreatureLib::Battling::AttackLearnMethod method);
|
||||
|
||||
CreatePokemon WithRandomIndividualValues(Arbutils::Random rand = Arbutils::Random());
|
||||
CreatePokemon WithIndividualValue(CreatureLib::Library::Statistic stat, uint8_t value);
|
||||
CreatePokemon WithIndividualValues(uint8_t hp, uint8_t att, uint8_t def, uint8_t spAtt, uint8_t spDef,
|
||||
uint8_t speed);
|
||||
uint8_t speed);
|
||||
CreatePokemon WithEffortValue(CreatureLib::Library::Statistic stat, uint8_t value);
|
||||
CreatePokemon WithEffortValues(uint8_t hp, uint8_t att, uint8_t def, uint8_t spAtt, uint8_t spDef,
|
||||
uint8_t speed);
|
||||
uint8_t speed);
|
||||
|
||||
CreatePokemon WithNature(const Arbutils::CaseInsensitiveConstString& nature);
|
||||
|
||||
|
|
Loading…
Reference in New Issue