Spellforce-Spell-framework
Loading...
Searching...
No Matches
sf_spelleffect_registry.cpp
Go to the documentation of this file.
5
6#include <iostream>
7#include <map>
8#include <cstdint>
9
10static std::map<uint16_t, handler_ptr> s_effect_handler_map;
11
12void registerEffectHandler(uint16_t spell_job, handler_ptr handler)
13{
14 auto check = s_effect_handler_map.find(spell_job);
15 if (check != s_effect_handler_map.end())
16 {
17 char message[256];
18 sprintf(message,
19 "%s (v%s) has replaced an Effect Handler [%d] (Was this on purpose?)",
21 log_warning(message);
22 }
23 s_effect_handler_map[spell_job] = handler;
24}
25
26handler_ptr get_spell_effect(uint16_t spell_job)
27{
28 auto it = s_effect_handler_map.find(spell_job);
29 if (it == s_effect_handler_map.end())
30 {
31 char message[256];
32 sprintf(message,
33 "%s Unknown Job ID [%d], No effect handler registered.",
34 g_current_mod->mod_id, spell_job);
35 log_warning(message);
36 return NULL;
37 }
38 return it->second;
39}
40
42{
43 // initialize the functions see sf_spelleffect_handlers
44
209}
void log_warning(const char *message)
Definition sf_wrappers.c:81
SFMod * g_current_mod
void(__thiscall * handler_ptr)(SF_CGdSpell *, uint16_t)
handler_ptr effect_enlightement_handler
handler_ptr effect_decay2_handler
handler_ptr effect_ability_critical_hits_handler
handler_ptr effect_dispel_black_aura_handler
handler_ptr effect_shockwave_handler
handler_ptr effect_freeze_area_handler
handler_ptr effect_sentinel_healing_handler
handler_ptr effect_fire_resistance_handler
handler_ptr effect_endurance_handler
handler_ptr effect_ability_endurance_handler
handler_ptr effect_healing_area_handler
handler_ptr effect_confuse_handler
handler_ptr effect_cannibalize_handler
handler_ptr effect_sacrifice_mana_handler
handler_ptr effect_almightiness_black_handler
handler_ptr effect_aura_handler
handler_ptr effect_self_illusion_handler
handler_ptr effect_healing_handler
handler_ptr effect_chill_resistance_handler
handler_ptr effect_invisibility_handler
handler_ptr effect_confuse_area_handler
handler_ptr effect_death_handler
handler_ptr effect_feet_of_clay_handler
handler_ptr effect_icestrike2_handler
handler_ptr effect_torture_handler
handler_ptr effect_suffocation_handler
handler_ptr effect_remove_curse_handler
handler_ptr effect_thornshield_handler
handler_ptr effect_quickness_area_handler
handler_ptr effect_befriend_handler
handler_ptr effect_fireshield1_handler
handler_ptr effect_essence_mental_handler
handler_ptr effect_strength_area_handler
handler_ptr effect_shock_handler
handler_ptr effect_iceshield_handler
handler_ptr effect_roots_area_handler
handler_ptr effect_illuminate_handler
handler_ptr effect_ability_warcy_handler
handler_ptr effect_eternity_handler
handler_ptr effect_thorns_handler
handler_ptr effect_almightiness_white_handler
handler_ptr effect_chain_handler
handler_ptr effect_invulnerability_handler
handler_ptr effect_firebullet_handler
handler_ptr effect_tower_pain_handler
handler_ptr effect_feedback_handler
handler_ptr effect_guard_handler
handler_ptr effect_hallow_handler
handler_ptr effect_summon_handler
handler_ptr effect_roots_handler
handler_ptr effect_ability_trueshot_handler
handler_ptr effect_hypnotize_handler
handler_ptr effect_amok_handler
handler_ptr effect_quickness_handler
handler_ptr effect_fireball1_handler
handler_ptr effect_pestilence_handler
handler_ptr effect_manadrain_handler
handler_ptr effect_slowness_area_handler
handler_ptr effect_detect_magic_handler
handler_ptr effect_poison_handler
handler_ptr effect_weaken_handler
handler_ptr effect_ability_salvo_handler
handler_ptr effect_decay_handler
handler_ptr effect_tower_arrow_handler
handler_ptr effect_essence_black_handler
handler_ptr effect_tower_extinct_handler
handler_ptr effect_manashield_handler
handler_ptr effect_inflexibility_handler
handler_ptr effect_cure_disease_handler
handler_ptr effect_ability_durability_handler
handler_ptr effect_icestrike1_handler
handler_ptr effect_extinct_handler
handler_ptr effect_detect_metal_handler
handler_ptr effect_essence_white_handler
handler_ptr effect_almightiness_elemental2_handler
handler_ptr effect_ability_riposte_handler
handler_ptr effect_dominate_handler
handler_ptr effect_remediless_handler
handler_ptr effect_mutation_handler
handler_ptr effect_manatap_aura_handler
handler_ptr effect_strength_handler
handler_ptr effect_almightiness_elemental_handler
handler_ptr effect_freeze_handler
handler_ptr effect_holy_touch_handler
handler_ptr effect_essence_elemental2_handler
handler_ptr effect_blizzard_handler
handler_ptr effect_wave_handler
handler_ptr effect_slow_fighting_handler
handler_ptr effect_fog_handler
handler_ptr effect_manatap_handler
handler_ptr effect_ability_shelter_handler
handler_ptr effect_cloak_of_nor_handler
handler_ptr effect_lifetap_aura_handler
handler_ptr effect_darkness_area_handler
handler_ptr effect_brilliance_handler
handler_ptr effect_conservation_handler
handler_ptr effect_spark_handler
handler_ptr effect_slowness_handler
handler_ptr effect_inability_handler
handler_ptr effect_ability_benefactions_handler
handler_ptr effect_pain_area_handler
handler_ptr effect_essence_elemental_handler
handler_ptr effect_dominate_break_handler
handler_ptr effect_lifetap_handler
handler_ptr effect_dominate_undead_handler
handler_ptr effect_suicide_heal_handler
handler_ptr effect_tower_stone_handler
handler_ptr effect_charisma_handler
handler_ptr effect_disenchant_handler
handler_ptr effect_charm_animal_handler
handler_ptr effect_dark_banishing_handler
handler_ptr effect_assistance_handler
handler_ptr effect_inflexibility_area_handler
handler_ptr effect_rain_of_stone_handler
handler_ptr effect_iceshield3_handler
handler_ptr effect_distract_handler
handler_ptr effect_revenge_handler
handler_ptr effect_iceshield2_handler
handler_ptr effect_ice2_handler
handler_ptr effect_cure_poison_handler
handler_ptr effect_ability_patronize_handler
handler_ptr effect_retention_handler
handler_ptr effect_dominate_animal_handler
handler_ptr effect_suicide_death_handler
handler_ptr effect_plague_area_handler
handler_ptr effect_forget_handler
handler_ptr effect_acid_cloud_handler
handler_ptr effect_death_grasp_handler
handler_ptr effect_fake_spell_one_figure_handler
handler_ptr effect_ability_boons_handler
handler_ptr effect_stone_handler
handler_ptr effect_flexibility_area_handler
handler_ptr effect_unknown1_handler
handler_ptr effect_raise_dead_handler
handler_ptr effect_rock_bullet_handler
handler_ptr effect_fireball2_handler
handler_ptr effect_ability_shift_life_handler
handler_ptr effect_flexibility_handler
handler_ptr effect_fireburst_handler
handler_ptr effect_almightiness_mental_handler
handler_ptr effect_ice1_handler
handler_ptr effect_unknown2_handler
handler_ptr effect_demoralization_handler
handler_ptr effect_charm_handler
handler_ptr effect_weaken_area_handler
handler_ptr effect_meditation_handler
handler_ptr effect_pain_handler
handler_ptr effect_dispel_white_aura_handler
handler_ptr effect_shift_mana_handler
handler_ptr effect_ability_berserk_handler
handler_ptr effect_reinforcement_handler
handler_ptr effect_petrify_handler
handler_ptr effect_hypnotize_area_handler
handler_ptr effect_disrupt_handler
handler_ptr effect_regenerate_handler
handler_ptr effect_fireshield2_handler
handler_ptr effect_fast_fighting_handler
handler_ptr effect_rain_of_fire_handler
handler_ptr effect_melt_resistance_handler
handler_ptr effect_dexterity_handler
handler_ptr effect_mirage_handler
handler_ptr effect_feign_death_handler
handler_ptr effect_healing_aura_handler
handler_ptr effect_ability_steelskin_handler
void register_vanilla_effect_handlers()
void registerEffectHandler(uint16_t spell_job, handler_ptr handler)
handler_ptr get_spell_effect(uint16_t spell_job)
char mod_id[64]
char mod_version[24]