Code Monkey home page Code Monkey logo

Comments (8)

RaduM84 avatar RaduM84 commented on September 26, 2024 1

No objections to the proposed algorithm revision. Also, pretty much any religion that is outside the map or outside the era should have its vanilla holy sites (so if I convert an 100 AD save from a vanilla Imperator, which allows you to play past the end date, then Christianity in that "universe" should have its historical holy sites because why not)

If Christianity exists in Imperator due to a mod... I guess your suggestion works as well as any.

I will put together some Data File examples soon.

from imperatortock3.

RaduM84 avatar RaduM84 commented on September 26, 2024 1

The mapping file would be something along the lines of :

link = { imp = global_citizen_happyness ck3 = county_opinion_add factor = 100 }

where :

imp = modifier either of the religion or the passive modifier of the deity
ck3 = equivalent character modifier
factor = floating point multiplier to the value of the Imperator modifier.

A concrete example, for Hellenism, it's Religion Modifier is Global Citizen Happiness +8%.
Using the mapping link, this transforms into CK3 as a holy site with the character modifier

character_modifier = {
name = <something,something>
county_opinion_add = 8 (0.08 * 100, meaning value of imperator modifier * factor)
}

Does this look ok to you?

from imperatortock3.

RaduM84 avatar RaduM84 commented on September 26, 2024

I suggest we seek to determine the locations of 5 Holy Sites per faith (less if there are that few provinces with that faith around).

The algorithm would look like this :

  1. For each Imperator Religion.
  2. Collect all Imperator Territories that have that Religion.
  3. Split the Territories into 2 sets : Territories that have a Holy Site and Territories that do not.
  4. Order both sets in descending order by Population.
  5. Take the top 4 Territories with a Holy Site.
  6. Take the most populated Territory without a Holy Site.
  7. At the end we have a list of 5 or less Imperator Territories that are marked as CK3 Holy Sites (4 or less CK3 Holy Sites that are mapped from Imperator Holy Site and one "Popular" CK3 Holy Site that is mapped from the most populated Imperator Territory without a Holy Site).
  8. When mapping CK3 Baronies, if an Imperator Territory maps to multiple CK3 Baronies, choose one CK3 Barony at random.

In terms of effects, we will need to map to CK3 each Imperator Deity (I recommend only the Passive) Effect as well as the Imperator Religion Population Effect. The 4 Holy Sites or less will have CK3 Holy Site Effects that correspond to the Imperator Deity the Holy Site was dedicated to. The Holy Site that corresponds to the No-Holy Site Imperator Territory will have its effect the mapped to the population-wide Imperator Religion Effect (for example, the +8% National Citizen Happiness for Hellenism).

I volunteer to create these religious effect mappings.

from imperatortock3.

IhateTrains avatar IhateTrains commented on September 26, 2024

The algorithm would look like this :

  1. For each Imperator Religion.
  2. Collect all Imperator Territories that have that Religion.
  3. Split the Territories into 2 sets : Territories that have a Holy Site and Territories that do not.
  4. Order both sets in descending order by Population.
  5. Take the top 4 Territories with a Holy Site.
  6. Take the most populated Territory without a Holy Site.
  7. At the end we have a list of 5 or less Imperator Territories that are marked as CK3 Holy Sites (4 or less CK3 Holy Sites that are mapped from Imperator Holy Site and one "Popular" CK3 Holy Site that is mapped from the most populated Imperator Territory without a Holy Site).
  8. When mapping CK3 Baronies, if an Imperator Territory maps to multiple CK3 Baronies, choose one CK3 Barony at random.

I like the algorithm. The only problem I see is that religions are not always mapped 1-1 and there are regional mappings, so I would rephrase the beginning like this:

For each CK3 religion that we enable holy site conversion for:
Collect all Imperator Territories that are mapped to this religion.

Does this make sense?

Also, as written in the original comments, I think some holy sites should be permanent (exempt from dynamic holy sites conversion), for example Christian faiths should always have Jerusalem as a holy site. The non-permanent sites could be used as fallback if we have less than 5 permanent+Imperator sites.

In terms of effects, we will need to map to CK3 each Imperator Deity (I recommend only the Passive) Effect as well as the Imperator Religion Population Effect. The 4 Holy Sites or less will have CK3 Holy Site Effects that correspond to the Imperator Deity the Holy Site was dedicated to. The Holy Site that corresponds to the No-Holy Site Imperator Territory will have its effect the mapped to the population-wide Imperator Religion Effect (for example, the +8% National Citizen Happiness for Hellenism).

I volunteer to create these religious effect mappings.

I think it can work, but I'm not experienced enough with data files and mapping to be sure. @IohannesIohannium what do you think?
If you provide a few proof-of-concept mappings, it will probably be easier for me to tell.

from imperatortock3.

IhateTrains avatar IhateTrains commented on September 26, 2024

The mapping file would be something along the lines of :

link = { imp = global_citizen_happyness ck3 = county_opinion_add factor = 100 }

Does this look ok to you?

Creating a mapper for mappings like this should not be a problem for me.

from imperatortock3.

RaduM84 avatar RaduM84 commented on September 26, 2024

Regarding the on-map placement itself :
In CK3 Holy Sites can be declared "per county" (as with most) or "per barony" such as Rome :
rome = {
county = c_roma
barony = b_vaticano

character_modifier = {
	name = holy_site_rome_effect_name
	development_growth_factor = 0.1
	stewardship = 1
}

}

Because in Imperator Holy Sites are built in specific Territories, and thus one can have multiple Holy Sites per province, we should reflect this by having all Imperator Holy Sites declared "per barony".

from imperatortock3.

IhateTrains avatar IhateTrains commented on September 26, 2024

Because in Imperator Holy Sites are built in specific Territories, and thus one can have multiple Holy Sites per province, we should reflect this by having all Imperator Holy Sites declared "per barony".

Agreed.

from imperatortock3.

IhateTrains avatar IhateTrains commented on September 26, 2024

comments on loc generation https://discord.com/channels/612683871112396800/692883287336681592/972234140411899944

from imperatortock3.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.