From d4c6ba372edc410acd2c6cc8ecf68a12d0132da5 Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Sat, 12 Mar 2022 11:37:06 +0100 Subject: [PATCH] Changes prevent statboostchange interface in angelscript in line with creaturelib update --- src/ScriptResolving/AngelScript/AngelScriptResolver.hpp | 2 +- src/ScriptResolving/AngelScript/AngelScriptScript.cpp | 9 +++++---- src/ScriptResolving/AngelScript/AngelScriptScript.hpp | 2 +- src/ScriptResolving/AngelScript/AngelScriptTypeInfo.hpp | 5 +++-- .../AngelScript/TypeRegistry/BasicScriptClass.cpp | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/ScriptResolving/AngelScript/AngelScriptResolver.hpp b/src/ScriptResolving/AngelScript/AngelScriptResolver.hpp index d606c27..a5c4f3b 100644 --- a/src/ScriptResolving/AngelScript/AngelScriptResolver.hpp +++ b/src/ScriptResolving/AngelScript/AngelScriptResolver.hpp @@ -3,7 +3,7 @@ #include #include -#ifdef ANGELSCRIPT_DEBUGGER +#if ANGELSCRIPT_DEBUGGER #include #endif #include diff --git a/src/ScriptResolving/AngelScript/AngelScriptScript.cpp b/src/ScriptResolving/AngelScript/AngelScriptScript.cpp index c57d113..5a3143d 100644 --- a/src/ScriptResolving/AngelScript/AngelScriptScript.cpp +++ b/src/ScriptResolving/AngelScript/AngelScriptScript.cpp @@ -55,13 +55,12 @@ void AngelScriptScript::SetAngelscriptOwner(CScriptHandle* owner) { } AngelScriptScript::~AngelScriptScript() { - if (_ownerHandle != nullptr){ + if (_ownerHandle != nullptr) { delete _ownerHandle; } _obj->Release(); } - void AngelScriptScript::OnInitialize(const CreatureLib::Battling::BattleLibrary* library, const ArbUt::List& parameters) { CALL_HOOK(OnInitialize, { @@ -155,12 +154,14 @@ void AngelScriptScript::BlockCritical(CreatureLib::Battling::ExecutingAttack* at } void AngelScriptScript::PreventStatBoostChange(CreatureLib::Battling::Creature* target, - CreatureLib::Library::Statistic stat, int8_t diffAmount, bool* prevent) { + CreatureLib::Library::Statistic stat, int8_t diffAmount, + bool selfInflicted, bool* prevent) { CALL_HOOK(PreventStatBoostChange, { ctx->SetArgObject(0, (void*)target); ctx->SetArgDWord(1, (i32)stat); ctx->SetArgByte(2, diffAmount); - ctx->SetArgAddress(3, prevent); + ctx->SetArgByte(3, selfInflicted); + ctx->SetArgAddress(4, prevent); }) } diff --git a/src/ScriptResolving/AngelScript/AngelScriptScript.hpp b/src/ScriptResolving/AngelScript/AngelScriptScript.hpp index 295981c..7ddfa6b 100644 --- a/src/ScriptResolving/AngelScript/AngelScriptScript.hpp +++ b/src/ScriptResolving/AngelScript/AngelScriptScript.hpp @@ -83,7 +83,7 @@ public: uint8_t hitNumber, float* effectiveness) override; void PreventStatBoostChange(CreatureLib::Battling::Creature* target, CreatureLib::Library::Statistic stat, - int8_t diffAmount, bool* prevent) override; + int8_t diffAmount, bool selfInflicted, bool* prevent) override; void ModifyStatBoostChange(CreatureLib::Battling::Creature* target, CreatureLib::Library::Statistic stat, int8_t* diffAmount) override; void PreventSecondaryEffects(const CreatureLib::Battling::ExecutingAttack* attack, diff --git a/src/ScriptResolving/AngelScript/AngelScriptTypeInfo.hpp b/src/ScriptResolving/AngelScript/AngelScriptTypeInfo.hpp index 0437e19..29805f7 100644 --- a/src/ScriptResolving/AngelScript/AngelScriptTypeInfo.hpp +++ b/src/ScriptResolving/AngelScript/AngelScriptTypeInfo.hpp @@ -126,8 +126,9 @@ public: "void ChangeEffectiveness(ExecutingMove@ attack, Pokemon@ target, uint8 hit, float& effectiveness)"); SCRIPT_HOOK_FUNCTION(BlockCritical, "void BlockCritical(ExecutingMove@ attack, Pokemon@ target, uint8 hit, bool& blockCritical)"); - SCRIPT_HOOK_FUNCTION(PreventStatBoostChange, - "void PreventStatBoostChange(Pokemon@ target, Statistic stat, int8 amount, bool& prevent)"); + SCRIPT_HOOK_FUNCTION( + PreventStatBoostChange, + "void PreventStatBoostChange(Pokemon@ target, Statistic stat, int8 amount, bool selfInflicted, bool& prevent)"); SCRIPT_HOOK_FUNCTION(ModifyStatBoostChange, "void ModifyStatBoostChange(Pokemon@ target, Statistic stat, int8& amount)"); SCRIPT_HOOK_FUNCTION( diff --git a/src/ScriptResolving/AngelScript/TypeRegistry/BasicScriptClass.cpp b/src/ScriptResolving/AngelScript/TypeRegistry/BasicScriptClass.cpp index 2c6afba..b53612a 100644 --- a/src/ScriptResolving/AngelScript/TypeRegistry/BasicScriptClass.cpp +++ b/src/ScriptResolving/AngelScript/TypeRegistry/BasicScriptClass.cpp @@ -30,7 +30,7 @@ shared abstract class PkmnScript { void BlockCritical(ExecutingMove@ attack, Pokemon@ target, uint8 hit, bool& blockCritical){}; void OnIncomingHit(ExecutingMove@ attack, Pokemon@ target, uint8 hit){}; void OnFaintingOpponent(ExecutingMove@ attack, Pokemon@ target, uint8 hit){}; - void PreventStatBoostChange(Pokemon@ target, Statistic stat, int8 amount, bool& prevent){}; + void PreventStatBoostChange(Pokemon@ target, Statistic stat, int8 amount, bool selfInflicted, bool& prevent){}; void ModifyStatBoostChange(Pokemon@ target, Statistic stat, int8& amount){}; void PreventSecondaryEffects(ExecutingMove@ attack, Pokemon@ target, uint8 hit, bool& outResult){}; void OnSecondaryEffect(ExecutingMove@ attack, Pokemon@ target, uint8 hit){};