Horizon Official Technical Documentation
|
|
#include <SkillDB.hpp>
Public Member Functions | |
SkillDatabase () | |
~SkillDatabase () | |
bool | load () |
std::shared_ptr< const skill_config_data > | get_skill_by_id (int32_t id) |
std::shared_ptr< const skill_config_data > | get_skill_by_name (std::string name) |
std::vector< std::shared_ptr< const skill_tree_config > > | get_skill_tree_by_job_id (job_class_type job_id) |
std::shared_ptr< const skill_tree_config > | get_skill_tree_skill_id_by_job_id (job_class_type job_id, int16_t skill_id) |
Static Public Member Functions | |
static SkillDatabase * | get_instance () |
Protected Member Functions | |
bool | load_internal_skill_db (sol::object const &key, sol::object const &value) |
bool | load_internal_skill_tree (sol::object const &key, sol::object const &value) |
bool | parse_range (sol::table const &table, skill_config_data &data) |
bool | parse_hit (sol::table const &table, skill_config_data &data) |
bool | parse_skill_type (sol::table const &table, skill_config_data &data) |
bool | parse_skill_info (sol::table const &table, skill_config_data &data) |
bool | parse_attack_type (sol::table const &table, skill_config_data &data) |
bool | parse_element (sol::table const &table, skill_config_data &data) |
bool | parse_damage_type (sol::table const &table, skill_config_data &data) |
bool | parse_splash_range (sol::table const &table, skill_config_data &data) |
bool | parse_number_of_hits (sol::table const &table, skill_config_data &data) |
bool | parse_interrupt_cast (sol::table const &table, skill_config_data &data) |
bool | parse_cast_defense_rate (sol::table const &table, skill_config_data &data) |
bool | parse_max_skill_instances (sol::table const &table, skill_config_data &data) |
bool | parse_knock_back_tiles (sol::table const &table, skill_config_data &data) |
bool | parse_cast_time (sol::table const &table, skill_config_data &data) |
bool | parse_after_cast_act_delay (sol::table const &table, skill_config_data &data) |
bool | parse_after_cast_walk_delay (sol::table const &table, skill_config_data &data) |
bool | parse_skill_data1 (sol::table const &table, skill_config_data &data) |
bool | parse_skill_data2 (sol::table const &table, skill_config_data &data) |
bool | parse_cooldown (sol::table const &table, skill_config_data &data) |
bool | parse_fixed_cast_time (sol::table const &table, skill_config_data &data) |
bool | parse_cast_time_options (sol::table const &table, skill_config_data &data) |
bool | parse_skill_delay_options (sol::table const &table, skill_config_data &data) |
bool | parse_requirements (sol::table const &table, skill_config_data &data) |
bool | parse_req_hp_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_sp_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_hp_rate_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_sp_rate_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_max_hp_trigger (sol::table const &table, skill_config_data &data) |
bool | parse_req_max_sp_trigger (sol::table const &table, skill_config_data &data) |
bool | parse_req_zeny_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_weapon_types (sol::table const &table, skill_config_data &data) |
bool | parse_req_ammunition_type (sol::table const &table, skill_config_data &data) |
bool | parse_req_ammunition_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_state (sol::table const &table, skill_config_data &data) |
bool | parse_req_spirit_sphere_cost (sol::table const &table, skill_config_data &data) |
bool | parse_req_items (sol::table const &table, skill_config_data &data, bool equips) |
bool | parse_placement (sol::table const &table, skill_config_data &data) |
bool | parse_placement_id (sol::table const &table, skill_config_data &data) |
bool | parse_placement_layout (sol::table const &table, skill_config_data &data) |
bool | parse_placement_range (sol::table const &table, skill_config_data &data) |
bool | parse_placement_interval (sol::table const &table, skill_config_data &data) |
bool | parse_placement_target (sol::table const &table, skill_config_data &data) |
bool | parse_placement_flag (sol::table const &table, skill_config_data &data) |
template<typename T > | |
void | fill_lvl_range (T *setting, T value) |
Private Attributes | |
LockedLookupTable< uint32_t, std::shared_ptr< const skill_config_data > > | _skill_db |
LockedLookupTable< std::string, std::shared_ptr< const skill_config_data > > | _skill_str_db |
LockedLookupTable< job_class_type, std::vector< std::shared_ptr< const skill_tree_config > > > | _skill_tree_db |
SkillDatabase::SkillDatabase | ( | ) |
SkillDatabase::~SkillDatabase | ( | ) |
|
protected |
References MAX_SKILL_LEVEL.
Referenced by parse_after_cast_act_delay(), parse_after_cast_walk_delay(), parse_attack_type(), parse_cast_defense_rate(), parse_cast_time(), parse_cooldown(), parse_damage_type(), parse_element(), parse_fixed_cast_time(), parse_hit(), parse_interrupt_cast(), parse_knock_back_tiles(), parse_max_skill_instances(), parse_number_of_hits(), parse_placement_interval(), parse_placement_layout(), parse_placement_range(), parse_placement_target(), parse_range(), parse_req_ammunition_cost(), parse_req_hp_cost(), parse_req_hp_rate_cost(), parse_req_items(), parse_req_max_hp_trigger(), parse_req_max_sp_trigger(), parse_req_sp_cost(), parse_req_sp_rate_cost(), parse_req_spirit_sphere_cost(), parse_req_state(), parse_req_zeny_cost(), parse_skill_data1(), parse_skill_data2(), and parse_splash_range().
|
inlinestatic |
|
inline |
References _skill_db, and LockedLookupTable< Key, Value, Hash >::at().
Referenced by load_internal_skill_tree().
|
inline |
References _skill_str_db, and LockedLookupTable< Key, Value, Hash >::at().
Referenced by load_internal_skill_tree().
|
inline |
References _skill_tree_db, and LockedLookupTable< Key, Value, Hash >::at().
Referenced by get_skill_tree_skill_id_by_job_id().
|
inline |
References get_skill_tree_by_job_id().
bool SkillDatabase::load | ( | ) |
Skill DB
Skill Tree DB
References HLog, load_internal_skill_db(), load_internal_skill_tree(), and sZone.
|
protected |
References _skill_db, _skill_str_db, skill_config_data::desc, HLog, LockedLookupTable< Key, Value, Hash >::insert(), skill_config_data::max_level, MAX_SKILL_ID, skill_config_data::name, parse_after_cast_act_delay(), parse_after_cast_walk_delay(), parse_attack_type(), parse_cast_defense_rate(), parse_cast_time(), parse_cast_time_options(), parse_cooldown(), parse_damage_type(), parse_element(), parse_fixed_cast_time(), parse_hit(), parse_interrupt_cast(), parse_knock_back_tiles(), parse_max_skill_instances(), parse_number_of_hits(), parse_placement(), parse_range(), parse_requirements(), parse_skill_data1(), parse_skill_data2(), parse_skill_delay_options(), parse_skill_info(), parse_skill_type(), parse_splash_range(), and skill_config_data::skill_id.
Referenced by load().
|
protected |
References _skill_tree_db, get_skill_by_id(), get_skill_by_name(), HLog, skill_tree_config::inherited_from, LockedLookupTable< Key, Value, Hash >::insert(), JOB_INVALID, skill_tree_config::job_level, JobDB, skill_tree_config::requirement::level, skill_tree_config::max_level, skill_tree_config::requirements, skill_tree_config::requirement::skill_id, skill_tree_config::skill_id, and SkillDB.
Referenced by load().
|
protected |
References skill_config_data::after_cast_actor_delay, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::after_cast_walk_delay, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::attack_type, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::cast_defense_rate, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::cast_time, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::cast_time_options, HLog, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::cooldown, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::damage_type, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::element, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), skill_config_data::fixed_cast_time, HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References BDT_MULTIHIT, BDT_NORMAL, BDT_SKILL, skill_config_data::damage_type, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::interrupt_cast, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::knock_back_tiles, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::max_skill_instances, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::number_of_hits.
Referenced by load_internal_skill_db().
|
protected |
References HLog, skill_config_data::name, parse_placement_flag(), parse_placement_id(), parse_placement_interval(), parse_placement_layout(), parse_placement_range(), and parse_placement_target().
Referenced by load_internal_skill_db().
|
protected |
References HLog, skill_config_data::name, and skill_config_data::placement_flag.
Referenced by parse_placement().
|
protected |
References HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::placement_id.
Referenced by parse_placement().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::placement_interval.
Referenced by parse_placement().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::placement_layout_type.
Referenced by parse_placement().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::placement_range.
Referenced by parse_placement().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::placement_target.
Referenced by parse_placement().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::use_range.
Referenced by load_internal_skill_db().
|
protected |
References skill_config_data::ammunition_cost, fill_lvl_range(), HLog, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References skill_config_data::ammunition_type, HLog, IT_AT_MAX, IT_AT_NONE, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::hp_cost, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::hp_percent_cost, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References skill_required_item_data::amount, skill_required_item_data::any, fill_lvl_range(), HLog, skill_required_item_data::item, ItemDB, MAX_SKILL_ITEM_REQUIRE, MAX_SKILL_LEVEL, skill_config_data::name, skill_config_data::req_equip, and skill_config_data::req_items.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, skill_config_data::max_hp_trigger, MAX_SKILL_LEVEL, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::max_sp_trigger, and skill_config_data::name.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::sp_cost.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::sp_percent_cost.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::spirit_sphere_cost.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, skill_config_data::required_state, and SRS_MAX.
Referenced by parse_requirements().
|
protected |
References HLog, IT_WT_FIST, IT_WT_MAX_WEAPON_TYPE, skill_config_data::name, and skill_config_data::weapon_type.
Referenced by parse_requirements().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::zeny_cost.
Referenced by parse_requirements().
|
protected |
References parse_req_ammunition_cost(), parse_req_ammunition_type(), parse_req_hp_cost(), parse_req_hp_rate_cost(), parse_req_items(), parse_req_max_hp_trigger(), parse_req_max_sp_trigger(), parse_req_sp_cost(), parse_req_sp_rate_cost(), parse_req_spirit_sphere_cost(), parse_req_state(), parse_req_weapon_types(), and parse_req_zeny_cost().
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::upkeep_time.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::upkeep_time2.
Referenced by load_internal_skill_db().
|
protected |
References HLog, skill_config_data::name, and skill_config_data::skill_delay_options.
Referenced by load_internal_skill_db().
|
protected |
References HLog, skill_config_data::name, skill_config_data::secondary_type, SK_SUBTYPE_IS_COMBO_SKILL, and SK_SUBTYPE_NONE.
Referenced by load_internal_skill_db().
|
protected |
References HLog, skill_config_data::name, skill_config_data::primary_type, SK_TYPE_PASSIVE, and SK_TYPE_TRAP.
Referenced by load_internal_skill_db().
|
protected |
References fill_lvl_range(), HLog, MAX_SKILL_LEVEL, skill_config_data::name, and skill_config_data::splash_range.
Referenced by load_internal_skill_db().
|
private |
Referenced by get_skill_by_id(), and load_internal_skill_db().
|
private |
Referenced by get_skill_by_name(), and load_internal_skill_db().
|
private |
Referenced by get_skill_tree_by_job_id(), and load_internal_skill_tree().