Skip to content

Empire at War Heaven » Holocron » Empire At War » Modding » Empire at War Modding Tutorial

Empire at War Modding Tutorial

Written by lordbodin99 on Mar-11-2006

CHAPTER I :: STARTING

The Tools

You'll need only the EaW Extractor by Dante of Renevo which can be found here and the DAT Editor by Dante of Renevo too which can be found here

Extracting the Files

Unzip the Extractor and open it. Double click on Config.meg and select Tools>Extract all. Let's say they've been extracted to a folder named EaW Extracted Data. In it, you should have a Data folder and inside it you'll have 3 Folders: Resources, Scripts and Xml. In the Xml folder there should be a lot of Xml files and 2 folders. Good, because we're going to work with Xml files only in this Tutorial and a little with DAT files for text editor.

Preparations

You should make another folder, like "My EaW Mod". Copy the all the XML files (we won't use all of them, but anyway) from EaW Extracted Data/Data/Xml to "My EaW Mod" folder. Then create a folder called Xml in "My EaW Mod". Cut all the .xml files in it.

CHAPTER II :: SIMPLE THINGS FOR NEWBIES

Let's Start

First we'll edit the Campaigns_Singleplayer.xml (the one in My EaW Mod/Xml of course). Hit Ctrl+F and write Alderaan's, hit enter then. It should have scrolled down to something like this:

<!-- ************************************************ -->
<!-- ***** SANDBOX CAMPAIGN "Alderaan's Demise" ***** -->
<!-- ************************************************ -->


Good, this is the Alderaan's Demise Campaign you're usually playing. Now we'll edit it. Scroll down, down. Let's change the locations. Clear everything that is between <Locations> and </Locations>. Now put between them: Galaxy_Core_Art_Model, Coruscant, Alderaan, Fresia, Byss, Carida.
It should look like this:

<Locations> Galaxy_Core_Art_Model, Coruscant, Alderaan, Fresia, Byss, Carida </Locations>

Now let's edit the Trade Routes. Initially it's:

<Trade_Routes> Alderaan_Eriadu, Alderaan_Kashyyyk, Eriadu_VergessoAsteroids, NalHutta_Ryloth, MonCalimari_Shola

We'll edit it and it should look like this:

<Trade_Routes> Coruscant_Byss, Alderaan_Fresia, Carida_Fresia, </Trade_Routes>

Very good, now we have a new Galactic Map.

NOTE: When we're editing the Campaigns_Singleplayer.xml you'll allways have to hit Ctrl+F, write "Alderaan's Demise" and hit enter because we'll be editing only the Alderaan's Demise Cpn, but actually, it's the first :p.

Now let's change the Starting Forces, Starting Credits and Starting Tech Level. First we'll edit some Starting Forces. Let's say, we'll start on Alderaan with 2 Mon Cal Cruisers, 4 X-Wing Squadrons, 3 Y-Wing Squadrons, 1 Nebulon B Frigate and 2 Corellian Corrvetes.
You'll have to scroll down to " <!-- Rebel Space Forces -->". There you should find:

<!-- Rebel Space Forces -->
<Starting_Forces> Rebel, Shola, Rebel_Star_Base_2 </Starting_Forces>
<Starting_Forces> Rebel, Shola, Rebel_X-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Shola, Y-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Shola, Y-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Shola, Corellian_Corvette </Starting_Forces>
<Starting_Forces> Rebel, Shola, Corellian_Corvette </Starting_Forces>


Change Shola for each line to Alderaan. Now let's we'll have to copy "<Starting_Forces> Rebel, Alderaan, Rebel_X-Wing_Squadron </Starting_Forces>" 2 times so we'll have 4 of them, and "<Starting_Forces> Rebel, Alderaan, Y-Wing_Squadron </Starting_Forces>" so we'll have 3 of them. Okay, now we'll add some Ships. Copy any of these Space Starting Forces and replace the Text after " Alderaan, " with "Calamari_Cruiser" for Mon Calamari Cruiser, "Nebulon_B_Frigate" for you know what, and "Corellian_Corvette" for you know what, if you don't, you're stupid. It should look like this:

<!-- Rebel Space Forces -->
<Starting_Forces> Rebel, Alderaan, Rebel_Star_Base_2 </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Rebel_X-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Rebel_X-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Rebel_X-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Rebel_X-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Y-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Y-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Y-Wing_Squadron </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Calamari_Cruiser </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Nebulon_B_Fregate </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Corellian_Corvette </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Corellian_Corvette </Starting_Forces>
<Starting_Forces> Rebel, Alderaan, Han_Solo_Team </Starting_Forces>


Good, good. Let's move on.

HINT1: You can change the Tech Level of the Star Base by changing the number after "Rebel_Star_Base_".
HINT2: You can enable the Death Star by putting "Death_Star" after " Alderaan,"

Where were we? Ah yes changing Starting Credits. Very simple. Find this in the Alderaan's Demise Campaign:

<!-- Rebel Starting Forces -->

<Starting_Credits> Rebel, 8000 </Starting_Credits>
<Starting_Tech_Level> Rebel, 4 </Starting_Tech_Level>
<Max_Tech_Level> Rebel, 4 </Max_Tech_Level>


Change <Starting_Credits> for how many credits you wish to have. Change the number in <Starting_Tech_Level> after "Rebel," for the starting Tech Level, and the number in <Max_Tech_Level> after "Rebel," for the maximum Tech Level you want to reach. Well, basicly we finished with Campaigns_Singleplayer.xml.
Change the Home Planets to this:

<Home_Location> Rebel, Alderaan </Home_Location>
<Home_Location> Empire, Coruscant </Home_Location>


NOTE: You'll have to edit both <Campaign Name="Sandbox_Alderaans_Demise_Rebel"> and <Campaign Name="Sandbox_Alderaans_Demise_Empire"> because "..._Rebel" is for when you play as the Rebels and "..._Empire" is for when you play as the Empire.
Ok, moving to Factions.xml. Open it with Wordpad. First thing we can change here is the colour by changing these:

<Color> 185, 40, 39, 255 </Color>
<Display_Font_Color> 185, 40, 39, 255 </Display_Font_Color>


Just put random numbers till you find the colour you want or look at a color chart like this.. The first one's red value, the second is green and the third is blue value. The fourth is probably opacity (transparency) value.

Next. The Space Battle Population Capacity. What is that? You know that you can't bring your entire fleet into the battle, don't ya? Well by changing:

<Space_Tactical_Unit_Cap>25</Space_Tactical_Unit_Cap>
To:
<Space_Tactical_Unit_Cap>75</Space_Tactical_Unit_Cap>
You surely can!

What's next? Retreat, well this is just tweaking it. Anyway, changing the retreat time is done by editing:

<Space_Retreat_Countdown_Seconds> 10.99 </Space_Retreat_Countdown_Seconds>
And the colour of the Countdown Seconds by editing:
<Space_Retreat_Countdown_Color_RGBA> 255, 255, 255, 255 </Space_Retreat_Countdown_Color_RGBA>

Goooood, now close it. Open Planets.xml with Wordpad. Here's a little cool thing for the ones who love Space Battles. You can edit the:

<Planet_Surface_Accessible> Yes </Planet_Surface_Accessible>
To:
<Planet_Surface_Accessible> No </Planet_Surface_Accessible>

And there won't be any land battle on those Planets.
WARNING: DO NOT MODIFY THIS TO THE HOME PLANETS (ALDERAAN AND CORUSCANT) OR YOUR GAME WILL CRASH.

Now, let's edit the Planet Credit Value (This will modify your daily income). Hit Ctrl+F and type Alderaan. Then Hit Ctrl+F again and type "Planet_Credit_Value". It should find you this:

<Planet_Credit_Value>60</Planet_Credit_Value>

Change the number for how many credits do you want to get from Hoth every day.

Now, let's change the Galactic Population Capacity. You know when you can't build anymore because the Pop Cap is full, don't you? Well simply hit Ctrl+F... again and type "Additional_Population_Capacity". For that it should give you this:

<Additional_Population_Capacity>5</Additional_Population_Capacity>

5?! We gotta change it:

<Additional_Population_Capacity>75</Additional_Population_Capacity>

There. Of course if you want more, change it to 100, or even more. How much you want it to be.

Done, now heading towards Spaceunitscapital.xml. Open it with... Wordpad of course. You can edit these for both Star Destroyer and Mon Calamari Cruiser.
First you can change the Size:
<Scale_Factor>1</Scale_Factor>
Change "1" to how big you wish.
Then you can edit it's strength by modifying:
<Damage>60</Damage>
Change "60" to how much damge you want it to do.
You can also edit it's speed:
<Max_Speed>1.5</Max_Speed>
Change "1.5" to how fast you want it to be.
You can change it maneuverability too:
<Max_Rate_Of_Turn>0.4</Max_Rate_Of_Turn>
Change "0.4" for how manuverable you want it to be.
Next? The Hyperspace Speed:
<Hyperspace_Speed>1</Hyperspace_Speed>
Change "1" to how fast you want it to be.
To change if you can steal its technology, edit this:
<Build_Can_Be_Unlocked_By_Slicer>Yes</Build_Can_Be_Unlocked_By_Slicer>
To change the price of stealing the technology, edit this:
<Slice_Cost_Credits>2000</Slice_Cost_Credits>
Change "2000" to how much you want.
To change its required Star Base Tech Level edit this:
<Required_Star_Base_Level>4</Required_Star_Base_Level>
Change "4" to how much you want, even 1.
To change the planets it can be built on, edit this:
<Required_Planets>MonCalimari, Kuat, Fondor, Sullust</Required_Planets>
Add the planets you want it to be built, let's say Alderaan.
To change its Health, edit:
<Tactical_Health>8500</Tactical_Health>
Change "8500" to how strong you want it to be.
To change its Shields, edit:
<Shield_Points>2000</Shield_Points>
Change "2000" to how strong you want its Shield to be.
To modify its cost, edit this:
<Build_Cost_Credits>4000</Build_Cost_Credits>
Change "4000" to how expensive/cheap you want it to be.
To change its build time, edit this:
<Build_Time_Seconds>90</Build_Time_Seconds>
Change "90" to how long you want to wait for it to be built.
Well that's all about this xml. If you want to change these things for other Space Units like Nebulon B Frigates or X-Wing Squadrons you'll have to edit Spaceunitscapital.xml, Spaceunitscorvettes.xml, Spaceunitsfighters.xml and Spaceunitsfrigates.xml.

CHAPTER III :: NEW THINGS FOR ADVANCED MODDERS

Ready? Go go go!

Are you scared? You shouldn't be, modding EaW is very easy. Let's move on with some things that are a little harder.

Adding new stuff

We'll begin with adding a planet. Open up Planets.xml and hit CTRL+F. Type Alderaan. Hit enter and it will find you a lot of things, copy all of them. Now we'll modify them.
Go into the DAT Editor and open MasterTextFiles_English.DAT. Search for it's TEXT ID, wich you can find out from here:

<Text_ID>TEXT_OBJECT_STAR_SYSTEM_ALDERAAN</Text_ID>

Now in the DAT Editor click [edit]>[insert string]: String name: TEXT_OBJECT_STAR_SYSTEM_CHANDRILLA Text: Chandrilla (That's how our planet will be named)
Back into Wordpad in Planets.xml change the TEXT ID for our copy with:

<Text_ID>TEXT_OBJECT_STAR_SYSTEM_CHANDRILLA</Text_ID>

Good. Now you can change it's model by modifying this:

<Galactic_Model_Name>W_planet_alderaan_low.alo</Galactic_Model_Name>

After you destroy a Planet with the Death Star there remains an Asteroid Field. Change this if you want something else:

<Destroyed_Galactic_Model_Name>W_planet_Asteroids.alo</Destroyed_Galactic_Model_Name>

To change its size, change this:

<Scale_Factor>1.8</Scale_Factor>

I think that if you are an advanced modder, I don't have to tell you to modify 1.8 for how large it is, right? Good, moving on.
To set the Planet's Name position Modify these:

<Name_Adjust>-12, -12, 0.1</Name_Adjust>

To change the Planet's income edit this:

<Planet_Credit_Value>85</Planet_Credit_Value>

To change the income of the destroyed Planet change this:

<Planet_Destroyed_Credit_Value>7</Planet_Destroyed_Credit_Value>

We'll have to change its coordinates so it doesn't collide with other Planets. To do this, edit this:

<Galactic_Position>60.0, 5.0, 10.0</Galactic_Position>

To change the Maximum Space Station Level, edit this:

<Max_Space_Base>5</Max_Space_Base>

To change its Land and Space maps, edit this:

<Land_Tactical_Map> _Land_Planet_Alderaan_02.ted </Land_Tactical_Map>
<Space_Tactical_Map>_Space_Planet_Alderaan_01.ted</Space_Tactical_Map>


I told you this before. To edit if the Planet's surface is accesible, edit this line:

<Planet_Surface_Accessible> Yes </Planet_Surface_Accessible>

To edit the Credits you receive after Capturing it, edit this:

<Planet_Capture_Bonus_Reward> 2300 </Planet_Capture_Bonus_Reward>

Other text changes. You'll have to do what you did before, insert a New String in the DAT Editor which explains what it should explain. Here, if you want insert Strings like thses and hook em' here:

<Describe_Population>TEXT_PLANET_ALDERAAN_INFO_POP</Describe_Population>
<Describe_Wildlife>TEXT_PLANET_ALDERAAN_INFO_WL</Describe_Wildlife>
<Describe_Terrain>TEXT_PLANET_ALDERAAN_INFO_TER</Describe_Terrain>
<Describe_Weather>TEXT_PLANET_ALDERAAN_INFO_WEA</Describe_Weather>
<Describe_Tactical>TEXT_PLANET_ALDERAAN_INFO_TAC</Describe_Tactical>
<Describe_Advantage>TEXT_PLANET_ALDERAAN_INFO_ADV_01</Describe_Advantage>
<Describe_History>TEXT_PLANET_ALDERAAN_INFO_HIS_01</Describe_History>


Just look them up in the DAT Editor, insert new Strings like them and link them here. Example: The Planet's weather. [Edit]>[Insert String] String name: TEXT_PLANET_CHANDRILLA_WEA Text: Clear, Rain.
<Describe_Weather>TEXT_PLANET_CHANDRILLA_INFO_WEA</Describe_Weather>

To change the Population Capacity that it's adding to your current one when the Planet is under your control edit this:

<Additional_Population_Capacity>5</Additional_Population_Capacity>

There we go! We have a new Planet. Oh yeah change it's name to this:

<Planet Name="Chandrilla">

Now if you want it in one of your Campaigns/Galactic Conquests add Chandrilla between <Locations></Locations>.

Adding a new unit. It's BASICLY the same thing. Copy an existing unit wich is similar to the one you want and uses the same model. Let's say we're adding an Imperial 2 Star Destroyer. Open Spaceunitscapital.xml and copy the Stats of the Generic_Star_Destroyer. Use the knowledge in Chapter II to change the Stats of your new unit. But first change it's name to this:

<SpaceUnit Name="Star_Destroyer_2">

So, when you want it as a starting unit. You'll have to add a line like this:

<Starting_Forces> Empire, Planet, Star_Destroyer_2 </Starting_Forces>

Here are some new Stats to edit that aren't in Chapter II:
Change these lines to edit what's strong and weak against (Maximum 3):

<Encyclopedia_Good_Against> Corellian_Corvette Corellian_Gunboat Nebulon_B_Frigate </Encyclopedia_Good_Against>
<Encyclopedia_Vulnerable_To> Y-wing Calamari_Cruiser </Encyclopedia_Vulnerable_To>


The line will tell you what it changes ;):

<Visible_On_Radar_When_Fogged>true</Visible_On_Radar_When_Fogged>

Change these lines for how many fighters to spawn:

<Starting_Spawned_Units_Tech_0>TIE_Fighter_Squadron, 2</Starting_Spawned_Units_Tech_0>
<Starting_Spawned_Units_Tech_0>TIE_Bomber_Squadron, 1</Starting_Spawned_Units_Tech_0>
Now change these lines for how many fighters to have:
<Reserve_Spawned_Units_Tech_0>TIE_Fighter_Squadron, 8</Reserve_Spawned_Units_Tech_0>
<Reserve_Spawned_Units_Tech_0>TIE_Bomber_Squadron, 4</Reserve_Spawned_Units_Tech_0>


Okay, see how simple it is? Oh yeah, if you want to edit the text, again open the DATEditor and Insert New Strings for Descriptions and replace the String Name from the new String you've just added with the ones in Spaceunitscapital.xml. Then save the Dat file.

Fighter Spawning

I'm going to teach you how to make a Ship spawn fighters. Let's say the Nebulon B Frigate. Open Hardpoints.xml and Spaceunitsfrigates.xml (The Nebulon B is the first unit in Spaceunitsfrigates.xml). In Hardpoints.xml search (I think you know how) for "Nebulon-B". Here are the abreviations for the Positions: B = Backward | F = Forward | L = Left | R = Right. We'll replace the BL (Backward Left) with a Hangar to Spawn Fighters. First change it's name the name "<HardPoint Name="HP_Nebulon_Weapon_BL"> to:

<HardPoint Name="HP_Nebulon_Fighter_Bay">

Good, now change the Type and Text Tooltip to these:

<Type> HARD_POINT_FIGHTER_BAY </Type>
<Tooltip_Text>TEXT_FIGHTER_BAY_HARDPOINT</Tooltip_Text>


Change this to determine how powerful it is:

<Health>260.0</Health>

Change the Death Explosion Particles and SFX Event to these:

<Death_Explosion_Particles> Large_Explosion_Space_Empire </Death_Explosion_Particles> <!-- STUBBED PLACEHOLDER -->
<Death_Explosion_SFXEvent>Unit_Hardpoint_Bay_Death</Death_Explosion_SFXEvent> <!-- STUBBED PLACEHOLDER -->


Now the last step is deleting every thing which is below "<Damage_Particles>HP_B-L_EMITDAMAGE</Damage_Particles>".

Now scroll down to Hardpoints and add this:
HP_Nebulon_Fighter_Bay
It should look like this:

HP_Nebulon_Weapon_FL, HP_Nebulon_Weapon_FR, HP_Nebulon_Weapon_BL, HP_Nebulon_Weapon_BR, HP_Nebulon_Engines, HP_Nebulon_Fighter_Bay

Now in SpaceBehavior (scroll up till you find it) add this: SPAWN_SQUADRON
It should look like this:

<SpaceBehavior>ABILITY_COUNTDOWN, SIMPLE_SPACE_LOCOMOTOR, TARGETING, REVEAL, HIDE_WHEN_FOGGED, UNIT_AI, ASTEROID_FIELD_DAMAGE, DAMAGE_TRACKING, ION_STUN_EFFECT, NEBULA, SPAWN_SQUADRON</SpaceBehavior>

Now the last thing is adding these lines:

<!-- Set to spawn all units once and then not continue - no reserves -->
<Starting_Spawned_Units_Tech_0>Rebel_X-Wing_Squadron, 1</Starting_Spawned_Units_Tech_0>
<Spawned_Squadron_Delay_Seconds>5</Spawned_Squadron_Delay_Seconds>
<Reserve_Spawned_Units_Tech_0>Rebel_X-Wing_Squadron, 6</Reserve_Spawned_Units_Tech_0>


Now the Nebulon B Frigate spawns 1 X-Wing Squadron from the Backward Left part of it.

NOTE: Do not copy the Hardpoint and edit it because your Ship will be invincible, the last hardpoint won't dye. ;)

Disabling the Lucas Arts and Petroglyph Intros

Very simple. Open Movies.xml and delete these lines:

<Movie Name="Logo1">
<Movie_File>Data\Art\Movies\Binked\LucasArtsLogo.bik</Movie_File>
<Cannot_Skip>true</Cannot_Skip>
</Movie>

<Movie Name="Logo2">
<Movie_File>Data\Art\Movies\Binked\PetroglyphLogo.bik</Movie_File> <Cannot_Skip>false</Cannot_Skip>
</Movie>


Done!

Damage Editing

Open Hardpoints.xml and Gameconstants.xml. Let's edit the Damage the Acclamator inflicts. In Hardpoints.xml you can edit it's accuracy and in Gameconstants.xml you can edit it's damage. Search for "Acclamator" in both of them. In Gameconstants search until you find this: "<!-- Acclamator -->". In Hardpoints.xml you will find it's Weapons, we'll edit the first one, the FL one. Scroll down till you find these lines:

<Fire_Inaccuracy_Distance> Fighter, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Bomber, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Transport, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Corvette, 1.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Frigate, 15.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Capital, 70.0 </Fire_Inaccuracy_Distance>
<Fire_Inaccuracy_Distance> Super, 30.0 </Fire_Inaccuracy_Distance>


The smaller the number is after the Class of Ship, the more accurate it is and vice versa. Now, in Gameconstants.xml you can edit the Damage on a Normal Armor and on Normal Shield, but you can also edit each one. The bigger the number after the Ship the more Damage it inflicts.

Editing Squadrons

Now I'll teach you how to add/remove fighters to/from a Squadron. Open up Squadrons.xml. We'll edit the X-Wing Squadron (the first). Scroll down till you find:

<Squadron_Units>X-Wing, X-Wing</Squadron_Units>
<Squadron_Units>X-Wing, X-Wing</Squadron_Units>
<Squadron_Units>X-Wing</Squadron_Units>


If you want more, add more X-Wing beetweem <Squadron_Units></Squadron_Units>. To adjust their position, edit these lines:

<Squadron_Offsets>30.0,0.0,0.0</Squadron_Offsets>
<Squadron_Offsets>0.0,15.0,0.0</Squadron_Offsets>
<Squadron_Offsets>0.0,-15.0,0.0</Squadron_Offsets>
<Squadron_Offsets>-30.0,30.0,0.0</Squadron_Offsets>
<Squadron_Offsets>-30.0,-30.0,0.0</Squadron_Offsets>


If you've added a new one, add a new Squadron_Offsets too and edit it.

Ending and Credits

Well, I hope it brought you more knowledge about Modding EaW!

::CREDITS::

- My Brain :: Yet again :p -
- PFF and EAWH :: Great communities, very helpful -