||<tablewidth=100%><tablealign=center><tablebordercolor=#000,#fff><tablebgcolor=#000>||
<bgcolor=#ffffff,#191919>{{{#!wiki style="margin:5px 0px;" {{{#!folding [ 펼치기 · 접기 ] {{{#!wiki style="margin: 0 0 -10px;" |
<colcolor=#373a3c><colbgcolor=#ffdd55>게 임 관 련 |
<colbgcolor=#ffeeaa,#554400>문명과 외교 | <colbgcolor=#fff> 등장 문명 · 외교 · 도시국가 · 첩보 · 세계 의회 |
유닛 | 개요, 기타 유닛 · 비전투 · 위인 · 육군 · 해군 · 공군 · 고유 유닛 · 진급 | ||
자원 · 건물 | 지형 · 자원 · 시설 · 건물 · 불가사의 · 자연경관 | ||
내정 | 기술 · 사회 정책 · 종교 · 문화와 관광 | ||
기타 | 게임 설정 · 시나리오 · 도전과제 · 비판 · 팁 | ||
모드 및 모딩 | 모딩 · Community Patch Project (VP) · 모드 문명 · 모드 불가사의 | ||
커뮤니티 | 문명메트로폴리스 · 문명 마이너 갤러리 | }}}}}}}}} |
1. 개요2. 도움말
2.1. 기본적 문제
3. ModBuddy 이용법과 파일 양식3.1. 모드 파일 연결
4. XML/SQL을 통한 데이터베이스 모딩4.1. 문명 자체4.2. 지도자
5. LUA6. 2D 이미지 그래픽/음향 추가7. 지도자 3d4.2.1. Leader4.2.2. Leader_MajorCivApproachBiases4.2.3. Leader_MinorCivApproachBiases4.2.4. Leader_Flavors4.2.5. 예시 지도자4.2.6. 지도자 대사
4.3. 특성4.3.1. Trait4.3.2. Trait_YieldChangesStrategicResources4.3.3. Trait_ImprovementYieldChanges4.3.4. Trait_SpecialistYieldChanges4.3.5. 예시 특성 1
4.4. 시설4.4.1. Build
4.5. 건물4.5.1. Buildings4.5.2. Building_AreaYieldModifiers4.5.3. Building_BuildingClassHappiness4.5.4. Building_BuildingClassYieldChanges4.5.5. Building_ClassesNeededInCity4.5.6. Building_FreeUnits4.5.7. Building_DomainFreeExperiences4.5.8. Building_DomainFreeExperiencePerGreatWork4.5.9. Building_DomainProductionModifiers4.5.10. Building_FreeSpecialistCounts4.5.11. Building_Flavors4.5.12. Building_GlobalYieldModifiers4.5.13. Building_HurryModifiers4.5.14. Building_LocalResourceAnds4.5.15. Building_LocalResourceOrs
4.6. 유닛4.7. 전문가4.8. 자연경관4.9. 자원4.9.1. 그래픽 관련 텍스트 파일
4.10. 텍스트4.11. 승급4.12. 기술4.12.1. 시대
4.13. 사회 정책4.14. 세계 대회4.14.1. 프로젝트
4.15. 기타4.16. 종교1. 개요
문명 5의 모드랑 데이터에 대한 문서.문명 5는 모듈화가 되어 있어 모딩이 매우 쉬운 축에 속한다. 모드 문명 문서에 가면 알겠지만 별의별 게 다 나온다. 문명 5의 모딩은 세 부분으로 나뉘어져 있는데, 데이터베이스 모딩, LUA 스크립트와 모델링, 텍스쳐 모딩이 있다. 데이터베이스의 경우 XML이나 SQL로 하며, LUA 스크립트는 말 그대로 LUA로 쓰며, 모델링의 경우 모델링 프로그램 + (텍스쳐를 위한) 이미지 에디터와 3자 파티 스크립트랑 공식 도구박스로 해결한다.
XML/SQL과 LUA로 모딩을 만드려면 스팀에서 문명 5 SDK를 받아서 ModBuddy를 돌리자. 이거 없이 순수히 텍스트 에디터로 모드를 만들 수 있기는 하지만 파일 임포트 같은 것을 수동으로 처리해야 하고 모드 요구사항/참조 같은 것을 더하는 데 매우 불편해서 그냥 이거 쓰는 게 낫다.
2. 도움말
- 로깅을 켜라
ModBuddy는 컴파일러지만 자체적으로 XML이든 LUA든 신택스 같은 것을 점검하지 않아서 모드를 막상 시험하려 하면, 특히나 첫 작품일 경우 웬만해서는 오류가 쏟아져 나온다. 로깅을 키면 게임에서 무엇을 제대로 못 읽었는지 잡아준다. 먼저 로깅을 활성화하기 위해서는 문명 5 세팅 폴더에 들어가야 하는데, 윈7 기준으로 기본적으로 내 문서/내 게임들/Sid Meier's Civilization 5가 그 폴더다. 그 폴더 안에는 config.ini가 있는데, 여기서 바꿔야 할 것은
EnableTuner = 1 (FireTuner를 쓸 경우)
ValidateGameDatabase = 1
EnableLuaDebugLibrary = 1 (LUA 코딩을 쓰는 모드를 썼을 경우)
LoggingEnabled = 1
이 네 항목이다. 이것들을 게임 시작 전에 바꿔서 저장하면 된다. 이중 LoggingEnabled와 ValidateGameDatabase는 필수적이며, 오류가 나타났다 하면 폴더 안의 Log 폴더에서 Database.log를 확인하면 된다. 보통 제작자의 모드에 오류가 있으면 제작자가 만들 파일에 연결된 오류가 로그에 잡힌다. 이것에 있는 문제 덕에 문명이 제대로 돌아가지 않는게 십중팔구므로 아예 백업 config.ini 파일을 만들어서 빨리 Ctrl+CV를 할 수 있게 하자. LUA의 경우 위에 있는 코드에 오류가 있으면 밑에 있는 코드는 죄다 씹으므로, lua.log를 보아서 빨리 버그를 제거하자.(정확히는 Runtime Error일 경우이다. Syntax Error일 경우 그냥 코드 파일이 통째로 로드되지 않는다)
- InGame Editor를 써라
아이템 효과 테스팅 같은 것에 도움이 된다. 또한 더미 건물들 같은것도 체크하므로 더더욱 유용하다. 더미의 경우 구분이 쉽도록 따로 Description 항목에 키를 적은후에 Language_ko_KR (한국어 기준)에 Row Tag="(Description항목에 넣은 키)" 항목을 만들어서 이름을 넣으면 된다.
- 게임 시작 누를 시 게임이 크래시하는 경우
건물 클래스랑 건물 XML을 체크해라. 클래스 이름이 정확히 건물 BuildingClass 항목의 것이랑 동일해야하며, 클래스를 지정한 경우 그 클래스를 위한 건물이 있어야 한다. 없거나 틀리면 CTD.
2.1. 기본적 문제
2.1.1. 문명이 안뜨거나 고유 유닛이 안나올 경우
위에 있는 로깅을 킨 후 통상적으로 Sid Meier's Civilization V 폴더에 있는 Database.log를 찾아야 한다. 윈도우스 7 기준으로 내 문서 → My Games → Sid Meier's Civilization V → Logs 폴더로 들어가면 찾을 수 있다.이것을 열어서 While executing이나 no such tables같은 항목이 나온 다음 줄에 제작한 모드 파일 이름이 있다면 거기에 문제가 있어서 파일에 있는 모든 내용이 통째로 읽히지 않으므로 꼼꼼히 점검해야 한다.
2.1.2. 건설 패널이 안 나올 경우
건설 패널을 열 수 없으면 모딩에 따라 다르다. 하지만 문제와 이에 따른 해법은- 새로운 유닛 종류이나 기술을 더하고 유닛의 기술 요구사항을 바꿨을때: 유닛의 기술 요구사항이 모드나 기본 게임에 들어있는 기술인지 꼼꼼이 확인해야 한다. 테크트리에 포함되어 있는 기술이 아닌 경우 건설 패널이 뜨지 않는다.
- 새로운 세계 회의 안건을 더했을 경우: 회의 안건과 관련된 Process의 유무를 확인해야 한다. 자세한 설명은 기타와 세계 대회 항목을 참조.
2.1.3. 사회정책 UI가 뜨지 않을 경우
- 사회정책이 필요 하위 정책에 연결되었으나 이 정책이 똑같은 트리에 소속되지 않을 경우 뜨지 않는다.
2.1.4. 사회정책 UI의 버튼이 안 뜰 경우
Policies의 항목이 지워져서 그렇다.Policies의 항목이 지워진 이후 다른 게 들어가면 해당 ID는 비고 그 후로부터 채워지는데, 문명 UI는 해당 ID에 항목이 없을때까지만 스캔한다. 즉, 그 공백을 인식하지 못하고 공백을 보고 바로 Policies 목록을 다 읽었다고 판단한다. 이렇기 때문에 Policies에 있는 항목은 Delete로 지워서는 안된다.[1]
2.1.5. 맵이 안나오고 그냥 승리로 끝나는 경우
스타팅 조건을 점검해라.- REGION_GRASS - 초원
- REGION_PLAINS - 평원
- REGION_FOREST - 숲
- REGION_JUNGLE - 정글
- REGION_DESERT - 사막
- REGION_TUNDRA - 툰드라
2.1.6. MSB4018 / SevenZip Exception 오류
스팀을 끈 뒤 Sid Meier's Civilization V SDK 폴더에 들어가서 Sid Meier's Civilization V SDK.exe 파일을 연 뒤 모드버디를 켜고 빌드를 실행하면 문제 없이 잘 된다. 단, 스팀 창작마당에 등록하기 위해서는 스팀에 접속한 뒤에 모드버디를 켜야 한다.3. ModBuddy 이용법과 파일 양식
우선적으로 문명 5 SDK 메뉴에서 ModBuddy를 키면 비쥬얼 스튜디오 2010을 기반으로 하는 IDE가 뜬다. 새로운 프로젝트를 만드는 것은 그냥 File→New...→Project를 눌러 뜨는 창에서 Empty Mod를 선택해 주고 그 후에 텍스트를 영문으로 적당히 써주면 된다.그 후 비쥬얼 스튜디오 형식의 솔루션이 뜨며, 그 후 프로젝트 이름에 오른쪽 클릭을 통해 파일이나 폴더를 추가하고 편집하면 된다.
3.1. 모드 파일 연결
그러나 그냥 파일만 다 쓰고 테스트 하려고 하면 아무것도 안뜨는데, 이유는 데이터베이스에 파일을 읽어 업데이트하지 않았기 때문이다. 이들 중 XML이나 SQL 파일들은 모조리 데이터베이스 업데이트 행동에 연결해야 하는데, 먼저 프로젝트 이름에 오른쪽 클릭을 하여 Property를 선택한다. 그 후 Action 탭에 가서 Add를 누른 후 Event에서는 OnModActivated, Action에서는 UpdateDatabase를 선택해주고 지도자 씬 파일을 제외한 XML파일들을 모조리 선택해서 이렇게 연결해주면 된다. 웬만한 LUA 코드의 경우 Content 탭에 가서 Add를 누른 후 파일에서 LUA 파일을 우선 선택한 후 Type에서 InGameUIAddin을 선택해주면 땡.그러나 그게 끝이 아니다. 텍스쳐 파일과 음악의 경우 따로 손을 봐줘야 하는데, 솔루션 탐색기에서 .dds 파일이나 음악 파일을 선택한 후에 오른쪽에 보면 Property 탭이 있는데, 여기서 Misc 하위 항목에 Import int(o VFS) 항목에 True라고 설정해 주어야 한다.
4. XML/SQL을 통한 데이터베이스 모딩
여기서는 문명 5의 기본 데이터베이스에 추가함으로서 새로운 요소를 추가하거나 기존의 요소를 변경한다. 문명 5의 Asset 파일들은 XML로 되어 있어서 참조하기 쉬워서 XML을 중심으로 서술한다.하지만 게임 자체는 XML을 SQL로 전환해서 읽는다고 한다.
4.1. 문명 자체
새로운 문명을 더하겠다면 기본적으로 선택할 문명을 위한 XML(이나 SQL) 파일을 만들고 특정 태그들을 추가해야 한다. XML파일 기준으로 우선적으로 Civilization 항목을 만들고 그 안에 Row 항목을 만든 후에 그 Row 하위 항목 안에서 이것들을 더해야 한다. 후술할 Row의 경우 모두 XML 파일 기준이다.- Type: 게임 데이터상 문명 이름
- Description: 공식 이름. 지도자 이름 밑에 나온다.
- ShortDescription: 선택창에서 나오는 문명 이름.
- Adjective: 수식어. 외교나 유닛 위로 마우스를 올릴때 나오는 수식어같은 데서 쓰인다. (예를 들어 Adjective가 한국이라면 그 문명의 궁수 위에 마우스를 올리면 한국 궁수라고 나온다.)
- Civilopedia: 안 쓰인다.
- CivilopediaTag: 문명 백과사전에서 쓰일 수식어. 코드 자체는 하드코드되어서 이 명칭 다음에 여러가지를 붙여 쓴다. 예를 들어 밑에 여러가지 항목의 대문의 경우 _HEADING_#이 붙는다.
- DefaultPlayerColor: 쓰이는 색깔. PlayerColor 항목을 만들고 거기에 Type에 적혀 있는 것을 쓰면 된다.
- ArtDefineTag: 효과는 없는 것으로 추정된다.
- ArtStyleType: 도시 모델 형태를 지정하는 태그 중 하나.
- ArtStyleSuffix: 도시 모델 형태를 지정하는 태그 중 하나.
- ArtStylePrefix: 도시 모델 형태를 지정하는 태그 중 하나.
- PortraitIndex: IconAtlas랑 AlphaIconAtlas에서 뽑을 인덱스. IconAtlas 항목에서 추가 설명을 함.
- IconAtlas: 요소들을 표기하는 아이콘 모음. 여기서는 문명을 상징하는 문양을 위한 태그.
- AlphaIconAtlas: 위와 비슷하나, 이곳의 문양은 플레이어의 문명이 아닌 타 도시의 오른쪽에 나오는 문양과 종교 스크린에 나오는 문양을 위한 태그.
- MapImage: 게임 계속하기 스크린이나 문명 선택시 오른쪽에 나오는 길쭉한 이미지.
- DawnOfManQuote: 게임 시작시 로딩 스크린에서 나오는 대사 포인터.
- DawnOfManImage: 로딩 스크린에 나올 스플래시 이미지.
- SoundtrackTag: 문명이 쓸 사운드트랙. 기본적인 문화권인 Asian, European, African같은 것을 쓰거나 고유 사운드트랙을 쓸 수 있다.
- Playable: 플레이어가 선택 가능.
- AIPlayable: AI 플레이어가 선택 가능.
그 후에 추가적인 항목들을 만들어야 한다. 여기서는 볼드체는 (반)필수 항목. 주 항목 밑에 있는 항목들은 다 Row 하위 항목 안에서 쓰는 것이다.
- Civilization_Religion 항목: Row 하위 항목 하나.
- CivilizationType: 타 항목들도 들어간다. Civilization 항목에 있는 Type를 복사하면 된다.
- ReligionType: 선호하는 종교. 예를 들어 RELIGION_PROTESTANISM은 개신교, RELIGION_ORTHODOXY는 동방 정교를 뜻한다.
- Civilization_CityNames: 도시 하나마다 Row 하위 항목을 만들어야 한다. 도시를 개척할 때 쓰는 기본 이름들을 수식하며, 이게 없으면 타 문명의 도시 이름을 무작위로 가져가 쓴다.[2]
- CivilizationType: 동일하다.
- CityName: 포인터. 나중에 Language_언어태그에 링크하여 이름을 뽑는다.
- Civilization_SpyNames: 문명에게 주어지는 간첩들의 이름. 이게 없으면 스파이를 뽑게 될 경우 게임 진행이 안된다. 스파이 하나마다 Row 하위 항목을 만들어야 하며, 보통 9명을 적는다.
- CivilizationType: 동일하다.
- SpyName: 위의 CityName과 거의 동일한 맥락.
- Civilization_Leaders: 문명을 이끌 지도자.
- CivilizationType: 동일하다.
- LeaderHeadType: 나중에 넣을 Leader 항목에 있을 Type에 있는 내용물을 복사하면 된다.
- Civilization_FreeBuildingClasses: 수도를 건설할때 즉시 지급되는 건물들. 건물 종류 당 Row 하위 항목이 필요하다.문명 디렉토리/Assets/DLC/Expansion2/Gameplay/XML/Buildings/CIV5Buildings(_Expansion2/_Inherited_Expansion2).xml안의 원하는 건물의 BuildingClass안에 있는 항목을 뽑으면 된다. 기본적으로 궁전을 더하기 위해 BUILDINGCLASS_PALACE는 기본으로 더해준다.
- CivilizationType: 동일하다.
- BuildingClassType: BuildingClass를 집어 넣는다. 차후 만들 Buildings 항목에서 설명됨.
- Civilization_FreeTechs: 문명에게 기본적으로 지급되는 기술들.
- CivilizationType: 동일하다.
- TechType: 기술 타입. 기본적으로 농업을 들고 시작하는데, 이러려면 TECH_AGRICULTURE를 넣고, 특성으로 기술을 갖고 시작함을 넣으려면 멋진 신세계 기준으로 문명 디렉토리/Assets/DLC/Expansion2/Gameplay/XML/Technologies/CIV5Technologies.xml에서 Type을 찾아 넣으면 된다.
- Civilization_FreeUnits: 새 게임 시작시 문명에게 지급되는 유닛들. 위에도 다 그렇지만 유닛 종류마다 Row 하위 항목이 필요하다.
- CivilizationType: 위와 동일.
- UnitClassType: 유닛 종류.
- UnitAIType: AI가 제어할 경우 유닛이 할 행동 범위.
- Count: 유닛의 수량.
- Civilization_Start_Along_Ocean
- CivilizationType: 위와 동일.
- StartAlongOcean: 이 것을 true로 지정 했으면 시작지점이 해안으로 될 가능성이 높아진다.
- Civilization_Start_Along_River
- CivilizationType: 위와 동일.
- StartAlongRiver: 이 것을 true로 지정 했으면 시작지점이 강가로 될 가능성이 높아진다.
- Civilization_Start_Region_Priority: 위의 Start_Along_Ocean과 같이 시작 지점 선호도를 정한다.
- CivilizationType: 위와 동일.
- RegionType: 타일 종류. 예를 들어 REGION_JUNGLE일 경우 정글 시작 지점이 잘 나온다.
- Civilization_Start_Region_Avoid: 위의 Start_Region_Priority의 반대 효과. 시작 지점에 지정된 타일 종류가 잘 안나온다.
- CivilizationType: 위와 동일.
- RegionType: 타일 종류.
- Civilization_UnitClassOverrides: 고유 유닛 항목. 고유 유닛 종류 하나마다 Row 하위 항목이 필요하다.
- CivilizationType: 위와 동일.
- UnitClassType: 대체할 기본 유닛 종류
- UnitType: 고유 유닛 타입
- Civilization_BuildingClassOverrides: 고유 건물 항목. 위랑 거의 동일한 맥락이다.
- CivilizationType: 위와 동일.
- BuildingClassType: 대체할 기본 건물 종류
- BuildingType: 고유 건물 타입
- Improvements: 새로운 시설. 시설 항목에서 더 자세하게 설명함.
- CivilizationType: 문명 고유 시설로 지정하게하는 항목
예시 문명
<GameData>
<Civilizations>
<Row>
<Type>CIVILIZATION_KOREA</Type>
<Description>TXT_KEY_CIV_KOREA_DESC</Description>
<ShortDescription>TXT_KEY_CIV_KOREA_SHORT_DESC</ShortDescription>
<Adjective>TXT_KEY_CIV_KOREA_ADJECTIVE</Adjective>
<CivilopediaTag>TXT_KEY_CIV5_KOREA</CivilopediaTag>
<DefaultPlayerColor>PLAYERCOLOR_KOREA</DefaultPlayerColor>
<ArtDefineTag>ART_DEF_CIVILIZATION_KOREA</ArtDefineTag>
<ArtStyleType>ARTSTYLE_ASIAN</ArtStyleType>
<PortraitIndex>0</PortraitIndex>
<IconAtlas>SEJONG_CIV_COLOR_ATLAS</IconAtlas>
<AlphaIconAtlas>SEJONG_CIV_ALPHA_ATLAS</AlphaIconAtlas>
<MapImage>MapKorea360x410.dds</MapImage>
<ArtStyleSuffix>_ASIA</ArtStyleSuffix>
<ArtStylePrefix>ASIAN </ArtStylePrefix>
<DawnOfManQuote>TXT_KEY_CIV5_DAWN_KOREA_TEXT</DawnOfManQuote>
<DawnOfManImage>DOM_SEJONG.dds</DawnOfManImage>
<DawnOfManAudio>AS2D_DOM_SPEECH_KOREA</DawnOfManAudio>
</Row>
</Civilizations>
<Civilization_CityNames>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_SEOUL</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_BUSAN</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_JEONJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_DAEGU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_PYONGYANG</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_KAESONG</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_SUWON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GWANGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GANGNEUNG</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_HAMHUNG</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_WONJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_ULSAN</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_CHANGWON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_ANDONG</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GONGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_HAEJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_CHEONGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_MOKPO</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_DONGDUCHEON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GEOJE</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_SUNCHEON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_JINJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_SANGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_RASON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GYEONGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_CHUNGJU</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_SACHEON</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_GIMJE</CityName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<CityName>TXT_KEY_CITY_NAME_ANJU</CityName>
</Row>
</Civilization_CityNames>
<Civilization_FreeBuildingClasses>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<BuildingClassType>BUILDINGCLASS_PALACE</BuildingClassType>
</Row>
</Civilization_FreeBuildingClasses>
<Civilization_FreeTechs>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<TechType>TECH_AGRICULTURE</TechType>
</Row>
</Civilization_FreeTechs>
<Civilization_FreeUnits>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<UnitClassType>UNITCLASS_SETTLER</UnitClassType>
<Count>1</Count>
<UnitAIType>UNITAI_SETTLE</UnitAIType>
</Row>
</Civilization_FreeUnits>
<Civilization_Leaders>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<LeaderheadType>LEADER_SEJONG</LeaderheadType>
</Row>
</Civilization_Leaders>
<Civilization_UnitClassOverrides>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<UnitClassType>UNITCLASS_CARAVEL</UnitClassType>
<UnitType>UNIT_KOREAN_TURTLE_SHIP</UnitType>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<UnitClassType>UNITCLASS_TREBUCHET</UnitClassType>
<UnitType>UNIT_KOREAN_HWACHA</UnitType>
</Row>
</Civilization_UnitClassOverrides>
<Civilization_Religions>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<ReligionType>RELIGION_CONFUCIANISM</ReligionType>
</Row>
</Civilization_Religions>
<Civilization_SpyNames>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_0</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_1</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_2</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_3</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_4</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_5</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_6</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_7</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_8</SpyName>
</Row>
<Row>
<CivilizationType>CIVILIZATION_KOREA</CivilizationType>
<SpyName>TXT_KEY_SPY_NAME_KOREA_9</SpyName>
</Row>
</Civilization_SpyNames>
</GameData>
4.2. 지도자
대항목들이 5개로서, 각각 Leader, Leader_Traits, Leader_Flavors, Leader_MinorCivApproachBiases랑 Leader_MajorCivApproachBiases다.4.2.1. Leader
항목: 지도자 자체를 추가하는 항목이다. Row 하위 항목은 지도자 하나당 한 개가 있으면 된다.- Type: 위의 문명에 나오는 Type과 동일하게 게임 데이터베이스에서 등록되는 이름.
- Description: 이름
- Civilopedia
- CivilopediaTag: 위의 문명 항목과 동일.
- VictoryCompetitiveness: 경쟁심. 높을수록 타 문명이 승리에 근접할 수록 경계한다.
- WonderCompetitiveness: 불가사의 경쟁심. 높을수록 짓고 있었던 불가사의를 지었을 때 외교 페널티가 심해진다.
- MinorCivCompetitiveness: 도시국가 동맹 경쟁심. 높을수록 똑같은 도시국가를 노릴 때 외교 페널티가 잘 나타난다.
- WorkAgainstWillingness: 연합하여 전쟁하는 것에 대한 호응도.
- WorkWithWillingness
- Boldness: 호전성 요소 중 하나. 이게 높으면 군사력을 신경쓰지 않고 전쟁을 벌일 확률이 높다.
- DiploBalance: 외교시 수가 높을 수록 사이가 일정 범위 안으로 안 좋더라도 비교적 공정하게 거래를 받아준다.
- WarmongerHate: 전쟁광 혐오도. 외교 항목에 자세한 설명이 있다.
- DenounceWillingness: 비난 선호도. 높을 수록 비난을 잘 한다.
- DoFWillingness: 우호 관계 선포 선호도.
- Loyalty: 충성도. 높을수록 우호 관계인 문명에게 배신을 때릴 확률이 적다. 다만, 숨겨진 관계 악화 요소는 감안해야 한다.
- Neediness: 구걸 선호도. 높을수록 우호 선언을 한 플레이어에게 구걸을 잘 한다.
- Forgiveness: 용서도. 높을수록 외교적 악화 요소가 더 빨리 해소된다.
- Chattiness: 높을수록 말이 많다. 적대적일 경우에서 도발이라든가 스파이의 음모 발견시 비밀 공유라든가.
- Meanness: 높을수록 친해지기 어렵고 다굴을 많이 하며 국제적 왕따에게 더 거칠게 대한다.
- PortraitIndex, IconAtlas: 위의 문명 항목과 동일.
4.2.2. Leader_MajorCivApproachBiases
지도자의 타 문명을 대하는 태도에 영향을 끼치는 지수를 저장하는 항목이다. 위와 달리 밑의 항목마다 Row 하위 항목에 LeaderType과 Bias 치수와 같이 MajorCivApproachType 항목에 넣어야 한다.- MAJOR_CIV_APPROACH_WAR: 호전성.
- MAJOR_CIV_APPROACH_HOSTILE: 적대적으로 대하는 지수
- MAJOR_CIV_APPROACH_GUARDED: 방어적으로 대하는 지수
- MAJOR_CIV_APPROACH_DECEPTIVE: 위장 우호적으로 대하는 지수
- MAJOR_CIV_APPROACH_FRIENDLY: 우호적으로 대하는 지수
- MAJOR_CIV_APPROACH_NEUTRAL: 중립적으로 대하는 지수
- MAJOR_CIV_APPROACH_AFRAID: 두려워함으로 대하는 지수
4.2.3. Leader_MinorCivApproachBiases
지도자의 도시국가를 대하는 태도에 영향을 끼치는 지수를 저장하는 항목이다. 위의 MajorCivApproachBiases랑 동일하다. MajorCivApproachType게 MinorCivApproachType으로 바뀌지만.- MINOR_CIV_APPROACH_IGNORE: 도시국가에 적극적으로 행동을 하지 않게 하는 지수.
- MINOR_CIV_APPROACH_FRIENDLY: 도시국가에게 적극적으로 우호도를 높이게 하려 하게 하는 지수.
- MINOR_CIV_APPROACH_PROTECTIVE: 도시국가를 보호하고 자신의 것으로 만들려고 하는 지수. 이것과 MinorCivCompetitiveness가 높으면 엘리자베스처럼 도국과 친해지지 말라고 으름장을 내놓는 지도자가 된다.
- MINOR_CIV_APPROACH_CONQUEST: 도시국가를 정복하게 하는 지수.
- MINOR_CIV_APPROACH_BULLY: 도시국가에 공물을 바치게 하게 하는 지수.
4.2.4. Leader_Flavors
AI의 전반적인 운영 스타일에 영향을 끼치는 지수를 저장하는 항목. 여기도 역시 MajorCivApproach처럼 Row당 LeaderType, FlavorType, 그리고 Bias 항목이 종속되어 있다. 밑은 FlavorType 목록.단, 주의해야 할 것은 이는 그냥 무늬일 뿐이며, 모드를 통해 새 유닛이나 건물같을 것을 만들면 이에 상응하는 Flavor 수치를 지정해야 한다. 그러므로 지상 유닛에게 FLAVOR_NAVAL을 높게 지정했으면 해상 문명이 이 유닛을 선호하게 된다.
- FLAVOR_OFFENSE: 침략전을 위한 유닛 육성 성향.
- FLAVOR_DEFENSE: 방어전을 위한 유닛 육성 성향.
- FLAVOR_CITY_DEFENSE: 도시 방어물 건설 성향.
- FLAVOR_MILITARY_TRAINING: 군사 건물 건설 성향.
- FLAVOR_RECON: 정찰 유닛 육성 성향.
- FLAVOR_RANGED: 원거리 유닛 육성 성향.
- FLAVOR_MOBILE: 기병/전차 육성 성향.
- FLAVOR_NAVAL: 해군 육성 성향.
- FLAVOR_NAVAL_RECON: 해상 정찰 유닛 육성 성향.
- FLAVOR_NAVAL_GROWTH: 해안 도시 인구 증가에 신경쓰는 성향.
- FLAVOR_NAVAL_TILE_IMPROVEMENTS: 해안 자원 개발 성향.
- FLAVOR_AIR: 공군 육성 성향.
- FLAVOR_EXPANSION: 확장 성향. 이게 높을 수록 영토를 탐한다가 더 잘 뜬다. 다만, 낮더라도 간디같이 행복 성향이 높지 않다면 확장할 곳이 많으면 도시를 좀 깔아준다.
- FLAVOR_GROWTH: 도시 인구 증가에 신경쓰는 성향.
- FLAVOR_TILE_IMPROVEMENTS: 타일 개간에 신경쓰는 성향.
- FLAVOR_INFRASTRUCTURE: 도로 건설에 신경쓰는 성향.
- FLAVOR_PRODUCTION: 생산력 집중 성향.
- FLAVOR_GOLD: 금 생산 집중 성향.
- FLAVOR_SCIENCE: 과학력 생산 집중 성향.
- FLAVOR_CULTURE: 문화력 집중 성향.
- FLAVOR_HAPPINESS: 행복도 관리 성향.
- FLAVOR_GREAT_PEOPLE: 위인 선호 성향.
- FLAVOR_WONDER: 불가사의 건설 선호 성향.
- FLAVOR_RELIGION: 종교 선호, 높으면 특히나 적극적인 전파를 좋아한다. 이 수치가 낮더라도 가능하면 종교를 먹으러 하려 하고, 확률적으로 신앙을 찍는다.
- FLAVOR_DIPLOMACY: 외교 승리 선호. 이게 높을수록 도시국가 매수같을 것을 선호한다. 알렉산드로스가 도시국가를 꿀꺽꿀꺽하는 이유.
- FLAVOR_SPACESHIP: 과학 승리 선호.
- FLAVOR_WATER_CONNECTION:
- FLAVOR_NUKE: 핵무기 보유 선호. 이게 높을 수록 핵무기를 많이 뽑으려 한다. 간디의 경우 12.
- FLAVOR_USE_NUKE: 핵무기 사용 선호.
- FLAVOR_ESPIONAGE: 첩보질 선호. 이게 높을 수록 스파이 철수 권고를 잘 씹는다.
- FLAVOR_ANTIAIR: 대공 방어용 유닛 육성 성향
- FLAVOR_AIR_CARRIER: 항공모함 건조 성향
- FLAVOR_I_LAND_TRADE_ROUTE
- FLAVOR_I_SEA_TRADE_ROUTE
- FLAVOR_ARCHAEOLOGY
- FLAVOR_I_TRADE_ORIGIN
- FLAVOR_I_TRADE_DESTINATION
- FLAVOR_AIRLIFT
4.2.5. 예시 지도자
<GameData>
<Leaders>
<Row>
<Type>LEADER_SEJONG</Type>
<Description>TXT_KEY_LEADER_SEJONG</Description>
<Civilopedia>TXT_KEY_LEADER_SEJONG_PEDIA</Civilopedia>
<CivilopediaTag>TXT_KEY_CIV5_SEJONG</CivilopediaTag>
<ArtDefineTag>Korea_Sejong_Scene.xml</ArtDefineTag>
<VictoryCompetitiveness>6</VictoryCompetitiveness>
<WonderCompetitiveness>6</WonderCompetitiveness>
<MinorCivCompetitiveness>4</MinorCivCompetitiveness>
<Boldness>4</Boldness>
<DiploBalance>6</DiploBalance>
<WarmongerHate>4</WarmongerHate>
<DenounceWillingness>4</DenounceWillingness>
<DoFWillingness>7</DoFWillingness>
<Loyalty>7</Loyalty>
<Neediness>6</Neediness>
<Forgiveness>7</Forgiveness>
<Chattiness>4</Chattiness>
<Meanness>4</Meanness>
<PortraitIndex>0</PortraitIndex>
<IconAtlas>SEJONG_LEADER_ATLAS</IconAtlas>
</Row>
</Leaders>
<Leader_MajorCivApproachBiases>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_WAR</MajorCivApproachType>
<Bias>4</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_HOSTILE</MajorCivApproachType>
<Bias>3</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_DECEPTIVE</MajorCivApproachType>
<Bias>4</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_GUARDED</MajorCivApproachType>
<Bias>5</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_AFRAID</MajorCivApproachType>
<Bias>7</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_FRIENDLY</MajorCivApproachType>
<Bias>6</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MajorCivApproachType>MAJOR_CIV_APPROACH_NEUTRAL</MajorCivApproachType>
<Bias>6</Bias>
</Row>
</Leader_MajorCivApproachBiases>
<Leader_MinorCivApproachBiases>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MinorCivApproachType>MINOR_CIV_APPROACH_IGNORE</MinorCivApproachType>
<Bias>6</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MinorCivApproachType>MINOR_CIV_APPROACH_FRIENDLY</MinorCivApproachType>
<Bias>6</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MinorCivApproachType>MINOR_CIV_APPROACH_PROTECTIVE</MinorCivApproachType>
<Bias>4</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MinorCivApproachType>MINOR_CIV_APPROACH_CONQUEST</MinorCivApproachType>
<Bias>3</Bias>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<MinorCivApproachType>MINOR_CIV_APPROACH_BULLY</MinorCivApproachType>
<Bias>7</Bias>
</Row>
</Leader_MinorCivApproachBiases>
<Leader_Flavors>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_OFFENSE</FlavorType>
<Flavor>4</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_DEFENSE</FlavorType>
<Flavor>7</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_CITY_DEFENSE</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_MILITARY_TRAINING</FlavorType>
<Flavor>4</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_RECON</FlavorType>
<Flavor>3</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_RANGED</FlavorType>
<Flavor>7</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_MOBILE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_NAVAL</FlavorType>
<Flavor>7</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_NAVAL_RECON</FlavorType>
<Flavor>4</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_NAVAL_GROWTH</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_NAVAL_TILE_IMPROVEMENT</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_AIR</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_EXPANSION</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_GROWTH</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_TILE_IMPROVEMENT</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_INFRASTRUCTURE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_PRODUCTION</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_GOLD</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_SCIENCE</FlavorType>
<Flavor>8</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_CULTURE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_HAPPINESS</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_GREAT_PEOPLE</FlavorType>
<Flavor>8</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_WONDER</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_RELIGION</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_DIPLOMACY</FlavorType>
<Flavor>4</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_SPACESHIP</FlavorType>
<Flavor>8</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_WATER_CONNECTION</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_NUKE</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_USE_NUKE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_ESPIONAGE</FlavorType>
<Flavor>6</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_ANTIAIR</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_AIR_CARRIER</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_ARCHAEOLOGY</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_I_LAND_TRADE_ROUTE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_I_SEA_TRADE_ROUTE</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_I_TRADE_ORIGIN</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_I_TRADE_DESTINATION</FlavorType>
<Flavor>5</Flavor>
</Row>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<FlavorType>FLAVOR_AIRLIFT</FlavorType>
<Flavor>5</Flavor>
</Row>
</Leader_Flavors>
<Leader_Traits>
<Row>
<LeaderType>LEADER_SEJONG</LeaderType>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
</Row>
</Leader_Traits>
</GameData>
4.2.6. 지도자 대사
지도자 대사에 관여하는 항목은 2개 있다. DiplomacyResponses 항목과 직접적으로 출력될 텍스트를 저장할 Languages_(언어코드)항목이 있다. 후자는 텍스트 항목에 더 자세히 설명되며, DiplomacyResponses에서는 대략 이런 구조를 가지고 있다.<DiplomacyResponses>
<Row LeaderType="LEADER_SEJONG">
<ResponseType>RESPONSE_FIRST_GREETING</ResponseType>
<Response>TXT_KEY_LEADER_SEJONG_FIRSTGREETING%</Response>
<Bias>1</Bias>
</Row>
</DiplomacyResponses>
<Language_en_US>
<Row Tag="TXT_KEY_LEADER_SEJONG_FIRSTGREETING_1>
<Text>Welcome to the Joseon Court, friend. I have done much to help my people - can you say the same?</Text>
</Row>
<Row Tag="TXT_KEY_LEADER_SEJONG_FIRSTGREETING_2>
<Text>Greetings - I am Sejong of Korea. Have you come seeking wisdom and enlightenment, enjoyed by many in my presence?</Text>
</Row>
</Language_en_US>
<Language_ko_KR>
<Row Tag="TXT_KEY_LEADER_SEJONG_FIRSTGREETING_1>
<Text>조선에 온 것을 환영하노라. 짐은 민중을 위해 많은 일을 했느니라. 그대는 어떠한가?</Text>
</Row>
<Row Tag="TXT_KEY_LEADER_SEJONG_FIRSTGREETING_2>
<Text>어서오게. 난 조선의 세종대왕이노라. 많은 이들이 짐의 왕국에서 누리고 있는 지혜와 깨우침을 찾아 이곳에 온 것인가?</Text>
</Row>
</Language_ko_KR>
DiplomacyResponses안의 Row 항목 안의 부가 항목 설명
- ResponseType - 지정되어 있는 대사 상황. 볼드체는 기본적으로 주어지지 않아 없으면 그냥 텅빈 대사가 나오는 것. 더 많이 있으니 차후 추가될 예정.
- RESPONSE_FIRST_GREETING - 문명을 처음 만났을때
- RESPONSE_DEFEATED - 플레이어에 의해 문명 멸망시
- RESPONSE_GREETING_POLITE_HELLO - 친밀하거나 위장 우호시 대화창을 띄웠을 때 기본적으로 하는 대사. 다만, 우호 선언의 경우 기본적으로 다른 대사가 나온다.
- RESPONSE_GREETING_NEUTRAL_HELLO - 중립적인 관계시 반길때 나오는 대사.
- RESPONSE_GREETING_HOSTILE_HELLO - 사이가 나쁠시 반길때 나오는 대사.
- RESPONSE_REPEAT_TRADE_TOO_MUCH - 똑같은 제안을 너무 많이 반복 제안할 때 거절용으로 나오는 대사.
- RESPONSE_REPEAT_TRADE - 똑같은 제안을 몇번 반복 제안할 때 거절용으로 나오는 대사.
- RESPONSE_GREETING_REPEAT_TOO_MUCH - 같은 지도자만 연속으로 너무 많이 외교창 띄울 때 나오는 대사
- Response - 지도자가 말할 대사 (아니면 포인터)
- Bias - 대사의 가중치. 높을 수록 링크된 대사가 잘 나온다. 이 커스텀 대사를 주로 쓰게 하고 싶으면 적어도 8정도는 붙여주자. 그 이상이면 기본적으로 제공하는 대사는 거의 안 쓴다.
4.3. 특성
4.3.1. Trait
제일 기본적으로 필요한게 Traits 항목이다. 이게 바로 특성을 만드는 것으로, 어떤 특성들은 모두 LUA로 실행해서 껍데기로만 만드는 특성도 존재한다. Row 항목이 하나 있으며, (반)필수적인 것은 볼드체.- Type: 데이테베이스에 등록되는 이름.
- Description
- ShortDescription
- LevelExperienceModifier: 레벨을 얻기 위해 필요한 경험치 배수. 높을 수록 요구 경험치가 증가한다. 음수일 경우 감소진다.
- GreatPeopleRateModifier: 전역 위인 생성률 조절
- GreatScientistRateModifier: 전역 위대한 과학자 생성률 조절.
- GreatGeneralRateModifier: 위대한 장군 생성률
- GreatGeneralExtraBonus: 위대한 장군 보너스 (%, 기존의 15% + 이 수치 = 총 위대한 장군 보너스)
- GreatPersonGiftInfluence: 위인 선물시 오르는 우호도
- MaxGlobalBuildingProductionModifier
- MaxTeamBuildingProductionModifier
- MaxPlayerBuildingProductionModifier
- CityUnhappinessModifier: 도시로 인해 생성되는 전역 불행 조정도. 정수를 받아들이며 백분율이다. 간디의 특성은 이게 100으로 되어 있어 전역 불행이 2배로 늘어난다.
- PopulationUnhappinessModifier: 인구로 인해 생성되는 지역 불행 조정도. 위랑 같이 정수를 받아들이며 백분율로 취급한다. 간디의 특성에서는 -50으로 되어 있어 인구 불행이 절반으로 감소한다.
- CityStateBonusModifier: 도시 국가 보너스 증가량 (문화력, 식량, 신앙)
- CityStateFriendshipModifier: 도시 국가 우호도 회복률/감소율 조정
- CityStateCombatModifier: 도시 국가 상대로 전투 보너스
- LandBarbarianConversionPercent: 주둔지 제거 시 야만인이 문명에 합류할 확률.
- LandBarbarianConversionExtraUnits
- SeaBarbarianConversionPercent
- LandUnitMaintenanceModifier: 지상 유닛에 드는 유지비. 백분율.
- NavalUnitMaintenanceModifier: 해상 유닛에 드는 유지비. 백분율.
- CapitalBuildingModifier: 수도에 있는 건물을 타 도시에서 짓는데 들어가는 보정.
- PlotBuyCostModifier: 타일 구매에 필요한 금 비용 변경. 백분율.
- PlotCultureCostModifier: 타일 구매에 필요한 문화 비용 변경. 백분율.
- CultureFromKills: 적 유닛 처치시 얻는 문화. 문화는 (처치한 유닛의 전투력 * 배율 / 100)에서 소수점을 뺀만큼 추가된다.
- FaithFromKills: 적 유닛 처치시 얻는 신앙. 신앙는 (처치한 유닛의 전투력 * 배율 / 100)에서 소수점을 뺀만큼 추가된다.
- CityCultureBonus: 도시마다 생성되는 문화. BNW 전의 프랑스가 썼다.
- CapitalThemingBonusModifier: 수도에서 테마 완성 보너스 증폭량. 백분율.
- PolicyCostModifier: 사회 정책 비용 조정율. 백분율.
- CityConnectionTradeRouteChange
- WonderProductionModifier: 불가사의 건설에 들어가는 생산력 보정. 백분율.
- PlunderModifier: 야만인 주둔지 및 도시 점령시 얻는 금 변경. 백분율.
- ImprovementMaintenanceModifier: 시설 유지비 변경. 백분율.
- GoldenAgeDurationModifier: 황금기 지속시간 변경. 백분율.
- GoldenAgeMoveChange: 황금기 때 유닛이 얻는 이동력.
- GoldenAgeCombatModifier: 황금기 때 얻는 유닛의 전투력 보정.
- GoldenAgeTourismModifier: 황금기 때 관광 생성력 보정. 백분율.
- GoldenAgeGreatArtistRateModifier: 황금기 때 위대한 예술가 점수 생성 보정. 백분율.
- GoldenAgeGreatMusicianRateModifier: 황금기 때 위대한 음악가 점수 생성 보정. 백분율.
- GoldenAgeGreatWriterRateModifier: 황금기 때 위대한 작가 점수 생성 보정. 백분율.
- ExtraEmbarkMoves: 해상/승선 유닛이 얻는 추가 이동력.
- NaturalWonderFirstFinderGold: 자연 불가사의를 처음 발견했을 때 지급받는 금.
- NaturalWonderSubsequentFinderGold: 다른 이가 먼저 발견한 자연 불가사의를 발견했을 때 지급받는 금.
- NaturalWonderYieldModifier: 자연 불가사의로 인한 산출량 보정. 백분율.
- NaturalWonderHappinessModifier: 자연 불가사의로 인한 행복도 변경. 백분율.
- NearbyImprovementCombatBonus: 시설로 인한 전투력 보너스 보정.
- NearbyImprovementBonusRange: 전투력 보정을 주는 시설 사정거리.
- CultureBuildingYieldChange:
- CombatBonusVsHigherTech: (시대) 기술 요구사항이 더 높은 유닛을 상대로 받는 전투력 보정.
- CombatBonusVsLargerCiv: 도시가 더 많은 제국을 상대로 받는 전투력 보정.
- RazeSpeedModifier: 도시 불태우기 속도 보정.
- DOFGreatPersonModifier: 우호 선언으로 인한 위인 탄생률 보정.
- LuxuryHappinessRetention: 사치품을 줘서 여분이 없을때 받는 행복도. 백분율.
- ExtraSpies: 추가로 받는 스파이.
- UnresearchedTechBonusFromKills: 살해한 유닛이 문명이 갖고 있지 않은 기술을 요구할 경우 얻는 과학력.
- ExtraFoundedCityTerritoryClaimRange: 도시 개척 시 추가로 제공받는 영토.
- FreeSocialPoliciesPerEra: 시대당 받는 사회 정책.
- NumTradeRoutesModifier: 무역로 변경량. 백분율.
- TradeRouteResourceModifier: 자원으로 인한 금 산출량 보정에 대한 보정. 백분율.
- UniqueLuxuryCities: 도시 개척으로 받는 추가 사치 자원. Resource에서 고유 자원을 설정해야 한다.
- UniqueLuxuryQuantity: 도시 당 종특으로 받는 자원의 양.
- WorkerSpeedModifier: 일꾼 개간 속도 보정. 백분율.
- AfraidMinorPerTurnInfluence
- LandTradeRouteRangeBonus: 육지 무역로 사정거리 보정. 백분율.
- TradeReligionModifier: 무역로로 인한 종교 전파 보정. 백분율.
- TradeBuildingModifier
- FightWellDamaged: 일본의 종특.
- MoveFriendlyWoodsAsRoad: 우호 영토의 숲과 정글을 도로로 취급함.
- FasterAlongRiver: 강 옆에 있는 타일을 도로로 취급함.
- FasterInHills
- EmbarkedAllWater : 폴리네시아 특성.
- EmbarkedToLandFlatCost: 유닛 상륙시 이동력 1만 소모하게 함.
- NoHillsImprovementMaintenance: 언덕에서 시설 유지비가 들지 않음.
- TechBoostFromCapitalScienceBuildings: 수도에서 과학력을 주는 건물을 지을 경우 과학력 보너스를 받음. 단, 타 건물의 효과로 과학력을 받게 되면 이는 해당되지 않는다.
- StaysAliveZeroCities: 도시가 없어도 멸망하지 않음.
- FaithFromUnimprovedForest
- BonusReligiousBelief: 추가 교리 선택 가능.
- AbleToAnnexCityStates: 도시 국가 합병 가능 (오스트리아)
- CrossesMountainsAfterGreatGeneral: 첫 위대한 장군 생성 이후 산 타일 넘을 수 있음.
- MayaCalendarBonuses: 마야 종특.
- NoAnnexing: 도시 합병 불가. 대신 괴뢰 도시에서 구매 가능.
- TechFromCityConquer: 도시 점령시 기술 획득 가능. (아시리아)
- UniqueLuxuryRequiresNewArea: 고유 사치품이 새로운 대륙이여야 함.
- RiverTradeRoad: 강 타일이 무역로에 한정해 도로 취급 받음.
- AngerFreeIntrusionOfCityStates: 쓰이지 않음.
- FreeUnit: 무료 유닛.
- FreeUnitPrereqTech: 무료 유닛 지급하는데 필요한 연구.
- CombatBonusImprovement: 전투력 보정을 주는 시설. NearbyImprovementCombatBonus와 NearbyImprovementCombatRange와 병행함.
- FreeBuilding: 도시 개척시 지급되는 무료 건물.
- FreeBuildingOnConquest: 도시 점령시 지급되는 무료 건물.
- ObsoleteTech: 연구시 특성 무효화.
- PrereqTech: 특성 발동에 필요한 기술.
4.3.2. Trait_YieldChangesStrategicResources
특성을 지닌 문명의 영토 안의 전략 자원의 산출량을 조절한다.- TraitType - 특성의 데이터베이스에 등록된 Type, 즉 이름.
- YieldType - 산출 유형
- Yield - 산출 변경 수치
4.3.3. Trait_ImprovementYieldChanges
특성을 지닌 문명이 소유하고 있는 시설의 산출량을 조절한다.- TraitType - 특성의 데이터베이스에 등록된 Type, 즉 이름.
- ImprovementType - 시설 종류, 데이터베이스에 등록된 Type를 지정해야 한다.
- YieldType - 산출 유형
- Yield - 산출 변경 수치
4.3.4. Trait_SpecialistYieldChanges
특성을 지닌 문명의 전문가의 산출량을 조절한다.- TraitType - 특성의 데이터베이스에 등록된 Type, 즉 이름.
- SpecialistType - 전문가 종류, 데이터베이스에 등록된 Type를 지정해야 한다.
- YieldType - 산출 유형. 단, 문화와 신앙은 정상적으로 작동되지 않는다.
- Yield - 산출 변경 수치
4.3.5. 예시 특성 1
<GameData>
<!-- Table data -->
<Traits>
<Row>
<Type>TRAIT_SCHOLARS_JADE_HALL</Type>
<Description>TXT_KEY_TRAIT_SCHOLARS_JADE_HALL</Description>
<ShortDescription>TXT_KEY_TRAIT_SCHOLARS_JADE_HALL_SHORT</ShortDescription>
<TechBoostFromCapitalScienceBuildings>true</TechBoostFromCapitalScienceBuildings>
</Row>
</Traits>
<Trait_ImprovementYieldChanges>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_ACADEMY</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_CUSTOMS_HOUSE</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_MANUFACTORY</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_CITADEL</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_LANDMARK</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<ImprovementType>IMPROVEMENT_HOLY_SITE</ImprovementType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
</Trait_ImprovementYieldChanges>
<Trait_SpecialistYieldChanges>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_ARTIST</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_SCIENTIST</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_MERCHANT</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_ENGINEER</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_WRITER</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<TraitType>TRAIT_SCHOLARS_JADE_HALL</TraitType>
<SpecialistType>SPECIALIST_MUSICIAN</SpecialistType>
<YieldType>YIELD_SCIENCE</YieldType>
<Yield>2</Yield>
</Row>
</Trait_SpecialistYieldChanges>
</GameData>
4.4. 시설
시설은 여러의 항목이 있다. 기본적인 시설 정의를 하는 Improvement 항목, 시설의 기본적 산출량을 지정하는 Improvement_Yields 항목, 시설 건설의 유효 지형을 지정하는 Improvement_ValidTerrains, 시설 건설의 유효 추가 지상 지형을 지정하는 Improvement_ValidFeatures, 유효 자원을 표시하는 Improvement_ResourceTypes, 자원 산출량을 조절하는 Improvement_ResourceType_Yields, 기술 해금시 산출량 변경을 조정하는 Improvement_TechYieldChanges, 시대마다 산출량 변경을 지정하는 Improvement_YieldPerEra, 담수 타일일 경우 변경 산출량을 지정하는 Improvement_TechFreshWaterYieldChanges등 많고, 건설 명령 버튼과 기본 건설 시간을 저장하는 Builds과 추가 지형에 대한 수식을 지정하는 BuildFeatures이 있다.Improvement 항목
- Description: 표기되는 이름
- Civilopedia: 백과사전에 등록되는 설명.
- ArtDefineTag: 생김새 태그
- CivilizationType: 문명의 고유 시설로 마크하는 것.
- PortraitIndex, IconAtlas: 위의 문명 항목의 것과 동일.
- PillageGold: 약탈시 지급하는 금.
- DestroyedWhenPillaged: 약탈되면 파괴됨.
- GoodyHut: 고대 유적지
- BarbarianCamp: 야만인 주둔지
4.4.1. Build
시설 건설 명령에 상응하는 항목.4.5. 건물
건물과 관련된 데이터는 BuildingClasses와 Buildings 2항목에서 정의가 되며, 그리고 Buildings 항목에 포함되어 있지 않는 효과들은 타 항목에서 정의가 된다. 다만 Buildings 항목 자체만은 새 건물을 넣을 때 필수적이다. BuildingClasses는 새 건물 종류를 정의하며, Buildings는 이에 종속된 건물 종류들을 정의한다. 예를 들어서 BuildingClasses의 BUILDINGCLASS_BANK의 경우 보통 은행인 BUILDING_BANK랑 페르시아 고유 건물인 BUILDING_SATRAPS_COURT라는 건물 Type들이 있다.4.5.1. Buildings
Buildings 자체에 들어가있는 항목은 건물 종류 하나당 Row 태그가 필요하다.- ID - 건물 ID. 다만, 자동적으로 설정해주기 때문에 웬만해서는 수동적으로 안 건드리는 것이 좋다.
- Type - 데이터베이스에서 저장되는 건물 종류 이름.
- Description - 표기되는 이름.
- Civilopedia - 문명 백과사전에서 역사 항목에 들어갈 텍스트 (아니면 포인터)
- Strategy - 문명 백과사전에서 전략 항목에 들어갈 텍스트 (아니면 포인터)
- Help - 건물 버튼에 마우스 올릴시 이름과 효과 밑에 나오는 짧은 도움말에 들어갈 텍스트 (아니면 포인터)
- ThemingBonusHelp - 테마 보너스 도움말 텍스트 (아니면 포인터)
- Quote - 불가사의 전용. 건설후 하단 좌측에 나오는 대사 텍스트 (아니면 포인터)
- GoldMaintenance - 유지 비용
- MutuallyExclusiveGroup - 그룹. 여기에 수를 배정하면 똑같은 수를 가진 건물과 중첩 건설이 불가능하다. (예: 원자력 발전소/태양력 발전소)
- TeamShare
- Water
- River - 강가에서만 지을 수 있음.
- FreshWater - 담수 타일 위에서만 지을 수 있음.
- Mountain - 도시가 산 옆에 있어야 함. (예: 천문대)
- NearbyMountainRequired - 도시 국경안에 2타일 미만 떨어진 산이 있어야 함. (예: 마추픽추)
- Hill
- Flat
- FoundsReligion
- IsReligious
- BorderObstacle
- PlayerBorderObstacle
- Capital - 이게 있으면 이 건물 완성시 도시가 수도로 표기된다.
- GoldenAge - 건설 시 황금기를 개방함.
- MapCentering
- MinorFriendshipChange - 건물을 지을 시 도시국가의 현재 우호도의 수치를 더한다. 예를 들어 이 항목이 50일 경우 만난 모든 도시 국가들의 우호도가 각각 현재 우호도의 50%만큼 증가한다.
- NeverCapture - 점령시 무조건 파괴됨.
- NukeImmune - 핵 공격으로 파괴되지 않음.
- AllowsWaterRoutes - 바다를 통한 수도 연결 허용함.
- ExtraLuxuries - 사치품 복제 능력. 아라비아의 바자르에 쓰임.
- DiplomaticVoting - 전의 외교 승리용 특수 회의를 여는 국제 연합 불가사의에 쓰인 태그.
- AffectSpiesNow
- NullifyInfluenceModifier
- Cost - 생산력 비용. 금 값도 이것이 관여하지만, 여기의 숫자는 보통 속도에서 건물 완성에 필요한 생산력이다.
- FaithCost - 신앙 비용.
- LeagueCost
- UnlockedByBelief
- UnlockedByLeague
- HolyCity - 도시가 성도여야 함.
- NumCityCostMod - 도시 추가 비용. 도시가 추가될 수록 생산 비용을 높이며, 기본적으로 국가 불가사의에 쓰여있다.
- HurryCostModifier
- MinAreaSize
- ConquestProb - 도시 점령시 건물이 파괴되지 않을 확률. 다만, 이게 고유 건물일 경우 기본 건물로 변화한다.
- CitiesPrereq
- LevelPrereq
- CultureRateModifier - 도시의 문화력 생산력 보정. 백분율이며, 시스템상 도시의 실제 문화 산출량은 항상 소수점이 잘린다.
- GlobalCultureRateModifier - 문명의 모든 도시에 적용되는 문화력 생산력 보정.
- GreatPeopleRateModifier - 도시의 위인 점수 누적 속도 보정치.
- GlobalGreatPeopleRateModifier - 전역 위인 점수 누적 속도 보정치.
- GreatGeneralRateModifier - 위대한 장군 점수 누적 속도 보정치.
- GreatPersonExpendGold - 위인 소모시 제공되는 금.
- GoldenAgeModifier - 황금기 지속시간 보정치.
- UnitUpgradeCostMod - 유닛 업그레이드시 소모되는 금 보정치
- Experience - 도시에서 유닛 생산시 제공하는 경험치량
- GlobalExperience
- FoodKept - 시민 생성시 유지되는 식량. 백분율.
- Airlift - 공항 능력
- AirModifier
- NukeModifier
- NukeExplosionRand
- HealRateChange
- Happiness - 지역 행복
- UnmoddedHappiness - 전역 행복
- HappinessPerCity - 도시당 행복.
- HappinessPerXPolicies - 이 수만큼의 정책당 1의 전역 행복이 제공된다.
- CityCountUnhappinessMod - 도시 수로 인한 불행도 조절. 백분율로 되어있다.
- NoOccupiedUnhappiness - 법원
- MilitaryProductionModifier - 군사 유닛 생산시 생산력 보정.
- SpaceProductionModifier - 도시의 우주선 부품 생산력 보정.
- GlobalSpaceProductionModifier - 전역 우주선 부품 생산력 보정. 허블 우주 망원경에 25가 있다.
- BuildingProductionModifier - 건물 건설시 생산력 보정. 예를 들어 풍차의 경우 여기 10이 되어있다.
- WonderProductionModifier - 불가사의 생산력 보정.
4.5.2. Building_AreaYieldModifiers
4.5.3. Building_BuildingClassHappiness
건물을 소유할 경우 제국 전역에 일정한 종류의 건물 당 (대체 고유 건물을 포함) 부여되는 지역 행복도.- BuildingType - 보너스를 주는 건물
- BuildingClassType - 보너스가 적용되는 건물 부류
- Happiness
4.5.4. Building_BuildingClassYieldChanges
건물을 소유할 경우 제국 전역에 일정한 종류의 건물 당 (대체 고유 건물을 포함) 부여되는 산출량.- BuildingType - 보너스를 주는 건물
- BuildingClassType - 보너스가 적용되는 건물 부류
- YieldType - 산출량 종류
- Yield - 산출량
4.5.5. Building_ClassesNeededInCity
이 건물을 짓는데 필요한 건물 종류.- BuildingType - 요구사항이 적용될 건물.
- BuildingClassType - 해당 건물에 필요한 건물 종류 - 예를 들어 BUILDING_CLASS_FACTORY의 경우 이 건물을 짓기 위해 공장이나 이를 대체하는 건물이 있어야 함.
4.5.6. Building_FreeUnits
건물 건설 시 주어지는 유닛.- BuildingType - 유닛을 제공할 건물
- UnitType - 유닛 종류. 클래스가 아니라 유닛 종류라서 고유 유닛 등도 가능함.
- NumUnits - 제공되는 유닛 수
4.5.7. Building_DomainFreeExperiences
건물이 있는 도시에서 해당 종류의 유닛 생성시 주어지는 경험치- BuildingType - 경험치를 제공할 건물
- DomainType - 유닛 분류 (예를 들어 DOMAIN_LAND라면 지상 유닛)
- Experience - 경험치
4.5.8. Building_DomainFreeExperiencePerGreatWork
건물에 있는 걸작 당 주어지는 경험치- BuildingType - 경험치를 제공할 건물
- DomainType - 유닛 분류 (예를 들어 DOMAIN_LAND라면 지상 유닛)
- Experience - 경험치
4.5.9. Building_DomainProductionModifiers
- BuildingType - 생산력을 제공할 건물
- DomainType - 유닛 분류 (예를 들어 DOMAIN_LAND라면 지상 유닛)
- Modifier - 생산력 보정. 백분율.
4.5.10. Building_FreeSpecialistCounts
- BuildingType
- SpecialistType
- Count
4.5.11. Building_Flavors
건물에 대한 AI의 선호도- BuildingType - 해당 건물
- FlavorType - 선호도 종류
- Flavor - 선호도
4.5.12. Building_GlobalYieldModifiers
전역 보정. 단, 신앙과 문화는 소수점이 적용되지 않아 효과가 없으며, 문화는 위 Building 태그의 GlobalCultureRateModifier을 써야 함.- BuildingType - 보너스를 주는 건물
- YieldType - 산출량 종류
- Yield - 산출량. 백분율
4.5.13. Building_HurryModifiers
- BuildingType - 보너스를 주는 건물
- HurryType - 가속 종류. 단 이는 HURRY_GOLD (금 구매)만 확인됨.
- HurryCostModifier - 가속 비용 보정.
4.5.14. Building_LocalResourceAnds
건물 건설에 도시내에 개발되아야 하는 자원 종류들. 여기 있는 것은 모두 다 만족해야 건설 가능함.- BuildingType - 보너스를 주는 건물
- ResourceType - 자원 종류
4.5.15. Building_LocalResourceOrs
건물 건설에 도시내에 개발되아야 하는 자원 종류들. 여기 있는 것 중 하나만 만족해도 건설 가능함.- BuildingType - 보너스를 주는 건물
- ResourceType - 자원 종류
4.6. 유닛
- ID
- Type
- Description - 게임상 나오는 이름. 보통 포인터.
- Civilopedia - 백과사전의 역사적 정보에 나오는 단락. 보통 포인터.
- Strategy - 백과사전의 전략에 나오는 단락. 보통 포인터.
- Help - 유닛을 생산하려 할때 전투력/생산 비용등 설명란 맨 밑에 뜨는 도움말. 보통 포인터.
- Requirements - 기타 유닛 생산 요구사항 (자원이나 건물은 따로 분류되어 있다.)
- Combat - 전투력.
- RangedCombat - 원거리 전투력.
- Cost - 생산 비용
- FaithCost - 신앙 비용. 단, 이는 시대 비율을 적용받는다.
- RequiresFaithPurchaseEnabled - 관련 교리을 찍어야 신앙으로 구매가능하게 함.
- PurchaseOnly - 구매로만 유닛을 얻을 수 있음. (예: 란츠네흐트)
- MoveAfterPurchase - 구매후 바로 이동 가능.
- Moves - 이동력.
- Immobile
- Range - 사정거리
- BaseSightRange - 기본 시야
- Class
- Special
- Capture
- CombatClass
- Domain
- CivilianAttackPriority
- DefaultUnitAI
- Food - 유닛 생산시 잉여 식량 소모 여부[3]
- NoBadGoodies
- RivalTerritory
- MilitarySupport - 군사 건물의 지원 받음.
- MilitaryProduction - 군사 유닛 생산력 정책/건물 등의 효과를 적용받음.
- Pillage - 약탈 가능
- PillagePrereqTech - 약탈 가능 요구사항
- Found
- FoundAbroad
- CultureBombRadius
- GoldenAgeTurns - 황금기를 여는데 소모되면 표준 속도/보통 크기 맵 기준으로 지속되는 황금기의 턴수.
- FreePolicies - 소모하면 지급하는 무료 사회정책
- OneShotTourism - 순회 공연으로 지급하는 관광력. 게임 안의 최소 값은 (지정된 값 * 10 * 속도 배율[4])이며, 그것보다 더 클 경우 (관광 * 지정된 값 * 속도 배율) 지정된 값이다.
- OneShotTourismPercentOthers - 순회 공연시 순회 공연을 한 문명을 제외한 타 문명에게 적용되는 관광력. 이는 음악가의 관광력 * 지정된 값 / 100으로 계산된다.
- IgnoreBuildingDefense
- PrereqResources
- Mechanized
-
Suicide - 이 유닛이 공격하면 이 유닛은 사라진다
일본 고유 유닛으로 오카 만드는데 적합하다 - CaptureWhileEmbarked
- PrereqTech - 요구되는 기술
- ObsoleteTech - 퇴보되는 기술 (예: 정찰병 - 과학 이론)
- GoodyHutUpgradeUnitClass - 유적으로 유닛을 개량했을때 변신하는 유닛 종류.
- HurryCostModifier
- AdvancedStartCost
- MinAreaSize
- AirInterceptRange
- AirUnitCap
- NukeDamageLevel
- WorkRate - 작업 배율. 이는 시설 건설과 관련되어 있다.
- NumFreeTechs
- BaseBeakersTurnsToCount - 연구 가속으로 얻는 과학력
- BaseCultureTurnsToCount - 정치 논문 작성으로 얻는 문화력
- RushBuilding - 건설 가속 가능
- BaseHurry
- HurryMultiplier
- BaseGold
- NumGoldPerEra
- SpreadReligion
- RemoveHeresy
- ReligionSpreads - 종교 전파 가능 횟수
- ReligiousStrength
- FoundReligion
- RequiresEnhancedReligion
- ProhibitsSpread - 종교 전파 금지
- CanBuyCityState - 도시국가 매수 가능
- CombatLimit
- RangeAttackOnlyInDomain
- RangeAttackIgnoreLOS
- Trade
- NumExoticGoods
- PolicyType
- RangedCombatLimit
- XPValueAttack
- XPValueDefense
- SpecialCargo
- DomainCargo
- Conscription
- ExtraMaintenanceCost
- NoMaintenance
- Unhappiness
- UnitArtInfo
- UnitArtInfoCulturalVariation
- UnitArtInfoEraVariation
- ProjectPrereq
- SpaceshipProject
- LeaderPromotion
- LeaderExperience
- DontShowYields
- ShowInPedia
- MoveRate
- UnitFlagIconOffset
- PortraitIndex
- IconAtlas
- UnitFlagAtlas
4.7. 전문가
새로운 전문가를 정의하여 XML에서 기본적인 연결된 위인, 위인 점수와 산출량을 부여할 수 있다. 그 후의 기타 효과는 더미 건물과 LUA 코드로 해결해야 한다.4.8. 자연경관
새로운 자연경관도 만들수 있다. XML에서는 Features 항목과 이에 종속된 주요 항목으로서 Feature_YieldChanges, Natural_Wonder_Placement이 있다. 다만, 이렇게 만든 자연경관은 ArtDefineTag에 무엇이 있는지 모조리 씹고 후지산에서 쓰이는 흰 눈이 쌓인 산 그래픽을 쓰게 되며, 후지산의 봉우리 구름은 없다.4.9. 자원
자연경관처럼 새로운 자원도 만들 수 있다. 다만, 그래픽 (텍스쳐 수정만이라도 할 경우라면) gr2 파일을 수정해야 하기 때문에 골치아프고, 또한 ModNexus를 통하여 기존의 양식을 추출해 오는게 가장 편하다. 파일 자체는 게임데이터를 받아들이는 XML, 모델의 텍스쳐에 관여하는 fxsxml, 소리에 관여하는 ftsxml, 모델 자체인 gr2, 그리고 텍스쳐 파일인 dds가 있다.다만, 여기서는 순수 XML, 그러니까 게임 효과만 고려한다면 Resources, Resource_YieldChanges, Resource_Flavors, Improvement_ResourceTypes, Resource_TerrainBooleans, Improvement_ResourceType_Yields, IconFontTextures, IconFontMapping, 그리고 ArtDefine_Landmarks이 있다.
Resources에 들어가는 항목 (자원 종류당 Row 항목 하나)
- Type
- Happiness - 하나라도 있을 경우 성공적 개발 (필요한 기술 개발)시 얻는 행복도.
- TechCityTrade - 자원 자체를 개발하는데 필요한 기술. 단, 이는 시설을 통한 산출력과 무관하다.
- Description - 출력될 이름
- Civilopedia
- ResourceClassType - RESOURCECLASS_LUXURY는 사치 자원, RESOURCECLASS_STRATEGIC은 전략 자원, 그리고 RESOURCECLASS_BONUS는 추가자원.
- ArtDefineTag - 그래픽 요소
- AIObjective
- PlacementOrder
- ConstAppearance
- MinAreaSize
- MaxLatitude
- RandApp1
- RandApp2
- Player
- Hills
- GroupRange
- GroupRand
- IconString - 아이콘 (문명 백과사전, 행복도 툴팁 및 그리드에 마우스 올릴시 뜨는 사치 자원 그림) 이름 지정.
- PortraitIndex
- IconAtlas
4.9.1. 그래픽 관련 텍스트 파일
아이콘이랑 자원 텍스쳐와 모델에 관련된 항목이다.자원 특유의 아이콘을 만드는데 ggxml 파일 형태가 쓰이지만. 이는 그냥 보통 텍스트 에디터로 편집이 가능하다.
4.10. 텍스트
게임에서 직접 출력되는 설명 및 텍스트. 기본적으로 Language_en_US는 필수적이며, 그 후에 타 언어 태그를 넣어서 그 로칼을 지원하게 할 수 있다. 한국어의 경우 Language_ko_KR. 이 곳의 경우 Row 항목이 Tag="항목 이름"으로 뒤에 추가되어 있다. 예를 들어서 <Row Tag="TXT_KEY_FEATURE_LAKE_VICTORIA><Text>빅토리아 호수</Text></Row>의 경우 빅토리아 호수 자연경관에 마우스를 올리거나 문명 백과사전에서 표시되는 이름을 정의한다. 다만, Language_ko_KR 항목에서만 Row항목들을 만들 수는 없고, Language_en_US에 반드시 똑같은 Tag가 있는 항목을 만들어야지 한국어 쪽에서 인식을 한다(...)예를 들어 건물을 위해 한국어도 지원하겠다고 보자.
<-- 기본적인 포인터 -->
<Traits>
<Row>
<Type>TRAIT_SCHOLARS_JADE_HALL</Type>
<Description>TXT_KEY_TRAIT_SCHOLARS_JADE_HALL</Description>
<ShortDescription>TXT_KEY_TRAIT_SCHOLARS_JADE_HALL_SHORT</ShortDescription>
<TechBoostFromCapitalScienceBuildings>true</TechBoostFromCapitalScienceBuildings>
</Row>
</Traits>
<Buildings>
...
<Description>TXT_KEY_BUILDING_BARRACKS</Description>
...
</Buildings>
<-- 영문 텍스트 -->
<Language_en_US>
<Row Tag="TXT_KEY_BUILDING_BARRACKS">
<Text>Barracks</Text>
</Row>
<Row Tag="TXT_KEY_TRAIT_SCHOLARS_JADE_HALL">
<Text>+2 [ICON_RESEARCH] science for all specialists and for all Great Person tile improvements. Receive a tech boost each time a scientific building/Wonder is built in the Korean capital.</Text>
</Row>
<Row Tag="TXT_KEY_TRAIT_SCHOLARS_JADE_HALL_SHORT">
<Text>Scholars of the Jade Hall</Text>
</Row>
</Language_en_US>
<-- 한글 텍스트 -->
<Language_ko_KR>
<Row Tag="TXT_KEY_BUILDING_BARRACKS">
<Text>병영</Text>
</Row>
<Row Tag="TXT_KEY_TRAIT_SCHOLARS_JADE_HALL">
<Text>전문가와 위인 관련 타일 시설 당 [ICON_RESEARCH] 과학이 2만큼 증가합니다. 한국의 수도에 과학과 관련된 건물이나 불가사의가 건설될 때마다 과학이 증가합니다.</Text>
</Row>
<Row Tag="TXT_KEY_TRAIT_SCHOLARS_JADE_HALL_SHORT">
<Text>집현전</Text>
</Row>
</Language_ko_KR>
이렇게 보면 된다. 한 파일에 모든 텍스트에 관한 항목을 넣을 지 각각 항목에 (예: 유닛/건물 XML) 하나씩 넣을지는 자유. 나무위키에 있는 모드 문명은 대다수가 Language_ko_KR가 없어서 거의 다 영문으로 나온다. 그냥 영문으로 즐기는 자야 별 문제가 없겠지만 한국어판을 한다면 조금 깨기는 하다.
ICON_RESEARCH는 바로 과학 이모티콘이다. 모든 기본 아이콘들은 여기 참고 바람.
순수히 한글만 쓰고 Language_ko_KR 항목까지 만들기 귀찮으면 Language_en_US에 한국어 텍스트를 집어넣어도 문제 없다.
4.11. 승급
승급의 구조는 다음과 같다.(예 : 전격전)
<Row>
<Type>PROMOTION_BLITZ</Type>
<Description>TXT_KEY_PROMOTION_BLITZ</Description>
<Help>TXT_KEY_PROMOTION_BLITZ_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<PromotionPrereqOr1>PROMOTION_SHOCK_3</PromotionPrereqOr1>
<PromotionPrereqOr2>PROMOTION_DRILL_3</PromotionPrereqOr2>
<OrderPriority>7</OrderPriority>
<ExtraAttacks>1</ExtraAttacks>
<PortraitIndex>9</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_MELEE</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_BLITZ</PediaEntry>
</Row>
이런 식으로 되어있다.
Type : 승급의 데이터 상 이름. 유닛이나 문명특성 등에 쓸 때 이걸 써야한다.
Description : 승급이 게임 내에서 보이는 문구
Help : 승급 관련 설명
Sound : 승급 얻을 때 나오는 소리인듯?
PromotionPrereqOr1,2,... : 승급을 얻기위해 미리 얻어야할 승급
OrderPriority : 승급의 우선순위. 정확하게 어떤 원리인지는 모르겠는데 즉시회복은 이 부분이 99로 되어있다.
ExtraAttacks : 승급의 하위 항목. 이 승급이 어떤 기능을 하는지를 말한다. 여기선 n회 공격할 수 있는 기능
PortraitIndex : 승급 그림의 번호. 여러 그림이 같이 있는 그림 파일에서 해당 승급 그림이 몇번째 그림인지 나타냄
IconAtlas : 승급 그림 파일
PediaType
PediaEntry
====승급 기능====
다음은 승급의 하위 항목들이다. 이것을 이용해서 새로운 승급을 만들어낼 수도 있다.
CannotBeChosen 참/거짓 : 레벨업으로 얻을 수 없다
LostWithUpgrade 참/거짓
InstaHeal 참/거짓 : 즉시회복
Leader 참/거짓
Blitz 참/거짓 : 쓰지 않음
Amphib 참/거짓
River 참/거짓
EnemyRoute 참/거짓
RivalTerritory 참/거짓
MustSetUpToRangedAttack 참/거짓
RangedSupportFire 참/거짓
CanMoveAfterAttacking 참/거짓 : 공격 후 이동 가능
AlwaysHeal 참/거짓
HealOutsideFriendly 참/거짓
HillsDoubleMove 참/거짓
RoughTerrainEndsTurn 참/거짓
IgnoreTerrainCost 참/거짓
HoveringUnit 참/거짓
FlatMovementCost 참/거짓
CanMoveImpassable 참/거짓
NoCapture 참/거짓
OnlyDefensive 참/거짓
NoDefensiveBonus 참/거짓
NukeImmune 참/거짓
HiddenNationality 참/거짓
AlwaysHostile 참/거짓
NoRevealMap 참/거짓
Recon 참/거짓
CanMoveAllTerrain 참/거짓
FreePillageMoves 참/거짓 : 행동력 소모 없이 약탈 가능
AirSweepCapable 참/거짓
AllowsEmbarkation 참/거짓
EmbarkedNotCivilian 참/거짓
EmbarkedAllWater 참/거짓
HealIfDestroyExcludesBarbarians 참/거짓
RangeAttackIgnoreLOS 참/거짓
RangedAttackModifier 정수값
InterceptionCombatModifier 정수값
InterceptionDefenseDamageModifier 정수값
AirSweepCombatModifier 정수값
ExtraAttacks 정수값
ExtraNavalMovement 정수값
VisibilityChange 정수값
MovesChange 정수값
MoveDiscountChange 정수값
RangeChange 정수값
InterceptChanceChange 정수값
NumInterceptionChange 정수값
EvasionChange 정수값
CargoChange 정수값
EnemyHealChange 정수값
NeutralHealChange 정수값
FriendlyHealChange 정수값
SameTileHealChange 정수값
AdjacentTileHealChange 정수값
EnemyDamageChance 정수값
NeutralDamageChance 정수값
CombatPercent 정수값
CityAttack 정수값
CityDefense 정수값
RangedDefenseMod 정수값
HillsAttack 정수값
HillsDefense 정수값
OpenAttack 정수값 : 개방지역 공격력 증가
OpenRangedAttackMod 정수값
OpenDefense 정수값
RoughAttack 정수값
RoughRangedAttackMod 정수값
RoughDefense 정수값
AttackFortifiedMod 정수값
AttackWoundedMod 정수값
NearbyEnemyCombatMod 정수값
NearbyEnemyCombatRange 정수값
UpgradeDiscount 정수값
ExperiencePercent 정수값
AdjacentMod 정수값
AttackMod 정수값
DefenseMod 정수값
DropRange 정수값
GreatGeneral 참/거짓
GreatGeneralModifier 정수값
FriendlyLandsModifier 정수값
FriendlyLandsAttackModifier 정수값
OutsideFriendlyLandsModifier 정수값
HPHealedIfDestroyEnemy 정수값
ExtraWithdrawal 정수값
EmbarkExtraVisibility 정수값
====예시 승급====
-<GameData>
-<UnitPromotions>
-<Row>
<Type>PROMOTION_SNIPER_ELITE</Type>
<Description>TXT_KEY_PROMOTION_SNIPER_ELITE</Description>
<Help>TXT_KEY_PROMOTION_SNIPER_ELITE_HELP</Help>
<Sound>AS2D_IF_LEVELUP</Sound>
<OrderPriority>2</OrderPriority>
<CannotBeChosen>true</CannotBeChosen>
<CanMoveImpassable>true</CanMoveImpassable>
<RangeChange>9</RangeChange>
<FlatMovementCost>true</FlatMovementCost>
<VisibilityChange>3</VisibilityChange>
<OpenRangedAttackMod>200</OpenRangedAttackMod>
<RoughRangedAttackMod>100</RoughRangedAttackMod>
<PortraitIndex>23</PortraitIndex>
<IconAtlas>PROMOTION_ATLAS</IconAtlas>
<PediaType>PEDIA_HEAL</PediaType>
<PediaEntry>TXT_KEY_PROMOTION_SURVIVALISM_1</PediaEntry>
</Row>
</UnitPromotions>
<UnitPromotions_UnitCombats>
<Row>
<PromotionType>PROMOTION_SNIPER_ELITE</PromotionType>
<UnitCombatType>UNITCOMBAT_ARCHER</UnitCombatType>
</Row>
<Row>
<PromotionType>PROMOTION_SNIPER_ELITE</PromotionType>
<UnitCombatType>UNITCOMBAT_GUN</UnitCombatType>
</Row>
</UnitPromotions_UnitCombats>
<Language_ko_KR>
<Row Tag="TXT_KEY_PROMOTION_SNIPER_ELITE">
<Text>스나이퍼 엘리트</Text>
</Row>
<Row Tag="TXT_KEY_PROMOTION_SNIPER_ELITE_HELP">
<Text>공격범위+9, 시야+3, 개방지역 대상 데미지 +200%, 험지 대상 데미지 + 100%, 모든타일 이동력 소모 동일</Text>
</Row>
</Language_ko_KR>
</GameData>
UnitPromotions_UnitCombats는 어떤 병종에게 해당 승급을 부여할 지 정하는 부분이다. UnitCombats는 UnitClasses와는 다르다.
4.12. 기술
4.12.1. 시대
새 시대를 만드는 것이에 상응하는 이미지를 넣고 싶으면 NewEraPopup.lua 파일을 덮어 씌우는 파일을 만들어야 한다. 그렇지 않으면 새 시대가 뜰 때 가장 마지막에 뜬 이미지가 뜨거나, 게임 로드 후 처음으로 뜨는 팝업이라면 중세시대 이미지가 뜬다.
만드는 방법은 Era 항목을 만든 뒤, 원하는 수의 시대 만큼의 Row 태그를 넣은 뒤 정보를 삽입하면 된다.
- ID
- Type
- Description
- ShortDescription
- Abbreviation
- ArtPrefix
- Strategy
- NoGoodies
- NoBarbUnits
- NoReligion
- FirstSoundtrackFirst
- ResearchAgreementCost
- EmbarkedUnitDefense
- StartingUnitMultiplier
- StartingDefenseUnits
- StartingWorkerUnits
- StartingExploreUnits
- StartingGold
- StartingCulture
- FreePopulation
- LaterEraBuildingConstructMod
- StartPercent
- BuildingMaintenancePercent
- GrowthPercent
- TrainPercent
- ConstructPercent
- CreatePercent
- ResearchPercent
- BuildPercen
- ImprovementPercent
- GreatPeoplePercent
- CulturePercent
- TradeRouteFoodBonusTimes100
- TradeRouteProductionBonusTimes100
- EventChancePerTurn
- SpiesGrantedForPlayer
- SpiesGrantedForEveryone
- FaithCostMultiplier
- DiploEmphasisReligion
- DiploEmphasisLatePolicies
- LeaguePercent
- WarmongerPercent
- SoundtrackSpace
- CityBombardEffectTag
- AudioUnitVictoryScript
- AudioUnitDefeatScript
- CityArtType
4.13. 사회 정책
사회 정책을 새로이 만들거나 수정이 가능하다.사회 정책으로 건물이나 종특에 있는 XML 항목으로 구현이 어려우나 정책으로 구현이 쉽게 가능하면 쓰는 경우가 있으며, 또한 정책 트리에 새로운 정책을 더하는 것도 가능하다, 단, 사회 정책 UI가 9개의 트리(이념 추가 10개)로만 구성되어 있어서 UI를 만지지 않는 이상 새로운 트리를 넣을 수 없으며, 이념도 UI에 관여하는 LUA를 만져야 하며, AI는 추가적인 이념을 선택하지 않는다.
4.13.1. Policies
4.13.2. Policy_TourismOnUnitCreation
- PolicyType - 정책 종류
- UnitClassType - 유닛 종류
- Tourism - 유닛 생성시 추가되는 관광
4.14. 세계 대회
새로운 (시대로 인해) 세계 대회 종류는 LeagueSpecialSession, 안건 자체는 Resolutions, 그리고 대업의 경우 LeagueProject와 이에 대한 보상은 LeagueProjectRewards에서 설정할 수 있다.예를 들어 새로운 시대를 만들어서 새로운 대회를 만들고 싶다면 대략
<GameData>
<Row>
<Type>LEAGUE_SPECIAL_SESSION_START_INTERNATIONAL_PROTOCOLS</Type>
<Description>TXT_KEY_LEAGUE_SPECIAL_SESSION_START_INTERNATIONAL_PROTOCOLS</Description>
<Help>TXT_KEY_LEAGUE_SPECIAL_SESSION_START_INTERNATIONAL_PROTOCOLS_HELP</Help>
<SessionSplashImage>Victory_Cultural.dds</SessionSplashImage>
<EraTrigger>ERA_FUTURE</EraTrigger>
<ImmediateProposal>RESOLUTION_CHANGE_LEAGUE_HOST</ImmediateProposal>
<RecurringProposal>RESOLUTION_DIPLOMATIC_VICTORY</RecurringProposal>
<TurnsBetweenSessions>5</TurnsBetweenSessions>
<CivDelegates>6</CivDelegates>
<HostDelegates>6</HostDelegates>
<CityStateDelegates>2</CityStateDelegates>
<UnitedNations>true</UnitedNations>
</Row>
</GameData>
이렇게 해주면 된다. UnitedNation 태그의 경우 UnitedNation과 관련된 불가사의나 건물을 지으면 자동적으로 해금된다는 뜻이지만, 모드 없이는 국제 연합 불가사의가 없으므로 무시된다. 한편, 게임적으로 중요한 것은
- EraTrigger - 한 문명이 이 시대 다음으로 넘어가거나 살아남은 문명중 절반 이상이 이 시대에 접어들면 해금됨
- ImmediateProposal - 이 특별 회의에서 바로 제안되는 것. 보통 RESOLUTION_CHANGE_LEAGUE_HOST를 쓰며, 이는 바로 개최국을 선정하는 것이다.
- RecurringProposal - 이게 있으면 회의가 보통 안건 제안과 이 특별 제안을 번갈아 가면서 한다. 모드 없이 쓰이는 곳은 바로 국제 연합때의 외교 승리를 위한 RESOLUTION_DIPLOMATIC_VICTORY.
- TurnsBetweenSessions - 안건에 대한 투표에 걸리는 턴.
- CivDelegates - 문명이 가지고 있는 기본 표
- HostDelegates - 주최국 특권 표.
- CityStateDelegates - 동맹 도시국가당 받는 표
4.14.1. 프로젝트
프로젝트를 만들려면 우선적으로 이를 해금하는 Resolutions, 프로젝트를 정의하는 LeagueProject, 그리고 이에 상응하는 보상을 나열하는 LeagueProjectRewards, 그리고 Process 항목을 만져야 한다.해금하는 안건의 예
<GameData>
<Resolutions>
<Row>
<Type>RESOLUTION_LARGE_HADRON_COLLIDER</Type>
<Description>TXT_KEY_RESOLUTION_LARGE_HADRON_COLLIDER</Description>
<Help>TXT_KEY_RESOLUTION_LARGE_HADRON_COLLIDER_HELP</Help>
<VoterDecision>RESOLUTION_DECISION_YES_OR_NO</VoterDecision>
<ProposerDecision>RESOLUTION_DECISION_NONE</ProposerDecision>
<TechPrereqAnyMember>TECH_PARTICLE_PHYSICS</TechPrereqAnyMember>
<LeagueProjectEnabled>LEAGUE_PROJECT_LARGE_HADRON_COLLIDER</LeagueProjectEnabled>
</Row>
</Resolutions>
</GameData>
여기서 중요한 것은 LeagueProjectEnabled다.
프로젝트 자체를 만들려면
<GameData>
<LeagueProjects>
<Row>
<Type>LEAGUE_PROJECT_LARGE_HADRON_COLLIDER</Type>
<Description>TXT_KEY_LEAGUE_PROJECT_LARGE_HADRON_COLLIDER</Description>
<Help>TXT_KEY_LEAGUE_PROJECT_LARGE_HADRON_COLLIDER_SPLASH</Help>
<ProjectSplashImage>Large_Hadron_Collider_project.dds</ProjectSplashImage>
<Process>PROCESS_LARGE_HADRON_COLLIDER</Process>
<CostPerPlayer>1100</CostPerPlayer>
<RewardTier1>LEAGUE_PROJECT_REWARD_LARGE_HADRON_COLLIDER_1</RewardTier1>
<RewardTier2>LEAGUE_PROJECT_REWARD_LARGE_HADRON_COLLIDER_2</RewardTier2>
<RewardTier3>LEAGUE_PROJECT_REWARD_LARGE_HADRON_COLLIDER_3</RewardTier3>
<PortraitIndex>0</PortraitIndex>
<IconAtlas>INTL_PROJECT_ATLAS_EXP2</IconAtlas>
</Row>
</LeagueProjects>
</GameData>
이렇게 해주면 된다. 다만 보상 레벨은 직접 지정할 수 없으며, RewardTier1은 항상 CostPerPlayer의 반, RewardTier2는 CostPerPlayer, 그리고 RewardTier3는 최대 공헌자에게 주어진다. CostPerPlayer는 문명당 필요한 생산. 중요한 것은 Process인데 이를 지정하고 Process 항목에 이에 상응하는 건설작업을 선택하지 않으면 교육이나 길드가 해금하는 부, 연구 같은 기타 항목에 있는 것이 해금될 경우 건설 패널이 뜨지 않는다.
4.15. 기타
특수한 능력들, 예를 들어 세계 대회에러 통과한 프로젝트나 부같은 것은 Process 항목에 포함되어 있다.4.15.1. Process
- ID - 그냥 ID 숫자. 무시해야 됨.
- Type - 게임 데이터베이스에서 쓰는 이름.
- Description - 스크린에 출력되는 이름.
- Help - 간략한 설명.
- Strategy - 백과사전에 나오는 전략
- TechPrereq - 기술 요구사항
- PortraitIndex
- IconAtlas
4.15.2. Process_Flavor
Flavor가 들어간게 다 그렇듯 AI가 이것을 얼마나 선호하는지를 지정한다.- ProcessType
- FlavorType - AI 선호 분야 (예: FLAVOR_EXPANSION은 확장, 지도자 항목의 Leader_Flavors 부분 참조바람)
- Flavor - 지수
4.15.3. Process_ProductionYields
- ProcessType
- YieldType
- Yield - 생산력 교환 백분율. 25의 경우 생산력의 25%가 YieldType이 지정한 산출로 전환된다. 다만, 이로서 얻는 산출량은 건물의 % 보정을 받지 않는다.
4.16. 종교
교리의 경우 Belief 항목에서 정의가 된다.예시 교리들
<GameData>
<Beliefs>
<Row>
<Type>BELIEF_LIFEGIVER</Type>
<Description>TXT_KEY_BELIEF_LIFEGIVER</Description>
<ShortDescription>TXT_KEY_BELIEF_LIFEGIVER_SHORT</ShortDescription>
<Pantheon>true</Pantheon>
</Row>
<Row>
<Type>BELIEF_SANCTUARY</Type>
<Description>TXT_KEY_BELIEF_SANCTUARY</Description>
<ShortDescription>TXT_KEY_BELIEF_SANCTUARY_SHORT</ShortDescription>
<Founder>true</Founder>
</Row>
<Row>
<Type>BELIEF_TECHPRIEST</Type>
<Description>TXT_KEY_BELIEF_TECHPRIEST</Description>
<ShortDescription>TXT_KEY_BELIEF_TECHPRIEST_SHORT</ShortDescription>
<Follower>true</Follower>
</Row>
</Beliefs>
<Belief_FeatureYieldChanges>
<Row>
<BeliefType>BELIEF_LIFEGIVER</BeliefType>
<FeatureType>FEATURE_OASIS</FeatureType>
<YieldType>YIELD_CULTURE</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<BeliefType>BELIEF_LIFEGIVER</BeliefType>
<FeatureType>FEATURE_OASIS</FeatureType>
<YieldType>YIELD_FAITH</YieldType>
<Yield>2</Yield>
</Row>
<Row>
<BeliefType>BELIEF_LIFEGIVER</BeliefType>
<FeatureType>FEATURE_OASIS</FeatureType>
<YieldType>YIELD_FOOD</YieldType>
<Yield>1</Yield>
</Row>
</Belief_FeatureYieldChanges>
<Belief_BuildingClassYieldChanges>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_TEMPLE</BuildingClassType>
<YieldType>YIELD_SCIENCE</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_TEMPLE</BuildingClassType>
<YieldType>YIELD_PRODUCTION</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_TEMPLE</BuildingClassType>
<YieldType>YIELD_FAITH</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_UNIVERSITY</BuildingClassType>
<YieldType>YIELD_SCIENCE</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_UNIVERSITY</BuildingClassType>
<YieldType>YIELD_PRODUCTION</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_UNIVERSITY</BuildingClassType>
<YieldType>YIELD_FAITH</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_WORKSHOP</BuildingClassType>
<YieldType>YIELD_SCIENCE</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_WORKSHOP</BuildingClassType>
<YieldType>YIELD_PRODUCTION</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_WORKSHOP</BuildingClassType>
<YieldType>YIELD_FAITH</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_FACTORY</BuildingClassType>
<YieldType>YIELD_SCIENCE</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_FACTORY</BuildingClassType>
<YieldType>YIELD_PRODUCTION</YieldType>
<YieldChange>1</YieldChange>
</Row>
<Row>
<BeliefType>BELIEF_TECHPRIEST</BeliefType>
<BuildingClassType>BUILDINGCLASS_FACTORY</BuildingClassType>
<YieldType>YIELD_FAITH</YieldType>
<YieldChange>1</YieldChange>
</Row>
</Belief_BuildingClassYieldChanges>
<Belief_HolyCityYieldChanges>
<Row>
<BeliefType>BELIEF_SANCTUARY</BeliefType>
<YieldType>YIELD_FAITH</YieldType>
<Yield>4</Yield>
</Row>
<Row>
<BeliefType>BELIEF_SANCTUARY</BeliefType>
<YieldType>YIELD_CULTURE</YieldType>
<Yield>4</Yield>
</Row>
</Belief_HolyCityYieldChanges>
</GameData>
예시 교리들은
- BELIEF_LIFEGIVER: 오아시스 타일의 식량 산출이 1, 문화와 신앙 산출이 2만큼 증가함. 종교관.
- BELIEF_ TECHPRIEST: 사원, 작업장, 대학과 공장의 과학, 신앙과 생산력 산출이 1만큼 증가함. 신자 교리.
- BELIEF_SANCTUARY: 성도의 신앙과 문화 산출량이 4만큼 증가함. 창시자 교리.
참고로 효과들의 적용 대상은 교리의 종류가 아닌 효과 종류에 따른다. 예를 들어 신앙으로 건물을 해금하는 Belief_BuildingClassFaithPurchase의 경우 어떠한 교리이든 창시자가 아닐지라도 도시가 종교를 믿으면 이 효과를 받는다. 이로서 예수회 교단 개혁 교리의 경우 타 문명의 도시에서도 건물 구입이 가능해진다. 향상 교리를 만들고 싶을 경우 교리에 <Enhancer>true</Enhancer>을 붙이면 되며, 개혁 교리는 <Reformation>true</Reformation>을 붙이면 된다.
5. LUA
자작 UI 추가/변경점을 만들거나 대화창 생성, 아니면 XML만으로 구현 불가능한 게임 효과를 구현하는데 쓰인다.기본적인 양식은 function을 만들어 게임의 특정 이벤트에 붙이는 것. 이 중 제일 기본적인 이벤트는 GameEvents.PlayerDoTurn으로서, 거기에 function을 붙이면 된다.
더 자세한 내용은 모디키 문서에서 보면 된다. 다만, 효과는 설명하지는 않는다.
예시 LUA
function createGreatEngineer(iPlayer)
local player = Players[iPlayer]
if (player:GetCivilizationType() == GameInfoTypes["CIVILIZATION_SAMPLE_CIV"] and player:IsAlive()) then
local proteuousa = player:GetCapitalCity()
player:InitUnit(GameInfoTypes["UNIT_ENGINEER"], proteuousa:GetX(), proteuousa:GetY())
end
end
GameEvents.PlayerDoTurn.Add(createGreatEngineer)
이 LUA 코드는 CIVILIZATION_SAMPLE_CIV라고 등록되어 있는 문명의 턴이 시작될 때마다 그 문명을 위해 수도에서 위대한 기술자를 생성하는 코드다.
LUA의 용도 중 하나가 문명 특성인 경우가 많은데, 이런 경우에는 문명이 있을 때만 이벤트에 효과를 링크 시켜 최적화 시킬 수 있다.
예시 LUA
for iPlayer = 0, GameDefines.MAX_MAJOR_CIVS-1, 1 do
local paichnides = Players[iPlayer]
if paichnides:GetCivilizationType() == GameInfoTypes["CIVILIZATION_KOREA"] then
--Players[Game.GetActivePlayer()]:AddNotification(NotificationTypes.NOTIFICATION_GENERIC, "DETECTED", "MUH PLAYA")
GameEvents.PlayerDoTurn.Add(OnTurnSpecialistsCheck)
GameEvents.PlayerDoTurn.Add(GiveFreeGreatPerson)
GameEvents.PlayerDoTurn.Add(PhrourionUpdate)
paichnides:SetHasPolicy(GameInfoTypes["POLICY_KOREA_GREAT_PEOPLE_PENALTY"], true)
end
end
여기서 GameEvents.x는 모두 효과가 들어 있는 함수를 이벤트에 연결시키는 것이다. 위의 for 루프는 플레이어들을 검색해 밑의 if에 있는 문명중 CIVILIZATION_KOREA이라는 Type의 문명이 있으면 돌아가라는 뜻.
대화창의 경우 대화창 생김새 자체는 XML에서 짜지만, 효과와 대화창 생성은 LUA쪽에서 담당한다.
5.1. UI 모딩
UI 모드를 만들려면 우선적으로 XML에서 양식을 짜고, 효과와 대화창 생성은 LUA쪽에서 담당한다. 하지만, 이것이 게임에서 정상적으로 작동하게 하려면 XML과 LUA 파일의 이름이 같아야 하며, 동일한 폴더에 있어야 한다. 이 후에 Property에 가서 Content 탭을 누른후 이 중 하나를 선택하고, 도시 UI같은 것을 변경하지 않는 기본적인 UI 대화창일 경우 InGameUIAddin을 선택하면 된다.5.2. 이벤트와 판결 지원
중요한 팁으로 디버깅 할때 효과인 DoFunc와 조건인 CanFunc안의 내용물은 로깅으로 잡아내지를 않는다. 그렇기 때문에 문제가 생겼으면 반드시 그 안에 있는 내용물을 밖으로 집어내서 디버깅을 해야 한다.6. 2D 이미지 그래픽/음향 추가
준비하는 것과 모드에 추가하는 것이 따로 있다. 2D 이미지의 경우 문명은 DDS 파일만을 취급하는데, 공짜로 하려면 GIMP를 받은 후에 DDS 플러그인을 받아 쓰면 된다. 이미지를 다 준비하고 DDS 형식으로 내보내려면 최신 버전의 GIMP를 갖고 있을 경우 Export/내보내기를 누른 후에 뜨는 메뉴에서 끝 확장자를 .dds로 하면 끝이다. 압축은 안 하는게 그냥 편하고 밉맵은 꺼야한다.이렇게 다 되었으면 ModBuddy에서 원하는 디렉토리에 오른쪽 클릭을 한 후에 Add → Existing Item을 뽑아 원하는 것을 넣으면 된다. 그 후에 그 파일을 클릭해서 기본적으로 오른쪽에 있는 Property 바에 있는 항목중 Import into VFS라는 항목이 있는데, 2D 이미지, 음향, 그리고 리더 씬 XML파일의 경우 이것을 True로 세팅해야 한다.
7. 지도자 3d
되기는 되지만, 문제는 fxsxml이라는 특수 3d 파일로만 로딩이 가능하기 때문에 매우 귀찮고, 스팀에서 받을 수 있는 SDK에서 제공되는 Nexus는 현재 이상해서 옛 버전을 써서 3d 모델을 전환해야 한다. 자원이나 유닛도 같은 이치. 이래서 모드 문명의 9할 이상이 그냥 2d 그림으로 땡치고 공식 시나리오의 경우에도 기존의 3d 모델을 쓰거나[5] 그냥 그림으로 끝낸다.[6]
[1]
린큐모드 같이 사회정책 트리에 추가 정책을 추가하는 모드라면 이 문제에 걸릴 수 있으며, 이런 사회정책 트리에 항목을 추가하는 내용이 든 모드가 Policies의 항목을 지우는 모드 뒤에 있으면 이렇게 된다. Policies의 내용물을 지우는 모드 중 하나는 카후우 치노의 토끼집이기 때문에 주의해야 한다.
[2]
훈족의 경우 도시 이름이 아틸라 궁정밖에 없어서 훈족이 이렇다.
[3]
개척자 유닛을 생산할 때에는 인구수 증가에 기여하는 잉여 식량의 절반만큼이 생산력으로 치환돼서 도시의 성장률은 정체로 바뀌게 된다. 즉, 이 기능을 'true'상태로 해놓으면 그 유닛을 생산할 때에도 도시의 인구수 증가에 영향을 미치게 되는 것.
[4]
빠름 .666666, 표준 1, 느림 1.5, 매우 느림 3
[5]
예: 임진왜란, 아프리카 쟁탈전
[6]
예: 산업시대의 제국