Hording and Emergent Factions - RTW/BI
The Barbarian Invasion expansion introduced hording and emergent factions to the Total War game.
Horde Factions - General Information
Whether a faction is a 'horde' faction or not is determined in descr_sm_factions.txt, the following is an example of the basics required for a horde faction:
Fig. 1:
faction franks culture barbarian symbol models_strat/symbol_franks.CAS rebel_symbol models_strat/symbol_barb_rebel.CAS primary_colour red 10, green 39, blue 117 secondary_colour red 255, green 255, blue 255 loading_logo loading_screen/symbols/symbol128_franks.tga standard_index 3 logo_index 232 ; Index into strat3.rsd small_logo_index 246 ; Index into shared.rsd triumph_value 5 intro_movie victory_movie fmv/victory/franks_win.wmv defeat_movie fmv/lose/franks_eliminated.wmv death_movie fmv/lose/franks_eliminated.wmv custom_battle_availability yes horde_min_units 60 horde_max_units 100 horde_max_units_reduction_every_horde 20 horde_unit_per_settlement_population 300 horde_min_named_characters 4 horde_max_percent_army_stack 80 horde_disband_percent_on_settlement_capture 33 horde_disband_percent_on_settlement_capture 50 horde_disband_percent_on_settlement_capture 100 horde_unit barb horde chosen swordsmen horde_unit barb horde chosen swordsmen horde_unit barb horde spearman can_sap yes prefers_naval_invasions no
The lines marked in bold are required for a horde faction. The numbers used for min_units, max_units etc are relatively self explanatory and can be adjusted. A horde faction must have at least one horde unit listed in its army section, but may have more, the armies composition will reflect the number of entries per unit, so that example would give more swordsmen than spearmen.
Adding Horde Ability
If you are adding horde ability to a faction you must add those lines between "custom_battle... and can_sap" to its sm_factions entry - as marked in bold in Fig.1 above. You must also give the faction ownership of a horde unit in export_descr_units.txt. The only requirement for a 'horde_unit' is that its export_descr_units.txt entry has the attribute can_horde,
Fig. 2:
type barb horde peasants dictionary barb_horde_peasants ; Horde Peasants category infantry class light voice_type Light_1 soldier western_peasant, 60, 0, 0.8 attributes sea_faring, hide_forest, can_horde, can_swim, no_custom, is_peasant formation 1.2, 1.8, 2.4, 2.4, 6, horde stat_health 1, 0 ....... stat_cost 1, 72, 0, 20, 30, 80 ownership franks, lombardi, burgundii
as marked in bold - do not confuse this with the horde entry on the formations line which merely makes the units soldiers deploy in circular formation in battle. It is conventional to use the word horde in the unit name and to give the horde unit a 0 maintenance cost - so as not to bankrupt horde factions before they gain income from a settlement. Those factors are not essential though.
Remember also to alter descr_model_battle.txt to give any units with new faction ownership an appropriate texture line for the new faction, otherwise the game may CTD when units are used in battle.
Removing Horde Ability
If you wish to remove the horde ability from a faction just delete the lines between between "custom_battle... and can_sap" in its sm_factions entry - as marked in bold in Fig. 1. You will also need to remove that factions ownership from any unit in export_descr_units.txt that has 'can_horde' attribute.
Do not remove the horde ability from the Slavs without also removing the event which makes them emerge.
Horde Factions on Map at Start - Without Settlement
The Huns and Vandals are placed on map but do not own a settlement, they are 'horde' nations so do not get destroyed because of not owning settlement. Most of their units are free of upkeep charges and they have the option to sack as well as occupy settlements. Sacking means the settlement reverts to rebel control, most buildings are destroyed or damaged, the population of the settlement is reduced and the 'sacker' gains income.
You can assign starting settlement/s to these factions in descr_strat.txt if you wish, but would probably then want to reduce the size of their armies (which wouldn't then be reduced on taking additional settlements) to prevent them having too great an advantage.
If you want to remove the horde ability from these factions you must give them a settlement and family tree in descr_strat.txt otherwise they would be destroyed as soon as game is launched.
Horde Factions on Map at Start - With Settlements
Factions like the Franks have the ability to horde but start on vanilla map with ownership of a settlement. If their last settlement is captured by another faction, or (in case of human player), if they opt to leave their last settlement a horde army will be produced for them and they will act as above.
You can remove the horde ability from these factions if you wish, just follow procedure explained in section 1
Horde Factions Emerging via descr_events.txt
Modifying the Slavs
In vanilla game the Slavs emerge via an event controlled by bi/data/world/maps/campaign/barbarian_invasion/descr_events.txt the relevant part of the file being:
event emergent_faction slavs date 47 summer region Locus_Barbaricum
which makes them emerge on the summer of the 47th year from the start of the game, in region Locus_Barbaricum. The date can be changed to anything you like, the region can be changed to any region on the edge of the map. Please note, if you try and use region that does not border edge of map you will get message that they have emerged but they will not actually apppear.
Making Other Factions Emerge via descr_events.txt
Other factions that have the horde capability can be set to emerge in similar faction. Remove faction from starting map by altering descr_strat.txt; assign the factions settlements to another faction or slaves and reduce their entry in descr_strat.txt to
faction franks, balanced henry dead_until_resurrected denari 10000
or similar, and move faction from playable to non-playable list at top of file.
Add event for them in descr_events.txt eg:
event emergent_faction franks date 5 summer region Locus_Barbaricum (or any edge region)
Important: to make that work you must also add lines to BI/data/text/historic_events.txt similar to the ones for the Slavs but using the other factions name eg:
{THE_FRANKS_EMERGE_TITLE} The xxxx Emerge {THE_FRANKS_EMERGE_BODY} A new faction, blah, blah, etc.....
failing to add that will give a hard CTD when the event triggers!