#ifndef PKMNLIB_PKMNSCRIPT_HPP #define PKMNLIB_PKMNSCRIPT_HPP #include #include "Battle/Battle.hpp" #ifdef __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-parameter" #elif defined __GNUC__ #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-parameter" #endif namespace PkmnLib::Battling { class PkmnScript : public CreatureLib::Battling::BattleScript { public: PkmnScript(const ArbUt::OptionalBorrowedPtr& owner) : CreatureLib::Battling::BattleScript(owner) {} virtual void PreventIncomingCritical(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hit, bool* non_null preventCrit){}; virtual void ModifyCriticalStage(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hit, u8* non_null critStage){}; virtual void OverrideCriticalModifier(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hit, float* non_null critModifier){}; virtual void OverrideSTABModifier(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hit, float* non_null stabModifier){}; virtual void ModifyExperienceGain(CreatureLib::Battling::Creature* non_null faintedMon, CreatureLib::Battling::Creature* non_null winningMon, uint32_t* non_null experienceGain){}; virtual void DoesShareExperience(CreatureLib::Battling::Creature* non_null faintedMon, CreatureLib::Battling::Creature* non_null winningMon, bool* non_null shareExperience){}; virtual void BlockWeather(CreatureLib::Battling::Battle* non_null battle, bool* non_null blockWeather){}; virtual void ModifyOffensiveStatValue(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hitIndex, float* non_null modifier){}; virtual void ModifyDefensiveStatValue(CreatureLib::Battling::ExecutingAttack* non_null attack, CreatureLib::Battling::Creature* non_null target, u8 hitIndex, float* non_null modifier){}; virtual void ModifyCaptureRateBonus(CreatureLib::Battling::Creature* non_null pokemon, CreatureLib::Library::Item* non_null catchItem, u8* non_null modifier){}; }; } #ifdef __clang__ #pragma clang diagnostic pop #elif defined __GNUC__ #pragma GCC diagnostic pop #endif #endif // PKMNLIB_PKMNSCRIPT_HPP