Support overriding attacks through script hooks.
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:
@@ -4,11 +4,13 @@ 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, BattleScript* script) {
|
||||
LearnedAttack* attack,
|
||||
CreatureLib::Library::AttackData* attackData,
|
||||
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<BattleScript>(script);
|
||||
out = new ExecutingAttack(ls, numberHits, user, attack, s);)
|
||||
out = new ExecutingAttack(ls, numberHits, user, attack, attackData, s);)
|
||||
}
|
||||
|
||||
export void CreatureLib_ExecutingAttack_Destruct(ExecutingAttack* p) { delete p; }
|
||||
@@ -29,6 +31,9 @@ export const Creature* const* CreatureLib_ExecutingAttack_GetTargets(ExecutingAt
|
||||
|
||||
export Creature* CreatureLib_ExecutingAttack_GetUser(ExecutingAttack* p) { return p->GetUser().GetRaw(); }
|
||||
export LearnedAttack* CreatureLib_ExecutingAttack_GetAttack(ExecutingAttack* p) { return p->GetAttack().GetRaw(); }
|
||||
export const CreatureLib::Library::AttackData* CreatureLib_ExecutingAttack_GetUseAttack(ExecutingAttack* p) {
|
||||
return p->GetUseAttack().GetRaw();
|
||||
}
|
||||
|
||||
#define HITDATA_GET_FUNC(name, returnType) \
|
||||
export returnType CreatureLib_HitData##_##name(const ExecutingAttack::HitData* p) { return p->name(); }
|
||||
|
||||
Reference in New Issue
Block a user