Adds support for scripts for item use handling.
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
2021-03-07 10:54:42 +01:00
parent 5178d5dcc0
commit d908efff9d
4 changed files with 57 additions and 0 deletions

View File

@@ -0,0 +1,20 @@
#include "../../src/Battling/ScriptHandling/ItemUseScript.hpp"
#include "../Core.hpp"
using namespace CreatureLib::Battling;
export void CreatureLib_ItemUseScript_Destruct(ItemUseScript* p) { delete p; }
export uint8_t CreatureLib_ItemUseScript_IsItemUsable(ItemUseScript* p, uint8_t& out) { Try(out = p->IsItemUsable()) }
export uint8_t CreatureLib_ItemUseScript_IsCreatureUseItem(ItemUseScript* p, uint8_t& out) {
Try(out = p->IsCreatureUseItem())
}
export uint8_t CreatureLib_ItemUseScript_IsUseValidForCreature(ItemUseScript* p, Creature* creature, uint8_t& out) {
Try(out = p->IsUseValidForCreature(creature))
}
export uint8_t CreatureLib_ItemUseScript_IsHoldable(ItemUseScript* p, uint8_t& out) { Try(out = p->IsHoldable()) }
export uint8_t CreatureLib_ItemUseScript_OnUse(ItemUseScript* p) { Try(p->OnUse()) }
export uint8_t CreatureLib_ItemUseScript_OnCreatureUse(ItemUseScript* p, Creature* creature) {
Try(p->OnCreatureUse(creature))
}

View File

@@ -13,3 +13,8 @@ export uint8_t CreatureLib_ScriptResolver_LoadScript(BattleScript*& out, ScriptR
const char* scriptName) {
Try(out = p->LoadScript(category, ArbUt::StringView(scriptName));)
};
export uint8_t CreatureLib_ScriptResolver_LoadItemScript(ItemUseScript*& out, ScriptResolver* p,
const char* scriptName) {
Try(out = p->LoadItemScript(ArbUt::StringView(scriptName));)
};