
This is all possible because of
Preliminary Steps
First, you need to download and install UserPatch. Then, go to the folder where AoE2:TC is installed. Create a folder calledGames
. When you unpacked UserPatch, a folder called Reference
should have been created. Go into this folder. There should be a file called age2_x1.xml
. Copy this file to your Games
folder that you just created. The XML File
Now edit (using any simple text editor) theage2_x1.xml
that you just copied and pasted. It should look something like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration game="age2_x1">
<name> Age of Empires II: The Conquerors Expansion 2< /name>
<path> The Conquerors< /path>
<civilizations langId="10230" descId="20150" aiNameOffset="140" uiBaseId="51100" uiStride="20" uiOffset="2">
<civilization id="0" name="gaia" soundFile="stream\random.mp3" scoutUnit="448" uniqueUnit="0" eliteUniqueUnit="0" uniqueUnitLine="0" uniqueUnitUpgrade="0" uniqueResearch="0" />
<civilization id="2" name="briton" soundFile="stream\british.mp3" scoutUnit="448" uniqueUnit="8" eliteUniqueUnit="530" uniqueUnitLine="-277" uniqueUnitUpgrade="360" uniqueResearch="3" />
<civilization id="6" name="frankish" soundFile="stream\french.mp3" scoutUnit="448" uniqueUnit="281" eliteUniqueUnit="531" uniqueUnitLine="-272" uniqueUnitUpgrade="363" uniqueResearch="83" />
<civilization id="7" name="gothic" soundFile="stream\goth.mp3" scoutUnit="448" uniqueUnit="41" eliteUniqueUnit="555" uniqueUnitLine="-279" uniqueUnitUpgrade="365" uniqueResearch="16" />
<civilization id="16" name="teutonic" soundFile="stream\teuton.mp3" scoutUnit="448" uniqueUnit="25" eliteUniqueUnit="554" uniqueUnitLine="-273" uniqueUnitUpgrade="364" uniqueResearch="11" />
<civilization id="9" name="japanese" soundFile="stream\japanese.mp3" scoutUnit="448" uniqueUnit="291" eliteUniqueUnit="560" uniqueUnitLine="-274" uniqueUnitUpgrade="366" uniqueResearch="59" />
<civilization id="5" name="chinese" soundFile="stream\chinese.mp3" scoutUnit="448" uniqueUnit="73" eliteUniqueUnit="559" uniqueUnitLine="-280" uniqueUnitUpgrade="362" uniqueResearch="52" />
<civilization id="3" name="byzantine" soundFile="stream\byzantin.mp3" scoutUnit="448" uniqueUnit="40" eliteUniqueUnit="553" uniqueUnitLine="-281" uniqueUnitUpgrade="361" uniqueResearch="61" />
<civilization id="13" name="persian" soundFile="stream\persian.mp3" scoutUnit="448" uniqueUnit="239" eliteUniqueUnit="558" uniqueUnitLine="-271" uniqueUnitUpgrade="367" uniqueResearch="7" />
<civilization id="14" name="saracen" soundFile="stream\saracen.mp3" scoutUnit="448" uniqueUnit="282" eliteUniqueUnit="556" uniqueUnitLine="-276" uniqueUnitUpgrade="368" uniqueResearch="9" />
<civilization id="17" name="turkish" soundFile="stream\turk.mp3" scoutUnit="448" uniqueUnit="46" eliteUniqueUnit="557" uniqueUnitLine="-278" uniqueUnitUpgrade="369" uniqueResearch="10" />
<civilization id="18" name="viking" soundFile="stream\viking.mp3" scoutUnit="448" uniqueUnit="692" eliteUniqueUnit="694" uniqueUnitLine="-282" uniqueUnitUpgrade="398" uniqueResearch="49" />
<civilization id="12" name="mongol" soundFile="stream\mongol.mp3" scoutUnit="448" uniqueUnit="11" eliteUniqueUnit="561" uniqueUnitLine="-275" uniqueUnitUpgrade="371" uniqueResearch="6" />
<civilization id="4" name="celtic" soundFile="stream\celt.mp3" scoutUnit="448" uniqueUnit="232" eliteUniqueUnit="534" uniqueUnitLine="-269" uniqueUnitUpgrade="370" uniqueResearch="5" />
<civilization id="15" name="spanish" soundFile="stream\spanish.mp3" scoutUnit="448" uniqueUnit="771" eliteUniqueUnit="773" uniqueUnitLine="-264" uniqueUnitUpgrade="60" uniqueResearch="440" />
<civilization id="1" name="aztec" soundFile="stream\aztecs.mp3" scoutUnit="751" uniqueUnit="725" eliteUniqueUnit="726" uniqueUnitLine="-268" uniqueUnitUpgrade="432" uniqueResearch="24" />
<civilization id="11" name="mayan" soundFile="stream\mayans.mp3" scoutUnit="751" uniqueUnit="763" eliteUniqueUnit="765" uniqueUnitLine="-266" uniqueUnitUpgrade="27" uniqueResearch="4" />
<civilization id="8" name="hun" soundFile="stream\huns.mp3" scoutUnit="448" uniqueUnit="755" eliteUniqueUnit="757" uniqueUnitLine="-265" uniqueUnitUpgrade="2" uniqueResearch="21" />
<civilization id="10" name="korean" soundFile="stream\koreans.mp3" scoutUnit="448" uniqueUnit="827" eliteUniqueUnit="829" uniqueUnitLine="-270" uniqueUnitUpgrade="450" uniqueResearch="445" />
</civilizations>
</configuration>
The Tags
<configuration>
:@game
<name>
:<path>
:Games
folder where future saved and recorded games, scenarios, random map scripts, and AI scripts should be stored. A folder corresponding to this tag's value will be created when you start the game.<civilizations>
:@langId
language_x1.dll
name of the first civilization. @descId
language_x1.dll
civilization description. @aiNameOffset
@uiBaseId
interfac.drs
. @uiStride
@uiOffset
Adding Civilizations
Finally! The<civilization>
@id
:@name
:@soundFile
:@scoutUnit
:@uniqueUnit
:@eliteUniqueUnit
:@uniqueUnitLine
:@uniqueUnitUpgrade
:@uniqueResearch
:Once you've added and edited all the
<civilization>
lines you want, save the xml file and start the game. Your new civilizations will be automatically added to the data file and will automatically appear in game.Not Done Yet
I guess you could technically be done now. But, unless you want your new civs to be awful, you need to do more. UseP.S.: This article is correct as far as I know. However, this was all deduced by trial and error before UserPatch came with a readme that explains adding civs. Now that UserPatch does have such a readme, it makes this tutorial somewhat outdated. Scripter64 and Cysion know much more about this than I do.
[This message has been edited by LmScar13 (edited 01-28-2013 @ 10:05 AM).]