jj248 / RealmsInExile

https://discord.gg/FKr4Zbr
27 stars 31 forks source link

Vassal contracts for Elves and Hobbits have Feudal tax/levy obligations that can be altered by events #1125

Closed Lewa263 closed 2 months ago

Lewa263 commented 2 months ago

This was brought to my attention by a bug report on the Discord (https://discord.com/channels/751097183448727552/1231819305486647348), but I have noticed it before as well and never remembered to investigate further. Until now!

In the reported event, an Elven vassal's obligation levels can be changed by the event options. Many such events exist. This does, in fact, alter the obligation level for such a vassal, changing how much tax or levy they provide and impacting their opinion of the liege. You can observe this by looking at the tooltips for their provided tax/levies. Here is a screenshot showing that Elves begin with the Normal Contribution level for taxes: 2024_04_22_3 And this is what happens when an event lowers their tax obligation level: 2024_04_22_4

However, it is scripted in Realms to be impossible for these tax/levy obligation levels to be manually changed via the Modify Vassal Contract interaction. I assume, then, that the intent is for these obligations to never change for Elven and Hobbit governments. Unfortunately, the trigger needed for such events is not a scripted trigger that can be modded, but vassal_contract_obligation_level_can_be_increased = feudal_government_taxes, which seems only to check if feudal_government_taxes is in the list of obligations under vassal_contract in the government type file. It is, for both Elven and Hobbit governments, in the lotr_government_types.txt file. Removing feudal_government_taxes from the list would not be a good solution, though, because then Elves pay no tax to their liege at all.

I've mentioned Hobbit government a few times here, but their situation is not quite the same. There already exists a republic_government_obligations entry in their vassal_contract list under the government type. This means that Hobbits are paying both as a Republic and as a Feudal vassal with the Normal Contribution level: 2024_04_22_1 This can be easily fixed by removing feudal_government_taxes and feudal_government_levies from their government type's vassal_contract list.

That also shows how the Elven situation can be fixed: by creating a new elven_government_obligations obligation in the vassal_contracts folder where republic_government_obligations is defined. It would be similar to the republic_government_obligations by being fixed at one value, and that would block any events from changing the obligation level.