Loads of work on capturing pokemon
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
|
||||
#include <CreatureLib/Battling/Library/BattleLibrary.hpp>
|
||||
#include "../../Library/PokemonLibrary.hpp"
|
||||
#include "CaptureLibrary.hpp"
|
||||
#include "DamageLibrary.hpp"
|
||||
#include "ExperienceLibrary.hpp"
|
||||
#include "MiscLibrary.hpp"
|
||||
@@ -11,13 +12,16 @@
|
||||
|
||||
namespace PkmnLib::Battling {
|
||||
class BattleLibrary final : public CreatureLib::Battling::BattleLibrary {
|
||||
std::unique_ptr<const CaptureLibrary> _captureLibrary;
|
||||
|
||||
public:
|
||||
BattleLibrary(Library::PokemonLibrary* non_null staticLib, StatCalculator* non_null statCalculator,
|
||||
DamageLibrary* non_null damageLibrary,
|
||||
PkmnLib::Battling::ExperienceLibrary* non_null experienceLibrary,
|
||||
ScriptResolver* non_null scriptResolver, PkmnLib::Battling::MiscLibrary* non_null miscLibrary)
|
||||
DamageLibrary* non_null damageLibrary, ExperienceLibrary* non_null experienceLibrary,
|
||||
ScriptResolver* non_null scriptResolver, MiscLibrary* non_null miscLibrary,
|
||||
CaptureLibrary* non_null captureLibrary)
|
||||
: CreatureLib::Battling::BattleLibrary(staticLib, statCalculator, damageLibrary, experienceLibrary,
|
||||
scriptResolver, miscLibrary) {}
|
||||
scriptResolver, miscLibrary),
|
||||
_captureLibrary(captureLibrary) {}
|
||||
|
||||
const std::unique_ptr<const Library::LibrarySettings>& GetSettings() const {
|
||||
return reinterpret_cast<const std::unique_ptr<const Library::LibrarySettings>&>(_staticLib->GetSettings());
|
||||
@@ -43,6 +47,9 @@ namespace PkmnLib::Battling {
|
||||
const ArbUt::BorrowedPtr<const Library::NatureLibrary> GetNatureLibrary() const {
|
||||
return GetStaticLib()->GetNatureLibrary();
|
||||
}
|
||||
[[nodiscard]] inline const ArbUt::BorrowedPtr<const CaptureLibrary> GetCaptureLibrary() const noexcept {
|
||||
return _captureLibrary;
|
||||
}
|
||||
|
||||
static PkmnLib::Battling::ScriptResolver* non_null CreateScriptResolver();
|
||||
};
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
#include "CaptureLibrary.hpp"
|
||||
#include "../PkmnItemUseScript.hpp"
|
||||
#include "../PkmnScriptHook.hpp"
|
||||
#include "../Pokemon/Pokemon.hpp"
|
||||
|
||||
namespace PkmnLib::Battling {
|
||||
CaptureLibrary::CaptureResult CaptureLibrary::TryCatch(Pokemon* non_null pokemon, Library::Item* non_null catchItem,
|
||||
ArbUt::Random* non_null random) const {
|
||||
CreatureLib::Battling::BattleRandom* non_null random) const {
|
||||
auto hpMax = pokemon->GetMaxHealth();
|
||||
auto hpCurrent = pokemon->GetCurrentHealth();
|
||||
auto rate = pokemon->GetSpecies()->GetCaptureRate();
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
#ifndef PKMNLIB_CAPTURELIBRARY_HPP
|
||||
#define PKMNLIB_CAPTURELIBRARY_HPP
|
||||
|
||||
#include <CreatureLib/Battling/Models/BattleRandom.hpp>
|
||||
#include <CreatureLib/Defines.hpp>
|
||||
#include "../Pokemon/Pokemon.hpp"
|
||||
#include "../../Library/Items/Item.hpp"
|
||||
|
||||
namespace PkmnLib::Battling {
|
||||
class Pokemon;
|
||||
|
||||
class CaptureLibrary {
|
||||
public:
|
||||
struct CaptureResult {
|
||||
@@ -13,7 +17,7 @@ namespace PkmnLib::Battling {
|
||||
};
|
||||
|
||||
CaptureResult TryCatch(Pokemon* non_null pokemon, Library::Item* non_null catchItem,
|
||||
ArbUt::Random* non_null random) const;
|
||||
CreatureLib::Battling::BattleRandom* non_null random) const;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user