File information

Last updated

Original upload

Created by

Catalyst

Uploaded by

8thor8

Virus scan

Safe to use

About this mod

This mod allows basic soldiers, who meet certain criteria, to ascend to companion-dom following battle. Now the troops you've had by your side since their peasant days can be rewarded with cushy governor jobs.
Version for 1.0.0 available!
See it on Steam: https://steamcommunity.com/sharedfiles/filedetails/?id=2891413076

Requirements
Permissions and credits
Translations
  • Russian
  • Mandarin
  • Italian
Changelogs
Donations
Newest version compatible with 1.7.0, 1.7.1, 1.7.2, 1.8.0, and 1.0.0!

REMEMBER: ALWAYS MAKE SURE THE FILE VORTEX DOWNLOADED IS CORRECT FOR YOU!

N.B. I'm wrapping up my PhD thesis and defense for the end of the year, so my bandwidth will continue to be low for the next couple months. I'm sorry if updating DS isn't my highest priority, but I fully plan to keep it updated once I'm finished. Thanks for your patience, and I'm sorry if it's inconvenient to your playthroughs.

I have just added this mod to Steam Workshop:
steamcommunity.com/sharedfiles/filedetails/?id=2891413076


~~~~~

Randomly, following a battle (with a probability set in a config xml file), an individual soldier will be nominated to ascend to companion-hood, as long as they're a high-enough tier of unit (also set in the xml file). They will be given the stats of their unit type, plus some random bonuses across the board, as well as attribute and focus points for you to assign as you see fit. Not every ascended mook will be useful outside of combat, but it's a possibility.

If a unit of a high-enough tier gets enough kills during a battle, they may be short-tracked to companion-ship. The kill threshold is customizable, and any that have surpassed it on a given mission will be put in a list for nomination at the end of a battle.

You don't have to rely entirely on RNGesus to take the wheel and give you a useful companion - you will get to decide where to assign initial skill bonuses.

The behaviour of the nominations has changed (slightly)! A new parameter, outperform_percentile has been added, and is the percentile of kills that a unit must exceed to qualify for nomination. Set this value to 0 (above the 0th percentile, aka everybody) for the previous versions' behaviour, which was based entirely on meeting a kill threshold. This new parameter makes battle nominations more stringent, but should also keep the nominations list shorter. To explain for people who don't necessarily know - the default value of 0.68 corresponds to the 68th percentile. If the number of kills is normally-distributed among your soldiers, then this means only those who get above one standard deviation (or "sigma") of kills will qualify.

The config file (Settings.xml) has several parameters:

  • NAMES_FROM_EXTERNAL_FILE, whether to use the external namelist file to generate companion names! This file can be edited on-the-fly, as it's only accessed briefly upon promotion. It also will delete names that have been selected, so keep a backup!
  • tier_threshold, the minimum tier of unit eligible to become a hero. Set to -1 to only allow units with no further upgrades to be nominated.
  • base_additional_skill_points, the primary skill point bonus value to manually assign to newly-created companion skills.
  • leadership_points_per_50_extra_skill_points, how many points of the player's leadership skill translates to 50 additional assignable skill points for the new hero.
  • lethality_chance, is the chance of a companion (only a player companion, not lords, or anybody else) being killed when reduced to zero HP during a battle. If you're using the Heroes Must Die mod, set this value to zero (or negative), because any interaction between these mods is undefined behaviour.
  • inf_kill_threshold, the infantry-specific kill threshold to be nominated.
  • cav_kill_threshold, the cavalry-specific kill threshold to be nominated.
  • ran_kill_threshold, the archer-specific... You get the idea.
  • medicine_death_chance_reduction, the reduction in lethality_chance for each 10 skill points in medicine.
  • max_nominations, the maximum number of nominees you are allowed to pick at the end of a battle.
  • upgrade_to_hero, changes nomination functionality so that when a unit is upgraded to tier_threshold they automatically become a hero. Pairs best with high tier_threshold, and high lethality
  • fill_in_perks, sets new hero perks to be automatically filled in on uplift, saving you time.
  • respect_companion_limit, whether or not to take the game's companion limit into consideration for troop nominations.
  • bonus_companion_slots_base, the base number of extra companion slots to add, if you're respecting the companion limit. Set to 0 for native. This is applied with a targeted Harmony PostFix that should be compatible with other mods that affect this value.
  • bonus_companion_slots_per_clan_tier, the number of extra companion slots granted per clan tier. Set to 0 for native. This is applied with a targeted Harmony PostFix that should be compatible with other mods that affect this value. 
  • Inside ModuleData/ds_item_modifiers.xml you are able to adjust the modifiers applied to the equipment of newly-created companions. If you want to remove the resale temptation, then you can set the price_factor to 0, and if you want to incentivize upgrading their armour, you can add maluses to the item stats. The default is 10% of original value, with the original stats.
  • outperform_percentile, the percentile of kills a unit must exceed to qualify to be nominated. Set to 0 for previous versions' behaviour (only kill thresholds)
  • ai_promotion_chance: The chance of an AI lord promoting a properly-tiered unit into a companion after winning a battle. This generates heroes in AI lords' parties. If you don't have hero death, you might want to set this to zero.
  • max_ai_companions_per_party: The maximum allowed number of ai-generated companions per ai-clan party.
  • cull_ai_companions_on_defeat: Kill ai-generated companions after their party is defeated/disbanded? This should be set to "true", if you are generating ai companions, as the AI lords will not gather them back up.
  • companion_extra_lethality: Extra chance for a hero with the "Wanderer" occupation (not Nobles, or other characters important to the game) to die when they are wounded. If you set the AI lords' promotion chance higher, you'll want to set this higher, to prevent too many random heroes from being created.
  • number_of_skill_bonuses: Number of skill bonuses for players to choose for newly-created heroes.


COMING SOON:
  • Feel free to leave suggestions!


Check out my other mods HERE, including:
  • Succession, which changes up the standard vanilla ruling-clan election system for kingdom- and culture-specific priorities!
  • Attributes Matter, which gives gameplay bonuses for attribute scores, so your new heroes can be more useful than normal soldiers.
  • Sergeants for Hire, which allows you to hire Sergeant units from towns to increase your party size. This mod takes advantage of Harmony PostFix and reflection libraries to be compatible even if you're using another mod that overrides the default party size function!


    ~~~~~~~~~~~~~~~~~~~~~~~~
    Additional Command Line (Alt+~) functions:
    (note: these are command line functions, and so input verification is less strict. You can crash the game by providing invalid inputs)
    • dservice.give_squad [num - optional] : generates units from the player culture's Elite Caravan party template - modified to have 50% chance to be female. Defaults to 10 companions, but can be any other positive number.
    • dservice.uplift_soldier [tier - optional] : creates a companion from a random soldier from your roster that has a tier > the input value (default -1).
    • dservice.convert_party_to_heroes : converts all non-hero soldiers in your party into companions.
    • dservice.give_party_heroes_perks : assigns unassigned perks for all player party heroes. It's random, so useful combinations are not guaranteed.
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    Finally, at the very bottom, here's a patreon for those of you who want to support me. Don't worry, I haven't gone corporate, and every facet of this mod (and all my others, and any new ones) will always be hosted here, for free. The patreon page discusses the reasoning behind itself, and will mostly just resist any further hiatus from happening (because I'm a poor grad student, who's paid for research, not mods). Do not, under any circumstances, feel obligated. I make these mods for fun, and you don't owe me (or any other modder) anything for them.