Reworks OnInitialize to have battlelibrary as parameter
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
48da191dfb
commit
e1d5a12ce0
|
@ -50,7 +50,7 @@ private:
|
|||
|
||||
#define ITEM_USE_SCRIPT_HOOK_FUNCTION(name, decl) FunctionInfo __##name = Initialize(decl);
|
||||
|
||||
ITEM_USE_SCRIPT_HOOK_FUNCTION(OnInitialize, "void OnInitialize(const narray<EffectParameter@>@ parameters)");
|
||||
ITEM_USE_SCRIPT_HOOK_FUNCTION(OnInitialize, "void OnInitialize(const BattleLibrary@ library, const narray<EffectParameter@>@ parameters)");
|
||||
ITEM_USE_SCRIPT_HOOK_FUNCTION(IsItemUsable, "bool IsItemUsable()");
|
||||
ITEM_USE_SCRIPT_HOOK_FUNCTION(IsPokemonUseItem, "bool IsPokemonUseItem()");
|
||||
ITEM_USE_SCRIPT_HOOK_FUNCTION(IsUseValidForPokemon, "bool IsUseValidForPokemon(Pokemon@ target)");
|
||||
|
|
|
@ -36,10 +36,12 @@ CScriptHandle* AngelScriptScript::GetAngelscriptOwner() {
|
|||
return handle;
|
||||
}
|
||||
|
||||
void AngelScriptScript::OnInitialize(const ArbUt::List<CreatureLib::Library::EffectParameter*>& parameters) {
|
||||
void AngelScriptScript::OnInitialize(const CreatureLib::Battling::BattleLibrary* library,
|
||||
const ArbUt::List<CreatureLib::Library::EffectParameter*>& parameters) {
|
||||
CALL_HOOK(OnInitialize, {
|
||||
auto arr = GetEffectParameters(parameters);
|
||||
ctx->SetArgAddress(0, arr);
|
||||
ctx->SetArgObject(0, (void*)library);
|
||||
ctx->SetArgAddress(1, arr);
|
||||
})
|
||||
}
|
||||
void AngelScriptScript::Stack() { CALL_HOOK(Stack, ); }
|
||||
|
@ -420,7 +422,6 @@ void AngelScriptScript::ModifyOffensiveStatValue(CreatureLib::Battling::Executin
|
|||
ctx->SetArgByte(2, hitIndex);
|
||||
ctx->SetArgAddress(3, modifier);
|
||||
})
|
||||
|
||||
}
|
||||
void AngelScriptScript::ModifyDefensiveStatValue(CreatureLib::Battling::ExecutingAttack* attack,
|
||||
CreatureLib::Battling::Creature* target, u8 hitIndex,
|
||||
|
|
|
@ -47,7 +47,8 @@ public:
|
|||
ContextPool* GetContextPool() { return _ctxPool; }
|
||||
|
||||
CScriptHandle* GetAngelscriptOwner();
|
||||
void OnInitialize(const ArbUt::List<CreatureLib::Library::EffectParameter*>& parameters) override;
|
||||
void OnInitialize(const CreatureLib::Battling::BattleLibrary*,
|
||||
const ArbUt::List<CreatureLib::Library::EffectParameter*>& parameters) override;
|
||||
void Stack() override;
|
||||
|
||||
void OnRemove() override;
|
||||
|
|
|
@ -90,7 +90,8 @@ private:
|
|||
public:
|
||||
const FunctionInfo& GetGetOwner() const { return __GetOwner; }
|
||||
|
||||
SCRIPT_HOOK_FUNCTION(OnInitialize, "void OnInitialize(const narray<EffectParameter@>@ parameters)");
|
||||
SCRIPT_HOOK_FUNCTION(OnInitialize,
|
||||
"void OnInitialize(const BattleLibrary@ library, const narray<EffectParameter@>@ parameters)");
|
||||
SCRIPT_HOOK_FUNCTION(Stack, "void Stack()");
|
||||
SCRIPT_HOOK_FUNCTION(OnRemove, "void OnRemove()");
|
||||
SCRIPT_HOOK_FUNCTION(OnBeforeTurn, "void OnBeforeTurn(BaseTurnChoice@ choice)");
|
||||
|
|
|
@ -11,7 +11,7 @@ shared abstract class PkmnScript {
|
|||
protected ref@& GetOwner() { return __owner; };
|
||||
|
||||
// CreatureLib methods
|
||||
void OnInitialize(const narray<EffectParameter@>@ parameters){};
|
||||
void OnInitialize(const BattleLibrary@ library, const narray<EffectParameter@>@ parameters){};
|
||||
void Stack(){};
|
||||
void OnRemove(){};
|
||||
void OnBeforeTurn(BaseTurnChoice@ choice){};
|
||||
|
|
|
@ -15,7 +15,7 @@ uint64 length = 0;
|
|||
bool boolValue = false;
|
||||
int64 intValue = 0;
|
||||
constString stringValue;
|
||||
void OnInitialize(const narray<EffectParameter@>@ parameters) override {
|
||||
void OnInitialize(const BattleLibrary@ library, const narray<EffectParameter@>@ parameters) override {
|
||||
length = parameters.Length;
|
||||
boolValue = parameters[0].AsBool();
|
||||
intValue = parameters[1].AsInt();
|
||||
|
@ -135,7 +135,7 @@ TEST_CASE("Invoke OnInitialize script function") {
|
|||
new CreatureLib::Library::EffectParameter((int64_t)684),
|
||||
new CreatureLib::Library::EffectParameter(ArbUt::StringView("foobar"))};
|
||||
|
||||
script->OnInitialize(parameters);
|
||||
script->OnInitialize(mainLib, parameters);
|
||||
|
||||
auto ctxPool = script->GetContextPool();
|
||||
|
||||
|
|
|
@ -19,7 +19,7 @@ class testScript1 : PkmnScript {
|
|||
}
|
||||
}
|
||||
|
||||
void OnInitialize(const narray<EffectParameter@>@ parameters) override{ }
|
||||
void OnInitialize(const BattleLibrary@ library, const narray<EffectParameter@>@ parameters) override { }
|
||||
}
|
||||
}
|
||||
)"}};
|
||||
|
|
Loading…
Reference in New Issue