10 uint16_t current_damage,
11 uint16_t is_spell_damage,
12 uint32_t is_ranged_damage,
23 uint16_t figure_index,
31typedef struct __attribute__((packed))
Header file for defining AI-related battle functions for managing spellcasting, NPC behavior,...
void(__thiscall * sub_effect_handler_ptr)(SF_CGDEffect *, uint16_t effect_index)
Group of Structures and Enums used throught SFSF.
#define DECLARE_FUNCTION(type, name,...)
Declares a function with the specified return type, name, and arguments.
void __thiscall linkAOEAIHandler(SFSpell *spell, ai_aoe_handler_ptr handler)
void __thiscall linkEndHandler(SFSpell *spell, handler_ptr endHandler)
void __thiscall linkDealDamageHandler(SFSpell *spell, damage_handler_ptr handler, SpellDamagePhase phase)
void __thiscall applySpellTag(SFSpell *spell, SpellTag tag)
void __thiscall linkTypeHandler(SFSpell *spell, handler_ptr typeHandler)
void __thiscall linkRefreshHandler(SFSpell *spell, refresh_handler_ptr handler)
void __thiscall linkEffectHandler(SFSpell *spell, uint16_t spell_effect_id, handler_ptr effectHandler)
void __thiscall linkSingleTargetAIHandler(SFSpell *spell, ai_single_handler_ptr handler)
void __thiscall linkAvoidanceAIHandler(SFSpell *spell, ai_avoidance_handler_ptr handler)
void __thiscall linkOnHitHandler(SFSpell *spell, onhit_handler_ptr handler, OnHitPhase phase)
void __thiscall linkSubEffectHandler(SFSpell *spell, sub_effect_handler_ptr handler)
SFSpell *__thiscall registerSpell(uint16_t spell_id)
void(__thiscall * linkAOEAIHandler_ptr)(SFSpell *spell, ai_aoe_handler_ptr handler)
void(__thiscall * linkDealDamageHandler_ptr)(SFSpell *spell, damage_handler_ptr handler, SpellDamagePhase phase)
void(__thiscall * linkEffectHandler_ptr)(SFSpell *spell, uint16_t spell_effect_id, handler_ptr effectHandler)
void(__thiscall * linkSingleTargetAIHandler_ptr)(SFSpell *spell, ai_single_handler_ptr handler)
void(__thiscall * applySpellTag_ptr)(SFSpell *spell, SpellTag tag)
void(__thiscall * linkRefreshHandler_ptr)(SFSpell *spell, refresh_handler_ptr handler)
uint16_t(__thiscall * damage_handler_ptr)(SF_CGdFigureToolbox *_toolbox, uint16_t source, uint16_t target, uint16_t current_damage, uint16_t is_spell_damage, uint32_t is_ranged_damage, uint16_t spell_id)
int(__thiscall * refresh_handler_ptr)(SF_CGdSpell *, uint16_t)
void(__thiscall * linkAvoidanceAIHandler_ptr)(SFSpell *spell, ai_avoidance_handler_ptr handler)
uint32_t(__thiscall * ai_single_handler_ptr)(SF_CGdBattleDevelopment *_this, uint16_t target_index, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
uint32_t(__thiscall * ai_aoe_handler_ptr)(SF_CGdBattleDevelopment *_this, SF_Coord *position, uint16_t spell_line, SF_CGdResourceSpell *spell_data)
void(__thiscall * linkTypeHandler_ptr)(SFSpell *spell, handler_ptr typeHandler)
SFSpell *(__thiscall * registerSpell_ptr)(uint16_t spell_id)
void(__thiscall * linkEndHandler_ptr)(SFSpell *spell, handler_ptr endHandler)
void(__thiscall * linkOnHitHandler_ptr)(SFSpell *spell, onhit_handler_ptr onhitHandler, OnHitPhase phase)
void(__thiscall * handler_ptr)(SF_CGdSpell *, uint16_t)
void(__thiscall * linkSubEffectHandler_ptr)(SFSpell *spell, sub_effect_handler_ptr handler)
uint32_t(__thiscall * ai_avoidance_handler_ptr)(CGdAIBattleData *_this, uint16_t figure_index, uint16_t spell_line)
uint16_t(__thiscall * onhit_handler_ptr)(SF_CGdFigureJobs *, uint16_t source, uint16_t target, uint16_t damage)
The main structure for handling AI battle data.
A structure dedicated to the registration of spells This structure holds functions that are used to c...
registerSpell_ptr registerSpell
linkAOEAIHandler_ptr linkAOEAIHandler
linkSubEffectHandler_ptr linkSubEffectHandler
linkSingleTargetAIHandler_ptr linkSingleTargetAIHandler
linkTypeHandler_ptr linkTypeHandler
linkEndHandler_ptr linkEndHandler
linkRefreshHandler_ptr linkRefreshHandler
linkAvoidanceAIHandler_ptr linkAvoidanceAIHandler
linkEffectHandler_ptr linkEffectHandler
linkOnHitHandler_ptr linkOnHitHandler
linkDealDamageHandler_ptr linkDealDamageHandler
applySpellTag_ptr applySpellTag
High-level structure managing AI battle development.
handler_ptr spell_effect_handler
ai_avoidance_handler_ptr ai_avoidance_handler
damage_handler_ptr deal_damage_handler
ai_single_handler_ptr ai_single_handler
SpellDamagePhase damage_phase
refresh_handler_ptr spell_refresh_handler
handler_ptr spell_end_handler
sub_effect_handler_ptr sub_effect_handler
onhit_handler_ptr spell_onhit_handler
ai_aoe_handler_ptr ai_aoe_handler
handler_ptr spell_type_handler