• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

unmerged(30939)

Second Lieutenant
Jun 22, 2004
131
2
One of the aspects of the game I found really annoying, is when you have a large number of vassals, and you need to check whether any of them are likely to revolt any time soon due to low loyalty. Another problem is when some of your indirect vassals (vassals of your vassals) start revolting due to low loyalty to their liege. So I decided to make a program to help me view the loyalties in a sort-able table. Fortunately this was a much easier task than my other program, the family tree maker.

This little program lets you check the loyalty of your vassals and highlights in differing shades of red any problems there might be. It will also show your indirect vassals loyalty and highlight problems in blue.

The program needs to know your CK directory and looks in the registry for this. If it can’t find it (because you have a different language or don’t have it installed) the program won’t work. In future I might let the user specify a path.

To use this program simply install and run it. Select your Savefile and then your kingdom/duchy from the combo box, or type it in (case sensitive), and click go. The process may take some time (as a rough rule maybe a second per MB of savefile) but eventually the results will be shown in a table. This just shows your direct vassals. If you want to add your indirect ones too, click the button at the bottom.

To sort the table, highlight the cells you want sorted e.g. to sort by a whole column, select that column, and click the Sort button at the bottom.

This program is designed to work with CK v1.03b and the built in scenarios. Using modified version savefiles may not work.

Known Bugs:

Sometimes the colour or a cell goes to yellow or green. I’m not entirely sure why, but it seems to happen when the loyalty is very low but not quite 0. If anyone has an idea why it might do this let me know. To work out the colour I simply multiply the loyalty by 255 (integer results only), take the hex value of this and put it twice on the end of FF.

I’m not entirely convinced that all the indirect vassals are being loaded, though it is difficult to check this with a large file. If anyone comes across any missing vassals let me know.

Not really a bug but people might mistake this for one. Sometimes a dead character is stored in a savefile as owning a title. This is a bug with the game but carries over to this program. If a dead character is loaded as your vassal it will look fine except there will be no loyalty value in their cell, and will likely have no counties in their location column, only duchies. If you find a character with no loyalty value, check in the savefile to see if they have a deathdate listed.

Something for a future version I’d like to implement is the ability to press a hotkey from within Crusader Kings that would cause the program to load up the last saved game and check loyalties for you, playing a sound if anything is wrong with them. This would allow you to check whenever you save the game without having to alt-tab first. It would also let you check after every autosave.

You can download it here: http://forum.paradoxplaza.com/forum/showthread.php?t=161874
 
Last edited:
New version 1.10. The indirect vassals should load the same as the direct vassals now. i.e. if one person has multiple titles they will appear on the same row, and it will not show a vassals loyalty to himself (e.g. if they own duchy of Lancaster and county of Lancaster, it used to list the characters loyalty as count, to himself)

There is still at least one bug I need to get out. If a king owns/inherits a county, sometimes that county will have a duchy as its liege, which is within a different kingdom. For example in my game as England, I took France, but the king of Germany owned county of saintonge. Saintonge is listed as having duchy of Poitiers as its liege, which was one of my vassals. However since the owner was king of Germany this didn’t matter in game, but my program still listed the king as being one of my indirect vassals.

Made loading times somewhat quicker. Infact in my test they were decreased by half :) you will probably see the most effect on smaller files. One optimization was to make the grid invisible while loading data into it, so when you load indirect vassals now, the grid will empty while it loads them. Don't worry, it will come back. :)

I have half implemented the hotkey. CTRL + L will do exactly the same thing as pressing the go button even if you don't have the program as focus (playing CK for example). This allows you to, for instance, enter your autosave file and press the hotkey after every autosave. The emergency loyalty value you can enter will cause the focus to switch back to the program if a loyalty is found less that this i.e. CK will minimise if you are playing. Unfortunately if you have a results table already up and use the hotkey, focus ALWAYS switches back to the program. This makes the feature pretty much useless :) as you'd have to alt-tab out to close the results table so that it didn’t alt-tab out automatically. Hopefully I will figure this out soon.

tombom said:
Interesting. Do you have any plans for any other useful tools?

Well, I tend to make programs that I myself would find useful. One thing I was thinking about was a CK-EU2 converter you could use AFTER using the ingame one, to put in more realistic fortress sizes or to change populations or whatever else is somewhat wrong with the original conversion.

If anyone has any other ideas for useful programs let me know, maybe I just didn't think of it yet and would find it useful myself :)
 
Subterranean said:
If anyone has any other ideas for useful programs let me know, maybe I just didn't think of it yet and would find it useful myself :)

Well, I really wish a kind of character biography editor: it would be an application to show the titles and jobs that a character has got along his lifetime. All of this information can be picked up from the character panel, beneath his portrait.

For example:

"Henry of Normandie, 1075-1131"

It is the basics, it tells us the character's name and surname, and his date of birth and death.

"Marshall at Kingdom of England, 1091-1097"

He is the second born of the king, and was appointed for that job due to his high martial stats.

"Count of Devon, 1097-1124"
"Duke of Cornwall, 1097-1124"

His father granted him those titles, and Henry retained them until he himself granted them to his elder son.

"King of England, 1118-1131"
"Duke of Essex, 1118-1131"
"Duke of Normandy, 1118-1131"
"Count of Essex, 1118-1131"
"Count of Avranches, 1118-1131"

His elder brother was dead sooner, and he inherited the throne and the rest of his father's titles after the death of this one. He retain those titles until the end of his days.

"Count of Evreux, 1118-1123"
"Count of Evreux, 1129-1131"

Henry inherited this county with along the throne, and gave him to one of his courtiers. The count died later with no children, and Henry regained the province again.

"Count of Derby, 1121-1126"
"Count of Lancaster, 1123-1126"
"Duke of Lancaster, 1123-1126"

Henry conquered those provinces, and gave them later to his sons.

What do you think. Would it be very difficult to write such a program :rolleyes: ?
 
Condottiere said:
Well, I really wish a kind of character biography editor: it would be an application to show the titles and jobs that a character has got along his lifetime. All of this information can be picked up from the character panel, beneath his portrait.

For example:

"Henry of Normandie, 1075-1131"

It is the basics, it tells us the character's name and surname, and his date of birth and death.

"Marshall at Kingdom of England, 1091-1097"

He is the second born of the king, and was appointed for that job due to his high martial stats.

"Count of Devon, 1097-1124"
"Duke of Cornwall, 1097-1124"

His father granted him those titles, and Henry retained them until he himself granted them to his elder son.

"King of England, 1118-1131"
"Duke of Essex, 1118-1131"
"Duke of Normandy, 1118-1131"
"Count of Essex, 1118-1131"
"Count of Avranches, 1118-1131"

His elder brother was dead sooner, and he inherited the throne and the rest of his father's titles after the death of this one. He retain those titles until the end of his days.

"Count of Evreux, 1118-1123"
"Count of Evreux, 1129-1131"

Henry inherited this county with along the throne, and gave him to one of his courtiers. The count died later with no children, and Henry regained the province again.

"Count of Derby, 1121-1126"
"Count of Lancaster, 1123-1126"
"Duke of Lancaster, 1123-1126"

Henry conquered those provinces, and gave them later to his sons.

What do you think. Would it be very difficult to write such a program :rolleyes: ?

The problem with making this kind of program is that only a characters current titles are saved in the save file, otherwise they would be even bigger than they are now :) . This means that any program would only be able to pick out current titles and not past titles. You could edit them in by hand but if thats the case you may as well just use word :).
 
Subte:

Keep on doing great things! Awesome application...

Regarding your tree-maker (a bit OT on this thread, but I ask you anyway) have you been able to include titles as well? I do have version 1.10 and they were not present...

Apart from that, great jobbbbbbb :)
 
kokomo said:
Subte:

Keep on doing great things! Awesome application...

Regarding your tree-maker (a bit OT on this thread, but I ask you anyway) have you been able to include titles as well? I do have version 1.10 and they were not present...

Apart from that, great jobbbbbbb :)

Unfortunately, like above, because only current titles are stored in the save, theres no way to find out a dead persons title so you couoldnt trace how your title (king of whereever) moved down the family tree. I could quite easily get it to put in the titles held by any living person and will do that in the future.

By the end of this week I will be back home and in a position where I can spend more time on the programs, rather than the few hours I've been able to spend on the loyalty checker. However I do have another Project already planned :)