Header file for defining AI-related battle functions for managing spellcasting, NPC behavior,...
Header file for defining Visual Effects.
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 applyBuildingTag(SFBuilding *spell, BuildingTag tag)
void __thiscall linkAOEAIHandler(SFSpell *spell, ai_aoe_handler_ptr handler)
void __thiscall linkEndHandler(SFSpell *spell, handler_ptr endHandler)
SFBuilding *__thiscall registerBuilding(uint8_t building_type)
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 linkEnchantChanceHandler(SFSpell *spell, enchant_handler_ptr handler)
void __thiscall linkPhysEffectHandler(SFSpell *spell, phys_effect_handler_ptr handler)
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 linkBuildingJSON(SFBuilding *building, const char *building_json_name)
void __thiscall linkAvoidanceAIHandler(SFSpell *spell, ai_avoidance_handler_ptr handler)
void __thiscall linkOnHitHandler(SFSpell *spell, onhit_handler_ptr handler, OnHitPhase phase)
void __thiscall linkBuildingDoneHandler(SFBuilding *building, building_done_handler_ptr handler)
void __thiscall linkPhysRainHandler(SFSpell *spell, sub_effect_handler_ptr handler)
void __thiscall linkSubEffectHandler(SFSpell *spell, sub_effect_handler_ptr handler)
SFSpell *__thiscall registerSpell(uint16_t spell_id)
void __thiscall linkBuildingEntryHandler(SFBuilding *building, building_entry_handler_ptr handler)
void(__thiscall * applyBuildingTag_ptr)(SFBuilding *building, BuildingTag tag)
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 * linkPhysEffectHandler_ptr)(SFSpell *spell, phys_effect_handler_ptr handler)
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)
void(__thiscall * linkBuildingEntryHandler_ptr)(SFBuilding *building, building_entry_handler_ptr handler)
void(__thiscall * linkAvoidanceAIHandler_ptr)(SFSpell *spell, ai_avoidance_handler_ptr handler)
void(__thiscall * linkEnchantChanceHandler_ptr)(SFSpell *spell, enchant_handler_ptr handler)
void(__thiscall * linkPhysRainHandler_ptr)(SFSpell *spell, sub_effect_handler_ptr handler)
void(__thiscall * linkTypeHandler_ptr)(SFSpell *spell, handler_ptr typeHandler)
void(__thiscall * linkBuildingDoneHandler_ptr)(SFBuilding *building, building_done_handler_ptr handler)
SFSpell *(__thiscall * registerSpell_ptr)(uint16_t spell_id)
void(__thiscall * linkEndHandler_ptr)(SFSpell *spell, handler_ptr endHandler)
void(__thiscall * linkBuildingJSON_ptr)(SFBuilding *building, const char *building_json_name)
SFBuilding *(__thiscall * registerBuilding_ptr)(uint8_t building_type)
void(__thiscall * linkOnHitHandler_ptr)(SFSpell *spell, onhit_handler_ptr onhitHandler, OnHitPhase phase)
void(__thiscall * linkSubEffectHandler_ptr)(SFSpell *spell, sub_effect_handler_ptr handler)
void(__thiscall * building_done_handler_ptr)(SF_CGdBuildingToolbox *_this, uint16_t building_index)
uint16_t(__thiscall * phys_effect_handler_ptr)(SF_CGdEffect *_this, uint16_t source, uint16_t target, bool *isSpellDamage, uint16_t damage)
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)
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 * building_entry_handler_ptr)(SF_CGdFigureJobs *_this, uint16_t figure_id, uint16_t building_id)
uint16_t(__thiscall * enchant_handler_ptr)(SF_CGdFigure *_this, uint16_t figure_id)
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)
int(__thiscall * refresh_handler_ptr)(SF_CGdSpell *, uint16_t)
void(__thiscall * handler_ptr)(SF_CGdSpell *, uint16_t)
A structure dedicated to the registration of spells This structure holds functions that are used to c...
applyBuildingTag_ptr applyBuildingTag
registerSpell_ptr registerSpell
linkAOEAIHandler_ptr linkAOEAIHandler
linkSubEffectHandler_ptr linkSubEffectHandler
linkSingleTargetAIHandler_ptr linkSingleTargetAIHandler
linkTypeHandler_ptr linkTypeHandler
linkEndHandler_ptr linkEndHandler
linkRefreshHandler_ptr linkRefreshHandler
linkEnchantChanceHandler_ptr linkEnchantChanceHandler
linkBuildingEntryHandler_ptr linkBuildingEntryHandler
linkPhysEffectHandler_ptr linkPhysEffectHandler
registerBuilding_ptr registerBuilding
linkBuildingDoneHandler_ptr linkBuildingDoneHandler
linkAvoidanceAIHandler_ptr linkAvoidanceAIHandler
linkBuildingJSON_ptr linkBuildingJSON
linkEffectHandler_ptr linkEffectHandler
linkOnHitHandler_ptr linkOnHitHandler
linkPhysRainHandler_ptr linkPhysRainHandler
linkDealDamageHandler_ptr linkDealDamageHandler
applySpellTag_ptr applySpellTag