|
위 두 항목에 정의되는 ID는 언어 파일에서 메시지 ID 로 쓰입니다. 그동안 이 글을 읽어오신 분이라면 잘 아시겠죠.
이제 기본 설정 항목 아래의 각각의 섹션들이 어떤 의미인지를 아실 차례입니다.
can_use = { } : 이 전쟁 명분을 사용하기 위한 조건(캐릭터 조건)을 의미합니다. 이 섹션 내의 조건을 만족하지 않으면 이 전쟁 명분은 외교 창에 표시조차 되지 않습니다. 즉, 이 전쟁 명분을 사용할 수 없습니다. 디시전으로 생각하면 이건 마치 potential = { } 과 같아요.
can_use_gui = { } : 이 전쟁 명분을 실행하기 위한 조건입니다. 위 항목과의 차이점은, can_use = { } 섹션의 조건을 만족하면 외교창에 전쟁 명분이 표시되지만, 이 can_use_gui = { } 의 조건이 추가적으로 만족되어야 해당 전쟁 명분을 실행할 수 있다는 것입니다. 즉, 디시전으로 생각하면 마치 allow = { } 와 같은 의미인 거죠.
is_valid = { } : 전쟁 명분 모딩 시에 맞닥뜨리는 의외의 복병이죠. 이 조건은 해당 전쟁 명분의 효력 지속 요건입니다. 만약 전쟁이 시작되었는데 이 조건을 만족시키지 못하게 되면 그 전쟁은 즉시 종료됩니다. (예를 들면, 성전을 맞았을 때에 해당 종교로 개종을 해 버리면 그 성전이 그대로 끝나 버리죠. 그겁니다.) 이 부분을 제대로 설정해 두지 않으면, 선전포고를 하자 마자 명분이 유효하지 않다면서 전쟁이 끝나 버리는 상황을 계속 보게 됩니다.
더 있는데? 라고 말씀하실 분이 계실 거 압니다. 일부러 설명 안 드리고 넘어가는 것이니까, 일단 따라와 주세요.
on_success = { } : 전쟁 점수 100을 다 채우고 상대방을 굴복시켜서 전쟁에 승리한 경우에 실행할 내용입니다.
on_fail = { } : 이름 때문에 이게 굉장히 혼동이 오는 부분인데, 전쟁에 졌을 때에 실행할 내용이 아닙니다. 무조건 평화(White Peace)로 전쟁을 종결했을 때에 실행할 내용입니다. (화이트 피스도 전쟁에 실패한 건 맞으니까 아주 틀린 작명은 아닌데, 좀 미묘하죠.)
on_reverse_demand = { } : 이게 전쟁에 져서 항복한 경우에 실행할 내용이예요.
다음에 이어지는 이 4개의 내용. 이 녀석들은 섹션이 아니라 각각의 설정 항목입니다. AI 가 어떤 경우에 승리/패배를 받아들일지를 설정하는 겁니다. 새로 전쟁 명분을 만드시는 경우에도 이건 고칠 필요도 없어요. 그대로 복사하시면 됩니다. 허나 무슨 의미인지 알고는 계셔야겠죠? 그래서 설명드립니다.
이름 때문에 조금 혼동이 올 수 있는데, victory_worth 항목들은 상대방이 항복을 요청했을 때에 그 항복을 받아들일 최소한의 승리 점수를 의미합니다. 참고로 -1은 숫자 그대로의 의미가 아니라, "언제나" 의 의미입니다. 따라서, AI 가 공격자이건 방어자이건, 현재 전쟁 점수가 몇 점이건 관계 없이 AI 는 상대방이 항복하는 경우 언제나 그 제안을 받아들이게 됩니다. (사실 상대방이 졌소! 하고 항복하겠다는데 그걸 안 받아들이는 건 납득하기 어려운 일이죠. 물론 플레이어는 여러 가지 이유로 종종 그러긴 합니다만.)
그럼 defeat_worth 는 반대라는 거 아시겠죠? 플레이어나 다른 AI로부터 AI 가 항복을 요구받았을 때에, AI 가 그것을 인정하고 항복하기 위해서는 상대방이 전쟁 점수 100점을 채워야 한다는 의미가 됩니다. 다들 경험해봐서 아시죠? 전쟁 점수 100점을 채우기 전에는 끝까지 졌다는 걸 인정 안 하는 AI 들.. (물론 AI 쪽에서 전쟁 점수가 100이 되기 전에 스스로 항복해오는 경우도 있긴 하지만요.)
참고로, 일부 항목의 경우에 이 수치가 100을 넘는 경우도 존재합니다. 이런 경우는 존재할 수 없기 때문에(전쟁 점수의 최대값은 100이죠) 이 경우 AI 는 이 제안에 대해서 언제나 거절하게 됩니다. 재미있는 상황이 펼쳐질 수도 있겠네요.
그런데, 실제 전쟁 명분 파일을 열어 보시면 좀 이상한 것을 보실 수 있을 것입니다. 예를 들면 can_use 의 경우, can_use = { } 라는 것이 있는가 하면, can_use_title = { } 이라는 섹션이 따로 있는 것을 보실 수가 있죠. can_use 뿐만이 아니라, is_valid, on_success 등 다른 항목들도 모두 _title 꼬리표가 붙은 항목들이 존재하는 것을 보실 수가 있습니다. (하나의 전쟁 명분 내에서 이 항목들이 있을 수도 있고 없을 수도 있긴 해요.)
이게 왜 이런가 하면, 전쟁 명분의 설정에서 플레이어 조건/효과와 타이틀 조건/효과를 분리하기 때문입니다. 예를 들면, 앞에서 열심히 설명한, _title 이 안 붙은 각각의 항목들은 이 전쟁의 당사자인 플레이어에 관한 조건들입니다. 예를 들면, 파간 종교의 경우에 적용되는 이웃 백작령에 대한 정복전쟁 명분(pagan_county_conquest)의 can_use = { } 섹션은 아래와 같습니다.
can_use = { ROOT = { religion_group = pagan_group NOT = { same_realm = FROM } } FROM = { NOT = { religion = ROOT } } }
아직 제가 스코프에 대해 설명을 안 드렸는데, 전쟁명분에서의 FROM 과 ROOT 의 정의가 저도 굉장히 혼동이 많이 됩니다. 이게 전쟁이 아니라 전쟁 명분 이라는 것을 생각하시고, FROM 을 전쟁 명분을 주는 자, ROOT 는 전쟁 명분을 갖고 있는 자로 생각하셔야 이해가 됩니다. 즉, 전쟁을 일으키려는 자가 ROOT 이고, 선전 포고를 당하는 자가 FROM 인 거예요. (이거 정말 환장합니다. 자꾸 거꾸로 읽게 돼요.)
따라서, 위 플레이어 조건은 1) 본인이 파간 계열의 종교이어야 하고, 2) 상대방이 같은 렐름에 속해 있지 않아야 하며(즉, 내전에 사용할 수는 없고), 3) 상대방은 나와 같은 종교여서는 안 된다는 겁니다.
그런데, can_use_title = { } 의 경우 기본 스코프가 타이틀이 됩니다. 즉 전쟁의 목표가 되는(=전쟁을 통해 획득하기 위한) 타이틀의 조건이 되는 거죠. 예를 들면, 침략(invasion)의 can_use_title = { } 항목의 내용은 아래와 같습니다.
can_use_title = { OR = { FROM = { has_landed_title = PREV } holder_scope = { is_liege_or_above = FROM } } }
심플합니다. 상대방이 침략하려는 타이틀을 가지고 있거나, 그 타이틀을 가진 자의 주군이 상대방이기만 하면 됩니다. 내용은 일단 중요하지 않고, 기본 스코프가 타이틀이라는 부분만 체크하시면 돼요.
이렇게 조건이 심플한 이유는? 애초에 아무나 쓸 수 있는 명분이 아니니까요. 이 CB 는 종교 지도자가 허락하는 경우에(can_grant_invasion_cb = invasion) 쓸 수 있는 CB 이기 때문에, 굳이 조건이 복잡할 이유가 없는 거죠.
일단 이렇게만 이해하고 계시면 됩니다.
전쟁의 결과와 관계 없이, 전쟁 발발과 동시에 즉시 어떤 효과를 발생시키고 싶은 경우에 이 섹션을 설정하면 됩니다.
on_add = { ROOT = { piety = -500 } }
이제 기본적인 전쟁 명분 정의의 구조는 다 보신 겁니다. 이제 이 구조 속에 필요한 내용을 채워 넣기만 하면 돼요. 물론 이 부분이 상당히 난해합니다. 저조차도 모르는 내용이 사실 많습니다. (그러면서 이런 글을 잘도 쓰고 있습니다.) 그래서 아마 이후로 "이건 나도 몰라요" 라고 발 빼는 부분이 제법 있을 것 같습니다. 이런 부분에 대해서는 미리 양해를 드릴께요. 글을 읽으시는 숨은 고수님들께서 그런 부분을 채워 주셨으면 합니다. 다 압니다. 재야에 자신을 드러내지 않고 숨어계신 고수님들이 많다는 거.
전쟁 명분의 사용 조건을 정의하기 전에, 이 전쟁이 어떤 전쟁인지에 대해서 좀 더 자세한 설정을 넣을 필요가 있습니다.
이 설정 항목들은 이 전쟁이 어떤 성격의 전쟁인지를 결정합니다. (하지만 사실 이 설정이 어떤 영향을 주는지에 대해서는 사실 잘 모르는 부분이 더 많습니다.)
이 전쟁의 목표물을 무엇으로 할 것이냐의 문제입니다.
이 설정은 단지 그가 가지고 있는 땅의 데쥬레에 속하는 모든 왕위를 선택지로 보여주게 됩니다. 따라서, 추가적인 제한조건 없는 이 설정만으로는 어처구니없는 결과가 발생할 수 있습니다. 예를 들면, 왕 A 가 왕 B 의 데쥬레에 속하는 백작령 C 를 가지고 있는 경우, 왕 A 와의 전쟁을 통해 왕 B 의 왕 작위를 빼앗아온다는 웃기는 상황도 벌어질 수 있는 거죠. (백작령 C를 왕 A가 가지고 있게 되는 결과 왕 A 와의 전쟁에서 백작령 C 의 데쥬레에 속하는 왕 B 작위에 대한 선택지도 출력이 되기 때문입니다.)
check_all_titles = yes : 상대방의 휘하에 존재하는 모든 타이틀에 대한 개별적인 전쟁 선택 메뉴를 개방합니다. 백작령 이하의 도시/교회/성에 대해서도 개별적인 선택 메뉴가 열리게 되므로, 이 옵션이 설정되면 전쟁 명분 선택 메뉴가 너무 지저분해집니다. (황제를 상대로 전쟁 걸면 정말 선택지가 수십개가 나올 수도 있어요) 따라서 이것도 적절한 추가적인 제한조건이 필요합니다.
check_all_trade_posts = yes : 바로 위와 같지만, 이것은 타이틀이 아닌 무역기지를 대상으로 합니다.
allow_distant = yes : 상대와의 거리가 멀더라도 전쟁을 선포할 수 있습니다. 거리가 주된 요소가 아닌 공화정의 해안 무역기지나 해안 프로빈스에 대한 노스 파간의 침략 등의 CB 에 설정되어 있습니다.
전쟁의 승리 조건인 전쟁 점수를 채우는 데 있어서 일정한 모디파이어를 적용할 수 있습니다.
전쟁에 양 당사자 이외에 동맹이나 봉신들이 참가할 수 있는지를 별도로 정할 수 있습니다.
다른 전쟁의 대상에 대해서 이들을 적으로 간주할지 여부를 정할 수도 있습니다.
그 외의 항목들입니다.
위의 여러 가지 설정 사항들을 보시면서 느끼셨을 겁니다. 위에서 열심히 설정한 항목들은, 기본적인 전쟁의 범위를 설정한다거나, 전쟁의 성격을 정의한다거나 하는 기능은 하지만, 구체적으로 어떤 조건 하에서 이 전쟁 명분을 사용할 수 있는지에 대해서는 아무것도 설정해 주지 않습니다. 심지어, 전쟁을 하려면 클레임을 갖고 있어야 한다는 기본적인 조건조차도 정의를 내리고 있지 않습니다.
그런 구체적인 조건들은, 이미 구조에서 살펴본 바 있는 can_use = { }, can_use_title = { } 와 can_use_gui = { } 섹션에서 별도로 조건문을 사용해서 정의를 하게 됩니다. 사실상 여기에서 모든 것이 구체화됩니다.
AI 는 사용할 수 없는 나만의 커스텀 전쟁 명분(대략 사기)을 설정할 수 있습니다. 지금까지 몇 수십번은 보아 왔을 마법의 조건문 ai = no 를 사용하면 되죠.
can_use = { ROOT = { ai = no } }
일반적으로, 우리는 어떤 타이틀을 노리고 전쟁을 걸 때, 해당 타이틀을 가지고 있는 자 또는 그 타이틀을 가진 자를 봉신으로 두고 있는 군주에 대해서 전쟁을 걸죠.
can_use_title = { OR = { FROM = { has_landed_title = PREV } holder_scope = { is_liege_or_above = FROM } } }
당연한 조건이기도 하지만, 이 조건은 앞에서 본 check_de_jure_tier = KING 의 제한조건으로도 사용됩니다. 자기가 갖고 있지도 않은 작위를 걸고 전쟁을 할 수는 없는 것이니까요. 판돈은 언제나 현금이어야 합니다.
일반적인 CKII 의 전쟁은 반드시 해당 지역에 대한 클레임을 요구합니다. 클레임에는 강한 클레임과 약한 클레임이 있다는 점은 이미 알고 계실 테고, 약한 클레임은 사용하기 위한 조건이 있다는 점도 알고 계실 겁니다. 아래는 그것을 조건으로 구현한 것입니다. 클레임이 필요한 모든 전쟁에는 아래의 조건이 그대로 적용되어 있습니다.
can_use_title = { OR = { ROOT = { has_strong_claim = PREV } AND = { ROOT = { has_weak_claim = PREV } OR = { is_pretender = yes # Checks vs ROOT character holder_scope = { has_regent = yes } AND = { ROOT = { is_female = no } holder_scope ={ is_female = yes } } is_contested = yes # Is already being contested in some form of Claim or Succession War } } }
바꾸어 말하면, 클레임에 관한 조건조차도 이렇게 직접 조건문을 넣어 준다는 것입니다. 따라서 모딩하기에 따라서는 클레임 없이 땅따먹기를 하는 전쟁 명분도 충분히 만들 수 있다는 이야깁니다.
하나 더 덧붙이자면, 이렇게 클레임을 조건으로 구현하는 경우에는 전쟁 설정에 press_claim = yes 가 포함되는 것이 보통입니다. 설정 시 구체적으로 무엇이 달라지는지는 잘 모르겠습니다만.
클레임을 갖고 있더라도, 계승법률이 문제가 되는 경우가 있습니다. 예를 들면 현재 남성 상속제를 채택하고 있는 홀딩에 대해서 여성이 클레임을 갖고 있는 경우, 클레임 전쟁을 허용하면 곤란한 상황이 발생할 겁니다. 따라서, 이것을 명시적으로 조건으로 설정해 두는 경우도 있습니다.
다른 경우로, 어떤 법률을 개정하기 위한 봉신과 주군간의 전쟁의 경우, 만약 전쟁 중 주군이 이를 받아들여서 법률을 개정한 경우, 더 이상 전쟁을 할 이유가 없게 되어 전쟁은 종료가 되는 거죠. 아래 예시는, 계승법률를 분할 상속제(Gavelkind)로 변경하기 위한 봉신과 주군간의 전쟁 명분의 유효조건 섹션입니다.
is_valid_title = { NOT = { has_law = succ_gavelkind } OR = { tier = emperor tier = king is_primary_holder_title = yes } }
해석이 되시나요? 분할 상속제를 관철하기 위한 전쟁이니만치, 현재의 법률이 분할 상속제가 아니어야만 전쟁이 계속될 수 있는 거죠. 그리고 그 아래의 OR = { } 절은 법률과 관련된 전쟁에서 자주 볼 수 있습니다. 현재 적용되는 법률과 일치하는 타이틀에 대해서 전쟁을 걸어야 하잖아요? 그래서 이게 늘 들어갑니다.
전쟁의 결과는 항상 셋 중 하나로 귀착되죠. 승리, 무조건 평화, 패배. 각각의 경우에 따라서 발생할 일들을 각각의 섹션에 정의하면 됩니다. 조건에서도 말씀드렸지만, 전쟁의 결과 역시 하나하나 직접 정의를 해 주어야 효과가 발생합니다. 이미 알고 계시지만, 승리의 경우 on_success = { }, 무조건 평화의 경우 on_fail = { }, 패배/항복의 경우 on_reverse_demand = { } 에 정의합니다.
결국 전후처리라는 것은 예나 지금이나, 승전국이 패전국에 대해서 전쟁의 목적물을 요구하고, 또 전쟁에 대해서 손해배상을 강요하는 절차입니다. 그냥 그걸 담담하게 정의하면 되는 거예요.
과거에 한 번 운만 띄우고 넘어왔던 부분을 이제는 논의해야 할 시점이네요.
일반적으로 전쟁의 결과로 땅을 얻는 것은 두 가지 정도로 나뉩니다. 우선 해당 타이틀만 가져오는 경우입니다. 예를 들어 공작 타이틀을 목적물로 하여 전쟁을 했다면 그 공작 타이틀을 강탈해오는 거죠. 그럼 어떻게 되겠어요? 그 공작 이하의 봉신들은 내 봉신으로 들어오겠죠? 보통의 클레임 전쟁에서는 이렇게 처리하는 경우가 많습니다.
그런데, 성전을 생각해 보면 어떤가요? 성전의 경우 자신과 종교가 같은 봉신은 그대로 봉신으로 넘어오지만, 그렇지 않은 경우에는 목표가 된 타이틀 이하의 모든 타이틀도 내 것으로 넘어오죠? 즉, 목표가 되는 타이틀의 하위 타이틀로서 패전한 자가 가지고 있던 타이틀들이 모두 내 소유로 넘어올 수도 있는 겁니다. 이제 이것들을 구현을 해야죠.
타이틀을 강탈해 오는 명령어는 usurp_title 류의 명령어를 쓰게 되는데요. 모두 다섯 가지가 있는데, 원본의 CB 에서는 그 중 네 가지 명령어가 사용되고 있더군요.
on_success_title = { usurp_title_plus_barony_if_unlanded = { target = ROOT type = claim } if = { limit = { higher_tier_than = BARON NOT = { culture = ROOT } } hidden_tooltip = { conquest_culture = ROOT } } }
아래쪽에 있는 conquest_culture 를 설정하는 부분은, 침략 전쟁의 전후 처리에서 종종 보이는 부분입니다. 점령된 땅의 문화와 점령한 자의 문화가 서로 다른 경우에, 점령한 자의 문화를 정복 문화로 설정하여 문화 동화가 가능하도록 해 주는 부분인데, 문화 동화를 중요하게 생각하시는 분이라면 이 부분을 눈여겨 볼 필요가 있겠습니다. 이렇게 쓴다는 걸 알고 계시면 편하니까요.
그런데, 전쟁 명분에 따라서는 그대로 타이틀을 특정인에게 넘겨주거나, 단지 상속이 일어나는 데 그치는 경우도 있습니다.
abdicate = yes : 상속이 일어납니다. 보통은 작위 승계 예정자가 현재의 주군을 상대로 전쟁을 일으킨 경우에 그 전쟁에 승리한 경우의 처리로 이 명령어를 사용하죠.
abdicate_to = ROOT : 이건 딱 한 군데 쓰입니다. 본연의 목적은 목적이 된 타이틀을 ROOT 에게 넘겨줍니다. 사실 일반적인 경우에 사용되는 것을 기대하기 어려운 명령어예요.
abdicate_to_most_liked_by = ROOT : 이것도 딱 한 군데(주군의 퇴위를 위한 전쟁)에서 쓰였는데, 사용해 본 적이 없는 명령어라서 구체적으로 뭐가 다른지 잘 모르겠어요.
아마 이름으로 봐서는 아래 것은 공작령을 부수는 효과가 있는 것 같습니다.
on_success_title = { ROOT = { vassalize_or_take_under_title_destroy_duchies = { title = PREV enemy = FROM type = invasion } } }
주어지는 타입과 옵션에 따라서 그 구조가 달라지는 것 같습니다. type 의 경우 invasion, holy_war, revolt, host 의 4가지가 사용되었는데, 구체적으로 뭐가 달라지는지 모르겠어요. 그 외에 함께 사용된 옵션은 다음과 같습니다.
이슬람의 백작령 단위 정복전쟁의 경우, 굳이 해당 타이틀을 강탈하지 않고 다만 봉신화를 시키는 경우를 볼 수 있습니다. 아래 코드를 보시죠.
on_success_title = { if = { limit = { holder_scope = { tier = count NOT = { num_of_count_titles = 2 } lower_tier_than = ROOT } } holder_scope = { set_defacto_liege = ROOT } } }
조건을 읽을 수 있겠어요? 상대의 Tier 가 백작이고, 가진 백작령의 수가 1개 뿐이며, 나보다 낮은 작위인 경우 (즉 플레이어가 공작 혹은 그 이상인 경우) 에는 굳이 그 땅을 빼앗지 않고 그 백작령을 나의 봉신으로 만들어 버리는 겁니다. (set_defacto_liege = ROOT)
때로는 다른 명령어를 사용하는 경우에도 이와 같이 직접 점령한 타이틀에 대해서 군주를 직접 설정해 줘야 하는 경우도 있을 수 있습니다.
특수한 경우가 하나 있군요. 보통은 특정한 타이틀을 걸고 전쟁을 하고, 승리하면 점령한 홀딩과 관계 없이 그 목표 타이틀 및 그 이하에 대해서 모두 효과가 발생하는 것이 보통입니다. 그런데, 일부 전쟁의 경우, 목표한 타이틀과는 관계 없이 점령한 모든 홀딩을 소유하게 되는 경우도 존재합니다. 예를 들면 인베이전의 경우.. 이것도 별도의 명령어로 구현을 합니다.
on_success = { ROOT = { occupy_minors_of_occupied_settlements = FROM gain_all_occupied_titles = FROM } }
occupy_minors_of_occupied_settlements : 예를 들어, 특정한 백작령의 수도 홀딩을 점령하고, 그 이하의 수도원이나 도시, 다른 성 등을 아직 점령하지 않았을 경우에도, 해당 백작령의 수도 홀딩을 점령했을 경우 그 이하의 남작령들도 모두 점령한 것으로 보는 옵션입니다.
gain_all_occupied_titles : 점령한 모든 타이틀을 얻습니다.
위 두 명령어는 늘 위와 같이 붙어 다닙니다. 전쟁 상대방이 가지고 있던 홀딩 중 내가 점령한 땅들이 모두 내 땅이 되는 거죠.
사실 위에서 다룬 내용 중에는 대체 각각이 뭐가 다른거야 싶은 내용들이 있습니다. 확실한 구별점을 설명드리지 않은 이유는 사실 저도 잘 모르기 때문이예요. 분명 동작에 미묘한 차이가 있을 텐데, 아직 내공이 부족하여 거기까지는 설명드리기가 어렵습니다.
전쟁에 불려온 자들에 대해서 보상 또는 페널티가 주어질 수 있습니다. 이건 쉬워요. 각각의 내부에 any_defender = { }, any_attacker = { } 스코프를 설정하고 그 안에 서술해 주면 되니까요. 보통은 Prestige 나 Piety 를 주는데, Success 의 경우에는 공격자에게, Fail 이나 Reverse Demand 의 경우에는 방어자에게 줍니다.
on_success = { any_attacker = { limit = { character = ROOT } participation_scaled_prestige = 100 } any_attacker = { limit = { NOT = { character = ROOT } } hidden_tooltip = { participation_scaled_prestige = 100 } } } on_fail_title = { any_defender = { limit = { character = FROM } participation_scaled_prestige = 100 } any_defender = { limit = { NOT = { character = FROM } } hidden_tooltip = { participation_scaled_prestige = 100 } } } on_reverse_demand = { any_defender = { limit = { character = FROM } participation_scaled_prestige = 150 } any_defender = { limit = { NOT = { character = FROM } } hidden_tooltip = { participation_scaled_prestige = 150 } } }
고정된 Prestige 값이 아니라, scaled_prestige 인 걸로 봐서 아마도 전쟁 기여도에 따라서 값을 나누는 것 같습니다. 저도 정확히는 모르겠어요.
특정한 상속제도를 얻기 위한 전쟁이었을 경우에, 승리한 경우 목표한 타이틀의 상속제가 변경되겠죠.
on_success_title = { succession_w_cooldown = primogeniture }
클레임 전쟁에서 패배하는 경우, 페널티로서 그 클레임 권리를 잃게 되죠.
on_reverse_demand_title = { ROOT = { remove_claim = PREV } }
전쟁을 일으킨 리더가 전쟁 중 사망한 경우 어떻게 처리할 것인지는 on_attacker_leader_death = { } 섹션에서 정의합니다. 위에서 보았던 기본 구조에는 없었던 내용이죠? 필수적인 내용은 아닙니다.
on_attacker_leader_death = { end_war = invalid }
대부분 위와 같이 invalid (전쟁 명분 무효화) 로 전쟁이 종료됩니다만, 인베이전의 경우에는 whitepeace 로 전쟁이 종료되도록 설정되어 있더군요. 많은 경우, 리더의 사망 사실을 알리는 이벤트가 함께 일어나도록 설정되어 있습니다.
참고로, 반대로 방어자들의 리더가 사망한 경우의 처리도 설정 가능합니다. on_defender_leader_death = { } 섹션을 설정할 수 있어요. 원본에서는 딱 한 번 사용되었습니다.
인터페이스에 출력할 텍스트의 내용은 다른 것들과 마찬가지로 일정한 규칙에 의해 언어 파일에 정의가 됩니다.
아래는 위의 내용에 대한 예시들입니다.
other_dejure_county_claim_desc;The $TITLE$ (은)는 데 쥬레에 따르면 $CLAIMANT$ 의 봉신이므로(이하생략).;;;;;;;;;;;;x; CB_NAME_DEJURECLAIM;데쥬레 [Title.GetBaseName] 작위 주장;;;;;;;;;;;;x; WAR_NAME_DEJURECLAIM;데쥬레 $OTHER_TITLE$ 주장의 $ORDER$$FIRST_ADJ$-$SECOND_ADJ$ 전쟁;;;;;;;;;;;;x;
위에서 그동안 보지 못했던, $ 기호 사이에 들어가는 치환자들이 등장했습니다. 그동안 메시지 ID 에서 흔히 써오던 대괄호 안에 정의하는 치환자와는 좀 다른데요. [] 치환자가 등장하기 전에 사용되던 구식 치환자들입니다. 물론 지금도 사용하는 데 전혀 문제는 없습니다. 사용 가능한 구식 치환자의 목록은 이 페이지에서 확인 가능합니다.
더 미룰 수가 없어서, 불완전한 상태의 원고이지만 일단 공개합니다. 아직 해결되지 않은 부분이 많고, 아마도 잘못 설명된 부분도 있을 것이라고 생각합니다. 실제 전쟁 명분을 모딩해 보신 분들께서 많은 지식을 나누어 주셨으면 합니다.
첫댓글 check_de_jure_tier = KING
이건 제가 인터넷 돌아다니며 주운 명분(클레임) 파일 수정하면서 확인해본결과 추정상 작위인거 같습니다
tri_invasion 에 check_de_jure_tier = KING 면 '왕'작위로 전쟁 명분을 겁니다.
듀크면 공작령 단위로 엠퍼러면 황제 작위로 (예:신성로마제국에게 신롬제를 내놓으라고 전쟁할수있음)
단 자신의 작위 이상이면 튕겨져 나갑니다.
신성 로마 제국으로 tri_invasion (check_de_jure_tier = 엠퍼러) 로 비잔티움에게 전쟁 걸어서 imprison(포로 잡는 콘솔)로 비잔티움 황제를 잡아서 요구 강요시 일부 땅 제외하고 자신의 땅으로 되더군요. 반대로 tri_invasion (check_de_jure_tier = KING)로 imprison 해서
요구 강요시 그 작위의 하위 작위들은 봉신화 된채 넘어오게 됩니다.
예 : 프랑스 왕위를 상대로 tri_invasion (check_de_jure_tier = KING) 클레임으로 전쟁 걸어서 imprison 로 요구 강요(승리)하게 되면 전쟁전 프랑스 왕이 가지고 있던 봉신들이 모두 플레이어의 봉신화가 됩니다.
음.. 제가 테스트한 CB 의 베이스가 인베이전이라서 차이가 없었던 걸까요? 제가 check_de_jure_tier 를 변경하면서 확인해봤을 때는 효과상의 차이는 보이지 않았습니다. 아예 쓰지 않으면 듀크 이상에서도 데쥬레 목록이 안 나오고, 쓰면 듀크 이상에서 해당 데쥬레의 목록이 출력되더군요. 목록의 출력 빼고 실제 결과에선 차이가 없었는데, 뭐 그도 그럴 것이 결과는 결과를 정의하는 섹션에서 코드로 구현하는 거니까요..
해당 티어를 대상으로 전쟁을 걸 때 데쥬레 목록이 나오느냐 안 나오느냐의 차이만 있을 뿐, 그 타이틀을 내놓으라고 전쟁을 걸 수 있느냐 없느냐는 is_permanant = yes 와 check_all_titles = yes 가 해결을
해 주더군요. 그래서 더 더욱 뭐가 뭔지 알 수가 없는 것 같습니다. 이해가 잘 되지 않아요...
어차피 전쟁은 목표 타이틀이 속한 최상위 티어에게 걸어서 해당 목표를 요구해야 하는 것인데, is_permanant = yes 와 check_all_titles = yes 의 조합이면 최하위부터 최상위까지 모든 클레임이 다 나옵니다. 심지어 제가 브리타니 왕이고 상대가 비잔티움 황제인데, is_permanant = yes 와 check_all_titles = yes 의 조합으로 비잔티움 황제위를 내놓으라고 전쟁을 걸 수가 있더군요. CB 설계에서 따로 제한 안 하면 백작이 한방에 황제 될 판... 하여튼 정말 복잡하고, 납득이 잘 가지 않는 동작들이 너무 많습니다.. orz
제가 가진 2개의 cb를 보면 둘다 is_permanant = yes 구문 가지고 있고check_de_jure_tier = DUKE , check_de_jure_tier = KING 입니다. 하지만 check_all_titles = yes 라는 구문은 없습니다.
그리고 클레임 목록서 보면 상대가 보유하고 있는 공작령이나 왕급에 저 작위를 내노라고 전쟁을 걸수 있었습니다.
심지어 혹시나 해서 check_de_jure_tier = 엠퍼러 넣어봤을때 되더군요. 단 없었던 적도 있긴합니다.
'해당 급 작위가 없거나' , '다른 클레임들을 보유할시' 이 두조건이라면 없어지더군요.
다른 클레임을 보유할시는 애매한게 데쥬레 클레임이 보유하면 없더니 클레임 조작시엔 있었습니다.
그런걸로 볼때 뭔가 있는거 같은데 애매하
check_all_titles = yes 를 제외하고 한번 그 조합으로 다시 한 번 테스트를 해 봐야겠네요. 정확한 레퍼런스가 없으니 참 난감하네요 이럴 땐...
reflect_titleholder_change = 는 claim cb로 전쟁 시에 해당 claim 소유자가 바뀌었을때 전쟁이 invalid 처리 되는지에 대해서 관련있는 옵션이었던걸로 기억을 합니다
그런 거군요. 가끔 전쟁당사자가 죽거나 했을 때 유효하지 않은 전쟁명분 어쩌고 취소되는 그 부분을 설정하는 건가 보네요.
전쟁명분 파트는 시작해놓고 보니 아는 게 정말 많지가 않아서, 아 이거 괜히 시작했다.. 라는 생각을 자주 하게 되는데(글이 안 써져요!), 이런 저런 테스트를 좀 더 해봐야 할 것 같습니다. 감사합니다.;-)
이런 글을 연대기 급으로 세세하게 써주시는게 더 감사할 따름입니다 모딩질 하면서 놓치고 있던걸 많이 배웠습니다
그리고 battle_warscore_mult 는 전투로 얻는 워스코어에 곱연산 되는게 맞을겁니다 성전 같은 경우 대규모로 싸워대니 획득량을 절반으로 낮춘게 아닌가 싶네요 성지를 점렁하고 지키는것에 중점을 두고 플레이 하라는 것일수도 있겠죠
더 미룰 수가 없어서, 일단 현재까지 작성된 부분까지만 수정해서 등록했습니다. 알려주신 내용도 반영했습니다.
안녕하세요 ㅜㅜ.. 오랜만에 크킹 2를 다시 시작해서 재 설치하고 날라간 모딩 부분을 다시 수정하고 있는 중인데, 예전에 분명히 이 부분을 건드려서 아우구스투스 트레잇을 가진 사람이 몽골이 쓰는 침략 명분을 사용 할 수 있게 수정을 했었는데 하도 손을 놓은지 오래되서 그런지 어떻게 모딩을 했었는지 전혀 기억이 안 나네요 ㄷㄷ.. 일단 몽골이 쓰는 침략 명분이 어떤 것이었는지 부터 찾고 있는데.. 영 잘 안되네요... 혹시 이 부분 아시면 답변 좀 부탁 드리겠습니다.
보니가 tribal_invasion 명분이 제가 찾는 침략 명분인 것 같은데, 여기서 어떻게 만져야 아우구스투스 트레잇을 가진 사람이 해당 침략 명분을 사용 할 수 있게 해주는지 영 생각이 안 납니다;; 예전엔 우째 했었는지 참 ㅜㅜ...,
오랜만이시네요. 일단, can_use = { }, can_use_gui = { }, is_valid = { } 세 개를 만지면 됩니다. 기존 내용과 OR 로 묶어서 trait = augustus 를 집어넣어주면 될 것 같은데요.
can_use_gui 랑 can_use_title 부분에 트레잇 구문 넣어서 해결했습니다. 감사합니다 ㅎㅎ
삭제된 댓글 입니다.
CB 를 설계하기에 따라서 충분히 가능할 겁니다. 좀 시행착오가 따르겠지만요.
적어주신 구문들은 모두 본문의 설명에 있을 겁니다. + 처음부터 백지상태에서 만들려 하시면 멘붕하십니다. 적당한 기존 CB를 놓고 수정하시면서 자신만의 CB를 구성해 보십시오.
KING 을 수정하면 됩니다만.. 별로 추천하고 싶진 않습니다. 전쟁 개시 메뉴가 너무 지저분해질 거예요.. 어차피 사람들이 왕국령 단위의 넓은 범위 전쟁을 하기를 원하는 건 감질나는 백작령 단위 전쟁이 싫어서.. 니까요...
중괄호 갯수가 안 맞는 건 타이핑 오류인가요? 중간에 오류가 있으면 그 이후가 아예 적용이 안됩니다
아. 짝이 안 맞는 것 같아서요.
히든 툴팁은 실질은 아무 효과가 없습니다. 그냥 해당 명령을 툴팁에 보여주지 않을 뿐이예요. 뭔가 다른 이유가 있었을지도 모릅니다.