ds2lie의 CAI 모딩법 - 중급편 01 : descr_campaign_db.xml
이 파일은 캠패인 맵상에서의 각종 환경변수를 지정해주는 파일입니다. 반란확률이나 상인수지, 십자군등... 캠패인 맵에
관련된 대부분의 값은 여기서 결정됩니다.
만약 이 파일을 수정하고 싶으시다면 data폴더에서 메모장으로 여시면 됩니다.
그럼 시작하지요~
<root>
<recruitment> 유닛고용부분
<recruitment_slots uint = "1"/> 생산시 차지하는 슬롯수
<retraining_slots uint = "1"/> 재훈련시 차지하는 슬롯수
<deplenish_pools_with_caps bool = "false"/>
<clear_pools_with_caps bool = "false"/>
<add_initial_with_caps bool = "true"/>
<add_disband_no_caps bool = "true"/>
<force_clamp_to_max bool = "false"/>
<deplenish_multiplier float = "0.9"/>
<deplenish_offset float = "-0.2"/>
<percentage_pool_reduction_lost uint = "10"/> 영토상실시 고용가능감소 퍼센티지
<percentage_pool_reduction_occupy uint = "20"/> 점령시 고용가능감소 퍼센티지
<percentage_pool_reduction_sack uint = "45"/> 약탈시 고용가능감소 퍼센티지
<percentage_pool_reduction_exterminate uint = "100"/> 학살시 고용가능감소 퍼센티지
<max_agents_per_turn uint = "1"/> 한 도시의 턴당 에이젼트 생산유닛수
</recruitment>
<religion> 종교부문
<max_witches_per_region uint = "1"/> 지역당 마녀의 최대수
<max_witches uint = "10"/> 마녀의 최대수
<max_heretics_per_region uint = "1"/> 지역당 이단자 최대수
<max_heretics uint = "25"/> 이단자 최대수
<max_heretics_conversion_modifier float = "1.0"/>
<max_inquisitors_per_region uint = "1"/> 지역당 이단심문관 최대수
<max_inquisitors uint = "12"/> 이단심문관 최대수
<heretic_conversion_rate_modifier float = "0.0075"/> 이단자의 포교율
<heretic_conversion_rate_offset float = "0.025"/> 이단자의 차감율?
<witch_conversion_rate_modifier float = "0.0"/> 마녀의 포교율
<witch_conversion_rate_offset float = "0.02"/> 마녀의 차감율?
<inquisitor_conversion_rate_modifier float = "0.010"/> 이단심문관의 포교율
<inquisitor_conversion_rate_offset float = "0.04"/> 이단심문관의 차감율?
<priest_conversion_rate_modifier float = "0.004"/> 사제의 포교율
<priest_conversion_rate_offset float = "0.015"/> 사제의 차감율?
<witch_creation_modifier float = "1.0"/> 마녀출현확률
<heretic_creation_modifier float = "0.4"/> 이단자출현확률
<inquisitor_creation_modifier float = "0.3"/> 이단심문관출현확률
<min_cardinal_piety uint = "5"/> 추기경의 최소필요 신앙심
<convert_to_heretic_base_modifier float = "10.0"/> 이단에 물드는 확률?
<convert_to_heretic_unorthodox_modifier float = "0.7"/> 정교사제의 이단확률?
</religion>
<bribery> 뇌물부문
<bribe_to_family_tree bool = "false"/> 회유한 장군이 패밀리멤버가 되는가
<base_character_chance float = "0.4"/> 장군의 회유확률
<religion_modifier float = "0.66"/> 종교보정치
<combined_attribute_modifier float = "0.2"/>
<briber_attribute_divisor float = "3.0"/>
<bribee_attribute_divisor float = "3.0"/>
<army_size_modifier float = "0.035"/> 군대규모 보정치
<base_settlement_chance float = "0.8"/> 거점의 회유확률
<settlement_loyalty_modifier float = "0.01"/> (거점의)충성보정치
<settlement_population_modifier float = "0.0001"/> (거점의)인구보정치
<faction_standing_divisor float = "10.0"/>
<max_bribe_chance float = "100.0"/> 회유 최대확률
<min_bribe_chance float = "1.0"/> 회유 최소확률
<bribe_chance_modifier float = "1.0"/>
</bribery>
<family_tree> 패밀리멤버관련
<max_age uint = "100"/> 장군의 최대나이
<max_age_for_marriage_for_male uint = "75"/> 남자의 결혼가능 최대나이
<max_age_for_marriage_for_female uint = "45"/> 여자의 결혼가능 최대나이
<max_age_before_death uint = "101"/> 최대 사망나이
<max_age_of_child uint = "10"/> 아이로 구분되는 나이
<old_age uint = "60"/> 노인으로 구분되는 나이
<age_of_manhood uint = "16"/> 장군으로 나오는 나이
<daughters_age_of_consent uint = "13"/> 공주로 나오는 나이
<daughters_retirement_age uint = "45"/> 수도원에 들어가는 나이
<age_difference_min int = "6"/>
<age_difference_max int = "30"/>
<parent_to_child_min_age_diff uint = "13"/> 부모자식간 최소 나이차
<min_adoption_age uint = "16"/> 입양가능 최소나이
<max_adoption_age uint = "40"/> 입양가능 최대나이
<max_age_for_conception uint = "40"/> 임신가능 최대나이
<age_of_manhood_close uint = "14"/> 능력치 결정나이?
<max_number_of_children uint = "4"/> 한가정의 최대 자식수
</family_tree>
<diplomacy> 외교부문
<max_diplomacy_items uint = "8"/>
<enemies_reject_gifts bool = "false"/> 적국이 선물거절 가능한가
<use_balance_owed bool = "false"/>
</diplomacy>
<missions>
<null_mission_score float = "25.0"/>
</missions>
<display> 맵상유닛부문
<character_selection_radius float = "0.3"/> 유닛의 반경
<character_selection_height float = "1.3"/> 유닛의 높이
<character_selection_height_crouching float = "1.0"/> 유닛의 앉았을때 높이
<diplomacy_scroll_height uint = "768"/>
<recruitment_sort_simple bool = "false"/>
<faction_standing_min float = "-1.0"/> 우호도 최소값
<faction_standing_max float = "1.0"/> 우호도 최대값
<use_orig_rebel_faction_models bool = "true"/> 오리지날 반란군모델 사용
<keep_original_heretic_portraits bool = "false"/>
<alt_sett_order_colours bool = "false"/>
<standard_soldier_limit uint = "1000"/>
<!--Used to specify range for amry standards (banners) -->
<standard_soldier_level_scale uint = "50"/>
<!--Used to scale army size display compared to standard range specified above -->
</display>
<ransom> 몸값부문
<captor_release_chance_base float = "50.0"/> 석방시 기본값
<captor_release_chance_chiv_mod float = "12.0"/> 석방시 기사도 변화값
<captor_ransom_chance_base float = "60.0"/> 보석시 기본값
<captor_ransom_chance_chiv_mod float = "-5.0"/> 보석시 기사도 변화값
<captor_ransom_chance_tm_mod float = "10.0"/>
<captive_ransom_chance_base float = "40.0"/> 아군포로 보석시 기본값
<captive_ransom_chance_chiv_mod float = "6.67"/> 아군포로 보석시 기사도 변화값
<captive_ransom_chance_tm_mod float = "-10.0"/>
<captive_ransom_chance_msm_mod float = "10.0"/>
<captive_ransom_for_slave bool = "false"/> 반란군 포로 몸값받을수 있나
</ransom>
<autoresolve>
<min_capture_percent float = "10.0"/> 사로잡을 최소확률(%)
<max_capture_percent float = "35.0"/> 사로잡을 최대확률(%)
<lopsided_thresh float = "1.25"/>
<lopsided_hn_mod float = "100"/>
<separation_missile_add uint = "1.5"/>
<naval_sink_modifier float = "25"/>
<naval_sink_offset float = "1.25"/>
<naval_sink_max float = "65.0"/>
<sally_att_def_draw_divisor float = "1.5"/>
<!--sally battles are a draw if attacker lost and (number of attacker troops) >
(number of defender troops)/divisor -->
</autoresolve>
<settlement> 거점부문
<sack_money_modifier float = "0.4"/> 약탈수입
<exterminate_money_modifier float = "0.5"/> 학살수입
<chiv_spf_modifier float = "1.0"/> 기사도가 인구증가에 미치는 영향
<chiv_sof_modifier float = "1.0"/> 기사도가 퍼블릭오더에 미치는 영향
<dread_sof_modifier float = "-1.0"/> 공포가 퍼블릭오더에 미치는 영향
<piety_cor_sif_modifier float = "1.0"/> 신앙심이 수입에 미치는 영향?
<piety_admin_sif_modifier float = "1.0"/>
<port_to_port_mp_min float = "100.0"/>
<heresy_unrest_modifier float = "30.0"/> 이단이 일으키는 도시소요
<religion_unrest_modifier float = "20.0"/> 다른종교가 일으키는 도시소요?
<siege_gear_required_for_city_level string = "huge_city"/>
<siege_gear_required_for_castle_level string = "moot_and_bailey"/>
<no_towers_only_for_city_level string = "huge_city"/>
<no_towers_only_for_castle_level string = "moot_and_bailey"/>
<min_turn_keep_rebel_garrison int = "70"/>
<destroy_empty_forts bool="false"/> 빈요새의 파괴가 가능한가
<can_build_forts bool="true"/> 요새를 지을 수 있는가
</settlement>
<revolt> 반란부문
<end_turn_modifier float = "1.0"/>
<excommunicated_modifier float = "20.0"/> 파문시 반란값
<new_leader_modifier float = "20.0"/> 팩션리더 교체시 반란값
<max_effective_loyalty float = "7.0"/>
<rebel_region_modifier float = "2.0"/>
<shadow_region_modifier float = "2.0"/>
<rebel_border_modifier float = "1.1"/>
<shadow_border_modifier float = "1.1"/>
<num_units_modifier float = "1.05"/>
<captain_modifier float = "0.4"/>
<min_revolt_chance float = "0.1"/> 최소 반란확률
<max_revolt_chance float = "75.0"/> 최대 반란확률
<ai_revolt_modifier float = "0.00"/>
<revolt_additional_armies bool = "false"/>
<revolt_crusading_armies bool = "false"/>
</revolt>
<characters>
<agents_can_hide bool = "true"/> 에이젼트를 숨길수 있나
</characters>
<hordes>
<end_target_faction_bonus int = "-300"/>
<start_target_faction_bonus int = "-500"/>
<farming_level_bonus int = "50"/>
<shared_target_bonus int = "-1000"/>
<disbanding_horde_bonus int = "-500"/>
<starting_region_bonus int = "-700"/>
<horde_target_resource_bonus int = "1000"/>
</hordes>
<merchants> 상인부문
<base_income_modifier float = "1.25"/> 기본수입
<trade_bonus_offset float = "30"/> 무역보너스
</merchants>
<agents> 에이젼트부문
<denounce_inquisitor_base_chance float = "15.0"/> 이단심문관의 기본이단심문확률
<denounce_priest_base_chance float = "33.0"/> 사제의 기본 이단심문확률
<denounce_attack_modifier float = "1.0"/> 화형할 확률보정
<denounce_defence_modifier float = "1.0"/> 화형 당할 확률보정
<denounce_chance_min int = "5"/> 이단심문 최소확률
<denounce_chance_max int = "95"/> 이단심문 최대확률
<denounce_heretic_attemp_modifier float = "1.5"/>
<denounce_character_attemp_modifier float = "0.5"/>
<assassinate_base_chance float = "33"/> 암살 기본확률
<assassinate_attack_modifier float = "0.8"/> 암살 시도시 확률보정
<assassinate_defence_modifier float = "0.8"/> 암살을 방어할 확률보정
<assassinate_public_modifier float = "0.25"/>
<assassinate_personal_modifier float = "0.25"/>
<assassinate_counter_spy_modifier float = "1.0"/>
<assassinate_agent_modifier float = "1.24"/>
<assassinate_own_region_modifier float = "1.50"/>
<assassinate_assassinate_attr_modifier float = "0.18"/>
<assassinate_chance_min int = "5"/> 암살 최소확률
<assassinate_chance_max int = "95"/> 암살 최대확률
<acquisition_base_chance float = "40.0"/> 상인의 인수합병 기본확률
<acquisition_level_modifier float = "5.0"/> 상인의 레벨에 따른 보정치
<acquisition_attack_trade_rights_modifier float = "1.3"/>M&A 시도시 확률보정(공격에 어드벤티지)
<acquisition_defence_trade_rights_modifier float = "0.7"/> M&A 방어시 확률보정(방어에 불리)
<acquisition_chance_min int = "5"/> 상인 인수합병 최소확률
<acquisition_chance_max int = "95"/> 상인 인수합병 최대확률
<inquisitor_crt_heresy_divisor float = "1.0"/>
<inquisitor_crt_pfp_modifier float = "0.5"/>
<inquisitor_crt_pfp_modifier_min float = "0.0"/>
<inquisitor_crt_pfp_modifier_max float = "1.0"/>
<inquisitor_crt_chance_min float = "0.0"/>
<inquisitor_crt_chance_max float = "0.1"/>
<inquisitor_target_leaders bool = "false"/> 팩션리더를 심문할 수 있나
<inquisitor_target_heirs bool = "false"/> 후계자를 심문할 수 있나
<spy_base_chance float = "40.0"/> 염탐 기본성공률
<!--base spying chance -->
<spy_level_modifier float = "0.15"/> 레벨에 따른 성공확률 보정값
<!--modifies the amount the subterfuge rating of a spy affects chance of success -->
<not_spy_level_modifier float = "0.5"/>
<!--modifies the chance of success if spying object not a spy -->
<spy_public_modifier float = "1.0"/> 목표의 공공질서 보정값(반비례)
<!--inversely modifies the amount the public security aspects of the target affects
chance of success -->
<spy_counter_spy_modifier float = "1.0"/>
<!--inversely modifies the amount the combined subterfuge rating with the target
affects chance of success -->
<spy_distance_modifier float = "1.0"/> 목표와의 거리 보정값(반비례)
<!--inversely modifies the amount the distance in movement points from the target
affects chance of success -->
<spy_secret_agent_target_modifier float = "0.5"/ 암살자나 스파이가 함께있을 경우 성공률 보정치
<!--modifies the chance of success if an assassin or spy is travelling with a target army -->
<spy_sedentary_turns_modifier float = "0.2"/> 안정화된 턴수에 따른 보정치
<!--modifies the amount of turns a target has been stationary affects chance of success -->
<spy_alliance_modifier float = "1.5"/> 동맹국일 경우 보정치
<!--modifies the chance of success if the target is allied with spy faction -->
<spy_target_engaged_modifier float = "2.0"/> 전투나 포위되었을 경우의 보정치
<!--modifies the chance of success if target is in engagement, under siege or battle -->
<spy_in_settlement_modifier float = "5.0"/> 스파이가 들어있을 경우 보정치
<!--modifies the chance of success if spy in settlement they are spying on -->
<spy_watchtower_modifier float = "1.5"/> 목표가 타운와치일 경우 보정치
<!--modifies the chance of success if spying object is a watchtower -->
<spy_in_own_region_modifier float = "1.5"/> 자국 내일 경우 보정치
<!--modifies the chance of success if spy in in their own factions region -->
<spy_chance_min int = "5"/> 최소 성공률
<!--min clamp for spy chance -->
<spy_chance_max int = "95"/> 최대 성공률
<!--max clamp for spy chance -->
<spy_rescale_chance bool = "true"/>
<!--flag to indicate if the final chance is non-linearly rescaled to improve spying
chance of success -->
</agents>
<crusades> 십자군부문
<required_jihad_piety int = "4"/> 지하드발동에 필요한 신앙심
<max_disband_progress float = "20.0"/>
<near_target_no_disband_distance float = "4.0"/>
<disband_progress_window float = "3"/>
<crusade_called_start_turn float = "20"/> 십자군 창설 간격
<jihad_called_start_turn float = "20"/> 지하드 창설 간격
<movement_points_modifier float = "2.5"/> 십자군의 이동속도
</crusades>
<ai> ai부문
<easy> 난이도 쉬움
<att_str_modifier float = "0.80"/> 공격을 결정하는 힘의 비율[(att_str*att_str_modifier)/def_str]
<!--modifies the effective attackers strength when determining the priority of making
attack decision (i.e. att_def_strength_ratio = ((att_str*att_str_modifier)/def_str) -->
<siege_att_str_modifier float = "0.80"/> 포위를 결정하는 힘의 비율
<!--modifies the effective sieging attackers strength when determining the priority of
making attack decision -->
<crusade_att_str_modifier float = "0.65"/> 십자군이 포위를 결정하는 힘의 비율
<!--modifies the effective crusading sieging attackers strength when determining
the priority of making attack decision -->
<sally_att_str_modifier float = "0.90"/> 해군이 공격을 결정하는 힘의 비율
<!--modifies the effective sallying attackers strength when determining the priority
of making attack decision -->
<ambush_att_str_modifier float = "1.3"/> 매복공격을 결정하는 힘의 비율
<!--modifies the effective ambushing attackers strength when determining the priority
of making attack decision -->
<str_limit_weak float = "0.01"/> 공격하기엔 약하다고 인식하는 최소 힘의 비율
[ att_def_strength_ratio < (ideal_str_ratio*str_limit_weak) ]
<!--min ideal strength ratio modifier for determining when an army is far too weak
for an attack ( att_def_strength_ratio < (ideal_str_ratio*str_limit_weak) ) -->
<str_limit_strong float = "99"/> 공격을 결정하는 최대 힘의 비율
[ att_def_strength_ratio < (ideal_str_ratio*str_limit_weak) ]
<!--max ideal strength ratio modifier for determining when an army is far too strong
for a fair attack ( att_def_strength_ratio > (ideal_str_ratio*str_limit_strong) ) -->
<merchant_min_survival_acquire int = "80"/>
<!--the minimum survival chance for a merchant to consider attempting an acquisition -->
</easy>
<medium> 난이도 중간
<att_str_modifier float = "0.75"/>
<siege_att_str_modifier float = "0.80"/>
<crusade_att_str_modifier float = "0.65"/>
<sally_att_str_modifier float = "0.90"/>
<ambush_att_str_modifier float = "1.2"/>
<str_limit_weak float = "0.01"/>
<str_limit_strong float = "99"/>
<merchant_min_survival_acquire int = "80"/>
</medium>
<hard> 난이도 어려움
<att_str_modifier float = "0.70"/>
<siege_att_str_modifier float = "0.80"/>
<crusade_att_str_modifier float = "0.65"/>
<sally_att_str_modifier float = "0.80"/>
<ambush_att_str_modifier float = "1.1"/>
<str_limit_weak float = "0.01"/>
<str_limit_strong float = "99"/>
<merchant_min_survival_acquire int = "65"/>
</hard>
<very_hard> 난이도 매우어려움
<att_str_modifier float = "0.65"/>
<siege_att_str_modifier float = "0.80"/>
<crusade_att_str_modifier float = "0.65"/>
<sally_att_str_modifier float = "0.80"/>
<ambush_att_str_modifier float = "1.0"/>
<str_limit_weak float = "0.01"/>
<str_limit_strong float = "99"/>
<merchant_min_survival_acquire int = "65"/>
</very_hard>
</ai>
<misc>
<allow_resource_forts bool = "false"/> 자원위에 요새나 망루를 지을 수 있는가
<!--do we allow forts and watchtowers to be built on resource locations -->
<fort_devastation_distance uint = "20"/>
<!--maximum movement point extents for determining devastation tile targets for forts -->
<army_devastation_distance uint = "20"/>
<!--maximum movement point extents for determining devastation tile targets for field armies -->
<fort_devastation_modifier float = "1.0"/>
<!--num devastated tiles modifier for forts -->
<army_devastation_modifier float = "1.0"/>
<!--num devastated tiles modifier for field armies -->
<enable_hotseat_messages bool = "true"/> hotseat에서 플레이어끼리 메시지를 보낼 수 있는가
<!--do we allow hotseat messages to be send between human players -->
<enable_unit_accent_overrides bool = "true"/>
<!--do we use unit db accent overrides for campaign unit selection -->
</misc>
</root>
솔직히 제 관심사는 이쪽이 아니라서, 다른 분들이 해석한 것에 제가 이해가 가는 것만 해석은 해놨지만 확실하다고 할 수
없습니다. 물론 실험 또한 해보지 않았습니다. 따라서 여기에 적힌 정보는 100% 믿지 마시고 참고자료로만 써주세요.
정확한 전달을 위해 영어해석은 그대로 남겨두었습니다. 만약 제가 쓴 정보가 틀렸다던가 혹은 새로운 정보가 있다면
댓글에 자랑해주세요 ^^; 반영하여 고쳐놓겠습니다.
*파일수정 전 원본 백업은 선택이 아닌 필수~!
댓글
댓글 리스트-
답댓글 작성자ds2lie 작성자 본인 여부 작성자 작성시간 09.02.13 헉...그...그래도 굴하지 않아~!!!! EB2 를 기다립니다(후다닥)
-
답댓글 작성자BERSERK_OhYes 작성시간 09.02.13 크크크.. 그래도 기본 ai 알고리즘은 바뀌지 않을 듯하네요~ 단지 개발자 한명이 전투, 캠페인 ai 모두를 짜는 것이니 까요 ㅎㅎ (미디블2 때는 따로따로 해서 ai연계가 안됐다죠)
-
답댓글 작성자ds2lie 작성자 본인 여부 작성자 작성시간 09.02.13 그래 기본은 안바뀔꺼야...안바껴...안바껴...안바껴...안바껴...안바껴...바껴...바껴...(자기세뇌중)
-
답댓글 작성자로맨틱Cavalry 작성시간 09.07.19 전 엠토보다 미디블2가 더 잼떤데 ㅋ
-
작성자김대근 작성시간 09.07.29 남자는 75세 여자는 45세 ㅇㅂㅇ?.....