diff --git a/conanfile.py b/conanfile.py index 1ebab7f..4316c2e 100644 --- a/conanfile.py +++ b/conanfile.py @@ -26,4 +26,4 @@ class PkmnLibConan(ConanFile): self.copy("*.dll", "bin", "bin") def requirements(self): - self.requires("PkmnLib/4ee5a14b4c58b97fa511aad4be7cc0cb039bc634@pkmnlib/master") + self.requires("PkmnLib/c91b1b09061f8e063aa37afe9ac2465479683f8e@pkmnlib/master") diff --git a/src/BuildData/BuildMoves.cpp b/src/BuildData/BuildMoves.cpp index 7b3ed89..e049382 100644 --- a/src/BuildData/BuildMoves.cpp +++ b/src/BuildData/BuildMoves.cpp @@ -50,10 +50,17 @@ PkmnLib::Library::MoveLibrary* BuildMoves::Build(const std::string& path, auto category = ParseCategory(_category.get()); if (static_cast(category) == 255) return nullptr; - auto move = new PkmnLib::Library::MoveData(_name.get(), type, category, _power.get(), - _accuracy.get(), _pp.get(), - CreatureLib::Library::AttackTarget::Any, _priority.get(), - _flags.get>()); + CreatureLib::Library::AttackTarget target; + try { + target = CreatureLib::Library::AttackTargetHelper::Parse(_target.get(), true); + } catch (const CreatureException& e) { + std::cout << "Invalid target: '" << _target.get() << "' for move with name '" + << _name.get() << "'\n"; + return nullptr; + } + auto move = new PkmnLib::Library::MoveData( + _name.get(), type, category, _power.get(), _accuracy.get(), + _pp.get(), target, _priority.get(), _flags.get>()); lib->LoadAttack(move->GetName(), move); } diff --git a/src/BuildData/BuildNatures.cpp b/src/BuildData/BuildNatures.cpp index b81927e..26054b1 100644 --- a/src/BuildData/BuildNatures.cpp +++ b/src/BuildData/BuildNatures.cpp @@ -66,16 +66,16 @@ PkmnLib::Library::NatureLibrary* BuildNatures::Build(const std::string& path) { auto parsedIncreased = ParseStatistic(increasedStat); float increasedModifier = 1.1; - if (parsedIncreased == 254) + if (static_cast(parsedIncreased) == 254) return nullptr; - if (parsedIncreased == 255) + if (static_cast(parsedIncreased) == 255) increasedModifier = 1.0; auto parsedDecreased = ParseStatistic(decreasedStat); float decreasedModifier = 0.9; - if (parsedDecreased == 254) + if (static_cast(parsedDecreased) == 254) return nullptr; - if (parsedDecreased == 255) + if (static_cast(parsedDecreased) == 255) decreasedModifier = 1.0; std::cout << "Registered nature with name '" << natureName << "'.\n";