|
왜 굳이 3개의 파일로 나누어 놓았는지는 모를 일입니다.
다음, 트레잇 아이콘 (이미지) 파일은, gfx/traits 폴더 내에 있습니다. 트레잇 아이콘 이미지 파일은 CKII 에서 사용하는 다른 대부분의 이미지들과 마찬가지로 .DDS 포맷으로 되어 있습니다. 파일 이름을 정하는 데에 일반적인 규칙은 존재하지 않지만, 대개는 트레잇의 이름과 같이 정하는 것이 혼동을 막을 수 있겠죠. 이 파일을 만들고 수정하는 것 역시 뒤에서 다시 확인하겠습니다.
트레잇 정의와, 트레잇 아이콘 파일이 있습니다. 이제 이들을 연결해 줄 연결 데이터가 필요하겠죠. 이 연결 데이터는 interface/traits.gfx 파일에 들어 있습니다. 자세한 내용은 마찬가지로 뒤에서 확인합니다.
이와 같이, 하나의 트레잇을 새로 만들어 넣기 위해서는 위 세 개의 데이터를 추가해 주어야 합니다. 물론, 기존에 존재하는 트레잇의 효과만을 수정하고 싶다면 제일 위에 있는 트레잇 정의 파일만 수정하면 되겠지요.
우선 트레잇 정의 파일을 봅시다. 어찌 보면 가장 핵심적인 파일이죠. 새로운 트레잇을 추가하시려면 앞에서 말씀드린 대로 02 보다 더 큰 숫자를 이용해서 모드 폴더의 같은 위치에 파일을 하나 임의로 추가하신 후 거기에서 편집을 하시면 되겠습니다.
설명을 위해서 원본 파일 중 하나를 아무거나 열어보겠습니다. 파일을 열어보시면, 아래와 같이 정말로 단순하기 그지없는 파일의 구조를 보실 수 있습니다.
amateurish_plotter = { education = yes intrigue = 1 stewardship = -1 } flamboyant_schemer = { education = yes intrigue = 3 stewardship = -1 } kind = { personality = yes opposites = { envious cruel } intrigue = -2 diplomacy = 2 vassal_opinion = 10 opposite_opinion = -10 same_opinion = 10 ai_honor = 10 male_insult = INSULT_SOFT male_compliment_adj = COMPL_KINDLY female_compliment_adj = COMPL_KINDHEARTED } heavy_infantry_leader = { leader = yes command_modifier = { heavy_infantry = 0.2 cavalry = -0.1 } }
처음 몇 개를 예시로 가져와봤습니다. 그냥 트레잇 이름(ID) 안쪽에 특별한 순서도 없이 효과와 속성을 한 줄씩 기록한 형태입니다. 따라서, 트레잇을 모딩하려는 플레이어는, 트레잇이 가질 수 있는 속성과 트레잇으로 가능한 효과의 목록만 잘 챙겨서 사용하면 된다는 거죠. 참 쉽죠? 이제 우리는 트레잇으로 무엇을 할 수 있는지만 알면 모든 게 끝나는 겁니다.
다른 이름과 마찬가지로, 트레잇 이름은 메시지 파일의 메시지 ID 로 사용되며, _desc 도 사용 가능합니다. 예쁘게 출력되도록 하려면 반드시 언어 파일에 설정해 주십시오. (트레잇의 언어 파일 정의에 대해서는 추가로 설명드릴 내용이 있어서, 뒤에서 다시 논의하겠습니다.)
위에서 트레잇 정의의 구조를 설명드리면서, 특별한 순서 없이 효과와 속성을 한 줄씩 기록했다고 말씀드렸습니다만, 그래도 대부분의 경우 해당 트레잇의 속성을 먼저 정의하고 그 아래에 효과들을 모아서 정의합니다. 막 뒤죽박죽 섞여 있으면 사람이 읽기가 어렵거든요. (막 섞어놓아도 컴퓨터는 알아서 잘 해석하긴 합니다.)
먼저 트레잇의 속성을 정의하는 예약어들을 먼저 알아보겠습니다. 꽤 많기 때문에, 유사한 기능을 하는 트레잇 속성 항목들끼리 그룹으로 묶어서 설명드릴게요. 그리고, 해당 종류의 트레잇과 관련된 명령어나 조건문이 있다면 함께 알아보겠습니다. 일부는 이미 설명드린 명령어나 조건문일 수도 있지만, 어떤 것은 여기서 처음 다루어지는 것일 수도 있습니다.
트레잇이 확장되어 온 역사는 CKII 의 시스템이 확장되어 온 역사와도 맞물려 있습니다. 캐릭터와 관련한 많은 기능들이 트레잇을 통하여 구현되어 왔기 때문에, 어떤 속성이 정의된 트레잇은 시스템상으로도 중요한 의미를 갖게 되는 경우가 있습니다. 이런 관점에서 아래 속성 항목들을 살펴보시면, 상당히 흥미로운 부분을 많이 발견하실 수 있을 것입ㄴ다.
다 알고 계시겠지만, 원본에 정의된 교육 트레잇은 하나의 스탯에 대응되는 4단계의 트레잇으로 이루어져 있지요. 예를 들면 음모(Intrigue) 스탯의 경우, 서툰 음모가(Amateurish Plotter) - 현란한 모사꾼(Flamboyant Schemer) - 치밀한 설계자(Intricate Webweaver) - 수수께끼 환영(Elusive Shadow) 의 4단계로 구성되어 있습니다. 이 글은 모딩 가이드이므로 이 이상 자세한 설명은 하지 않습니다.
관련된 조건문으로, lifestyle_traits 가 있습니다. 이 조건문은 현재 스코프의 캐릭터가 가지고 있는 라이프스타일 트레잇의 갯수를 돌려주는 조건문입니다.
if = { limit = { NOT = { lifestyle_traits = 1 } } ... }
관련된 조건문으로, personality_traits 이 있습니다. 뭔지 벌써 아시겠죠? 퍼스널리티 트레잇의 갯수를 돌려주는 조건문입니다. 원본에선 제법 쓰이고 있지만, 모딩 과정에서 이 조건문을 쓸 일이 과연 있을지...
다시 관련된 조건문. health_traits 조건문은 건강 트레잇의 갯수를 돌려주는 조건문입니다.
is_ill 조건문(yes/no), has_disease 조건문(yes/no)으로 확인이 가능합니다. (이 두 조건문이 서로 범위가 같은 것인지 저도 잘 모르겠습니다.)
이 질병은 cure_illness = yes 명령으로 치료할 수 있습니다.
has_epidemic 조건문(yes/no)으로 확인이 가능합니다. 원본의 is_epidemic 트레잇은 모두 is_illness 와 함께 다닙니다. (아마도 그렇기 때문에, is_epidemic 도 cure_illness = yes 명령으로 치료할 수 있을 것입니다.)
agnatic = yes : 이 트레잇은 아버지로부터 이 트레잇을 물려받습니다. (부계를 따라 항상 상속이 이루어집니다.)
birth = N : 캐릭터 생성(탄생) 시, 이 트레잇을 얻을 확률을 정합니다. 숫자는 1만 명의 캐릭터가 태어났을 때 몇 명의 캐릭터가 이 트레잇을 얻는지의 확률입니다. (따라서 100=1%)
inherit_chance = N : 부모로부터 이 트레잇을 물려받을 확률을 정합니다. 만약 부모 양쪽에 모두 이 트레잇이 있다면, 해당 확률로 2회 시행하여 결과를 정합니다. (즉 명목상 확률은 2배가 됩니다.)
random = no : 이 트레잇은 랜덤으로 캐릭터에게 부여되지 않습니다. (이벤트 등을 통해서만 캐릭터에게 부여됩니다.)
따라서, 플레이어 전용으로 사용할 트레잇의 경우 반드시 이 옵션을 붙여 주십시오.
customizer = no : 이 트레잇은 룰러 디자이너를 통해 캐릭터에게 부여할 수 없습니다.
ruler_designer_cost = N : 룰러 디자이너에서 이 트레잇을 캐릭터에게 부여하는 경우, 얼마의 나이를 공제/합산할지를 결정합니다. 플러스 마이너스 값을 모두 가질 수 있죠.
cannot_inherit = yes : 이 캐릭터는 작위를 상속받을 수 없습니다. 따라서 이 트레잇을 가진 캐릭터는 승계 순위에서 제외됩니다. 원본에서는 수도자들에게 주어지는 트레잇에 이 속성이 달려 있죠.
cannot_marry = yes : 이 캐릭터는 결혼할 수 없습니다.
blinding = yes : 이 캐릭터는 감옥에서 영원히 눈이 멀었으며, 이에 따라 승계에서 제외되었습니다. 비잔틴의 눈뽑기 디시전에 당한 캐릭터가 얻는 트레잇에 이 설정이 있습니다.
단, 정말로 승계에서 제외되는지는 각 문화별로 차이가 있습니다. 이것은 뒤에 문화 모딩 파트에서 그 설정을 보게 됩니다.
immortal = yes : 이 캐릭터는 불사의 몸을 가졌기에, 자연사하지 않습니다. 네. 단지 "자연사하지 않는다"는 것 뿐입니다. 감옥에서 처형당하거나, 각종 이벤트의 결과로 인한 죽음은 당할 수 있습니다. 완벽히 죽음을 막아주는 트레잇 설정은 아닙니다.
in_hiding = yes : 현재 이 캐릭터는 은신 중입니다. 은신의 효과를 받습니다. 샤를마뉴(2.2.x) 이상에서 도입된 설정이지요.
inbred = yes : 이 캐릭터는 근친혼으로 출생했으며, 그에 따른 유전적 결함을 그대로 가지고 있습니다.
incapacitating = yes : 이 캐릭터는 병약하여 섭정을 필요로 합니다.
pilgrimage = yes : 이 캐릭터는 잠시 영지를 떠났으며 따라서 섭정을 필요로 하지만, 자신의 피후견인을 그대로 유지합니다.
게임 내에서는 일반적으로 성지순례를 떠난 경우에 이 트레잇을 사용합니다. 모딩 시 주의할 점은, 이 트레잇을 가지고 있다고 하더라도 게임 내에서 해당 캐릭터가 있는 장소를 체크할 경우 캐릭터가 있었던 그 홀딩을 가리킨다는 점입니다.
caste_tier = N : 이 트레잇은 카스트 트레잇으로, 해당 카스트의 몇 번째 순서인지를 정합니다. 인도 관련 종교 트레잇에 이 설정이 존재합니다.
priest = yes : 이 트레잇은 종교적인 교육을 받은 자를 의미합니다. 교육 트레잇 중 종교 관련 4개의 트레잇에 이 속성이 함께 걸려 있습니다.
조건문 is_priest (yes/no)을 사용할 수 있습니다.
religious = yes : 이 트레잇을 가진 자는 개종 시 이 트레잇을 자동으로 잃습니다. (파간의 개혁에 따라 변경되는 경우에도 동일합니다)
religious_branch = religion : 이 트레잇은 특정 종교의 분파를 나타냅니다.
prevent_decadence = yes : 이 트레잇은 무슬림 캐릭터를 데카당스로부터 차단합니다. (원본 트레잇 중에는 이 속성을 가진 트레잇은 없습니다.)
특정 종교에 대한 관용 : tolerates_christian, tolerates_jewish_group, tolerates_muslim, tolerates_pagan_group, tolerates_zoroastrian_group, tolerates_indian_group. (모두 yes/no 를 받는다.) 게임 상에서는 특정 종교였다가 개종한 경우, 원래의 개종 전 종교에 대해서 이 트레잇을 얻게 되곤 합니다.
cached = yes : 이 트레잇을 가진 모든 캐릭터는 캐시가 이루어지며, 트리거 이벤트 시 더욱 효과적으로 실행될 수 있습니다. (캐릭터 수는 한정되어 있어야 합니다)
opposites : 이 트레잇의 반대 트레잇. 목록으로 나타냅니다.
opposites 라고 되어 있어서, 항상 서로 상극의 트레잇만 지정되는 것으로 오해할 수 있는데요. 꼭 그런 것만은 아닙니다. 단지 이들 트레잇과는 함께 지정되어서는 안된다는 의미일 뿐입니다. 따라서, 일곱 가지 미덕/악덕 트레잇에서처럼 서로간의 관계가 항상 마이너스가 되는 것은 아닙니다. (원본에서는 대부분 상극의 경우에 사용되긴 하지만요.) 바로 아래에서 보는 opposite_opinion 값을 어떻게 지정하느냐에 따라서 이들간의 오피니언 수치가 증가할지 감소할지를 결정합니다.
opposite_opinion = N : 반대 트레잇이 지정된 경우 해당 반대 트레잇의 소유자에 대한 오피니언 수치의 증감을 정할 수 있습니다.
same_opinion = N : 동일한 트레잇을 가진 자에 대한 오피니언 증감 수치를 정할 수 있습니다. 원본에서는 쌍둥이의 경우에 서로간의 오피니언 값이 증가하는 효과를 구현해 두고 있죠.
leadership_traits = N : 앞에서 leader = yes 설정을 말씀드리면서, 리더십 트레잇은 가질 수 있는 조건을 충족해야 얻을 수 있다고 말씀드렸지요. 거기서 말씀드린 그 "일정한 조건" 입니다. 이 속성이 부여된 트레잇을 얻은 자는 N 개의 리더십 트레잇을 얻을 수 있습니다.
원본에는 무력(Martial) 관련 교육 트레잇 중 최고(4단계)의 트레잇인 Brilliant strategist(뛰어난 전략가) 트레잇에만 1이 지정되어 있습니다. 따라서 원본 상태라면 이 트레잇을 획득했을 때 1개의 리더십 트레잇을 얻을 수 있습니다. 모두가 이 트레잇을 원하지만, 아시다시피 아이를 잘 키워서 16세에 뛰어난 전략가 트레잇을 획득하도록 하는 것은 어느 정도 운이 따라주어야 하는 일입니다.
이벤트 등에서 이 캐릭터가 리더십 트레잇을 추가로 얻을 수 있는지를 확인하려면 can_have_more_leadership_traits (yes/no) 조건문을 사용하시면 됩니다.
어떤 트레잇은 획득의 기본 자격이 설정되어 있는 경우가 있습니다. 예를 들면, 16세 미만의 미성년자만 획득할 수 있다거나, 특정한 성별의 경우에만 획득할 수 있다거나 등. 트레잇 정의 내에 potential = { } 섹션을 정의하면, 이런 의미로 동작하게 됩니다.
potential = { OR = { religion = norse_pagan religion = norse_pagan_reformed } }
단, 이 조건은 캐릭터가 랜덤으로 이 트레잇을 부여받을 때만 적용되며, 이벤트 등으로 해당 트레잇을 획득하는 경우에는 potential = { } 의 조건을 충족하지 못하였어도 획득이 가능합니다.
이 트레잇을 가진 캐릭터가 전투 시 지휘관으로 나선 경우, 그가 지휘하는 부대의 각종 수치들 - 사기, 공격, 방어 수치 - 을 이 설정에 따라 보정하게 됩니다.
원본에서는 이 항목은 리더십 트레잇 쪽에 존재하는 경우가 많지만, 일반 트레잇 중에서도 이 항목을 가진 경우가 있습니다. (Brave 트레잇 등) 여기에 어떤 내용을 쓸 수 있는지는 다음 항목(효과 부분)에서 설명드리겠습니다.
트레잇을 통해 캐릭터에게 부여 가능한 효과는 상당 부분 캐릭터 모디파이어와 겹치지만, 일부 그 영역을 벗어나는 것이 있습니다. (목록으로 만들어 보면 생각보다 몇 개 안 됩니다)
이 내용은 위키에 명시된 내용 이외에, 원본의 트레잇 정의 파일을 분석하여 실제로 사용되고 있는 모든 항목을 추가한 것입니다.
캐릭터의 스탯, 건강, 생식력 등을 보정할 수 있습니다.
매달 일정한 명성/신앙심/수입을 캐릭터가 얻게 해 줍니다.
각종 범주의 오피니언 수치를 보정할 수 있습니다.
트레잇을 통해서 해당 캐릭터가 영주로서 가질 수 있는 직할령의 숫자를 늘릴 수 있다는 점이 특히 눈에 띄는군요.
캐릭터 모디파이어 때에는 없었던 항목들이죠. 이 트레잇이 AI 에게 주어졌을 때 해당 AI 의 행동 경향을 보정합니다.
해당 캐릭터가 전투 지휘관으로 사용될 때에 그 부대에 적용될 모디파이어 항목들입니다. 원본에서는 리더십 트레잇에서 주로 정의되는 내용들이라고 말씀드렸었죠. 주요 내용들만 확인해보면 다음과 같습니다. 트레잇에서 이 항목들을 정의할 때에는 반드시 command_modifier = { } 내부에 기록되어야 합니다.
그 외 나머지 모두에 대해서는 위키의 Command Modifiers 표를 참조하십시오.
command_modifier = { morale_defence = 0.1 center = 0.1 }
모든 트레잇은 게임상에 표시하기 위한 트레잇 아이콘 이미지를 갖고 있어야 하죠. 앞에서도 말씀드렸듯이, 트레잇 아이콘 이미지는 gfx/traits 폴더 내에 모여 있습니다. 모드에서도 같은 위치가 되도록 폴더를 작성하시고 그 안에 이미지를 만들어 넣어주시면 됩니다. 파일 이름은 혼동을 막기 위해 보통은 해당 트레잇의 이름(ID)을 그대로 사용합니다만, 꼭 그래야 하는 것은 아닙니다.
아이콘 이미지는 다른 경우와 마찬가지로, 그 형식에 .DDS 형식을 사용합니다. 이미지 크기는 24x24 픽셀이며, 깔끔하게 보이도록 하기 위해 알파 채널이 설정되어 있어야 합니다. 이미 앞에서 디시전 아이콘을 만드는 방법을 설명드리면서 모두 한번씩 살펴봤던 내용이고, 이미지의 크기만 다를 뿐 디시전 아이콘을 만드는 것과 모든 내용이 동일합니다. 따라서 여기서는 별도로 설명드리지는 않습니다.
트레잇 정의 파일 이외에, 트레잇과 트레잇 아이콘을 연결해주는 트레잇 아이콘 목록 파일이 있습니다. 이 파일은 interface/traits.gfx 로 존재합니다. 아래는 그 일부분을 가져와 본 것입니다.
spriteTypes = { spriteType = { name = "GFX_trait_amateurish_plotter" texturefile = "gfx/traits/amateurish_plotter.tga" noOfFrames = 1 norefcount = yes effectFile = "gfx/FX/buttonstate.lua" } spriteType = { name = "GFX_trait_flamboyant_schemer" texturefile = "gfx/traits/flamboyant_schemer.tga" noOfFrames = 1 norefcount = yes effectFile = "gfx/FX/buttonstate.lua" } ... }
파일의 구조는 위와 같습니다. 이미 우리는 .gfx 파일을 다뤄본 적이 있기 때문에, 몇몇 항목은 눈에 익을 것입니다만, 지난번의 디시전 아이콘이나 이벤트 이미지 파일보다는 뭔가 설정 사항이 많아 보이죠? 다 신경쓸 필요 없이 그대로 적어주면 되고, 수정할 부분은 name 의 이름과 texturefile 의 파일 경로입니다.
아이콘을 별도로 만들지 않으실 생각이라면, 위 아이콘 폴더에 가셔서 적당한 아이콘을 하나 고르신 후 새로 생성한 트레잇에 연결해 줘도 됩니다. (즉, 하나의 트레잇 아이콘에 여러 개의 트레잇이 연결되더라도 상관 없습니다. 플레이어가 헷갈리는 건 또 다른 문제지만.)
다른 .gfx 파일과 마찬가지로, 트레잇의 경우에도 새로운 항목을 추가하는 경우에는 원본의 파일 이름 대신 새로운 파일 이름을 사용하여 내용을 추가할 수 있습니다. 또한 위키에 의하면, .gfx 파일 내의 설정은 같은 name 값이 중복될 경우 무조건 나중에 읽혀진 값이 적용된다고 하므로, 기존의 내용을 모드에서 수정하는 경우에도 원본을 건드리지 않은 채 다른 파일에서 원본 값의 수정이 가능합니다. 원본의 해당 파일보다 모드의 파일이 나중에 읽히기만 한다면요. 이 내용은 1회에서 설명드린 내용이지만, 사실 좀 어려울 수 있는 내용입니다.
트레잇의 이름은 그 자체로서 [그 트레잇을 가지고 있는 캐릭터] 라는 캐릭터 스코프로 사용할 수 있습니다. 만약 해당 트레잇이 cached = yes 옵션을 가지고 있다면 좀 더 효과적인 스코프 타겟팅이 가능합니다.
대개 언어 파일을 별도의 항목으로 다룰 때에는 뭔가 특별한 것이 있기 때문이었죠. 앞에서도 잠깐 언질을 드린 적이 있고요.
일단 - 다들 알고 계시겠지만 다시 한 번 말씀드리자면 - 트레잇도 다른 경우와 마찬가지로, 언어 파일에서 해당 트레잇과 연결하는 기준점은 이름입니다. 예를 들면, 용감한(Brave)의 경우, 언어 파일에 다음과 같이 정의되어 있지요.
brave;용감함;;;;;;;;;;;;x; brave_desc;이 자는 일신의 위험을 피하지 않습니다. 겁쟁이에게 질투를 받지만 (이하 생략).;;;;;;;;;;;;x;
트레잇 이름 뒤에 _desc 를 붙여서 그 설명을 붙이는 것까지 모두 동일합니다. 그러나, 트레잇의 경우 특별한 용법이 하나 있습니다. _death 라는 옵션이 그것입니다. 이미 11회에서 한 번 설명드린 적이 있긴 하지만, 특히 관련되는 내용이기에 간단하게 다시 한 번 설명드리겠습니다.
캐릭터가 사망할 때에는 사망의 이유가 있게 마련이고, CKII 에서도 사망의 이유가 항상 따라다닙니다. 캐릭터를 죽이는 명령어인 death = { } 에서도 사망의 이유(death_reason)를 정의하도록 하고 있고요. 그런데, 사망의 이유 중에서 death_trait 이 있었던 것을 기억하실지 모르겠습니다. 질병 또는 건강 수치를 급격히 줄이는 트레잇이 있는 상태에서 사망하는 경우, 해당 캐릭터는 그 이유로 사망한 것으로 처리되는데, 이것을 구현하는 것이 바로 사망 이유로서의 death_trait 이었습니다.
이를 활용하면 기존에 존재하는 사망 이유 이외에 새로운 사망 이유를 구현하는 것도 가능한데, 그 이유를 언어 파일에 정의할 때는, 트레잇 이름 뒤에 _death 를 붙여서 적습니다. 예를 들면 다음과 같습니다.
stressed_death;극심한 스트레스;;;;;;;;;;;;x; depressed_death;우울증;;;;;;;;;;;;x; ill_death;지병;;;;;;;;;;;;x; wounded_death;상처의 감염;;;;;;;;;;;;x;
예를 들면 폐렴(Pneumonic) 트레잇을 가지고 있는 상태에서 캐릭터가 사망하게 되면, 폐렴으로 사망했습니다 라고 사망 이유가 뜨게 되는 거죠.
이 글을 시작하면서 처음에 보여드린 트레잇의 예시가 꽤 많았었죠. 거기에 나오는 모든 설정들을 지금까지 모두 설명을 해 드렸습니다만, 딱 한 가지를 빼놓은 게 있습니다. 위 예시 중 친절함(Kind) 트레잇의 설정에 보면 이런 부분이 있어요.
male_insult = INSULT_SOFT male_compliment_adj = COMPL_KINDLY female_compliment_adj = COMPL_KINDHEARTED
게임을 하면서 우리는 AI 로부터 수많은 편지를 받게 되는데 말입니다. 어떤 경우는 굉장히 정중한 편지를 받게 되는 경우도 있고, 선전포고의 편지처럼 매우 모욕적인 편지를 받게 되는 경우도 있습니다. 예를 들면 선전포고의 편지에서 플레이어를 호칭할 때에 모욕적인 수식어가 붙어 있는 경우가 많죠? 바로 그 부분인데, 특정한 트레잇을 가지고 있다면 특정한 모욕 또는 경의의 수식어를 붙인 편지가 날아오게 되는 겁니다.
형식은 매우 간단합니다. 일단 남성/여성에 따라서 male/female 을 앞에 붙이고, 그 뒤에 이것이 경의의 표현이라면 _compliment 를, 모욕의 표현이라면 _insult 를 붙이면 됩니다. _adj 를 뒤에 추가로 붙이면, compliment 는 긍정적인 수식어로, insult 는 부정적인 수식어로 쓰이게 됩니다. 값은 언어 파일의 메시지 ID 를 받으므로, 그 값을 메시지 ID 로 해서 언어 파일에 작성하면 됩니다.
예를 들면, 일곱 개의 미덕 중 첫 번째에 위치한 순결함(Chaste) 트레잇의 경우, 이렇게 되어 있습니다.
male_compliment_adj = COMPL_CHASTE female_compliment_adj = COMPL_CHASTE male_insult = INSULT_PRUDE female_insult = INSULT_PRUNE female_insult_adj = INSULT_PRUDISH
네. 미덕 트레잇이지만, 경의와 모욕이 모두 있네요. 남성의 경우 경의의(긍정적인) 수식어로 COMPL_CHASTE, 모욕적인 표현으로 INSULT_PRUDE 가 있고, 여성의 경우 경의의(긍정적인) 수식어로 COMPL_CHASTE, 모욕의(부정적인) 수식어로 INSULT_PRUDISH, 모욕적인 표현으로 INSULT_PRUNE 이 정의되어 있어요. 언어 파일을 열어 보시면 바로 감이 오실 겁니다.
COMPL_CHASTE;순결함;;;;;;;;;;;;x; INSULT_PRUDE;내숭떠는;;;;;;;;;;;;x; INSULT_PRUNE;얼간이;;;;;;;;;;;;x; INSULT_PRUDISH;고상한척하는;;;;;;;;;;;;x;
...같은 것을 보고도 참 다양한 해석이 가능하다는 걸 이런 데서도 느끼게 해 주네요.
첫댓글 잘 만드셧는데 뭔가 어려워 보이네요 ㅜ
한번 원본 파일을 열어보시고 위 설명을 참고로 한번 읽어보세요. 대충 이런식으로 짠다는 것만 감을 잡으면 트레잇 모딩은 굉장히 쉽습니다.
정 어려우면 의도하는 효과를 갖는 트레잇과 가장 비슷한 거 하나를 복사한 다음에 조금 고쳐보는 수준부터 시작하시는 것도 좋습니다.
어쨌거나 원본만 건드리지 않으면 문제가 생겨도 금방 복구가 되니까요.
....새벽에 비몽사몽인 상태에서 글을 썼더니 확실히 좀 글이 어렵게 써지긴 했네요. -_-;; 나중에 좀 고쳐써봐야 하려나...
와.. 깔끔하게 잘 정리해주셨군요. 항상 감사합니다
그런데 혹시 지도 바꾸는 법 아시는지요?
지도 바꾸는 법이라면 맵 모딩 말씀하시는건가요?
네 맞습니다
맵 모딩은 기존의 육지 프로빈스를 분할해서 새 프로빈스를 만들거나, 빈 지역에 육지 프로빈스를 추가하는 것은 성공한 적이 있습니다만, 섬 추가는 처절하게 실패했었습니다. 뭐가 문제였는지 계속 로딩하다 크래시가 나더군요.
그 부분만이라면 예전에 봉인지 님께서 쓰신 프로빈스 추가 관련 게시물 두 개를 보시면 (약간의 시행착오를 거치면) 하실 수 있을 듯합니다.
감사합니다
잊을 뻔 했습니다만, 그 글에 보시면 해양 프로빈스 번호가 몇 번부터 시작한다는 설정이 있는데, 지금 버전에는 그 설정이 없고 해양 프로빈스의 번호를 따로 명시하는 방식으로 설정합니다. 따라서 거기 내용 중에 프로빈스를 추가하기 위해 해양 프로빈스를 뒤쪽으로 옮기는 작업은 하지 않으셔도 됩니다. 그리고 좌표 설정하는 것은 그 글에 나와 있는 방법으로 수작업 수정하는 것보다는 nudge 도구를 이용하시는 것이 훨씬 편리합니다. 아.. 맵 모딩 관련 내용도 적어볼까... -_-;;
적어주시면 좋죠! 한 서너시간 만져봤는데 구조부터 파악해야할 듯 싶네요. 갈 길이 멉니다..
삭제된 댓글 입니다.
보라빛 출생의 후계자 지정 효과를 구현하시려는 거라면, 완벽하게 구현은 불가능합니다. 보라빛 출생의 효과 자체가 하드코딩 되어 있는 거라서요.
제가 전에 비슷한 효과를 내기 위해서 모딩을 한 게 있는데(http://cafe.daum.net/Europa/5Bi3/2107), 후계자가 손자레벨로 넘어가는 단계에 오면 거기까지 컨트롤을 못 해서 효과가 틀어집니다.
특정 가문에게 트레잇을 주는 건 어렵지 않습니다. 계승을 시켜도 되고, 트리거 이벤트로 줘도 되고요. 계승시키는 것보단 트리거 이벤트로 주는 게 더 확실합니다. 그것도 위 글을 참조하시면 됩니다.
트레잇에 봉신 제한 명령어 ( vassal_limit ) 을 부여해서 봉신 제한을 늘릴 수도 있나요?? 약간 법 쪽에서만 효과가 발생 하게끔 되있는 것 같던데..
전에 테스트했던 기억으로는 안 돌아갑니다.
흠.. 그렇군요 봉신제한을 늘리려면 어떤 방법을 써야 할까요..?? ai는 못 쓰고 플레이어만 사용 가능 하게끔 법을 새로 만들어야 할려나요 ㄷㄷ
봉신 제한 수를 늘리는 건 법률에서 쇼부를 봐야 하는 거라... 미묘하네요. 정말 AI 는 선택할 수 없는 법률 항목을 따로 만들거나 하지 않는 한 어려울 것 같습니다. 물론 정부 체계를 모딩해도 가능은 한데, 플레이어만을 위한 정부체계를 따로 창조하는 것도 좀 말이 안 되니.....
글쎄요.. 그 인도 파괴 모드의 경우도 사실 최적화를 생각하고 만들었다기보단 어쩌다 보니 그 쪽으로 흘러간거라.. 현재로서는 다른 최적화 관련 모드들은 생각하고 있는 게 없습니다. 현재 손대고 있는 것만으로도 일단 넘칠 정도로 할 게 많아서요.. ^^
삭제된 댓글 입니다.
아이콘 지정이 잘못되었거나, 그게 아니라면 캐시 문제일 수 있습니다. 새 게임 시작 후에 콘솔 치트로 트레잇 적용했을 때 제대로 나타난다면 문제 없는 거예요.
좋은글 보고 갑니다. 직할령 땜에 그러는데 아우구스투스처럼 후계자 1인에게만 상속가능하고 플레이어만 독점 하려면 어케해야 될까요
아우구스투스라 하면 자주빛 출생을 말씀하시는 건가요?
엄청 늦은 댓글이긴 하지만 로마제국을 선포하면 주는 트레잇 말씀하시는 듯 합니다.
근데 아우구스투스 트레잇은 유전되는게 아니라 그냥 트리거 이벤트로 로마제국 타이틀을 가지고있으면 일정 시간 뒤에 부여하는 형식일 뿐입니다.
와 이거는 너무 어렵네요 ㄷㄷ;; 거의 손도 댈 수 없겠는데
새삼 모딩하는 분들이 얼마나 대단한 분들인지 깨닫고 갑니다.
글쓴 사람이 어렵게 쓴 게 문제지, 트레잇 모딩은 정말 간단한 모딩입니다. 기능을 좀더 풍부하게 하기 위한 곁다리 다 제외하고 나면, 핵심은 정말 간단해요.
트레잇으로 할 수 있는 게 많기 때문에 사용 가능한 모디파이어가 많은 것도 글이 이렇게 된 원인이기도 하겠네요..
트레잇 생성은 완전히 능력 밖이고... 일단 윈터 솔져라는 트레잇만 수정해봤는데요.
random = no라 한다면 이벤트를 통해서로만 얻을 수 있는거죠?
그런데 검색을 해보니 ai도 이벤트 혜택을 받는지 이거 들고 있는 지휘관이 많더군요.
ai 말고 플레이어만 확실하게 사용할 수 있는 방법이 뭐 없을까요?
기존 트레잇을 수정하면 그걸 획득하는 이벤트가 있는 한 AI 들도 영향을 받겠죠.
완전히 플레이어만 쓸 수 있게 하려면 새로 만들어 쓰는 방법이 제일 확실합니다. 기존에 존재하는 트레잇이라면 이벤트로 거의 다 얻을 수 있을테니까요.
그리고 트레잇 새로 만드는 거 그다지 어렵지 않습니다... 말씀드렸듯이 트레잇으로 쓸 이미지 적당한 거 하나 구해놓고, 트레잇 데이터 적당히 기존 거 참고해서 하나 작성한 후 그걸 .gfx 파일에 등록만 해 주면 되거든요..
그 과정이 저같은 까막눈에게는 토나오게 어려워보여서요...
설령 다 만든다고 쳐도 치트가 없는 이상 그걸 어떻게 캐릭터에게 입히는 지도 모르겠고...
아 근데 혹시 천재나 영재, 강인함 같은 유전적인 트레잇은 이벤트로 등장하지 않는 트레잇인가요?
이벤트로 등장하지 않는 트레잇을 수정한 다음에 birth = 0, random = no로 바꿔버리고 플레이어에게만 적용시킨다면 플레이어 고유의 트레잇이 되지 않을까요?
고수님의 의견을 묻고 싶습니다...
0. 진짜 고수님들은 지금 다 숨어 계십니다. 전 중수의 중간쯤도 안 돼요.
1. random = no 를 사용한다면, birth = 0 은 굳이 붙일 필요 없습니다.
2. 지금 검색해보니, strong, quick, genius 를 부여하는 이벤트가 존재합니다. 대부분 최근 사신의 수확에서 집중적으로 추가되었으나, 이전에 추가된 이벤트도 있네요.
3. 플레이어에게 특정한 트레잇을 부여하는 이벤트는 간단히 작성할 수 있습니다만, 역시 모딩의 기본을 어느 정도 아시는 분들에게만 그럴 겁니다. 이 모딩 가이드는 따라하기 방식의 편한 가이드는 아니다 보니, 보시는 분들이 그런 어려움이 있다는 걸 어느 정도 인지는 하고 있습니다만.. 강좌 보강할 시간이.. ㅠㅠ
그나마 최근에 조금 수정/개정한 게 네이버 쪽 가이드인데 (네이버 가이드 중에 가장 최근에 수정한 게 트레잇일 겁니다. 아마.) 그쪽은 최근에 쓴 것이다 보니 더 읽을거리가 많아서... ㅋㅋㅋ.... 제 성격상 "이대로 따라하시면 됩니다~ 참 쉽죠?~" 식의 따라하기 가이드는 쓰기가 힘들다 보니 참 어렵네요. 저처럼 본격적으로 모드를 만들고 유지하려는 게 아니라 소소하게 여기저기 수정해가면서 쓰실 분들에게 제 가이드는 상당히 불친절한 가이드일 수밖에 없나 봅니다.
아니요! 설명은 정말 잘해주셨습니다. 제가 보기에도 이보다 더 설명 깔끔하게 하시는 분이 없을 것 같네요.
다만 제가 워낙 이런 방면에서 까막눈이라 어려워하는거지 다른 회원분들은 tacitus님의 글을 보고 많이 배우셨을겁니다.
저도 모딩에 대해서 완전 생초보였는데 그래도 tacitus님의 글을 보고 이렇게 트레잇 수정, 병종 수정, 이벤트 수정 등을 할 수 있게 되었으니까요.
귀찮으실텐데 친절한 답변까지 달아주시고 정말 감사합니다. 좋은 하루 보내세요. ^^
오 정말 좋은 강좌네요. 감사합니다.