diff options
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/configconverter.pl | 403 |
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) { |