Resolved An analysis of the major issues with disappearing notables and the mechanic that controls their daily power change.

Users who are viewing this thread

Version number
e1.5.1
Branch
Beta
Modded/unmodded
No, I didn't use any mods.

Bannerman Man

C# Sleuth
Knight
Summary: Notables are disappearing at a high rate (especially in villages). Below, I've identified what I think are the some of the major causes. This post is copied from a comment I made in another bug report for the sake of visibility.

Details:
When a new game is created, notables are generated in settlements and initial relations are set with lords.

Then, based on the initial relations, the game assigns notables as supporters of clans they have high relations with through random chance. It does this by calling the UpdateNotableSupport method 50 times per notable. The UpdateNotableSupport method rolls a random number that has a low chance of succeeding based on how high the relations with the clan are. The odds are such that ~50-55% of notables will support a clan on game start. Here are those methods:

lg3VQ.png


iV0a6.png


UpdateNotableSupport used to be called on a regular basis, but with the recent changes this is no longer the case. It is now only called when a new game is created and never again. So the first problem is that notables' support will not update any time after the game has started. This also means that the player clan will never get an opportunity to gain a supporter.

Next, any time a notable needs replaced, either by a relative when they die or when they are "lost" due to low power, the method CreateHeroAtOccupation is eventually called. In this method it will look for a clan for the notable to support by calling GetRandomClanForNotable. However, in that method there is a block of code that prevents the game from picking a clan to support as shown below:

yGkyW.png


Num is initialized to 0, and the code returns null if a random float is >= 0, which is always. So the second problem is that replacement notables will not support any clans when they are generated.

Notables who die of old age will be replaced by their relative, and all of their relations will automatically transfer over. For Lost notables, however, the replacement starts with 0 relations with everyone, so they will only have a small chance to ever support the clan that owns their fief, making them likely to disappear before they get a chance to gain the "Supporter Of" daily power bonus needed to survive.

Finally, notables can only switch who they support if they stop supporting the previous clan first. The relations threshold for notables to stop supporting a clan is very low, and there are not many ways for npcs to lose relations with notables, so often a notable is stuck supporting the clan of an enemy once the fief changes hands. The bottom half of the UpdateNotableSupport method deals with ending a notable's support for a clan.

So to reiterate, the main issues are as follows:
  1. Notables will only be assigned as a supporter when a new game is created, and not any time after. This is the biggest issue.
  2. Replacement notables are blocked from supporting a random clan when generated.
  3. The replacement notables for those who are "Lost" start with 0 relations with every clan, so even if they had a chance to become a supporter, they will likely disappear before they gain enough relations to get over the threshold for support.
  4. Npcs rarely lose relations with their starting supporting notables enough to allow the notable to switch who they support. So when a fief changes hands, the notable will begin losing power and will eventually disappear (this could be by design).
The outcome of all of this is that gradually, over time, most notables will not support any clans, and they will all lack the key Supporter power bonus, and thus keep getting recycled over and over.
 
Last edited:

MArdA TaleWorlds

Community Support & Localization
Community Support
M&BWBWF&SNWVC
Forwarded to the QA team for further investigation. We will reach out again if we need more information. Thanks for reporting and sorry for any inconvenience!
 
Top Bottom