paradoxgameconverters / imperatortock3 Goto Github PK
View Code? Open in Web Editor NEWConverts Imperator: Rome saves into Crusader Kings III mods
License: MIT License
Converts Imperator: Rome saves into Crusader Kings III mods
License: MIT License
Considering the absurd timegap, I suggest we recycle the system of EU4Vic2, where we check out the lowest and highest number of total inventions, divided by field, discovered by tags on map.
Then, we would check where does each tag stay in this scale.
At this point, an average would be calculated for all countries whose leader has the same CK3 culture.
From this number, we will then calculate an output:
e.g. All leaders of Etruscan culture have a Civic score of 50%, which means they'll get the innovation X
Innovations are output in /history/cultures/[culture].txt, with this syntax:
[yyyy.mm.dd] = { # A date, we'll use 100.1.1 and call it a day
discover_innovation = [innovation] # One for each line
}
An innovation configurable file will need to be supplied. I propose for it the following syntax:
link = { type = [imp type] score = [number from 0 to 1] innovation = [CK3 innovation] }
imp type
can only be any of the following: civic
, martial
, oratory
, religious
We need to also define, as well, for which cultures this must not be calculated/output (those that are outside I:R and, thus, should have no I:R input)
Save snippet:
unborn={ {
mother=22576
father=22571
date=451.7.7
}
}
Succession laws can be converted from I:R to CK3.
# IMP-CK3 SUCCESSION LAW MAPPINGS #
# link = { imp = [law] ck3 = [law] }
# The CK3 law is output in the title's history
# folder, right after the line defining
# the holder, as succession_laws = { [law] }
# CK3 has default succession laws
# Multiple mappings mean both laws will be written out
# Monarchy
link = { imp = agnatic_succession_law ck3 = male_only_law }
link = { imp = agnatic_succession_law ck3 = single_heir_succession_law }
link = { imp = cognatic_succession_law ck3 = male_preference_law }
link = { imp = agnatic_seniority_succession_law ck3 = single_heir_dynasty_house }
link = { imp = agnatic_succession_law ck3 = single_heir_succession_law }
link = { imp = egyption_succession_law ck3 = equal_law }
# Republic
link = { imp = republican_election_1 ck3 = city_succession_law }
link = { imp = republican_election_2 ck3 = saxon_elective_succession_law }
link = { imp = republican_election_3 ck3 = city_succession_law }
link = { imp = republican_election_4 ck3 = princely_elective_succession_law }
# Rome
link = { imp = leges_genuciae ck3 = city_succession_law }
link = { imp = senatus_consultum_ultimum ck3 = saxon_elective_succession_law }
link = { imp = lex_antonia ck3 = city_succession_law }
link = { imp = princeps_civitatis ck3 = princely_elective_succession_law }
# Tribal
link = { imp = personal_loyalty_law ck3 = high_partition_succession_law }
link = { imp = increased_council_powers ck3 = scandinavian_elective_succession_law }
link = { imp = absolute_authority ck3 = gaelic_elective_succession_law }
Self-explanatory
Generals and admirals should convert to CK3 knights (employer added to them).
Researches should map to simple courtiers.
The converter only reads CK3 stuff from CK3 game path. It should also read from mods' folders.
EDIT: The new goal is to support Imperator mods.
in CK3::Province::initializeFromImperator
The following I:R tags need to have definite_form=yes
added as a line when they are generated as CK3 titles:
Fixed tags:
Dynamic tags:
It should be checked if the converter converts historical leaderships of countries. If not, it should be implemented.
CK3 doesn't want to read locs of cultures in Simp Chinese. Reason of the bug unknown. It works perfectly for everything else and all other languages display locs correctly.
See if it is possible to map an I:R DNA to a CK3 DNA
Initial idea:
We'll eventually consider converting them. We just need to remember to add 867.1.1 = { set_employer = ABC }, with ABC being their ruler, in the character's history file.
Office mappings (CK3 || I:R first choice, I:R other choice, etc.)
Furthermore, we have CK3 Court Physician, who is not a councillor but a courtier, and maps to I:R Physician and I:R Apothecary
Governors should map to vassals.
This, however, also requires a regionMap.txt mapping file to explain what title a governor gets.
See ParadoxGameConverters/CK3ToEU4#128 for reference.
Files to edit/update:
Approximate regions to split some culture groups:
Cultures in italics are not in vanilla CK3. I:R-CK3 converter does not support regional mappings.
Source → /↓ Region | Germanic culture group | Italic culture group (except Etruscan) | Punic culture | Hellenistic culture group |
---|---|---|---|---|
A | iweric | breathanach | ythalonim | eblanic |
B | scots | transadrianic | ythalonim | scotinous |
C | anglo-saxon | brythenig | ualonuth | prettanian |
D | norse | läßin | sicorathi | hyperborean |
E | french | norman | symacom | velgese |
F | french | occitan | ysthyalm | metalpesian |
G | Vanilla German (bavarian, dutch, franconian, saxon, swabian) | läßin | sicorathi | prinelbite |
H | pémiš | wenedyk | sythchy | metalbite |
I | lombard | cisalpine | ynnocho | prinalpesian |
J | ostrogothic | pannonian | mlachthi | delmatic |
K | pémiš | vlach | inythmum | macedonian (the Greek one, not the Slavic one) |
L | varangian | euxinian | gadolite | anatolian |
M | aryan | bazramani | bythlimmoth | susite |
N | gegenjiddisch | judajca | sidonian | azotite |
O | wostiyasite | salinatorian | carthaginian | carchidonian |
P | lombard | italian | taliaite | italiote |
Q | lombard | sicilian | lacanite | hyperochian |
R | mikligarðrish | xliponian | epicrateian | greek |
S | lombard | sardinian | pmpese | xarthic |
T | visigothic | catalan | ythbynuthi | varquelonic |
U | visigothic | aragonese | ythbynuthi | varquelonic |
V | visigothic | asturleonese | ychibarku | vaskician |
W | suebi | galician | ychibarku | vaskician |
X | visigothic | castilian | liphocaneth | vaitic |
Y | visigothic | portuguese | mysehi | lousitanian |
Special cases:
Sent through public Wi-Fi.
I think a hybrid solution would be nice. Mark some holy sites in blankMod as permanent (probably with a comment that the converter will recognize), validate the rest (for example check if the site was a holy site in Imperator), and in place of those that failed the validation generate new ones based on Imperator.
Possible factors for calculation:
All it currently does is auto-generate titles, so we can't create a ROM -> e_roman_empire mapping and such.
A further conversion option should be added for people who may wish to convert their I:R game to the Gregorian calendar without teleporting people centuries after their birth.
The oldest ever used date in I:R files is 320 AVC (433 BCE) and CK3 cannot handle negative dates in any way. (Not counting Zoroaster, who is given a lifespan of 1-60 AVC/754-693 BC, but never ruled)
Hence, it is warned that users do not select this option unless they're converting saves from after 803 AVC/50 AD.
How will it do its job:
In this way, all rulers would appear in the correct succession, albeit they would never be aged more than mere months. This is useful only for the purpose of regnal numbers (i.e. having an Alexander V as Macedonia and not an Alexander I).
A further file, called prehistory.txt will need to be added to supply historical leaders that have died before I:R game start (and are thus not recorded in the savegame anyway): prehistory.txt
Iohannes' report:
there is (and it was already here) a bug that makes some of these titles "vanish". E.g. Ptolemy the Liberator is scheduled to gain k_egypt, but instead he is reduced to a count. I have no idea why this happens. It is not the order of the file, as Chandragupta, with the same format, keeps his e_india.
@IohannesIohannium needs to check if they need to be scaled.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.