Renamed Script --> BattleScript, some cleanup on it.
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: Deukhoofd <Deukhoofd@gmail.com>
This commit is contained in:
@@ -57,7 +57,7 @@ export BattleParty* const* CreatureLib_Battle_GetParties(const Battle* p) {
|
||||
return reinterpret_cast<BattleParty* const*>(p->GetParties().RawData());
|
||||
}
|
||||
|
||||
export Script* CreatureLib_Battle_GetVolatileScript(Battle* p, const char* key) {
|
||||
export BattleScript* CreatureLib_Battle_GetVolatileScript(Battle* p, const char* key) {
|
||||
auto v = p->GetVolatileScript(ArbUt::StringView::CalculateHash(key));
|
||||
if (!v.has_value()) {
|
||||
return nullptr;
|
||||
@@ -67,12 +67,14 @@ export Script* CreatureLib_Battle_GetVolatileScript(Battle* p, const char* key)
|
||||
export uint8_t CreatureLib_Battle_AddVolatileScriptByName(Battle* p, const char* key) {
|
||||
Try(p->AddVolatileScript(ArbUt::StringView(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_AddVolatileScript(Battle* p, Script* script) { Try(p->AddVolatileScript(script);) }
|
||||
export uint8_t CreatureLib_Battle_AddVolatileScript(Battle* p, BattleScript* script) {
|
||||
Try(p->AddVolatileScript(script);)
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Battle_RemoveVolatileScript(Battle* p, const char* key) {
|
||||
Try(p->RemoveVolatileScript(ArbUt::StringView::CalculateHash(key));)
|
||||
}
|
||||
export uint8_t CreatureLib_Battle_RemoveVolatileScriptWithScript(Battle* p, Script* script) {
|
||||
export uint8_t CreatureLib_Battle_RemoveVolatileScriptWithScript(Battle* p, BattleScript* script) {
|
||||
Try(p->RemoveVolatileScript(script);)
|
||||
}
|
||||
export bool CreatureLib_Battle_HasVolatileScript(Battle* p, const char* key) {
|
||||
|
||||
95
CInterface/Battling/BattleScript.cpp
Normal file
95
CInterface/Battling/BattleScript.cpp
Normal file
@@ -0,0 +1,95 @@
|
||||
#include "../../src/Battling/ScriptHandling/BattleScript.hpp"
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export void CreatureLib_Script_Destruct(BattleScript* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_Script_Stack(BattleScript* p) { Try(p->Stack()); }
|
||||
export uint8_t CreatureLib_Script_OnRemove(BattleScript* p) { Try(p->OnRemove()); }
|
||||
export const char* CreatureLib_Script_GetName(BattleScript* p) { return p->GetName().c_str(); }
|
||||
|
||||
export uint8_t CreatureLib_Script_OnBeforeTurn(BattleScript* p, const BaseTurnChoice* choice) {
|
||||
Try(p->OnBeforeTurn(choice));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttack(BattleScript* p, AttackTurnChoice* choice, const char*& outAttack) {
|
||||
Try(auto sv = ArbUt::StringView(outAttack); p->ChangeAttack(choice, &sv); outAttack = sv.c_str(););
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->PreventAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_FailAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->FailAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_StopBeforeAttack(BattleScript* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->StopBeforeAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnBeforeAttack(BattleScript* p, ExecutingAttack* attack) {
|
||||
Try(p->OnBeforeAttack(attack));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Script_FailIncomingAttack(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->FailIncomingAttack(attack, target, outResult));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Script_IsInvulnerable(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->IsInvulnerable(attack, target, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAttackMiss(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAttackMiss(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttackType(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* outType) {
|
||||
Try(p->ChangeAttackType(attack, target, hitNumber, outType))
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideBasePower(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* basePower) {
|
||||
Try(p->OverrideBasePower(attack, target, hitNumber, basePower));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeDamageStatsUser(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, Creature** statsUser) {
|
||||
Try(p->ChangeDamageStatsUser(attack, target, hitNumber, statsUser));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassDefensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
Try(p->BypassDefensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassOffensiveStat(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
Try(p->BypassOffensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyStatModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
Try(p->ModifyStatModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyDamageModifier(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
Try(p->ModifyDamageModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideDamage(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint32_t* damage) {
|
||||
Try(p->OverrideDamage(attack, target, hitNumber, damage));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSecondaryEffects(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* outResult) {
|
||||
Try(p->PreventSecondaryEffects(attack, target, hitNumber, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnSecondaryEffect(BattleScript* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber) {
|
||||
Try(p->OnSecondaryEffect(attack, target, hitNumber));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAfterHits(BattleScript* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAfterHits(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSelfSwitch(BattleScript* p, const SwitchTurnChoice* choice, bool* outResult) {
|
||||
Try(p->PreventSelfSwitch(choice, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyEffectChance(BattleScript* p, const ExecutingAttack* attack, Creature* target,
|
||||
float* chance) {
|
||||
Try(p->ModifyEffectChance(attack, target, chance));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyIncomingEffectChance(BattleScript* p, const ExecutingAttack* attack,
|
||||
Creature* target, float* chance) {
|
||||
Try(p->ModifyIncomingEffectChance(attack, target, chance));
|
||||
}
|
||||
@@ -86,13 +86,13 @@ export uint8_t CreatureLib_Creature_ClearVolatileScripts(Creature* p) { Try(p->C
|
||||
export uint8_t CreatureLib_Creature_AddVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
Try(p->AddVolatileScript(ArbUt::StringView(scriptName));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_AddVolatileScript(Creature* p, Script* script) {
|
||||
export uint8_t CreatureLib_Creature_AddVolatileScript(Creature* p, BattleScript* script) {
|
||||
Try(p->AddVolatileScript(script);)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_RemoveVolatileScriptByName(Creature* p, const char* scriptName) {
|
||||
Try(p->RemoveVolatileScript(ArbUt::StringView(scriptName));)
|
||||
}
|
||||
export uint8_t CreatureLib_Creature_RemoveVolatileScript(Creature* p, Script* script) {
|
||||
export uint8_t CreatureLib_Creature_RemoveVolatileScript(Creature* p, BattleScript* script) {
|
||||
Try(p->RemoveVolatileScript(script);)
|
||||
}
|
||||
export bool CreatureLib_Creature_HasVolatileScript(Creature* p, const char* scriptName) {
|
||||
|
||||
@@ -4,9 +4,10 @@ using namespace CreatureLib::Battling;
|
||||
|
||||
export uint8_t CreatureLib_ExecutingAttack_Construct(ExecutingAttack*& out, Creature* const* targets,
|
||||
size_t targetCount, uint8_t numberHits, Creature* user,
|
||||
LearnedAttack* attack, Script* script) {
|
||||
LearnedAttack* attack, BattleScript* script) {
|
||||
Try(auto ls = ArbUt::List<ArbUt::OptionalBorrowedPtr<Creature>>(targetCount);
|
||||
for (size_t i = 0; i < targetCount; i++) { ls.Append(targets[i]); } auto s = std::unique_ptr<Script>(script);
|
||||
for (size_t i = 0; i < targetCount; i++) { ls.Append(targets[i]); } auto s =
|
||||
std::unique_ptr<BattleScript>(script);
|
||||
out = new ExecutingAttack(ls, numberHits, user, attack, s);)
|
||||
}
|
||||
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
#include "../../src/Battling/ScriptHandling/Script.hpp"
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export void CreatureLib_Script_Destruct(Script* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_Script_Stack(Script* p) { Try(p->Stack()); }
|
||||
export uint8_t CreatureLib_Script_OnRemove(Script* p) { Try(p->OnRemove()); }
|
||||
export const char* CreatureLib_Script_GetName(Script* p) { return p->GetName().c_str(); }
|
||||
|
||||
export uint8_t CreatureLib_Script_OnBeforeTurn(Script* p, const BaseTurnChoice* choice) {
|
||||
Try(p->OnBeforeTurn(choice));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttack(Script* p, AttackTurnChoice* choice, const char*& outAttack) {
|
||||
Try(auto sv = ArbUt::StringView(outAttack); p->ChangeAttack(choice, &sv); outAttack = sv.c_str(););
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventAttack(Script* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->PreventAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_FailAttack(Script* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->FailAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_StopBeforeAttack(Script* p, ExecutingAttack* attack, bool* outResult) {
|
||||
Try(p->StopBeforeAttack(attack, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnBeforeAttack(Script* p, ExecutingAttack* attack) { Try(p->OnBeforeAttack(attack)); }
|
||||
|
||||
export uint8_t CreatureLib_Script_FailIncomingAttack(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->FailIncomingAttack(attack, target, outResult));
|
||||
}
|
||||
|
||||
export uint8_t CreatureLib_Script_IsInvulnerable(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
bool* outResult) {
|
||||
Try(p->IsInvulnerable(attack, target, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAttackMiss(Script* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAttackMiss(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeAttackType(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* outType) {
|
||||
Try(p->ChangeAttackType(attack, target, hitNumber, outType))
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideBasePower(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint8_t* basePower) {
|
||||
Try(p->OverrideBasePower(attack, target, hitNumber, basePower));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ChangeDamageStatsUser(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, Creature** statsUser) {
|
||||
Try(p->ChangeDamageStatsUser(attack, target, hitNumber, statsUser));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassDefensiveStat(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
Try(p->BypassDefensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_BypassOffensiveStat(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* bypass) {
|
||||
Try(p->BypassOffensiveStat(attack, target, hitNumber, bypass));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyStatModifier(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
Try(p->ModifyStatModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyDamageModifier(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, float* modifier) {
|
||||
Try(p->ModifyDamageModifier(attack, target, hitNumber, modifier));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OverrideDamage(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, uint32_t* damage) {
|
||||
Try(p->OverrideDamage(attack, target, hitNumber, damage));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSecondaryEffects(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber, bool* outResult) {
|
||||
Try(p->PreventSecondaryEffects(attack, target, hitNumber, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnSecondaryEffect(Script* p, ExecutingAttack* attack, Creature* target,
|
||||
uint8_t hitNumber) {
|
||||
Try(p->OnSecondaryEffect(attack, target, hitNumber));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_OnAfterHits(Script* p, ExecutingAttack* attack, Creature* target) {
|
||||
Try(p->OnAfterHits(attack, target));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_PreventSelfSwitch(Script* p, const SwitchTurnChoice* choice, bool* outResult) {
|
||||
Try(p->PreventSelfSwitch(choice, outResult));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyEffectChance(Script* p, const ExecutingAttack* attack, Creature* target,
|
||||
float* chance) {
|
||||
Try(p->ModifyEffectChance(attack, target, chance));
|
||||
}
|
||||
export uint8_t CreatureLib_Script_ModifyIncomingEffectChance(Script* p, const ExecutingAttack* attack, Creature* target,
|
||||
float* chance) {
|
||||
Try(p->ModifyIncomingEffectChance(attack, target, chance));
|
||||
}
|
||||
@@ -9,7 +9,7 @@ export void CreatureLib_ScriptResolver_Destruct(const ScriptResolver* p) { delet
|
||||
export uint8_t CreatureLib_ScriptResolver_Initialize(ScriptResolver* p, BattleLibrary* library) {
|
||||
Try(p->Initialize(library);)
|
||||
};
|
||||
export uint8_t CreatureLib_ScriptResolver_LoadScript(Script*& out, ScriptResolver* p, ScriptCategory category,
|
||||
export uint8_t CreatureLib_ScriptResolver_LoadScript(BattleScript*& out, ScriptResolver* p, ScriptCategory category,
|
||||
const char* scriptName) {
|
||||
Try(out = p->LoadScript(category, ArbUt::StringView(scriptName));)
|
||||
};
|
||||
|
||||
@@ -29,7 +29,7 @@ export uint8_t CreatureLib_AttackTurnChoice_GetPriority(int8_t& out, AttackTurnC
|
||||
Try(out = p->GetPriority());
|
||||
}
|
||||
|
||||
SMART_GET_FUNC(AttackTurnChoice, GetAttackScript, Script*)
|
||||
SMART_GET_FUNC(AttackTurnChoice, GetAttackScript, BattleScript*)
|
||||
export uint8_t CreatureLib_AttackTurnChoice_GetTargetSideIndex(const AttackTurnChoice* p) {
|
||||
return p->GetTarget().GetSideIndex();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user