summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorHaru <haru@dotalux.com>2016-02-13 15:38:23 +0100
committerHaru <haru@dotalux.com>2016-08-19 21:32:26 +0200
commit6cdb1e5ec2daa295b388d6c3a920b6cffe4193ce (patch)
treee4d67ff2bb7e80b6cab693f9ec24dac47b3a27a4 /tools
parentc0e59c874786cdf3bc5863090934b8e18ba0336d (diff)
downloadhercules-6cdb1e5ec2daa295b388d6c3a920b6cffe4193ce.tar.gz
hercules-6cdb1e5ec2daa295b388d6c3a920b6cffe4193ce.tar.bz2
hercules-6cdb1e5ec2daa295b388d6c3a920b6cffe4193ce.tar.xz
hercules-6cdb1e5ec2daa295b388d6c3a920b6cffe4193ce.zip
Ported battle.conf to libconfig
Ported to modern Hercules and cleaned up from Panikon's commits: 44fea0b3cdba6901599265220228ba4359b1f96d, 9cba05bc0811e638bbaaa6cff887d0b2c9872560 Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/configconverter.pl403
1 files changed, 403 insertions, 0 deletions
diff --git a/tools/configconverter.pl b/tools/configconverter.pl
index 669e3741c..4fafd1f64 100755
--- a/tools/configconverter.pl
+++ b/tools/configconverter.pl
@@ -531,6 +531,409 @@ my @defaults = (
import => {parse => \&parsecfg_string, print => \&printcfg_nil, path => "", default => "conf/import/packet_conf.txt"},
}
},
+ {
+ files => ['battle.conf', 'battle/battle.conf', 'battle/client.conf', 'battle/drops.conf', 'battle/exp.conf', 'battle/gm.conf', 'battle/guild.conf', 'battle/battleground.conf', 'battle/items.conf', 'battle/monster.conf', 'battle/party.conf', 'battle/pet.conf', 'battle/homunc.conf', 'battle/player.conf', 'battle/skill.conf', 'battle/status.conf', 'battle/feature.conf', 'battle/misc.conf', 'import/battle_conf.txt'],
+ settings => {
+ bg_flee_penalty => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battleground:", default => 20},
+ bg_update_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battleground:", default => 1000},
+ 'feature.buying_store' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/buying_store", default => "true"},
+ 'feature.search_stores' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/search_stores", default => "true"},
+ 'feature.atcommand_suggestions' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/atcommand_suggestions", default => "false"},
+ 'feature.banking' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/banking", default => "true"},
+ 'feature.auction' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/auction", default => "false"},
+ 'feature.roulette' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "feature:features/roulette", default => "false"},
+ atcommand_spawn_quantity_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "gm:", default => 100},
+ atcommand_slave_clone_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "gm:", default => 25},
+ partial_name_scan => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "gm:", default => "true"},
+ atcommand_max_stat_bypass => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "gm:", default => "false"},
+ ban_hack_trade => {parse => \&parsecfg_int, print => \&printcfg_int, path => "gm:", default => 5},
+ atcommand_mobinfo_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "gm:", default => 0},
+ gm_ignore_warpable_area => {parse => \&parsecfg_int, print => \&printcfg_int, path => "gm:", default => 2},
+ atcommand_levelup_events => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "gm:", default => "false"},
+ guild_emperium_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "true"},
+ guild_exp_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 50},
+ guild_max_castles => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 0},
+ guild_skill_relog_delay => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
+ castle_defense_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 100},
+ gvg_flee_penalty => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 20},
+ require_glory_guild => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
+ max_guild_alliance => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 3},
+ guild_notice_changemap => {parse => \&parsecfg_int, print => \&printcfg_int, path => "guild:", default => 2},
+ guild_castle_invite => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
+ guild_castle_expulsion => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "guild:", default => "false"},
+ hom_setting => {parse => \&parsecfg_int, print => \&printcfg_hexint, path => "homunc:", default => 0x1D},
+ homunculus_friendly_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "homunc:", default => 100},
+ hom_rename => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "homunc:", default => "false"},
+ hvan_explosion_intimate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "homunc:", default => 45000},
+ homunculus_show_growth => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "homunc:", default => "true"},
+ homunculus_autoloot => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "homunc:", default => "true"},
+ homunculus_auto_vapor => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "homunc:", default => "true"},
+ homunculus_max_level => {parse => \&parsecfg_int, print => \&printcfg_int, path => "homunc:", default => 99},
+ homunculus_S_max_level => {parse => \&parsecfg_int, print => \&printcfg_int, path => "homunc:", default => 150},
+ enable_baseatk => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 9},
+ enable_perfect_flee => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ enable_critical => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 17},
+ mob_critical_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ critical_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ attack_walk_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 15},
+ pc_damage_walk_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 20},
+ damage_walk_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ multihit_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 80},
+ player_damage_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ undead_detect_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 0},
+ attribute_recover => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "battle:", default => "false"},
+ min_hitrate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 5},
+ max_hitrate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ agi_penalty_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ agi_penalty_target => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ agi_penalty_count => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 3},
+ agi_penalty_num => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 10},
+ vit_penalty_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ vit_penalty_target => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ vit_penalty_count => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 3},
+ vit_penalty_num => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 5},
+ weapon_defense_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 0},
+ magic_defense_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 0},
+ attack_direction_change => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 0},
+ attack_attr_none => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 14},
+ equip_natural_break_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 0},
+ equip_self_break_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ equip_skill_break_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 100},
+ delay_battle_damage => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "battle:", default => "true"},
+ arrow_decrement => {parse => \&parsecfg_int, print => \&printcfg_int, path => "battle:", default => 1},
+ autospell_check_range => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "battle:", default => "false"},
+ knockback_left => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "battle:", default => "true"},
+ snap_dodge => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "battle:", default => "false"},
+ packet_obfuscation => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 1},
+ min_chat_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ min_hair_style => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ max_hair_style => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 29},
+ min_hair_color => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ max_hair_color => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 8},
+ min_cloth_color => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ max_cloth_color => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 4},
+ min_body_style => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ max_body_style => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 4},
+ hide_woe_damage => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "true"},
+ pet_hair_style => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 100},
+ area_size => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 14},
+ max_walk_path => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 17},
+ max_lv => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 99},
+ aura_lv => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 99},
+ client_limit_unit_lv => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ wedding_modifydisplay => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ save_clothcolor => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "true"},
+ save_body_style => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ wedding_ignorepalette => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ xmas_ignorepalette => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ summer_ignorepalette => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ hanbok_ignorepalette => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ display_version => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ display_hallucination => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "true"},
+ display_status_timers => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "true"},
+ client_reshuffle_dice => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "true"},
+ client_sort_storage => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "client:", default => "false"},
+ client_accept_chatdori => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 0},
+ client_emblem_max_blank_percent => {parse => \&parsecfg_int, print => \&printcfg_int, path => "client:", default => 100},
+ item_auto_get => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "drops:", default => "false"},
+ flooritem_lifetime => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 60000},
+ item_first_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 3000},
+ item_second_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1000},
+ item_third_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1000},
+ mvp_item_first_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ mvp_item_second_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ mvp_item_third_get_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 2000},
+ item_rate_common => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_rate_common_boss => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_common_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_common_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_heal => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_rate_heal_boss => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_heal_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_heal_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_use => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_rate_use_boss => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_use_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_use_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_equip => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_rate_equip_boss => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_equip_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_equip_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_card => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_rate_card_boss => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_card_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_card_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_mvp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_mvp_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_mvp_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_adddrop => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_add_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_add_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_rate_treasure => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 100},
+ item_drop_treasure_min => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ item_drop_treasure_max => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 10000},
+ item_logarithmic_drops => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "drops:", default => "false"},
+ drop_rate0item => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "drops:", default => "false"},
+ drops_by_luk => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 0},
+ drops_by_luk2 => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 0},
+ alchemist_summon_reward => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 1},
+ rare_drop_announce => {parse => \&parsecfg_int, print => \&printcfg_int, path => "drops:", default => 0},
+ base_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ job_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ multi_level_up => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "exp:", default => "false"},
+ max_exp_gain_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ exp_calc_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ exp_bonus_attacker => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 25},
+ exp_bonus_max_attacker => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 12},
+ mvp_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ quest_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ heal_exp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ resurrection_exp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ shop_exp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ pvp_exp => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "exp:", default => "true"},
+ death_penalty_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 1},
+ death_penalty_base => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ death_penalty_job => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 100},
+ zeny_penalty => {parse => \&parsecfg_int, print => \&printcfg_int, path => "exp:", default => 0},
+ disp_experience => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "exp:", default => "false"},
+ disp_zeny => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "exp:", default => "false"},
+ use_statpoint_table => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "exp:", default => "true"},
+ vending_max_value => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 1000000000},
+ vending_over_max => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ vending_tax => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 200},
+ buyer_name => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ weapon_produce_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 100},
+ potion_produce_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 100},
+ produce_item_name_input => {parse => \&parsecfg_int, print => \&printcfg_hexint, path => "items:", default => 0x03},
+ dead_branch_active => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ random_monster_checklv => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "false"},
+ ignore_items_gender => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ item_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "false"},
+ item_use_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 100},
+ cashfood_use_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 60000},
+ gtb_sc_immunity => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 50},
+ autospell_stacking => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "false"},
+ item_restricted_consumption_type => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ item_enabled_npc => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "items:", default => "true"},
+ unequip_restricted_equipment => {parse => \&parsecfg_int, print => \&printcfg_int, path => "items:", default => 0},
+ pk_mode => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ manner_system => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 31},
+ pk_min_level => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 55},
+ pk_level_range => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ skill_log => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ battle_log => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ etc_log => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ warp_point_debug => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ night_at_start => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ day_duration => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ night_duration => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ duel_allow_pvp => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ duel_allow_gvg => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ duel_allow_teleport => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ duel_autoleave_when_die => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "true"},
+ duel_time_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 60},
+ duel_only_on_same_map => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ official_cell_stack_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 1},
+ custom_cell_stack_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 1},
+ check_occupied_cells => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "true"},
+ at_mapflag => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ at_timeout => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ auction_feeperhour => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 12000},
+ auction_maximumprice => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 500000000},
+ searchstore_querydelay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 10},
+ searchstore_maxresults => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 30},
+ cashshop_show_points => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ mail_show_status => {parse => \&parsecfg_int, print => \&printcfg_int, path => "misc:", default => 0},
+ mon_trans_disable_in_gvg => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "false"},
+ case_sensitive_aegisnames => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "misc:", default => "true"},
+ mvp_hp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ monster_hp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ monster_max_aspd => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 199},
+ monster_ai => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ monster_chase_refresh => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 3},
+ mob_warp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ mob_active_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ boss_active_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ view_range_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ chase_range_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ monster_active_enable => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ override_mob_names => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ monster_damage_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ monster_loot_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ mob_skill_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ mob_skill_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ mob_count_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ mob_spawn_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ plant_spawn_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ boss_spawn_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 100},
+ no_spawn_on_player => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ force_random_spawn => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "false"},
+ slaves_inherit_mode => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 2},
+ slaves_inherit_speed => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 3},
+ summons_trigger_autospells => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ retaliate_to_master => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ mob_changetarget_byskill => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "false"},
+ monster_class_change_full_recover => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ show_mob_info => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ zeny_from_mobs => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "false"},
+ mobs_level_up => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "false"},
+ mobs_level_up_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 1},
+ dynamic_mobs => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ mob_remove_damaged => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ mob_remove_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 300000},
+ mob_npc_event_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 1},
+ ksprotection => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 0},
+ mob_slave_keep_target => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ mvp_tomb_enabled => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ show_monster_hp_bar => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "true"},
+ mob_size_influence => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "monster:", default => "false"},
+ mob_icewall_walk_block => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 220},
+ boss_icewall_walk_block => {parse => \&parsecfg_int, print => \&printcfg_int, path => "monster:", default => 1},
+ show_steal_in_same_party => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "party:", default => "false"},
+ party_update_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:", default => 1000},
+ party_hp_mode => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:", default => 0},
+ show_party_share_picker => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "party:", default => "true"},
+ 'show_picker.item_type' => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:show_picker_item_type", default => 112},
+ party_item_share_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:", default => 0},
+ idle_no_share => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:", default => 0},
+ party_even_share_bonus => {parse => \&parsecfg_int, print => \&printcfg_int, path => "party:", default => 0},
+ display_party_name => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "party:", default => "false"},
+ pet_catch_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 100},
+ pet_rename => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ pet_friendly_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 100},
+ pet_hungry_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 100},
+ pet_hungry_friendly_decrease => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 5},
+ pet_equip_required => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "true"},
+ pet_attack_support => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ pet_damage_support => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ pet_support_min_friendly => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 900},
+ pet_equip_min_friendly => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 900},
+ pet_status_support => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ pet_support_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 100},
+ pet_attack_exp_to_master => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ pet_attack_exp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 100},
+ pet_lv_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 0},
+ pet_max_stats => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 99},
+ pet_max_atk1 => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 500},
+ pet_max_atk2 => {parse => \&parsecfg_int, print => \&printcfg_int, path => "pet:", default => 1000},
+ pet_disable_in_gvg => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "pet:", default => "false"},
+ hp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 100},
+ sp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 100},
+ left_cardfix_to_right => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ restart_hp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ restart_sp_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ player_skillfree => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ player_skillup_limit => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ quest_skill_learn => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ quest_skill_reset => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ basic_skill_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ player_invincible_time => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 5000},
+ fix_warp_hit_delay_abuse => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ natural_healhp_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 6000},
+ natural_healsp_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 8000},
+ natural_heal_skill_interval => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 10000},
+ natural_heal_weight_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 50},
+ max_aspd => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 190},
+ max_third_aspd => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 193},
+ max_walk_speed => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 300},
+ max_hp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 1000000},
+ max_sp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 1000000},
+ max_parameter => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 99},
+ max_third_parameter => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 130},
+ max_extended_parameter => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 125},
+ max_baby_parameter => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 80},
+ max_baby_third_parameter => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 117},
+ max_def => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 99},
+ over_def_bonus => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ max_cart_weight => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 8000},
+ prevent_logout => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 10000},
+ show_hp_sp_drain => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ show_hp_sp_gain => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ show_katar_crit_bonus => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ friend_auto_add => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ invite_request_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ bone_drop => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ character_size => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ idle_no_autoloot => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ min_npc_vendchat_distance => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 3},
+ vendchat_near_hiddennpc => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "false"},
+ snovice_call_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "player:", default => 0},
+ idletime_criteria => {parse => \&parsecfg_int, print => \&printcfg_hexint, path => "player:", default => 0x1F},
+ costume_refine_def => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ shadow_refine_def => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ shadow_refine_atk => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ player_warp_keep_direction => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "player:", default => "true"},
+ casting_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 100},
+ delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 100},
+ delay_dependon_dex => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ delay_dependon_agi => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ min_skill_delay_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 100},
+ default_walk_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 300},
+ no_skill_delay => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 2},
+ castrate_dex_scale => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 150},
+ vcast_stat_scale => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 530},
+ skill_amotion_leniency => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 90},
+ skill_delay_attack_enable => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ skill_add_range => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ skill_out_range_consume => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ skillrange_by_distance => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 14},
+ skillrange_from_weapon => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ skill_caster_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ clear_skills_on_death => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ clear_skills_on_warp => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 15},
+ defunit_not_enemy => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ skill_min_damage => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 6},
+ combo_delay_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 100},
+ auto_counter_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 15},
+ skill_reiteration => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ skill_nofootset => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 1},
+ gvg_traps_target_all => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 1},
+ traps_setting => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ summon_flora_setting => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 3},
+ song_timer_reset => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ skill_wall_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ player_cloak_check_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 1},
+ monster_cloak_check_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 4},
+ land_skill_limit => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 9},
+ display_skill_fail => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ chat_warpportal => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ sense_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 1},
+ finger_offensive_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ gx_allhit => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ gx_disptype => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 1},
+ devotion_level_difference => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 10},
+ player_skill_partner_check => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ skill_removetrap_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ backstab_bow_penalty => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ skill_steal_max_tries => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ copyskill_restrict => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 2},
+ berserk_cancels_buffs => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ max_heal => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 9999},
+ max_heal_lv => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 11},
+ emergency_call => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 11},
+ guild_aura => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 31},
+ skip_teleport_lv1_menu => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ allow_skill_without_day => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ allow_es_magic_player => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ sg_miracle_skill_ratio => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 2},
+ sg_miracle_skill_duration => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 3600000},
+ sg_angel_skill_ratio => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 10},
+ skill_add_heal_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 7},
+ eq_single_target_reflectable => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ 'invincible.nodamage' => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "false"},
+ dancing_weaponswitch_fix => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ skill_trap_type => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ mob_max_skilllvl => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 100},
+ bowling_bash_area => {parse => \&parsecfg_int, print => \&printcfg_int, path => "skill:", default => 0},
+ stormgust_knockback => {parse => \&parsecfg_bool, print => \&printcfg_bool, path => "skill:", default => "true"},
+ status_cast_cancel => {parse => \&parsecfg_int, print => \&printcfg_int, path => "status:", default => 0},
+ pc_status_def_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "status:", default => 100},
+ mob_status_def_rate => {parse => \&parsecfg_int, print => \&printcfg_int, path => "status:", default => 100},
+ pc_max_status_def => {parse => \&parsecfg_int, print => \&printcfg_int, path => "status:", default => 100},
+ mob_max_status_def => {parse => \&parsecfg_int, print => \&printcfg_int, path => "status:", default => 100},
+ import => {parse => \&parsecfg_stringarr, print => \&printcfg_nil, path => "", default => ['conf/battle/battle.conf', 'conf/battle/client.conf', 'conf/battle/drops.conf', 'conf/battle/exp.conf', 'conf/battle/gm.conf', 'conf/battle/guild.conf', 'conf/battle/battleground.conf', 'conf/battle/items.conf', 'conf/battle/monster.conf', 'conf/battle/party.conf', 'conf/battle/pet.conf', 'conf/battle/homunc.conf', 'conf/battle/player.conf', 'conf/battle/skill.conf', 'conf/battle/status.conf', 'conf/battle/feature.conf', 'conf/battle/misc.conf', 'conf/import/battle_conf.txt']},
+ }
+ },
);
for (@ARGV) {