Many tweaks and fixes relating to AngelScript, implements shininess.
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
2020-02-01 16:56:09 +01:00
parent cade351bc2
commit f33d96d922
21 changed files with 458 additions and 61 deletions

View File

@@ -8,14 +8,13 @@ namespace PkmnLib::Battling {
private:
const BattleLibrary* _library;
std::string _species;
std::string _variant = "default";
std::string _forme = "default";
uint8_t _level;
std::string _nickname = "";
std::string _ability = "";
uint8_t _nature = 255;
CreatureLib::Library::Gender _gender = static_cast<CreatureLib::Library::Gender>(-1);
uint8_t _coloring = 0;
std::string _heldItem = "";
uint32_t _identifier = 0;
std::vector<std::tuple<const Library::MoveData*, CreatureLib::Battling::AttackLearnMethod>> _attacks = {};
@@ -34,10 +33,18 @@ namespace PkmnLib::Battling {
uint8_t _evSpDef = 0;
uint8_t _evSpeed = 0;
bool _shininessSet = false;
bool _isShiny = false;
public:
CreatePokemon(const BattleLibrary* library, std::string species, uint8_t level)
: _library(library), _species(std::move(species)), _level(level) {}
CreatePokemon* WithForme(const std::string& forme);
CreatePokemon* WithGender(CreatureLib::Library::Gender gender);
CreatePokemon* IsShiny(bool value);
CreatePokemon* WithHeldItem(const std::string& item);
CreatePokemon* WithRandomIndividualValues(CreatureLib::Core::Random rand = CreatureLib::Core::Random());
CreatePokemon* WithIndividualValue(CreatureLib::Core::Statistic stat, uint8_t value);
CreatePokemon* WithIndividualValues(uint8_t hp, uint8_t att, uint8_t def, uint8_t spAtt, uint8_t spDef,