Adding a completely new faction to Rome: Total War REMASTERED
In this guide, I will explain the neccesary steps in adding a completely new faction into your Rome: Total War REMATERED mod.
We need to edit the following files, so copy them from the base game into your mod folder:
- descr_banners.txt
- descr_character.txt
- descr_standards.txt
- descr_sm_faction_logos.txt
- descr_sm_factions.txt
- descr_sm_factions_difficulty.json
- text/expanded_bi.txt
- export_descr_unit.txt
I will divide this guide into seperate chapters.
1. ADDING THE INITIAL FACTION
1. ADDING THE INITIAL FACTION
Files involved:
descr_sm_factions.txt
descr_sm_factions_difficulty.json
descr_sm_faction_logos.txt
descr_standards.txt
export_descr_unit.txt
descr_sm_factions.txt
The first thing we need to do, is adding your new faction to the game. To do this, we need to add it to descr_sm_factions.txt. Open the file in your text editor and scroll all the way to the bottom.
This file format looks a lot like json, and the comma's are very sensitive!
So copy a whole block (like the one below), and paste it before last line, which is the ], tag.
As you can see, Feral already added information so you know what each line means.Code:"newfaction": { ;;name and description "string": "NEWFACTION", "description": "NEWFACTION_DESCR", ;;culture and (default?) character ethnicity "culture": "barbarian", "ethnicity": "mediterranean", ;;tags for faction groups "tags": [ ], ;;namelists "namelists": { "men": "pontus_men", "women": "pontus_women", "surnames": "pontus_surnames", }, "logos": { ;;logo to use in the loading screens (seperate as sprite sheets aren't loaded at that point) "loading screen icon": "data/ui/faction_icons/new_faction.tga", ;;standard index as declared in descr_standards (4 per page) "standard index": 9, "rebel standard index": 25, ;;logo index as declared in descr_sm_faction_logos (1 per page) "logo index": 25, "rebel logo index": 25, ;;flag models to be used on the strat map when a settlement is unoccupied "strat symbol model": "data/models_strat/symbol_pontus.CAS", "strat rebel symbol model": "data/models_strat/symbol_eastern_rebel.CAS", }, ;;faction colours (some base game factions may have hardcoded overrides) "colours": { "primary": [ 255, 0, 255, ], "secondary": [ 0, 255, 255, ], "family tree": { "background": [ 255, 0, 255, ], "font": [ 0, 0, 0, ], "selected line": [ 255, 255, 255, ], "unselected line": [ 200, 187, 187, ], }, }, "movies": { ;;movie to play when starting a campaign "intro": "data/fmv/intros/eastern_intro_1080p.wmv", ;;movie to play when this faction wins or is defeated, respectively "victory": "data/fmv/victory/eastern_outro.wmv", "defeat": "data/fmv/lose/pontus_eliminated.wmv", }, "available in custom battles": true, "prefer naval invasions": false, "default battle ai personality": "default_personality", ;;allow this faction to have a functioning family tree "allow reproduction": true, },
I will get back to this file when we need to change some lines, but you need to change the newfaction to the name of your wanted faction. This will be the internal name that your faction will use for i.e. EDU, EDB and DMB entries.
As for namelists, you can add new sections in descr_namelists.txt and add them to this file. Your faction will then use your new names. In this example, we will just keep the pontus ones.
You can change the culture (descr_cultures.txt) and default ethnicity (descr_unit_variation.txt). The default ethnicity is used for units and generals/officers for your faction when no variation is set in their EDU entries.
descr_sm_factions_difficulty.json
This file will set the text in the main menu how hard your faction will be to play. Open it with your texteditor, and simply add your faction to the bottom of the list, and give it a integer value from -1 to 3. Not having your faction here will let the game default to -1.
-1 -> Nothing/Unplayable. (actually no text is shown)
0 -> Easy
1 -> Normal
2 -> Hard
3 -> Very Hard
descr_standards.txt
The descr_standards.txt is the file referring to the index used for the banners shown on the campaign map. The file looks like this:
Once again, I added indexes to each path. Each symbols*.tga.dds contains 4 indexes, going from top left to bottom right. As example, I added the 4 factions using symbols1.tga.dds at the top of it (note the ';' which indicates a comment!)Code:factions; 0 romans_julii, 1 romans_brutii, 2 romans_scipii, 3 romans_senate symbols banners/symbols1.tga ; 4; 5; 6; 7 symbols banners/symbols2.tga ; 8 , 9, 10, 11 symbols banners/symbols3.tga ; 12, 13, 14, 15 symbols banners/symbols4.tga ; 16, 17, 18, 19 symbols banners/symbols5.tga ;20, 21, 22, 23 symbols banners/symbols6.tga ;24, 25, 26, 27 symbols banners/symbols7.tga ;28, 29, 30 empty, 31 empty symbols banners/symbols8.tga
So we know know that index 0 is used for romans_julii, and index 3 (latest from first image) for the romans_senate. We also know, that symbols8.tga.dds has 2 free slots! So open that file, add your image with alpha at the bottom left corner (index will be 30), and save the image.
Now create a normal map for this image and name symbols8_n.tga.dds. Now you can set the index in the descr_sm_factions.txt section, named "standard index", to 30.
Note: If you run our of free slots (so you used index 31), you need to define a new image, symbols9.tga and add it to the bottom of descr_standards.txt. That way you can add as much files as you want. You don't need to use all indexes, so you can start with index 32 and keep 30 and 31 empty.
descr_sm_faction_logos.txt
This file is one of the biggest improvement over OG. Instead of modding in your new faction symbol into each UI part, the game now just uses one image file that you can define here. Each entry in this file has its own index. These are not added by default,
but I have in my example:
So this is the default file, with my added indexes. So the latest default index is 25. After you edited your faction logo in Photoshop or Gimp (.tga format and 360x360), and added it to your modfolder, add its path to the bottom of this file. So the index of your logo will be 26 in this case. Now open up descr_sm_factions.txt again, scroll to your new faction and change the "logo index" to 26. Now you added your logo, you can refer to the same image by changing the path in the section "loading screen icon"Code:;; JNF 2021-09-23 - Used to define the indexes for the logos referenced in descr_sm_factions ;; trying to have multiple logos on a single page caused all logos to revert to the one in the ;; top left after you moved the camera for the first time. I don't understand it either. ;; so anyway, one logo per page please icon ui/faction_icons/romans_julii.tga ;0 icon ui/faction_icons/romans_brutii.tga ;1 icon ui/faction_icons/romans_scipii.tga ;2 icon ui/faction_icons/romans_senate.tga ;3 icon ui/faction_icons/macedon.tga ;4 icon ui/faction_icons/egypt.tga ;5 icon ui/faction_icons/seleucid.tga ;6 icon ui/faction_icons/carthage.tga ;7 icon ui/faction_icons/parthia.tga ;8 icon ui/faction_icons/pontus.tga ;9 icon ui/faction_icons/gauls.tga ;10 icon ui/faction_icons/germans.tga ;11 icon ui/faction_icons/britons.tga ;12 icon ui/faction_icons/armenia.tga ;13 icon ui/faction_icons/dacia.tga ;14 icon ui/faction_icons/greek_cities.tga ;15 icon ui/faction_icons/numidia.tga ;16 icon ui/faction_icons/scythia.tga ;17 icon ui/faction_icons/spain.tga ;18 icon ui/faction_icons/thrace.tga ;19 icon ui/faction_icons/slave.tga ;20 icon ui/faction_icons/slave_barbarian.tga ;21 icon ui/faction_icons/slave_carthaginian.tga ;22 icon ui/faction_icons/slave_greek.tga ;23 icon ui/faction_icons/slave_egyptian.tga ;24 icon ui/faction_icons/slave_eastern.tga ;25
export_descr_unit.txt
Now we need to assign at least one unit inside EDU to your new faction. This is required for the campaign map to function later. Until you add new units, the best method is to simply add your new faction to the roman generals guard cavalry early and the roman generals guard cavalry unit. Just add your own faction to the ownership of these units.
2. CHANGING CHARACTERS AND BANNERS
2. CHANGING CHARACTERS AND BANNERS
Files involved:
descr_banners.txt
descr_character.txt
This chapter is required in order to prevent random crashes in your mod.
descr_banners.txt
In this file the .dds textures used on the battle map for your factions are defined. Simply add your faction to the bottom and change the path to your newly added banners. Example:
Code:faction newfaction standard_texture models/textures/standard_slave.tga rebels_texture models/textures/standard_slave.tga routing_texture models/textures/standard_routing.tga ally_texture models/textures/standard_slave_ally.tga
descr_character.txt
This file tells the game what models to use on both strat and battle map for the generals, captains, assassins, spies, admirals, diplomats and merchants.
For each character type, duplicate an existing faction entry and rename it to your faction. You need to perform this action for each character type or the game will crash!
Code:type named character actions moving_normal, moving_quickmarch, garrison, assault, attack, besiege, entrench, ambush, diplomacy, bribe, exchange, building_fort, building_watchtower wage_base 200 faction romans_julii dictionary 15 strat_model sm_roman_general battle_model roman_general battle_equip gladius, chainmail shirt helmet and rectangular shield ;;; NEW FACTION faction newfaction dictionary 15 strat_model sm_roman_general battle_model roman_general battle_equip gladius, chainmail shirt helmet and rectangular shield
3. ADDING THE FACTION DESCRIPTIONS
3. ADDING THE FACTION DESCRIPTIONS
Files involved:
text/expanded_bi.txt
Next thing we will do, is adding all text required by the game for your faction.
Open expanded_bi.txt, and add this block at the bottom of the file:
Code:{NEWFACTION} - Faction Name - {EMT_NEWFACTION_SPY} NewFaction Spy {EMT_NEWFACTION_ASSASSIN} NewFaction Assassin {EMT_NEWFACTION_DIPLOMAT} NewFaction Diplomat {EMT_NEWFACTION_ADMIRAL} NewFaction Admiral {EMT_NEWFACTION_GENERAL} NewFaction Army {EMT_NEWFACTION_NAMED_CHARACTER} NewFaction Family Member {EMT_NEWFACTION_MERCHANT} NewFaction Merchant {EMT_NEWFACTION_FACTION_LEADER} NewFaction Faction Leader {EMT_NEWFACTION_FACTION_HEIR} NewFaction Faction Heir {EMT_NEWFACTION_VILLAGE} NewFaction Village {EMT_NEWFACTION_TOWN} NewFaction Town {EMT_NEWFACTION_LARGE_TOWN} NewFaction Large Town {EMT_NEWFACTION_CITY} NewFaction City {EMT_NEWFACTION_LARGE_CITY} NewFaction Large City {EMT_NEWFACTION_HUGE_CITY} NewFaction Huge City {EMT_NEWFACTION_CAPITAL} NewFaction Capital {EMT_NEWFACTION_FORT} NewFaction Fort {EMT_NEWFACTION_PORT} NewFaction Port {EMT_NEWFACTION_DOCK} NewFaction Docks {EMT_NEWFACTION_FISHING_VILLAGE} NewFaction Fishing Village {EMT_NEWFACTION_WATCHTOWER} NewFaction Watchtower {EMT_YOUR_FORCES_ATTACK_ARMY_NEWFACTION} Your forces attack an army of NewFaction {EMT_YOUR_FORCES_ATTACK_NAVY_NEWFACTION} Your forces attack a fleet of NewFaction {EMT_YOUR_FORCES_AMBUSH_ARMY_NEWFACTION} Your forces ambush an army of NewFaction {EMT_YOUR_FORCES_ATTACKED_ARMY_NEWFACTION} Your forces are attacked by an army of NewFaction {EMT_YOUR_FORCES_ATTACKED_NAVY_NEWFACTION} Your forces are attacked by a navy of NewFaction {EMT_YOUR_FORCES_AMBUSHED_ARMY_NEWFACTION} Your forces are ambushed by an army of NewFaction {EMT_VICTORY_NEWFACTION} The NewFaction are victorious! {EMT_VICTORY_DESCR_NEWFACTION} -- NewFaction victory description -- {EMT_DEFEATED_BY_NEWFACTION} -- defeated by NewFaction description -- {EMT_SHORT_VICTORY_NEWFACTION} -- NewFaction sort victory description -- {NEWFACTION_DESCR} NewFaction\nShort faction description ¬+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Now search and replace (using match case) in notepad ++ the string "NEWFACTION", and change it to the string you defined in descr_sm_factions under the sections "string" and "description". Note that this index is case sensitive, so be sure they match!.
Then change everything outside of the {} sections with the text you want for your faction.
4. ADDING THE MENU ICONS
4. ADDING THE MENU ICONS
Before you start the game, you first need to also add the menu icons for it.
These are Targa images, sized 512x512, and need to be named correctly.
Place them inside the folder data/symbols/fe_buttons_feral/
Each image need to be named correctly, or the game will not load! The name starts with symbol128_{faction}.tga, and for the other three images there should be of the same name with _roll, _grey and _select added behind the faction name.
So in this guide, we will name them:
The image without the extra insertion at the end, is the default image. This image is shown in the menu when no other action is performed with your faction:Code:symbol128_newfaction.tga symbol128_newfaction_grey.tga symbol128_newfaction_roll.tga symbol128_newfaction_select.tga
The image file with the _grey addition, is the image shown when your faction is not selectable in the menu:
The image file with the _roll addition, is shown in the menu when the user hovers over your faction icon. Normally, people make it a little bit brighter than the default image, but it could be anything you like.
The image file with the _select addition, is simply the image when your faction is selected.
Note: You can do whatever you want, as long as you have all 4 images in the specified path, or the game will crash!
You can now load the game and see if your faction appears in custom battle mode!
5. ADDING THE NEW FACTION TO YOUR CAMPAIGN
5. ADDING THE NEW FACTION TO YOUR CAMPAIGN
Files involved:
world/maps/campaigns/{your_campaign}/descr_strat.txt
descr_strat.txt
It is important to add your faction to the campaign map, even when you don't want to use it! If your faction is not added correctly, the game will crash when a faction from a superfaction attacks an allied or neutral faction.
In this guide we will only add the factions as dead: there are enough other tutorials available for changing descr_strat file!
Open your descr_strat.txt, and add your new faction to the list at the top of the file, in the section nonplayable:
Now scroll down to the position where the factions are defined (after the resources declaration and before the line "faction romans_julii, comfortable_caesar").Code:campaign imperial_campaign playable romans_julii romans_brutii romans_scipii end unlockable egypt seleucid carthage parthia gauls germans britons greek_cities macedon pontus armenia dacia numidia scythia spain thrace end nonplayable newfaction romans_senate slave end
Add this block of code before the romans_julii definition:
Now save the file, delete map.rwm and load the campaign. Your faction is now an emergent faction, but as it is not scripted with events, it will not appear.Code:faction newfaction, balanced_caesar dead_until_resurrected denari 150
Guides for modding descr_strat and troubleshooting:
https://rtw.heavengames.com/rtw/mods...s/descr_strat/
http://www.twcenter.net/forums/showt...Strat-tutorial
https://wiki.twcenter.net/index.php?...t_Loading:_RTW
6. (OPTIONAL) ADDING THE CAPTAIN BANNERS
6. (OPTIONAL) ADDING THE CAPTAIN BANNERS
Not required for the game to work, but necessary for a nice mod, are the captain banners. These banners appear on the campaign map when you attack a captain or send a diplomat.
Create the folder ui/captain banners/
Easiest method is to duplicate an existing captain banner from a faction.
Note that there are 3 images:
- captain_card_{faction}.tga
- captain_portrait_{faction}.tga
- dead/captain_card_{faction}.tga
The first one is used in the game on the battle map when your captain is alive. The third one (located in the 'dead' subfolder), is the same image (but in most cases grey) and is shown when your captain is dead. Both of these images can have an Alpha channel that will be used.
The captain portrait is used on the campaign map, and the Alpha channel on this texture will not work. So, best is to save this image as DXT1 DDS format.
Examples:
captain_portrait_newfaction.tga (Size: 272x384)
captain_card_newfaction.tga (Size: 88x126)
dead/captain_card_newfaction.tga (Size: 88x126)