Adds functions to add, remove, and get volatile scripts from a BattleSide.
All checks were successful
continuous-integration/drone/push Build is passing

Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
2021-10-28 14:49:24 +02:00
parent 47c3429295
commit 19375c2f87
4 changed files with 55 additions and 1 deletions

View File

@@ -41,4 +41,28 @@ export void CreatureLib_BattleSide_MarkAsFled(BattleSide* p) { p->MarkAsFled();
export u8 CreatureLib_BattleSide_SwapPositions(u8& out, BattleSide* p, u8 a, u8 b) {
Try(out = p->SwapPositions(a, b);)
}
}
export BattleScript* CreatureLib_BattleSide_GetVolatileScript(BattleSide* p, const char* key) {
auto v = p->GetVolatileScript(ArbUt::StringView::CalculateHash(key));
if (!v.HasValue()) {
return nullptr;
}
return v.GetValue();
}
export uint8_t CreatureLib_BattleSide_AddVolatileScriptByName(BattleSide* p, const char* key) {
Try(p->AddVolatileScript(ArbUt::StringView(key));)
}
export uint8_t CreatureLib_BattleSide_AddVolatileScript(BattleSide* p, BattleScript* script) {
Try(p->AddVolatileScript(script);)
}
export uint8_t CreatureLib_BattleSide_RemoveVolatileScript(BattleSide* p, const char* key) {
Try(p->RemoveVolatileScript(ArbUt::StringView::CalculateHash(key));)
}
export uint8_t CreatureLib_BattleSide_RemoveVolatileScriptWithScript(BattleSide* p, BattleScript* script) {
Try(p->RemoveVolatileScript(script);)
}
export bool CreatureLib_BattleSide_HasVolatileScript(BattleSide* p, const char* key) {
return p->HasVolatileScript(ArbUt::StringView::CalculateHash(key));
}