Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Core: Legitimacy/Control Mechanic #142

Open
schwarherz opened this issue Nov 19, 2019 · 8 comments
Open

Core: Legitimacy/Control Mechanic #142

schwarherz opened this issue Nov 19, 2019 · 8 comments
Assignees
Labels
enhancement New feature or request

Comments

@schwarherz
Copy link
Contributor

Similar to old Imperial Decadence, add a system representing the Legitimacy and Control for each title. Legitimacy is how firm your hold is on the title (e.g. how contested your succession is/was and whether your title, overall, is seen as the legitimate ruler of the lands it controls) Control is how much control you have over your realm, overall and is heavily influenced by average vassal opinion (if that can be calculated).

@schwarherz schwarherz added the enhancement New feature or request label Nov 19, 2019
@schwarherz schwarherz added this to the Initial Complete milestone Nov 19, 2019
@Whizzer
Copy link
Contributor

Whizzer commented Nov 19, 2019

For which title tiers do we want to implement these two mechanics?

@schwarherz
Copy link
Contributor Author

I was thinking of making them universal

@Whizzer
Copy link
Contributor

Whizzer commented Nov 19, 2019

In that case, we'll no doubt have to keep performance in mind while implementing this. I'm fairly certain we can calculate a weighted average opinion of the top 10 or 20 vassals, possibly all of them. Probably best to do that on_yearly_pulse.

@schwarherz
Copy link
Contributor Author

It could probably be calculated on the fly whenever we need it by manipulating realm_character_percent.

Legitimacy would likely be a bunch of math (still waking up for the day, haven't thought of all of the variables yet) divided by ruled_years.

Ideally, they'd both be variables that are only calculated when they're needed instead of having to be stored somewhere

@Whizzer
Copy link
Contributor

Whizzer commented Nov 19, 2019

That last part can be done if we recalculate upon game start and loading a save and set the variables to zero, so they won't be part of the save itself.

@schwarherz
Copy link
Contributor Author

I'm thinking it shouldn't need to be stored at all. When we settle on a formula for them we can just have the engine do the math whenever it's needed. A succession/monthly pulse that influences revolt risk, for instance. They numbers themselves aren't important enough to save between calculations (besides, that tends to lead to a mana feeling and having to account for changing the number in nearly every event and that's just ugh annoying)

@Whizzer
Copy link
Contributor

Whizzer commented Nov 19, 2019

The simpler this can be, the better. I'll leave you to it.

@schwarherz
Copy link
Contributor Author

So I think for control it should be something like this:

realm_control = {
	# High Control
	trigger_if = {
		limit = {
			realm_character_percent = {
				target = 50.0
				opinion = { who = ROOT value = 25 }
			}

			# Some Action Here
		}
	}
	# Mid Control
	trigger_else_if = {
		limit = {
			realm_character_percent = {
				target = 25.0
				opinion = { who = ROOT value = 25 }
			}
		}

		# Some Action Here

	}
	# Low Control
	trigger_else = {

		# Some Action Here

	}
}

@schwarherz schwarherz self-assigned this Nov 27, 2019
@schwarherz schwarherz modified the milestones: Initial Complete, Pre-Release Dec 3, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants