Cultures
Default cultures
- aserai
- battania
- empire
- knuzait
- sturgia
- vlandia
Check
if (hero.Culture.StringId == "sturgia") ..
Menu backgrounds
- CULTURE_alley.png
- CULTURE_arena.png
- CULTURE_keep.png
- CULTURE_tavern.png
More info.
Notes
Village's culture doesn't affect settlement loyalty. Only castle and town culture does.
If you want a single village to have its own troops then you can change that village to a new culture. It won't affect the castle/town it's bound to.
Culture can exist without the female clan member (it was stated somewhere otherwise).
Culture XML file is very sensitive to the comments. Commenting out one name or one of basic_mercenary_troops will crash the game.
Arena requires at least one tier 4/5 troop tree for a new culture. (Iberian Wolf/fedeita)
XML
spcultures.xml
is_main_culture - will this culture show in the new character creation / culture selection menu?
color="0xffC0C0C0"
color2="0xffFFC5C5"
Colors define the armor colors for this culture's units in the Encyclopedia:
These lines in define NPCs hirable in the Tavern, not the actual Caravan Guards that travel the world map.
caravan_master="NPCCharacter.caravan_master_crusader"
armed_trader="NPCCharacter.armed_trader_crusader"
caravan_guard="NPCCharacter.caravan_guard_crusader"
veteran_caravan_guard="NPCCharacter.veteran_caravan_guard_crusader"
Traveling Caravan Guard NPCs on the world map are generated from the same culture troop as Town's notable it belongs to, and must satisfy the following conditions:
Occupation.CaravanGuard && character.IsInfantry && character.Level == 26 && character.Culture == mobileParty.Party.Owner.Culture
These lines determine the equipment rosters for lords that turn 18:
default_battle_equipment_roster="EquipmentRoster.___"
default_civilian_equipment_roster="EquipmentRoster.___"
encounter_background_mesh - menu pic for encounter with the troops of this culture
<cultural_feats>
Feat | Description |
---|---|
empire_decreased_garrison_wage | 20% less garrison troop wage |
empire_army_influence | Being in army brings 25% more influence |
empire_slower_hearth_production | Village hearths increase 20% less |
aserai_cheaper_caravans | Caravans are 30% cheaper to build. 10% less trade penalty |
aserai_desert_speed | No speed penalty on desert |
aserai_increased_wages | Daily wages of troops in the party are increased by 5% |
sturgian_cheaper_recruits_infantry | Recruiting and upgrading infantry troops are 25% cheaper |
sturgian_decreased_cohesion_rate | Armies lose 20% less daily cohesion |
sturgian_increased_decision_penalty | 20% more relationship penalty from kingdom decisions |
vlandian_renown_mercenary_income | 5% more renown from the battles, 15% more income while serving as a mercenary |
vlandian_villages_production_bonus | 10% production bonus to villages that are bound to castles |
vlandian_increased_army_influence_cost | Recruiting lords to armies costs 20% more influence |
battanian_forest_speed | 50% less speed penalty and 15% sight range bonus in forests |
battanian_militia_production | Towns owned by Battanian rulers have +1 militia production |
battanian_slower_construction | 10% slower build rate for town projects in settlements |
khuzait_cheaper_recruits_mounted | Recruiting and upgrading mounted troops are 10% cheaper |
khuzait_increased_animal_production | 25% production bonus to horse, mule, cow and sheep in villages owned by Khuzait rulers |
khuzait_decreased_town_tax | 20% less tax income from towns |
To change the description of the native feats, use Harmony patch (remove 'Battanian' example):
[HarmonyPatch(typeof(DefaultCulturalFeats), "InitializeAll")]
public static class InitializeAllPatch
{
static void Postfix(DefaultCulturalFeats __instance)
{
// Use reflection to access the private field _battaniaMilitiaFeat
FieldInfo battaniaMilitiaFeatField = typeof(DefaultCulturalFeats).GetField("_battaniaMilitiaFeat", BindingFlags.NonPublic | BindingFlags.Instance);
if (battaniaMilitiaFeatField != null)
{
// Get the current value of _battaniaMilitiaFeat
var battaniaMilitiaFeat = battaniaMilitiaFeatField.GetValue(__instance) as FeatObject;
if (battaniaMilitiaFeat != null)
{
// Re-initialize _battaniaMilitiaFeat with the new string
battaniaMilitiaFeat.Initialize("{=!}battanian_militia_production", "{=lt_1qUFMK28}Towns owned by this culture's rulers have +1 militia production.", 1f, true, FeatObject.AdditionType.Add);
}
}
}
}
<possible_clan_banner_icon_ids>
These are the banner icons that the game will use when creating a banner for new clans or rebels.
module_strings.xml
Related strings:
<string id="str_player_father_name.baltic" text="{=balticfather}Vaitas" />
<string id="str_player_mother_name.baltic" text="{=balticmother}Laima" />
<string id="str_neutral_term_for_culture.baltic" text="balts" />
<string id="str_culture_description.baltic" text="{=balticdescription}The Balts, who live along the southeastern Baltic Sea, have their own languages, unique cultural practices, and pagan beliefs. They organize themselves into tribes, each led by a chieftain, maintaining independence while sharing a common cultural and religious bond." />
<string id="str_faction_ruler_name_with_title.baltic" text="{=balticrulertitle}{RULER.NAME} {?RULER.GENDER}Queen{?}King{\?}" />
<string id="str_faction_noble_name_with_title.baltic" text="{=balticnobletitle}{RULER.NAME} {?RULER.GENDER}Rikis{?}Rikis{\?}" />
<string id="str_faction_official.baltic" text="{=balticofficial}a chieftain" />
<string id="str_faction_official.baltic_f" text="{=balticofficialf}a lady" />
<string id="str_faction_ruler.baltic" text="{=balticruler}King" />
<string id="str_faction_ruler.baltic_f" text="{=balticrulerf}Queen" />
<string id="str_faction_ruler_term_in_speech.baltic" text="{=balticrulerterm}{RULER.NAME} {?RULER.GENDER}Queen{?}King{\?}" />
<string id="str_adjective_for_faction.baltic" text="{=balticfactionadjective}Baltic" />
<string id="str_short_term_for_faction.baltic" text="{=balticfactionshortterm}Baltic" />
<string id="str_faction_formal_name_for_culture.baltic" text="{=balticfactionformalname}The Baltic Tribes" />
<string id="str_faction_informal_name_for_culture.baltic" text="{=balticfactioninformalname}the Baltic Tribes" />
<string id="str_adjective_for_culture.baltic" text="{=balticcultureadjective}Baltic" />
<string id="str_neutral_term_for_culture.baltic" text="{=balticcultureneutralterm}Baltic" />
<string id="str_culture_rich_name.baltic" text="{=balticmembers}Baltic" />