From 427066e203acaae606fb4fa0ab7e71d004690d82 Mon Sep 17 00:00:00 2001 From: DrDudelsack <72721325+DrDudelsack@users.noreply.github.com> Date: Fri, 8 Mar 2024 05:44:37 -0500 Subject: [PATCH] Christianity Conversion Improvements and Realm Divide Support New functionality for splitting religions via CK2 geography has been added, enabling drastic improvements to Christianity conversion from the Timeline Extender mod, which now splits based off of time, culture, and region. Support for the Realm Divide 401 mod has been added, as well as support for Invictus 1.7 'Vesuvius.' Yarkarmii, Ghagar, Dom, and Lom cultures added as divergences. --- .../DataFiles/cultureConversion.txt | 76 +++- .../default/common/cultures/00_cultures.txt | 27 +- .../common/cultures/50_convertedCultures.txt | 256 +++++++++++ .../common/landed_titles/holysites.txt | 59 +++ .../landed_titles/irck2_pagan_reformation.txt | 26 ++ .../landed_titles/zzz_default_dejure.txt | 10 + .../default/common/religions/00_religions.txt | 101 ++++- .../religions/50_convertedReligions.txt | 93 ++++ .../ir_aryan_conversion_decisions.txt | 396 ++++++++++++++++++ .../ir_scythian_conversion_decisions.txt | 118 ++++++ .../events/ir_aryan_culture_conversion.txt | 188 +++++++++ .../events/ir_scythian_culture_conversion.txt | 57 +++ .../default/gfx/flags/d_hurrian_reformed.tga | Bin 0 -> 49691 bytes .../default/gfx/flags/k_cambria.tga | Bin 0 -> 49691 bytes .../default/gfx/flags/k_laessina.tga | Bin 0 -> 66075 bytes .../gfx/interface/religion_icon_strip.dds | Bin 123008 -> 130176 bytes .../gfx/interface/religion_icon_strip_big.dds | Bin 265088 -> 280640 bytes .../interface/religion_icon_strip_small.dds | Bin 48128 -> 50928 bytes .../history/titles/d_hurrian_reformed.txt | 4 + .../default/history/titles/k_cambria.txt | 3 + .../default/history/titles/k_laessina.txt | 3 + .../default/interface/generalstuff.gfx | 6 +- .../default/localisation/culture_loc.csv | 7 + .../localisation/irck2_decision_loc.csv | 10 + .../default/localisation/irck2_event_loc.csv | 12 +- .../default/localisation/religion_loc.csv | 12 +- .../zzz_default_dejure_localization.csv | 5 +- .../default/map/geographical_region.txt | 7 + ImperatorToCk2/DataFiles/dejureConversion.txt | 13 + .../DataFiles/religionConversion.txt | 61 ++- ImperatorToCk2/DataFiles/titleConversion.txt | 10 + .../irtockii/Importer.java | 100 ++++- .../paradoxgameconverters/irtockii/Main.java | 58 ++- .../irtockii/Output.java | 81 +++- .../irtockii/Processing.java | 149 ++++++- 35 files changed, 1881 insertions(+), 67 deletions(-) create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_aryan_conversion_decisions.txt create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_aryan_culture_conversion.txt create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/d_hurrian_reformed.tga create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_cambria.tga create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_laessina.tga create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/history/titles/d_hurrian_reformed.txt create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/history/titles/k_cambria.txt create mode 100644 ImperatorToCk2/DataFiles/defaultOutput/default/history/titles/k_laessina.txt diff --git a/ImperatorToCk2/DataFiles/cultureConversion.txt b/ImperatorToCk2/DataFiles/cultureConversion.txt index ac2c47d5..bc1e56fe 100644 --- a/ImperatorToCk2/DataFiles/cultureConversion.txt +++ b/ImperatorToCk2/DataFiles/cultureConversion.txt @@ -1,3 +1,9 @@ +#Imperator:Rome culture,CK2 culture +#Note: Whenever creating a new CK2 culture, in addition to the definition in either +#00_cultures.txt or 50_convertedCultures.txt, a list of possible dynasties must be +#added to common\dynasties, and a dejure mapping must be added to dejureConversion.txt. +#Otherwise, without dejure mapping, culture won't have a correct dejure liege generated for it + #Greek bosporan,greek @@ -187,6 +193,7 @@ lombards,lombard egyptian,ancient_egyptian upper_egyptian,ancient_egyptian middle_egyptian,ancient_egyptian +oasis_egyptian,ancient_egyptian #NorthAfrican @@ -247,6 +254,7 @@ sakan,saka khotanese,saka sindi,circassian maeotian,circassian +abasgoi,circassian thyssagetaen,sarmatian gelonian,royal_scythian alani,alan @@ -292,11 +300,15 @@ mariandynian,thracian #Georgian ibero,georgian colchian,georgian +suani,georgian +lazi,georgian +sasperian,georgian #Dagestani albanian,caucasian_albanian legian,caucasian_albanian +caspian,caspian #Iberic @@ -360,6 +372,7 @@ armenian,armenian aramaic,assyrian assyrian,assyrian babylonian,babylonian +cardukoi,cardukoi #NubianAndEthiopian @@ -533,10 +546,15 @@ greco_bactrian,bactrian #Realm Divide mod syriac,assyrian -babylonian_late,babylonian +palmyrene,assyrian +mandaean,assyrian +hatran,assyrian +babylonian_late,assyrian brittonic,welsh welsh,welsh cumbrian,welsh +attacotti,welsh +bernaccian,welsh pictish,pictish breton,breton cornish,breton @@ -549,6 +567,7 @@ ossorian,irish ulaid,irish dalcassian,irish eoganachtan,irish +manx,manx gaulish,gallic gallaic,celtiberian beja,nubian @@ -557,7 +576,12 @@ somali,somali agaw,ethiopian demotic,ancient_egyptian frankish,old_frankish +batavian,old_frankish gothic,gothic +gepidian,gothic +taifali,gothic +burgundian,old_burgundian +scirian,vandal norse,norse svear,norse gotar,norse @@ -576,10 +600,58 @@ thuringian,suebi baiuvarian,suebi vangionic,suebi variscian,suebi +alan,alan ossetian,alan iazyges,iazyges roxolani,iazyges makurian,nubian nobatian,nubian alodian,nubian -coptic,coptic \ No newline at end of file +coptic,coptic +sardinian,sardinian +corsican,italian +sicilian,italian +gallo_roman,frankish +ibero_roman,catalan +illyro_roman,dalmatian +daco_roman,romanian +pannonian_roman,romanian +thraco_roman,romanian +roman_germanic,laessin +roman_briton,cambrian +galindian,aestian +curonian,aestian +semigallian,aestian +selonian,aestian +veneti,protoslavic +antae,protoslavic +polanian,protoslavic +polabian,protoslavic +sorbian,protoslavic +vistulan,protoslavic +lendian,protoslavic +sclaveni,protoslavic +laz_culture,georgian +tzannic,georgian +georgian,georgian +abasgian,circassian +arabic,bedouin_arabic +adnanites,bedouin_arabic +qahtanite,bedouin_arabic +persian,persian +tajik,persian +kurdish,kurdish +baloch,baloch +afghan,afghan +khwarezmian,sogdian +dahaean,saka +laguatan,maghreb_arabic +afri,maghreb_arabic +anatolian,greek +samaritan,hebrew +bulgar,bolghar +oghuric,bolghar +sabir,bolghar +barsil,bolghar +avar,avar +altaic,huna diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/00_cultures.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/00_cultures.txt index 82cb9fbf..df94dc33 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/00_cultures.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/00_cultures.txt @@ -4984,7 +4984,7 @@ iranian = { modifier = default_culture_modifier } - #By Nick Robertson + #By Yuiiut parthian_culture = { graphical_cultures = { persiangfx } secondary_event_pictures = bedouin_arabic @@ -5022,7 +5022,7 @@ iranian = { modifier = default_culture_modifier } - #By Nick Robertson + #By Yuiiut indo_parthian = { graphical_cultures = { indiangfx } secondary_event_pictures = bedouin_arabic @@ -5061,7 +5061,7 @@ iranian = { modifier = default_culture_modifier } - #By Nick Robertson + #By Yuiiut indo_scythian = { graphical_cultures = { persiangfx } #arabicgfx secondary_event_pictures = bedouin_arabic @@ -5088,6 +5088,27 @@ iranian = { modifier = default_culture_modifier } + + #Intermixed Pre-Indo-Europeans and Persians + caspian = { + graphical_cultures = { persiangfx } + secondary_event_pictures = bedouin_arabic + + color = { 0.68 0.4 0.37 } + + male_names = { + Smbat Khachik Ashot Arsham Zariadres Hamazasp Vardan Artawazd Mzez Eruand Orontes Mithranes Kherkhes Khozrid Sames Arshames Trdat Tigran Zareh Artashes Arshak Vagharsh Khosrow Varazdat Vasak Ashusha Varazvaghan Hmayeak Vahan Sahak Zarmihr Nikhor + } + female_names = { + Tigranuhi Vanuhi Mihrana Asatera Ariazate Aka Ghadana Erato Zarmandukht Pharantzem Mahbanu Zenobia Satenik + } + + from_dynasty_prefix = "ve " + + prefix = no + + modifier = default_culture_modifier + } } diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/50_convertedCultures.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/50_convertedCultures.txt index ed3b985f..123bb75f 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/50_convertedCultures.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/cultures/50_convertedCultures.txt @@ -1711,6 +1711,7 @@ gallic_group = { } + #By Yuiiut plashurii = { graphical_cultures = { celticgfx } alternate_start = { @@ -2238,6 +2239,58 @@ east_germanic = { modifier = default_culture_modifier } + + old_burgundian = { + graphical_cultures = { germangfx } + alternate_start = { + OR = { + year < 1000 + has_alternate_start_parameter = { key = culture value = full_random } + } + } + + color = { 0.36 0.22 0.22 } + + male_names = { + Adeqisio Adoric Agimadus Agriulfum Alamiro Algaster Anila Ansuario Argiovitus Ariamir Arosinda Audeca + Badamundus Baldemarius Balderedo Baltarius Baudemiro Becilla Berteiro Bonesindus Boniza Cagildo Cartemiro + Chararici Commundus Crodemiro Dagaredus Daildus Damiro Docemiro Donazarius Donegildus Dulcemirus Eboric + Egenio_Eugene Eimiro Eirigu Eisindus Eldegotus Eldesindus Elperico Engomiro Ensaldus Ermaric Evosindo Fagildus + Felmiro Fralenko Framuldo Francolino Fredoaldus Froatingus Fromildus Frumeiro Gardingus Gaudesindo Gomedei + Gomulfus Gresumarus Gudesteus Gumarius Gundivaldo Guntato Gunterotis Heremigar Hermeric Hespanisco Hildemir + Hilderic Hunisco Huniscus Leodegasti Leoderigus Leodulfus_Ludolf Leovaldo Lodemiro Magitus Malaredus Malaric Maldras + Marcosendus Massilan Mervigius Miro Moderido Nandaricus Nantildo Neufila Nitigis Notarius Odamiro Odemundus + Odericus Onemiro Onoricus Osdulfus Osorico Ostromirus Otualdo Pabregildus Pantard Pantinus Pappinus Pederagildu + Pennio Pipinus_Pepin Provaredo Quedesendo Quedulfus Quidemiro Quidericus Ragimiro Ragolfus Rakericus Randinus + Randuarius Ranisclus Rechiar Rechila Refulfo Reirigus Remismund Remisol Rendericus Ricardo_Richard Richimund Rodomiro + Roelindus Romanisco Romarigus Sagatus Saxomero Segomirus Sentarius Sescutus Sisulfus Spanarius Spoderigo Suavarius + Sunila Teobald_Theobald Teoderedus Theodemar_Theodemir Todegogia Trasmira Trasoldi Tumtuldo Uittimer Venedario Veremund_Vermudo Viamundus + Vidraldus Villisendo Vistremiro Zamarius Zendasindo + } + female_names = { + Acilo Ailo Alatrudia Aliverga Aliverta Aniedrudia Ansetrudia Astriverga Bagina Berina Cenabrida Cisilo Dadilo Dagadruida + Desteilli Donadildi Drusilla Ebragundia Ebrildi Eldegundia Emilo Entrudi Ermedrudia Ermildi Espallo Facalo Fagilo Faquilo + Fradegundia Framilli Fremosilli Frogildi Froilo Frolio Fronosili Frumildi Frunilo Gelvira Genlo Godoigia Goldrerona Granilo + Guandilo Gundiverga Guntedrudia Ildiverga Kindiverga Lallina Liuvilo Mansuara Margilli Mirosinda Penefreda Penetrudia + Ragesenda Randilo Raniverta Recerona Recesenda Recesuinda Rezevera Riquilo Rudilo Sabegoto Senuita Sindiverga + Sisilli Sisiverta Sitividis Sontrilli Sparuildi Stodildi Suevisco Tanquilli Tederona Tenildi Teodevirga Teodiverta Teodoriga + Teudileova Texilli Tractuilli Trasavara Trasmira Trastivigia Vergina Viscaverga Visterlo Vistravara Vistrildi Zanina + } + + from_dynasty_prefix = "von " + + # Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100. + pat_grf_name_chance = 50 + mat_grf_name_chance = 5 + father_name_chance = 10 + + # Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100. + pat_grm_name_chance = 10 + mat_grm_name_chance = 50 + mother_name_chance = 5 + + modifier = default_culture_modifier + } } @@ -3108,6 +3161,42 @@ scythian_group = { modifier = default_culture_modifier } + + yarkamii = { #Reference to History on the Hoof: A Scythian Paradox Megacampaign + graphical_cultures = { byzantinegfx persiangfx } + secondary_event_pictures = bedouin_arabic + alternate_start = { + OR = { + year < 1000 + has_alternate_start_parameter = { key = culture value = full_random } + } + } + + color = { 0.61 0.20 0.66 } + + male_names = { + Alysanna Arsa Aryamgula Asi Baga Bahudhiva Bamdaka Bhadra Bradaysaa Brika Capastaka Ceguti Chika Daisai Dharma Dum Dzatsi Gostana Gulai Harka + Haskadatta Huyi Hvam Hvarda Hvardamaya Hvimdu Ikam Irasamga Jabgu Jajahasa Kamnai Kayam Kharusa Khina Khuradatta Khvarnarse Kimashana Kimashani + Kimatcuna Kirtti Kriti Kunala Kushtana Mamatti Manohara Murlimin Naganpaka Nipandaka Padatcaina Pakyau Phimduka Presamdha Punarrjam Punekula + Purgula Raghu Samgai Samgaka Samgalaka Sangrama Sayausa Sham Shambhava Shikshananda Shinganca Shiresala Shirvamdai Shribhadra Shtrugize Shudamgula + Shura Sidaka Sihya Siladharma Simhyi Skunkha Sthavira Sudarrjam Sudhana Sumauna Sumtharaka Tayasham Tcusyau Vadhaga Vagiti Vaham Vahana + Vardhana Varman Vasudeva Vidakai Vidaram Vijita Vijitasimha Vikrama Virsha Visaram Vishirapumna Visma Ysambasta Zambasta + Ytarim Lyam Naradeve Candre Nandake Maisês Gôdigasos Phadious Spithamês Omrasmakos Amôspados Danarasmakos Pharnakiôn Ouarzbalos Iôdesmagos Maldras + } + female_names = { + Vasisthe Areagne Apama Alsamgya Alyonj Armaiti Dharmadasi Khivyaina Maya Nanda Nirmala Praniyata Safali Shandramata Shri Tisyarakshita Vimala Vimalaprabha Yavalac + } + + dukes_called_kings = yes + + from_dynasty_prefix = "nava " + male_patronym = "puri " + female_patronym = "duda " + + disinherit_from_blinding = yes + + modifier = default_culture_modifier + } } semitic_group = { @@ -3199,8 +3288,175 @@ semitic_group = { modifier = default_culture_modifier } + cardukoi = { #From Invictus, possibly Semetic, but classification unknown and not related to the Hurrians + graphical_cultures = { persiangfx } + secondary_event_pictures = bedouin_arabic + + color = { 0.5 0.27 0.0 } + + male_names = { + Aba_Abba Abahu_Abahu Abaya_Abaya Abaye_Abaya Abayi_Abaya Abba_Abba Abdima 'Abdisho' Abgar Abimalek Abraham_Abraham Abris Abrisius_Abrisius Acacius_Acacius Achan Achina Addai_Thaddeus Adlai Aggai Ahai_Ahha Ahadabui Ahha_Ahha "Akha d'abuh'" Akh-es-Samain Aqib-Alaha Asa_Asa Ashur_Asher Avahu Avda_Abahu Avdima_Avdima Avdimi_Avdima Avina Avira Azai + Babaeus_Babaeus Babai_Babaeus Babowai_Babaeus Babwahi_Babaeus Bar Bar-Abba Barba'shimin Bar-Nabha Bar-Talmai Bar-Timai Bar-Tolmai Bustan_Bustan Caiaphas Cephas_Peter Cephus_Peter Chadlai Chama Chanin_Chanin Chanina_Chanin Chaninai_Chanin Chinena_Chanin + Chozai_Chozai Chuma Chunya_Chunya Clopas Dadisho' Denha Dikla_Dikla Diklah_Dikla Dimi Dinkha Dunanu Elisha'_Elisha Eliya Emmanuel_Emmanuel Enosh Ezekiel_Ezekiel Farbokht_Farbokht Foma Giwargis_George Grwgari_Gregory Hanina_Chanin Hnanisho' Hozai_Chozai Idan Idra Ila Isaac_Isaac Isho' Isho'yahb Israel_Israel Kaiapha Karna Katsiu Kelaya Laszio_Lazarus Lazar_Lazarus + Lazare_Lazarus Lazaro_Lazarus Lazaros_Lazarus Lazarus_Lazarus Lazarz_Lazarus Lazer_Lazarus Lebbaeus Maadai Macabee_Macabee Maccabee_Macabee Magna_Ma'na Makkikha Maluch Ma'na_Ma'na Marabokht_Farbokht Maremmeh Mari Mikha'il_Michael Moqli Muna Nahir_Nahir Nahor_Nahir Nahur_Nahir Narsai Nazuk Nechunya_Chunya + Nehor_Nahir Nehorai Niv Nun Nur Oran_Nahir Pappa Paul_Paul Pethion Petros_Peter Petuel Qaligh Qayyoma Raca_Raka Rachim_Chanin Rahim_Chanin Raka_Raka Raz Raziel_Raphael Rubil Saad Saba_Saba Sabah_Saba Sabba'e_Saba Sabrisho'_Sabrisho' Sabr-Ishu_Sabrisho' Salu Samal Sami_Sami Samiy_Sami Sagi_Sagi Sargis Sava_Saba Sawma + Shafer Shahdost Shahlufa Shai Shalmai Shama Shamir Shammai Shemaiah Shem'on_Simon Sheraga_Sheraga Shila Shovai Shraga_Sheraga Sima Sliba-zkha Surin Tabbai Taddai_Thaddeus Talia_Talia Taliah_Talia Talmai_Bartholomew Talya_Talia Tam_Thomas + Tam'as_Thomas Ta'mhas_Thomas Targhal Tauma Tavi_Tavi Tavish_Tavi Tevis_Tavis Th'amhais_Thomas Thoma_Thomas Timai_Timothy Tiv Toba Todos Tolmai_Bartholomew Tomarsa_Tomarsa Tamuza_Tomarsa Tulmay_Bartholomew Ukba Yahballaha Yanai Ya'qob_Jacob Yeshua_Joshua Yohannan_John Yosip_Joseph Yousef_Joseph Yunanis_John Zerika + } + female_names = { + Adva Alya Anena Anina Bustan_Bustan Chanina Chasina Chayuta_Chayuta China_Hina Chiyuta_Chayuta Dikla_Dikla Diklah_Dikla Diklit_Dikla Duvsha Hanina_Chanin Hasna Hayuta_Chayuta Hina_Hina Ketina Kitra + Magdala Mahalia_Mahalia Mahalie_Mahalia Marfa_Martha Mariam_Maria Marta_Martha Marte_Martha Martha_Martha Marthe_Martha Marti_Martha Martita_Martha Mehalia_Mahalia Meiriona_Meirona Meirona_Meirona Morta_Martha + Nahara_Nura Nura_Nura Raz Reuma Saba_Saba Sabah_Saba Samantha Sameah_Sami Samee_Sami Sameea_Sami Samiya_Sami Samiyah_Sami Samiyya_Sami Samya_Sami Sava_Saba Shapira Sima Tabatha_Tabitha Tabby_Tabitha Tabetha_Tabitha + Tabitha_Tabitha Tadea_Thaddea Talia_Talia Taliah_Talia Talya_Talia Talitha Tam_Thomasa Tamasin_Thomasa Tami_Thomasa Tammy_Thomasa Tamsin_Thomasa Tamsyn_Thomasa Tamzin_Thomasa Thaddea_Thaddea Thomasa_Thomasa Zeita_Zeta Zeta_Zeta + } + + from_dynasty_prefix = "of " + + male_patronym = "Bar " + female_patronym = "Barta " + prefix = yes + + modifier = default_culture_modifier + } + } +dom_group = { + alternate_start = { NOT = { has_alternate_start_parameter = { key = special_culture value = animal_world } } } + graphical_cultures = { indiangfx muslimgfx } + + ghagar = { # Indo-Aryan Egyptian divergence + graphical_cultures = { indiangfx muslimgfx } + secondary_event_pictures = bedouin_arabic + + color = { 0.45 0.0 0.0 } + + male_names = { + Achalraj_Achalraja Achalraja_Achalraja Adhandev Adityadeva Ajmal Alsi Amir Anangpal_Anangpala Anangpala_Anangpala Anupapala_Anupapala + Anuppal_Anupapala "Apara Gangeya" Arjunpal_Arjunpala Arjunpala_Arjunpala Arjunavarman Bacchdev Bachraj Baghpal_Baghpala Baghpala_Baghpala + Bahadur-Singh Beejpal_Beejpala Beejpala_Beejpala Bhaadar Bhilpala Bhoj_Bhoja Bhoja_Bhoja Bhojavarman_Bhoja Bhopal Bhumpal_Bhumpala + Bhumpala_Bhumpala Birpal_Birpala Birpala_Birpala Bisaldeva Brahmadeva Brahmapala Brahmdevpal Chand Devapala Devavarman Dhanga_Dhanga + Dhangadeva_Dhanga Dharmapala Dhaulshaya Dilipapala_Dilipapala Dilippal_Dilipapala Doth Draupad_Draupada Draupada_Draupada Dugarendra + Gambhir Ganapatideva Gandadeva Gangeya Ghatamdeva Gopal_Gopala Gopala_Gopala Govindachandra Govindapala Govindaraja_Govindaraja Govindraj_Govindaraja + Hamir Hammiravarman Harpal Harsa_Harsa Harshapala_Harsa Hirapal_Hirapala Hirapala_Hirapala Indrapal_Indrapala Indrapala_Indrapala Ishtpala + Jaganpal_Jaganpala Jaganpala_Jaganpala Jagatpal_Jagatpala Jagatpala_Jagatpala Jagdev_Jagdeva Jagdeva_Jagdeva Jaidas Jaipal Jaitugideva Jasapala_Jasapala + Jaspal_Jasapala Jatanpal_Jatanpala Jatanpala_Jatanpala Jayapala Jayasakti Jayasimha Jayavarman Jhetpal_Jhetpala Jhetpala_Jhetpala Junpala + Kailaspal_Kailaspala Kailaspala_Kailaspala Kalkurna Kalyanachandra Kakhopal_Kakhopala Kakhopala_Kakhopala Kamal Kanhad Kanvarpal_Kanvarpala + Kanvarpala_Kanvarpala Karnpal Keeratdeva Khadag Khetrapal_Khetrapala Khetrapala_Khetrapala Kiratpal_Kiratpala Kiratpala_Kiratpala Krishnray + Krsnapa Kumarapala Kunwar_Kunwar Kunwarpal_Kunwar Ladahachandra Lakshmandeva Lokpala Madanapala Madanavarman Maharana Mahendrapal_Mahendrapala + Mahendrapala_Mahendrapala Mahipal_Mahipala Mahipala_Mahipala Mahipata Mahlakadeva Mandandeva Mangaldeva Margdeva Mihira Nagapala Nagdeo Nannuka + Naravarman Narayanapala Narpal Nayapala Nihaal Nihalray Paramardideva Pavak Peepalraj Popatraj Pritampal_Pritampala Pritampala_Pritampala Prithipala + Prithvi_Prithvi Prithvipal_Prithvi Prithviraj_Prithviraja Prithviraja_Prithviraja Prithvivarman Rahila Rajapala Rajyapala Ramabhadra Ramachandra + Rampal_Rampala Rampala_Rampala Rana Rangraj_Rangraja Rangraja_Rangraja Ratnapala Rijhpala Roshandeva Salivaahan Sallaksanavarman Saugandeva Shurapala + Sisupal_Sisupala Sisupala_Sisupala Sohanpal Somasi Someshvara Sonpal_Sonpala Sonpala_Sonpala Srichandra Subhatavarman Sukhinpal_Sukhinpala + Sukhinpala_Sukhinpala Sulakshanpal Sultanpal_Sultanpala Sultanpala_Sultanpala Surajpal_Surajpala Surajpala_Surajpala Traillokyachandra Tejapala_Tejpal + Tejpal_Tejpal Tolpal Trailokyavarman Trilochanpala Udayaditya Udaysangh Uddharandeva Vachhal Vakpati Vapyata Varshapala_Varshapala Varshpal_Varshapala + Vasudev Vidurathpal_Vidurathpala Vidurathpala_Vidurathpala Vidyadhara Vigrahapala Vigraharaja Vihangpal Vijayapala Vijayasakti Vinayakapala Vindhyavarman + Viramdeva Viravarman Virsinghadeva Yasovarman + } + female_names = { + Akal Anantadevi Damayanti Dattadevi Dehanagadevi Dhruvadevi Dhruvasvamini Hemavati + Kakanvati Kalayandevi Kanchuka Kanwar Karmavati Kumaradevi Lakshman Maharani Mahidevi Nattadevi + Prabhavati Prabhavatigupta Prasadhanadevi Puppadevi Rajamati Sanyukta Shrimitradevi + } + + dynasty_title_names = yes + founder_named_dynasties = yes + + castes = yes + + modifier = default_culture_modifier + } + + dom = { # Indo-Aryan Levant-Mesopotamia divergence + graphical_cultures = { indiangfx muslimgfx } + secondary_event_pictures = bedouin_arabic + + color = { 0.45 0.0 0.0 } + + male_names = { + Achalraj_Achalraja Achalraja_Achalraja Adhandev Adityadeva Ajmal Alsi Amir Anangpal_Anangpala Anangpala_Anangpala Anupapala_Anupapala + Anuppal_Anupapala "Apara Gangeya" Arjunpal_Arjunpala Arjunpala_Arjunpala Arjunavarman Bacchdev Bachraj Baghpal_Baghpala Baghpala_Baghpala + Bahadur-Singh Beejpal_Beejpala Beejpala_Beejpala Bhaadar Bhilpala Bhoj_Bhoja Bhoja_Bhoja Bhojavarman_Bhoja Bhopal Bhumpal_Bhumpala + Bhumpala_Bhumpala Birpal_Birpala Birpala_Birpala Bisaldeva Brahmadeva Brahmapala Brahmdevpal Chand Devapala Devavarman Dhanga_Dhanga + Dhangadeva_Dhanga Dharmapala Dhaulshaya Dilipapala_Dilipapala Dilippal_Dilipapala Doth Draupad_Draupada Draupada_Draupada Dugarendra + Gambhir Ganapatideva Gandadeva Gangeya Ghatamdeva Gopal_Gopala Gopala_Gopala Govindachandra Govindapala Govindaraja_Govindaraja Govindraj_Govindaraja + Hamir Hammiravarman Harpal Harsa_Harsa Harshapala_Harsa Hirapal_Hirapala Hirapala_Hirapala Indrapal_Indrapala Indrapala_Indrapala Ishtpala + Jaganpal_Jaganpala Jaganpala_Jaganpala Jagatpal_Jagatpala Jagatpala_Jagatpala Jagdev_Jagdeva Jagdeva_Jagdeva Jaidas Jaipal Jaitugideva Jasapala_Jasapala + Jaspal_Jasapala Jatanpal_Jatanpala Jatanpala_Jatanpala Jayapala Jayasakti Jayasimha Jayavarman Jhetpal_Jhetpala Jhetpala_Jhetpala Junpala + Kailaspal_Kailaspala Kailaspala_Kailaspala Kalkurna Kalyanachandra Kakhopal_Kakhopala Kakhopala_Kakhopala Kamal Kanhad Kanvarpal_Kanvarpala + Kanvarpala_Kanvarpala Karnpal Keeratdeva Khadag Khetrapal_Khetrapala Khetrapala_Khetrapala Kiratpal_Kiratpala Kiratpala_Kiratpala Krishnray + Krsnapa Kumarapala Kunwar_Kunwar Kunwarpal_Kunwar Ladahachandra Lakshmandeva Lokpala Madanapala Madanavarman Maharana Mahendrapal_Mahendrapala + Mahendrapala_Mahendrapala Mahipal_Mahipala Mahipala_Mahipala Mahipata Mahlakadeva Mandandeva Mangaldeva Margdeva Mihira Nagapala Nagdeo Nannuka + Naravarman Narayanapala Narpal Nayapala Nihaal Nihalray Paramardideva Pavak Peepalraj Popatraj Pritampal_Pritampala Pritampala_Pritampala Prithipala + Prithvi_Prithvi Prithvipal_Prithvi Prithviraj_Prithviraja Prithviraja_Prithviraja Prithvivarman Rahila Rajapala Rajyapala Ramabhadra Ramachandra + Rampal_Rampala Rampala_Rampala Rana Rangraj_Rangraja Rangraja_Rangraja Ratnapala Rijhpala Roshandeva Salivaahan Sallaksanavarman Saugandeva Shurapala + Sisupal_Sisupala Sisupala_Sisupala Sohanpal Somasi Someshvara Sonpal_Sonpala Sonpala_Sonpala Srichandra Subhatavarman Sukhinpal_Sukhinpala + Sukhinpala_Sukhinpala Sulakshanpal Sultanpal_Sultanpala Sultanpala_Sultanpala Surajpal_Surajpala Surajpala_Surajpala Traillokyachandra Tejapala_Tejpal + Tejpal_Tejpal Tolpal Trailokyavarman Trilochanpala Udayaditya Udaysangh Uddharandeva Vachhal Vakpati Vapyata Varshapala_Varshapala Varshpal_Varshapala + Vasudev Vidurathpal_Vidurathpala Vidurathpala_Vidurathpala Vidyadhara Vigrahapala Vigraharaja Vihangpal Vijayapala Vijayasakti Vinayakapala Vindhyavarman + Viramdeva Viravarman Virsinghadeva Yasovarman + } + female_names = { + Akal Anantadevi Damayanti Dattadevi Dehanagadevi Dhruvadevi Dhruvasvamini Hemavati + Kakanvati Kalayandevi Kanchuka Kanwar Karmavati Kumaradevi Lakshman Maharani Mahidevi Nattadevi + Prabhavati Prabhavatigupta Prasadhanadevi Puppadevi Rajamati Sanyukta Shrimitradevi + } + + dynasty_title_names = yes + founder_named_dynasties = yes + + castes = yes + + modifier = default_culture_modifier + } + + lom = { # Indo-Aryan Armenian divergence + graphical_cultures = { indiangfx muslimgfx } + secondary_event_pictures = bedouin_arabic + + color = { 0.45 0.0 0.0 } + + male_names = { + Achalraj_Achalraja Achalraja_Achalraja Adhandev Adityadeva Ajmal Alsi Amir Anangpal_Anangpala Anangpala_Anangpala Anupapala_Anupapala + Anuppal_Anupapala "Apara Gangeya" Arjunpal_Arjunpala Arjunpala_Arjunpala Arjunavarman Bacchdev Bachraj Baghpal_Baghpala Baghpala_Baghpala + Bahadur-Singh Beejpal_Beejpala Beejpala_Beejpala Bhaadar Bhilpala Bhoj_Bhoja Bhoja_Bhoja Bhojavarman_Bhoja Bhopal Bhumpal_Bhumpala + Bhumpala_Bhumpala Birpal_Birpala Birpala_Birpala Bisaldeva Brahmadeva Brahmapala Brahmdevpal Chand Devapala Devavarman Dhanga_Dhanga + Dhangadeva_Dhanga Dharmapala Dhaulshaya Dilipapala_Dilipapala Dilippal_Dilipapala Doth Draupad_Draupada Draupada_Draupada Dugarendra + Gambhir Ganapatideva Gandadeva Gangeya Ghatamdeva Gopal_Gopala Gopala_Gopala Govindachandra Govindapala Govindaraja_Govindaraja Govindraj_Govindaraja + Hamir Hammiravarman Harpal Harsa_Harsa Harshapala_Harsa Hirapal_Hirapala Hirapala_Hirapala Indrapal_Indrapala Indrapala_Indrapala Ishtpala + Jaganpal_Jaganpala Jaganpala_Jaganpala Jagatpal_Jagatpala Jagatpala_Jagatpala Jagdev_Jagdeva Jagdeva_Jagdeva Jaidas Jaipal Jaitugideva Jasapala_Jasapala + Jaspal_Jasapala Jatanpal_Jatanpala Jatanpala_Jatanpala Jayapala Jayasakti Jayasimha Jayavarman Jhetpal_Jhetpala Jhetpala_Jhetpala Junpala + Kailaspal_Kailaspala Kailaspala_Kailaspala Kalkurna Kalyanachandra Kakhopal_Kakhopala Kakhopala_Kakhopala Kamal Kanhad Kanvarpal_Kanvarpala + Kanvarpala_Kanvarpala Karnpal Keeratdeva Khadag Khetrapal_Khetrapala Khetrapala_Khetrapala Kiratpal_Kiratpala Kiratpala_Kiratpala Krishnray + Krsnapa Kumarapala Kunwar_Kunwar Kunwarpal_Kunwar Ladahachandra Lakshmandeva Lokpala Madanapala Madanavarman Maharana Mahendrapal_Mahendrapala + Mahendrapala_Mahendrapala Mahipal_Mahipala Mahipala_Mahipala Mahipata Mahlakadeva Mandandeva Mangaldeva Margdeva Mihira Nagapala Nagdeo Nannuka + Naravarman Narayanapala Narpal Nayapala Nihaal Nihalray Paramardideva Pavak Peepalraj Popatraj Pritampal_Pritampala Pritampala_Pritampala Prithipala + Prithvi_Prithvi Prithvipal_Prithvi Prithviraj_Prithviraja Prithviraja_Prithviraja Prithvivarman Rahila Rajapala Rajyapala Ramabhadra Ramachandra + Rampal_Rampala Rampala_Rampala Rana Rangraj_Rangraja Rangraja_Rangraja Ratnapala Rijhpala Roshandeva Salivaahan Sallaksanavarman Saugandeva Shurapala + Sisupal_Sisupala Sisupala_Sisupala Sohanpal Somasi Someshvara Sonpal_Sonpala Sonpala_Sonpala Srichandra Subhatavarman Sukhinpal_Sukhinpala + Sukhinpala_Sukhinpala Sulakshanpal Sultanpal_Sultanpala Sultanpala_Sultanpala Surajpal_Surajpala Surajpala_Surajpala Traillokyachandra Tejapala_Tejpal + Tejpal_Tejpal Tolpal Trailokyavarman Trilochanpala Udayaditya Udaysangh Uddharandeva Vachhal Vakpati Vapyata Varshapala_Varshapala Varshpal_Varshapala + Vasudev Vidurathpal_Vidurathpala Vidurathpala_Vidurathpala Vidyadhara Vigrahapala Vigraharaja Vihangpal Vijayapala Vijayasakti Vinayakapala Vindhyavarman + Viramdeva Viravarman Virsinghadeva Yasovarman + } + female_names = { + Akal Anantadevi Damayanti Dattadevi Dehanagadevi Dhruvadevi Dhruvasvamini Hemavati + Kakanvati Kalayandevi Kanchuka Kanwar Karmavati Kumaradevi Lakshman Maharani Mahidevi Nattadevi + Prabhavati Prabhavatigupta Prasadhanadevi Puppadevi Rajamati Sanyukta Shrimitradevi + } + + dynasty_title_names = yes + founder_named_dynasties = yes + + castes = yes + + modifier = default_culture_modifier + } + +} + + diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/holysites.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/holysites.txt index b60d3835..a1f3ed3a 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/holysites.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/holysites.txt @@ -466,3 +466,62 @@ c_lhasa={ #No historical basis holy_site = bamar_pagan_reformed } +#Hurrian + +c_edessa={ #Closest to Wassukani + holy_site = hurrian + holy_site = hurrian_reformed +} +c_antiocheia={ #Ugarit + holy_site = hurrian + holy_site = hurrian_reformed +} +c_mosul={ #Site of the Assyrian capital + holy_site = hurrian + holy_site = hurrian_reformed +} +c_cairo={ #Capital of Egypt, No historical basis + holy_site = hurrian + holy_site = hurrian_reformed +} +c_galatia={ #Capital of the Hittites, No historical basis + holy_site = hurrian + holy_site = hurrian_reformed +} + +#Nicene - Same as Proto-Orthodox + +c_jerusalem={ #Holiest of Cities + holy_site = nicene +} +c_roma={ # Saints Paul and Peter + holy_site = nicene +} +c_antiocheia={ # Very Important to early Christianity + holy_site = nicene +} +c_alexandria={ # Mark the Evangelist + holy_site = nicene +} +c_ephesos={ # Saint John the Beloved + holy_site = nicene +} + +#Arianism + +c_jerusalem={ # Holiest of Cities + holy_site = arian +} +c_alexandria={ # Where Arius preached from + holy_site = arian +} +c_roma={ # Saints Paul and Peter + holy_site = arian +} +c_tunis={ #Capital of the Vandals + holy_site = arian +} +c_toledo={ #Capital of the Visigoths + holy_site = arian +} + diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/irck2_pagan_reformation.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/irck2_pagan_reformation.txt index aedbe17f..6a9a5a6b 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/irck2_pagan_reformation.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/irck2_pagan_reformation.txt @@ -447,5 +447,31 @@ d_bamar_pagan_reformed = { # Cannot be held as a secondary title primary = yes + dynasty_title_names = no # Will not be named "Seljuk", etc. +} + +d_hurrian_reformed = { + color={ 0.45 0.46 0.92 } + color2={ 0.45 0.46 0.92 } + + capital = 1183 # Bost + + title = "HEAD_HURRIAN_PRIEST" + title_female = "HEAD_HURRIAN_PRIESTESS" + foa = "HEAD_PRIEST_FOA" + + short_name = yes + + # Always exists + landless = yes + + # Controls a religion + controls_religion = hurrian_reformed + + religion = hurrian_reformed + + # Cannot be held as a secondary title + primary = yes + dynasty_title_names = no # Will not be named "Seljuk", etc. } \ No newline at end of file diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/zzz_default_dejure.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/zzz_default_dejure.txt index f5b73201..56f374e2 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/zzz_default_dejure.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/landed_titles/zzz_default_dejure.txt @@ -1,3 +1,13 @@ +k_cambria = { + color={ 215 158 66 } + color2={ 215 158 66 } +} + +k_laessina = { + color={ 215 159 128 } + color2={ 215 159 128 } +} + e_GAU = { color={ 94 130 94 } color2={ 94 130 94 } diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/00_religions.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/00_religions.txt index 26bbfaa8..175c6d49 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/00_religions.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/00_religions.txt @@ -115,6 +115,94 @@ christian = { intermarry = nestorian intermarry = messalian } + + chalcedonian = { #Post-Nicene, Catholic and Orthodox unity + graphical_culture = westerngfx + + icon = 2 + heresy_icon = 7 + + color = { 0.7 0 0.5 } + #0.75 0.4 0.55 + + crusade_name = CRUSADE + scripture_name = THE_BIBLE + priest_title = PRIEST + + high_god_name = GOD_GOD + + god_names = { + GOD_GOD GOD_THE_LORD GOD_JESUS GOD_THE_BLESSED_VIRGIN + } + + evil_god_names = { + SATAN LUCIFER THE_DEVIL + } + + autocephaly = yes + pentarchy = yes + can_excommunicate = yes + can_grant_divorce = yes + can_grant_invasion_cb = invasion + can_call_crusade = no + priests_can_inherit = no + + can_retire_to_monastery = yes + + religious_clothing_head = 2 + religious_clothing_priest = 2 + + intermarry = catholic + intermarry = cathar + intermarry = fraticelli + intermarry = waldensian + intermarry = lollard + + #intermarry = orthodox + intermarry = adoptionism + intermarry = bogomilist + intermarry = monothelite + intermarry = iconoclast + intermarry = paulician + intermarry = sabellianism + intermarry = psilanthropism + + intermarry = aquileian + + intermarry = nicene + intermarry = total_depravity + intermarry = eutychian + intermarry = binitarian + intermarry = antinomianism + intermarry = ebionites + intermarry = marcionism + intermarry = montanist + intermarry = sethian + intermarry = valentinianism + intermarry = apollinarian + intermarry = docetic + intermarry = pneumatomachians + intermarry = melchisedechianism + intermarry = patripassianism + intermarry = arian + intermarry = donatism + intermarry = priscillianism + + intermarry = insular + intermarry = pelagianism + + intermarry = georgian_orthodox + + intermarry = miaphysite + intermarry = audianistic + intermarry = monophysite + intermarry = monarchianism + + intermarry = nestorian + intermarry = messalian + allow_in_ruler_designer = no # Not available before Great Schism + } + # Catholic and heresies catholic = { graphical_culture = westerngfx @@ -1195,8 +1283,8 @@ christian = { nicene = { graphical_culture = westerngfx - icon = 133 - heresy_icon = 134 + icon = 126 + heresy_icon = 127 color = { 0.65 0.65 0.37 } @@ -2383,11 +2471,11 @@ christian = { ai_convert_same_group = 1 # The Vandals were the exception, not the rule. ai_convert_other_group = 1 - icon = 105 - heresy_icon = 134 + icon = 124 + heresy_icon = 125 color = { 0.2 0.1 0.0 } - parent = nicene + #parent = nicene crusade_name = CRUSADE scripture_name = THE_BIBLE @@ -3215,7 +3303,8 @@ christian = { icon = 46 heresy_icon = 47 - color = { 0.8 0.4 0.1 } + #color = { 0.8 0.4 0.1 } + color = { 0.8 0.3 0.5 } crusade_name = CRUSADE scripture_name = THE_BIBLE diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/50_convertedReligions.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/50_convertedReligions.txt index 6316be08..63f2559b 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/50_convertedReligions.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/common/religions/50_convertedReligions.txt @@ -87,6 +87,7 @@ polytheistic = { intermarry = sumerian intermarry = cybelene intermarry = canaanite_reformed + intermarry = hurrian } @@ -370,6 +371,7 @@ polytheistic = { intermarry = canaanite intermarry = hellenic_pagan + intermarry = hurrian } @@ -528,6 +530,7 @@ polytheistic = { max_consorts = 3 intermarry = cybelene_reformed + intermarry = hurrian } scythian_reformed = { @@ -696,6 +699,7 @@ polytheistic = { intermarry = sumerian intermarry = canaanite intermarry = mithraic + intermarry = hurrian } armazic_reformed = { @@ -774,6 +778,7 @@ polytheistic = { max_consorts = 3 intermarry = armazic_reformed + intermarry = hurrian } arabic_reformed = { @@ -1022,6 +1027,7 @@ polytheistic = { intermarry = canaanite intermarry = cybelene + intermarry = hurrian } mayan_reformed = { @@ -1570,6 +1576,93 @@ polytheistic = { intermarry = scythian_reformed intermarry = voxite_reformed } + + hurrian_reformed = { + graphical_culture = persiangfx + + icon = 122 + heresy_icon = 123 + + color = { 0.45 0.46 0.92 } + + crusade_name = GREAT_HOLY_WAR + use_new_crusade = yes + crusade_cb = new_crusade + scripture_name = hurrian_scripture + priest_title = PRIEST + + high_god_name = Teshub + + god_names = { + elil ea_god nergal ninlil nabu shamash ishtar ningirsu dumuzi + } + + evil_god_names = { + tiamat lamashtu + } + + religious_clothing_head = 14 + religious_clothing_priest = 3 + + priests_can_marry = yes + female_temple_holders = yes + can_call_crusade = yes + join_crusade_if_bordering_hostile = yes + allow_looting = yes + max_consorts = 3 + + allow_in_ruler_designer = no + + intermarry = hurrian + } + + hurrian = { + graphical_culture = persiangfx + + icon = 121 + heresy_icon = 123 + + color = { 0.35 0.36 0.82 } + + crusade_name = GREAT_HOLY_WAR + use_new_crusade = yes + crusade_cb = new_crusade + scripture_name = hurrian_scripture + priest_title = PRIEST + + high_god_name = Teshub + + god_names = { + Shaushka Tasmishu Silver Enlil Hutena Hutelluri Ea + } + + evil_god_names = { + Anu Kumarbi Allani Lamma + } + + reformed = hurrian_reformed + + religious_clothing_head = 14 + religious_clothing_priest = 3 + + priests_can_marry = yes + dislike_tribal_organization = yes + can_demand_religious_conversion = no + allow_looting = yes + female_temple_holders = yes + max_consorts = 3 + + intermarry = hurrian_reformed + + intermarry = canaanite + intermarry = cybelene + intermarry = sumerian + intermarry = canaanite + intermarry = hellenic_pagan + intermarry = egyptian + intermarry = khaldic + intermarry = armazic + } } \ No newline at end of file diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_aryan_conversion_decisions.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_aryan_conversion_decisions.txt new file mode 100644 index 00000000..13869d59 --- /dev/null +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_aryan_conversion_decisions.txt @@ -0,0 +1,396 @@ +targetted_decisions = { + + + # Indo-Aryan character may convert to Dom + irck2_convert_to_dom = { + only_playable = yes + + filter = self + ai_target_filter = self + ai_check_interval = 12 + + potential = { + is_playable = yes + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + capital_scope = { + region = custom_irck2_levant + } + any_realm_province = { + culture = dom + } + OR = { + year = 450 + top_liege = { + OR = { + NOT = { culture_group = indo_aryan_group } + culture = neo_mitanni + } + } + } + NOT = { government = chinese_imperial_government } + NOT = { + has_alternate_start_parameter = { key = culture_names value = random } + } + } + allow = { + culture = dom + capital_scope = { + region = custom_irck2_levant + } + any_realm_province = { + culture = dom + } + } + effect = { + any_courtier = { + limit = { + culture = ROOT + employer = { character = ROOT } + dynasty = ROOT + } + culture = dom + } + culture = dom + } + revoke_allowed = { + always = no + } + ai_will_do = { + factor = 1 + + modifier = { #If Ruler has 2 king titles, is emperor, or is under Roman ruler, will not do + factor = 0 + OR = { + top_liege = { + culture = dom + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + + AND = { + independent = no + top_liege = { culture = dom } + } + } + } + + modifier = { + #factor = 0.5 # Slow it down a bit + } + + modifier = { + factor = 0.01 + capital_scope = { + NOT = { culture = dom } + } + } + modifier = { + factor = 2.0 + liege = { culture = dom } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 2 + culture = dom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 4 + culture = dom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 6 + culture = dom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 8 + culture = dom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 10 + culture = dom + } + } + } + } + + # Indo-Aryan character may convert to Ghagar + irck2_convert_to_ghagar = { + only_playable = yes + + filter = self + ai_target_filter = self + ai_check_interval = 12 + + potential = { + is_playable = yes + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + capital_scope = { + region = custom_irck2_egypt + } + any_realm_province = { + culture = ghagar + } + OR = { + year = 450 + top_liege = { + OR = { + NOT = { culture_group = indo_aryan_group } + culture = neo_mitanni + } + } + } + NOT = { government = chinese_imperial_government } + NOT = { + has_alternate_start_parameter = { key = culture_names value = random } + } + } + allow = { + culture = ghagar + capital_scope = { + region = custom_irck2_egypt + } + any_realm_province = { + culture = ghagar + } + } + effect = { + any_courtier = { + limit = { + culture = ROOT + employer = { character = ROOT } + dynasty = ROOT + } + culture = ghagar + } + culture = ghagar + } + revoke_allowed = { + always = no + } + ai_will_do = { + factor = 1 + + modifier = { #If Ruler has 2 king titles, is emperor, or is under Roman ruler, will not do + factor = 0 + OR = { + top_liege = { + culture = ghagar + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + + AND = { + independent = no + top_liege = { culture = ghagar } + } + } + } + + modifier = { + #factor = 0.5 # Slow it down a bit + } + + modifier = { + factor = 0.01 + capital_scope = { + NOT = { culture = ghagar } + } + } + modifier = { + factor = 2.0 + liege = { culture = ghagar } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 2 + culture = ghagar + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 4 + culture = ghagar + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 6 + culture = ghagar + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 8 + culture = ghagar + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 10 + culture = ghagar + } + } + } + } + + # Indo-Aryan character may convert to Lom + irck2_convert_to_lom = { + only_playable = yes + + filter = self + ai_target_filter = self + ai_check_interval = 12 + + potential = { + is_playable = yes + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + capital_scope = { + region = custom_irck2_montana + } + any_realm_province = { + culture = lom + } + OR = { + year = 450 + top_liege = { + OR = { + NOT = { culture_group = indo_aryan_group } + culture = neo_mitanni + } + } + } + NOT = { government = chinese_imperial_government } + NOT = { + has_alternate_start_parameter = { key = culture_names value = random } + } + } + allow = { + culture = lom + capital_scope = { + region = custom_irck2_montana + } + any_realm_province = { + culture = lom + } + } + effect = { + any_courtier = { + limit = { + culture = ROOT + employer = { character = ROOT } + dynasty = ROOT + } + culture = lom + } + culture = lom + } + revoke_allowed = { + always = no + } + ai_will_do = { + factor = 1 + + modifier = { #If Ruler has 2 king titles, is emperor, or is under Roman ruler, will not do + factor = 0 + OR = { + top_liege = { + culture = lom + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + + AND = { + independent = no + top_liege = { culture = lom } + } + } + } + + modifier = { + #factor = 0.5 # Slow it down a bit + } + + modifier = { + factor = 0.01 + capital_scope = { + NOT = { culture = lom } + } + } + modifier = { + factor = 2.0 + liege = { culture = lom } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 2 + culture = lom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 4 + culture = lom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 6 + culture = lom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 8 + culture = lom + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 10 + culture = lom + } + } + } + } + + + + + +##################################################################### +#End Bracket +##################################################################### + +} diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_scythian_conversion_decisions.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_scythian_conversion_decisions.txt index f5278623..3ed12054 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_scythian_conversion_decisions.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/decisions/ir_scythian_conversion_decisions.txt @@ -361,6 +361,124 @@ targetted_decisions = { } } } + +# Sarmatian or Scythian character may convert to Yarkamii + irck2_convert_to_yarkamii = { + only_playable = yes + + filter = self + ai_target_filter = self + ai_check_interval = 12 + + potential = { + is_playable = yes + OR = { culture = sarmatian culture = royal_scythian } + capital_scope = { + region = custom_irck2_greece_only + } + any_realm_province = { + culture = yarkamii + } + NOT = { government = chinese_imperial_government } + NOT = { + has_alternate_start_parameter = { key = culture_names value = random } + } + } + allow = { + OR = { culture = sarmatian culture = royal_scythian } + capital_scope = { + region = custom_irck2_greece_only + } + any_realm_province = { + culture = yarkamii + } + } + effect = { + any_courtier = { + limit = { + culture = ROOT + employer = { character = ROOT } + dynasty = ROOT + } + culture = yarkamii + } + culture = yarkamii + } + revoke_allowed = { + always = no + } + ai_will_do = { + factor = 1 + + modifier = { #If Ruler has 2 king titles, is emperor, or is under Punic ruler, will not do + factor = 0 + OR = { + top_liege = { + OR = { culture = sarmatian culture = royal_scythian } + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + + AND = { + independent = no + top_liege = { OR = { culture = sarmatian culture = royal_scythian } } + } + } + } + + modifier = { + #factor = 0.5 # Slow it down a bit + } + + modifier = { + factor = 0.01 + capital_scope = { + NOT = { culture = yarkamii } + } + } + modifier = { + factor = 2.0 + liege = { culture = yarkamii } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 2 + culture = yarkamii + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 4 + culture = yarkamii + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 6 + culture = yarkamii + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 8 + culture = yarkamii + } + } + modifier = { + factor = 1.1 + num_culture_realm_provs = { + value = 10 + culture = yarkamii + } + } + } + } ##################################################################### diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_aryan_culture_conversion.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_aryan_culture_conversion.txt new file mode 100644 index 00000000..eea19642 --- /dev/null +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_aryan_culture_conversion.txt @@ -0,0 +1,188 @@ +################################### +# +# Imperator:Rome to Crusader Kings II +# - Scythian Culture Conversion Events +# +################################### + +namespace = IR_ARY + + +################################################# + +# Province culture changes from Indo-Aryan to Dom +province_event = { + id = IR_ARY.2000 + desc = EVTDESC_IR_ARY_2000 + picture = GFX_evt_stone_church + border = GFX_event_normal_frame_diplomacy + + trigger = { + should_evolve_cultures_trigger = yes + year = 450 + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + region = custom_irck2_levant + NOT = { + owner = { + top_liege = { + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + } + } + } + + mean_time_to_happen = { + months = 600 + modifier = { + factor = 0.3 + OR = { + has_game_rule = { + name = culture_conversion + value = faster_melting_pots + } + has_game_rule = { + name = culture_conversion + value = faster_melting_pots_and_slower_normal + } + } + } + } + + option = { + name = EVTOPTA_IR_ARY_2000 + culture = dom + } +} + + +################################################# + +# Province culture changes from Indo-Aryan to Ghagar +province_event = { + id = IR_ARY.2001 + desc = EVTDESC_IR_ARY_2001 + picture = GFX_evt_stone_church + border = GFX_event_normal_frame_diplomacy + + trigger = { + should_evolve_cultures_trigger = yes + year = 450 + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + region = custom_irck2_egypt + NOT = { + owner = { + top_liege = { + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + } + } + } + + mean_time_to_happen = { + months = 600 + modifier = { + factor = 0.3 + OR = { + has_game_rule = { + name = culture_conversion + value = faster_melting_pots + } + has_game_rule = { + name = culture_conversion + value = faster_melting_pots_and_slower_normal + } + } + } + } + + option = { + name = EVTOPTA_IR_ARY_2001 + culture = ghagar + } +} + + +################################################# + +# Province culture changes from Indo-Aryan to Lom +province_event = { + id = IR_ARY.2002 + desc = EVTDESC_IR_ARY_2002 + picture = GFX_evt_stone_church + border = GFX_event_normal_frame_diplomacy + + trigger = { + should_evolve_cultures_trigger = yes + year = 450 + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + region = custom_irck2_montana + NOT = { + owner = { + top_liege = { + AND = { + culture_group = indo_aryan_group + NOT = { culture = neo_mitanni } + } + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + } + } + } + + mean_time_to_happen = { + months = 600 + modifier = { + factor = 0.3 + OR = { + has_game_rule = { + name = culture_conversion + value = faster_melting_pots + } + has_game_rule = { + name = culture_conversion + value = faster_melting_pots_and_slower_normal + } + } + } + } + + option = { + name = EVTOPTA_IR_ARY_2002 + culture = lom + } +} + + +################################################# + + + + + + diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_scythian_culture_conversion.txt b/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_scythian_culture_conversion.txt index 96e3f90e..f3448511 100644 --- a/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_scythian_culture_conversion.txt +++ b/ImperatorToCk2/DataFiles/defaultOutput/default/events/ir_scythian_culture_conversion.txt @@ -173,6 +173,63 @@ province_event = { ################################################# +# Province culture changes from Sarmatian or Scythian to Yarkamii +province_event = { + id = IR_SCY.2004 + desc = EVTDESC_IR_SCY_2004 + picture = GFX_evt_stone_church + border = GFX_event_normal_frame_diplomacy + + trigger = { + should_evolve_cultures_trigger = yes + year = 100 + OR = { + culture = sarmatian + culture = royal_scythian + } + region = custom_irck2_greece_only + NOT = { + owner = { + top_liege = { + OR = { + culture = sarmatian + culture = royal_scythian + } + OR = { + tier = emperor + #num_of_king_titles = 2 + } + } + } + } + } + + mean_time_to_happen = { + months = 600 + modifier = { + factor = 0.3 + OR = { + has_game_rule = { + name = culture_conversion + value = faster_melting_pots + } + has_game_rule = { + name = culture_conversion + value = faster_melting_pots_and_slower_normal + } + } + } + } + + option = { + name = EVTOPTA_IR_SCY_2004 + culture = yarkamii + } +} + + +################################################# + diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/d_hurrian_reformed.tga b/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/d_hurrian_reformed.tga new file mode 100644 index 0000000000000000000000000000000000000000..449c97c46bdceb1729bf38be74ec4de09377acb7 GIT binary patch literal 49691 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 W($H4aQPEUU+b~a0Nkvt0KK>6(hhE75 literal 0 HcmV?d00001 diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_cambria.tga b/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_cambria.tga new file mode 100644 index 0000000000000000000000000000000000000000..e9177496db855d54622c3a5165cbe21ee93990ab GIT binary patch literal 49691 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 VZdt#1{l+Kn{^h#$8`iFL{tsacO>qDK literal 0 HcmV?d00001 diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_laessina.tga b/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/flags/k_laessina.tga new file mode 100644 index 0000000000000000000000000000000000000000..1caa75f49740f96421f342efac295af2c1deb9c2 GIT binary patch literal 66075 zcmeI5Nsk*v7=}AUB00ke#lQfa3|kBdGyH=fjf6mA6ITu#xI`TC1M;g_&kSJ+n^^J_ zIFJPhklAd$r;~QRZal7b$1<*}x1v{`nYi5Tdh7kFzQyIDxUZ<&#o}VIc6{*A2jgV1 z{^|JSPvZ$TuZ)B3>fYVw)3@B-Nq2lw=AQR%PxFG2dp*TjE1^IiO>!(|^^CH}>~ zTmNPM6W;4hvk%h0^e_GAI|roye7TqZmpAv~U;Ov5|JV0h@xRX%|BE(0EdKMh0pef$ z&*}fk{wEY8lK!QC=|A5&ApPgdeNX>i>%Z22Uo%w7|Bu&(ocv@``vs>jbg2K4{u9!_ z_>Wh+)AITA{!RRgf9L{Wh__|JRpihuF%)_>Xm%;G=Nzw|Ht=Q{_a|9rW}FA@LZU-m!W zInYD@zqjK*Unu?)?dQM5f4|DpU}I&jm%b9d0x|5F|GzuVUT_tJl~`@a)S{-5l?|6ZH_AB=z7M^rF> zasVu@FtFI-1eRwS0LwRW=D-AY{v>Bm4(xkq2J1@z*Wvoy2lvOla_^>t!HMa6*m8Sk z%y(Se6YPw9sV@Ze!F~|NHRo zKMSOvn|q_!#$&yM{`Xt@kL^9`eh;6cr#kR|ApRRRGo|^|h5wQ9&pr|0FA_7XLHrny zMz?P$D0IzBq0gZr0KqH_L z&u555^(X4vUr4uc61g;~Cpni2r!GTf|%=E*NUqjzwHc zud#aL$XXa`tRbGeNsgJEGa&!$bJFCf0r_g5=dN?&xuvAb$`py-YQ%}{AbR;?bp36Cw>=d#Fl)YYOg8#zZ84D zXq$n*=D8IAdD#Peb8uMKy-6} zIIY(*`Pxt;*Xa95|MBh_h|7B}$P~#0Di0<7$EknI$9gV%@lQ@u{6{$kn%KT6v# z{`1zp_!s}}^I_HO|7`5P_)o`X^s)cqU;NAdr!faO*VuE(Sqz~j{infw75@|eQSRH?eq7(* zrT=ua+-DAm|IGQfGZ*~&&lyRf#(7A-Pjxne{QoG|5zgH3T#Em^?1A{ti|_UxLHvvV zdF?;n)!_S7-`%A3Kb!Sm{HJ3x`q+Q*FaBl!)0hKo{d3lGs7e26aE~t_{?p;I?b~(v zUHoUxznz=w*K*F$4>i7P&-EFZ|2ML^HVaYuM(F4IkwR^GBXG1hUi^COSn*(S|GXD{ z|DE^FUl^W$_rlu7@a*u+=8XPp{NIr~|NQfgK45>Oz46+c=ib_See2a%PQU%q*30LH F#lJrDF^>QM literal 0 HcmV?d00001 diff --git a/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/interface/religion_icon_strip.dds b/ImperatorToCk2/DataFiles/defaultOutput/default/gfx/interface/religion_icon_strip.dds index 5e7a265990b32f8e3eebf1d610e9f37110694bb9..9d9142968153b1431b993cd2e8d5be85137ae1a5 100644 GIT binary patch delta 4430 zcmaJ^4Ny~87Cw)k^2A|$J2l(1qxD6X8tPyCp$qlzr7g4SRt+{UWGTgfcE{FsK|1ZS z)Jg`mO{kcnMP1fW1a*X}RMer{Z4I`iHbqT~(qbz{tfHhwaJmrwUhbaz!UJNv-a91R zymP!7pa}x*XlHrE}*M>mFH9 z5H|35Pj%fFJc#1+8Tix+*TQ=E!+_%wl?@2%ndqa<;e5 znf-ze%Am~d#~CV>sv=yPPdtRUNF6UsclN^t=$kE_!?A^ntiM`A<`Xw*A(D;oE5pNwZT8jCfPew(1(FIa@fO2i=ozaT^=Sym_nF2BVV zsXCCP5VZR(xv)blxt9Q!@bq{dDs*0VJzaE@3gAIl&v+gxCOj*ODQVl8xvPQ}+fIa9 z#QW%2wpcxtn{6SBWe71A_Yr2#CM51tY9P`fgn>J(YPUS5kVbhzWsUs9(1gmW&v4!*I5s3uo_?;`3RQJ;S0I9}4pF|%bpkJ_H#`61N;$dZ*%*h!F=H&Cju4Lp? zF!6bA(u+7A#H{oSR+TC?3HRwwi8`K@Hz8?Tpoz4RTVz^WCKqY9cac}o-c8(JUevQW zpL;jZJr0M-AO!7K2WM;UnZ53;p4)794b9e;0%SIH1eDo>Y;?9kClHQ600L26z{ba` zRD?KQ%YrPfT>^FhTK>RzYhj1FXQIWCtgWKu&b6Ef*YAFzQDlaBOhxJ*}jJ05O@ zEq7jV+`|jY;61#7*0MwZRg)+>d)(z61;i!>7yM20y}Qco*x`Qdo@__ zTumlp8lHiEVIRodMFh4U8y;DJp4_Cig4FfTe%VdWkT$C?Gj+~)S5irIu)l*hbQ!jh z7WdQuJH1meBJBBgrcqyqpVmy(`&EipEc%#x`zoGvGX?GX5 z={Yez#xCJhAGt)n?Vgwzmfc-Ms4m>ZdB|7B!?X?FBN60z$=Td-M&emhuD6m3H3AZu zeLUisL<|a#4WpYB^w(STETUH`=n35w3FWyapMt*ibG=lW>O%2`sZQ6IORn3WLL{?zeLZl4XO+Cp6cZlKbLjg$^lUn9^hu&K{w z6v@iMy|do1sv9}A)hTOhDhPN8X{Ho$NEa7C=fcofU%wfz18ov%y-}V?lGkktju9iU zFEh1t$E~2UJmFsvi+b7e<$oTDQAv1pQqnL6YRift!8n9*i#Mc}K6*&OsPyv&l-6R* z2>Cjw;BNgQ2iGRm#*e*J-^9_jPc6FYUXf18Cr%y@Sk$X(p4|0={FD$w_i3&D>Lb&M zGe~jPw<+5@W6sWx<*-J`nj3Z6*aY<>pS(;w)Z*DYRzAfYah-vO;4Q`z@j#2556l4h zAUp8-Jr0OX1zOQ%F)9umZP4?p`b#e>4kX;UZt&$zh*caAyUG{k*IvG&IN)y3XiuJ+ zFhOyk@p^_fIB@VER2(J)WGQDj_|5f#f&M#Dk7}V|wIe`2!-LiOc-A^9UX19^ z>ZdExV!l$1)rDnoS=T){ws-NY@!}sqe)zX)X0ik@+M1g}rYw~!g_{F-^oUoi;VlZs zY9W-PsE=U_<4z87bYPGxdB3Jg;n;#>F`9awBpw&Ba?h;@ zcTxgcGRXA^qM(9>{1G5JbH*@;aFsXI={IgvKv1%al9QQ|dqINZ5ue{f4sZaA_w%eu zUWr7$zoLKRkWb)V$@IzLHgIR)Xi)$Xo0}W+*Wyw!fHsq_q;OqdpLY};qv)LxpB!8> ze#X0B(V;JJDDcy9fLXePNcr)pEl(u*EZp^je@$_QKaZOOu=y-NS_&2@gAUxr4ISyg z=;InLE$5{n2gdsJT65}(AM+_7b>Qb3P*3^Sumg)rGZVHCbljAmqXTR?&yU}`=Kvjd zpaTt!!2Q?%_aO()*n z)Unk6FmN!H8>zh*%zc9xE>|c9ijEx>6E=i#wC`zM-ioiMD;R5Xf*8RvtMy;n7+Go~}TbAG4xskdjYuYKV~W=eRmZrr>uWWPwOIip#`e|e0pjj&?r}MGZakECu-87CONof`wMGItfJys?GJSg8_+b zY1z7D|IJUkWHb+{e)s&*nZ)zx!f3ff23eF?Ptedj=l=n6s?A9m3LwVVY@;kNghar0 zBH-OCQQZrO$FY(}2S>Da_X%Pc;10B1=2?48eA6YY;%VrQA(@FqwRxj)k#6eebaMJH z`6(x@%^i}Hq#adxeR|gZS+*%o797B79>9o6{5}+mt9YoKHcU}-S+6Vd|2#&a7<=P$ zK@?AxDHL1(qh~8eP?TdLH;O4Tg^ugJf$={IBcWI_ijk;`^Y=1Q82Q5M%qBNsvATo6 zWQpf~kC`0r&;=*wgmy^-yVKIru)rm~#EOwp&t-3n!JGUrbVQPsFSqb`a%Rlrnw5hT zUtbEPXt<;ap=fB;gix$)JI5WyyxUv(AL(%VVfnDnJM3LlohSA>(QneEBYp~EwJp4pziY7BWW3kRsE}rnymbW{DxJ3#Mn!(3a#le z=%>gP1ij_7;cxiTFod!03%$DOtznF*6?#5TJhxWCp!O7F=ekSG%#|G$lnDZ0h&+cN zk#sP!$+`$CgVuQYn009%jV}sxN1zLf0BjkEqQd!PVGE5WaPu~>nK<5l_ce{eq1|_X z4t!DIMsghXhH_}`;i#fj-wQM^2c@x}`G!hEr{e=w@(r=tOec9Z{y>o&w+XS?X6@F% zt*c&Ug@{4 zamLRO!s#-x$=aYR#gvG7H3))lZrNts9tA|O@d+bATz)>cL>2ohke#hRF!~8z*pHzU zmSAB;Uw=Fgy~T`0re&C{X_`VQTX@}|(bf+_jodgkr^`ke6Mm)+0_e5D!$}Vg;aUQX S452oY_)weGicRYr-TwgS_5zFm delta 156 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 delta 436 zcmX>wL9k)EfUJv4utE(30|UDN7lR&XtqNWB|Np903=CEbSydqZ(p8%q*3JN{O59!^z;WEN zRde;q)vLEZU}x-Lo!B9FD*Qxr3^#Icpzb>*0}8G+8)zEFj!5+*-gp^T}D zv1$A4GNwL8_7@2at5zL)u-%}7se%cl^kY4fd7y;WFOQf=Iq2}x>r~yAlPa~#28(x;zX3e)@zHYSW27}DFSAZ2&6^S z1RRm7UAFxLn?De6R;e0)4HU!$9H7iHO{UF2WD}t%A_%s3_qBZmcANCRci;Jb?z#8e zbFN{GKUC&3Z_S#om;wOsr{99vq<%jlnP^??Nt(8H@iJROi8*XpvF4Ae>>BfDkePFDIhU?68+w89;?iA*}O!@PqC! z@?C-CE@N&*obkqE zLe_?MUIR2hJ*1uIL8eNjWcNmm87EA@#5y}e{ZzES*|nME?_^t%2Jg(x#c$&P_O}2t zR6;_+`l%W%W@2(uV`Di@ag8(&ZAnVPfo@GTma4bK#>N_jbM&%QnspwDAQ8IMgTI~W zXp>RMhA58ZoQ-!ck}eE6}sCp8maV!98fkDcowolWUPY%1mFucK2FK#W!T;B84en@ zJ@0rPwEZSfaV0HrBZ2t+u(3`|4FG8OTp%YNU?wbrTe+-WE_d+>FD+&YZ#e6@;-^3zugC~)Q(Dn6XI9TBoe(xqQyWpH&04R?b7cNQmCd#5@R>YqB!Tcp6*jS z6CKdpW(9~Y`^ALq?4*uInNGgu>JN7xxLt5!UE8*zYr7QngRX%AJ7ry!k$DC0)}P_y z5A0MKZ|!*ir6xCp114PqD!Q!K3#5P7#MD1Xdd&epwa!R(rWPtVU`?rJ-Ls(4-5jsx zXP}h%dIjew*FVPeIH;ks>K;I#35A$mXStD7@3A-?Gyyi-_l_SdQjmgY6n?ar zQ*G!5D$0bcoTzL(O|tV;e+?(<{}()>9I=JTNe=aI4Le-DPZMy&aJ1jIvZHBesU_PK z%ri>puqEG;Lm-nOiGy*J;~spcSV~`B7P-hCi9cks>_t99UAdH(=PE;gJR-*0WWftk zAYYTLdio@O^PM|?y~H-$fDhqA5q+mO3+60cN{sc)r11-4j4{dPbfr?hi5PdV#;sVb zHkkwhZcn^D<9?D-0I?*aZ=O*P(p`|a_9j4!?*-%_6O-WLgVw*3>-2ywSG>7Dp8oO_2Edwex3#I3MWr409=)yxEXVN_@GNB(H!p_o>AAX>*6BtDq1_ z;PiNr%_qa|$B4!6tePUJ#;nBTl{7a=(>KY{DNYhTDpd=jMJ|aaB0>@olhsN>+Goy* z0N(mGDYc}j5c!cCkZqyi0CI8(va@g!GAx)PX}=28k3BlCq=(qa6$p`QPBM#B!XTPl bv?pr;WLktkLWWm*hg;79#Oc^!qj3Iz0}^^8 delta 120 zcmV-;0EhqZjRS!A0v$v|Qy_c*000LN3IG%U003YK004ly000310004#5hX9NOspda z@cSSDRjT!^vLpopvo$DuC9~mAXCnw{@~1hQo4c#CP;(dpk%$ importCountry (String name) throws IOException String vmm = scnr.nextLine(); String qaaa = vmm; String[] output; // Owner Culture Religeon PopTotal Buildings - output = new String[24]; + output = new String[25]; output[0] = "9999"; //default for no tag output[1] = "6969"; //default for no flag seed @@ -181,6 +181,7 @@ public static ArrayList importCountry (String name) throws IOException output[21] = "9999"; //default for no historical tag used in nation formation output[22] = "k"; //default for no rank, ranks are not stored in the save file, will be calculated during output output[23] = "noFlag"; //default for no flag + output[24] = "4529"; //default for no original capital (Province of Olbia) impTagInfo.add(output); //default entry at ID 0 @@ -346,6 +347,8 @@ else if (qaaa.split("=")[0].equals( tab+tab+tab+tab+"budget_dates" ) ) { if (output[21].equals("9999")) { //failsafe if somehow there is no historical tag output[21] = output[0]; } + + output[24] = output[5]; //set original capital not to be changed String[] tmpOutput = new String[output.length]; @@ -381,6 +384,7 @@ else if (qaaa.split("=")[0].equals( tab+tab+tab+tab+"budget_dates" ) ) { output[21] = "9999"; //default for no historical tag used in nation formation output[22] = "k"; //default for no rank, ranks are not stored in the save file, will be calculated during output output[23] = "noFlag"; //default for no flag + output[24] = "4529"; //default for no original capital (Province of Olbia) } } @@ -774,6 +778,9 @@ public static String[] importLocalisation (ArrayList locList, String tag output[0] = revoltNames[1] + " Revolt"; output[1] = revoltNames[1] + " Revolter"; } + + output[0] = output[0].split(quote+" #")[0]; + output[1] = output[1].split(quote+" #")[0]; if (output[0].charAt(0) == '[') { //For countries which use a dynasty name for their country, like the Seleukid Empire output[1] = dynasty; @@ -1173,6 +1180,8 @@ public static ArrayList importDuchyNameList (String ck2Dir) throws IOExc String countyWord2 = " "+tab+"c";//Bohemia and Moravia use different formatting String countyWord3 = " c"; String countyWord4 = tab3+tab+"c"; + String countyWord5 = " "+tab+tab+"c";//Bohemia again + String countyWord6 = " "+tab+"c";//Bohemia ArrayList duchies = new ArrayList(); @@ -1189,12 +1198,16 @@ public static ArrayList importDuchyNameList (String ck2Dir) throws IOExc duchies.add(duchyList); duchyList = qaaa.split(" = ")[0].replace(tab,""); + duchyList = duchyList.replace(" ",""); //Bohemia + duchyList = duchyList.split("=")[0]; //Gondar aqq = aqq + 1; } if (qaaa.split("_")[0].equals(countyWord) || qaaa.split("_")[0].equals(countyWord2) || qaaa.split("_")[0].equals(countyWord3) || - qaaa.split("_")[0].equals(countyWord4)) { + qaaa.split("_")[0].equals(countyWord4) || qaaa.split("_")[0].equals(countyWord5) || qaaa.split("_")[0].equals(countyWord6)) { String county = qaaa.split(" = ")[0].replace(tab,""); + county = county.replace(" ","");//Bohemia + county = county.split("=")[0]; //Pecs duchyList = duchyList + "," + county; qaaa = scnr.nextLine(); } @@ -1334,6 +1347,11 @@ public static ArrayList importFlag (String name) throws IOException qaaa = qaaa.replace(" =","="); qaaa = qaaa.replace(" ",tab); //Some flags have strange formatting qaaa = qaaa.replace(" color2=",tab+"color2="); //Some flags have strange formatting + if (qaaa.contains("#") && !qaaa.equals("#") && qaaa.charAt(0)!= '#') { + //System.out.println(qaaa); + //qaaa = qaaa.replace("#","~QQQQ~"); + qaaa = qaaa.split("#")[0]; + } if (qaaa.contains( "=" ) && output[0].equals("unnamedFlag")) { output[0] = qaaa.split("=")[0]; } @@ -1421,6 +1439,11 @@ else if (qaaa.contains("hsv ")) { qaaa = qaaa.replace(" color2=",tab+"color2="); // to fix Invictus Barbaricum Countries file formatting qaaa = qaaa.replace(" texture=",tab+"texture="); // to fix Invictus Barbaricum Countries file formatting + if (qaaa.contains("#") && !qaaa.equals("#")) { + //System.out.println(qaaa); + //qaaa = qaaa.replace("#","~QQQQ~"); + qaaa = qaaa.split("#")[0]; + } if (qaaa.split("=").length != 2) { //if using unusual formatting if (qaaa.contains("texture=")) { embTexture = qaaa.split("texture=")[1]; @@ -1483,9 +1506,13 @@ else if (qaaa.contains( "color1=" ) || qaaa.contains("color1 =") ) { embColor1 = "rgb," + embColor1.substring(2,embColor1.length()-2); } else if (qaaa.contains("hsv ")) { + //System.out.println(qaaa); embColor1 = embColor1.split("hsv ")[1]; + //System.out.println(embColor1); embColor1 = embColor1.split(tab)[0]; //Invictus formatting - embColor1 = "hsv," + embColor1.substring(2,output[2].length()-2); + //System.out.println(embColor1); + //embColor1 = "hsv," + embColor1.substring(2,output[2].length()-2); + embColor1 = "hsv," + embColor1.substring(2,embColor1.length()-2); } } else if (qaaa.contains( "color2=" ) || qaaa.contains("color2 =") ) { @@ -2190,6 +2217,73 @@ public static ArrayList importMappingFromArrayArgs (ArrayList return allMatches; } + + public static ArrayList importCK2Geo () throws IOException + { + + String VM = "\\"; + VM = VM.substring(0); + String tab = " "; + char quote = '"'; + String name = "defaultOutput/default/map/geographical_region.txt"; + FileInputStream fileIn= new FileInputStream(name); + Scanner scnr= new Scanner(fileIn); + + int flag = 0; + + boolean endOrNot = true; + String qaaa; + qaaa = scnr.nextLine(); + ArrayList geography = new ArrayList(); + + String idNum; + + try { + while (endOrNot = true){ + + qaaa = scnr.nextLine(); + qaaa = Processing.removeComments(qaaa); + qaaa = qaaa.replace(tab,""); + + if (qaaa.contains(" = {")){ + String geoName = qaaa.split(" = ")[0]; + String compositeGeo = "Q"; + qaaa = scnr.nextLine(); + while (!qaaa.equals("}")) { + qaaa = Processing.removeComments(qaaa); + if (qaaa.contains("c_") || qaaa.contains("d_")) { + qaaa = qaaa.replace(tab,""); + qaaa = qaaa.replace(" "," "); + if (compositeGeo.equals("Q")) { + compositeGeo = qaaa.replace(" ",","); + } else { + compositeGeo = compositeGeo + "," + qaaa.replace(" ",","); + } + + } + qaaa = scnr.nextLine(); + } + String endingChar = compositeGeo.substring(compositeGeo.length()-1,compositeGeo.length()); + if (endingChar.equals(",")) { + compositeGeo = compositeGeo.substring(0,compositeGeo.length()-1); + } + String[] output = new String[2]; + output[0] = geoName; + output[1] = compositeGeo; + //System.out.println(geoName + ": " + compositeGeo); + geography.add(output); + } + + } + + }catch (java.util.NoSuchElementException exception){ + endOrNot = false; + + } + + return geography; + + } //developed originally by Shinymewtwo99 } diff --git a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Main.java b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Main.java index baa702a3..6a949036 100644 --- a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Main.java +++ b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Main.java @@ -102,7 +102,7 @@ public static void main (String[] args) throws IOException ArrayList impProvInfoList = new ArrayList(); String[][] ck2ProvInfo; // Array list of array lists... - ck2ProvInfo = new String[5][irProvTot]; + ck2ProvInfo = new String[6][irProvTot]; //[0] is owner, [1] is culture, [2] is religion, [3] is calculated from pop int totalPop = 0;//pop total @@ -435,6 +435,8 @@ public static void main (String[] args) throws IOException int aq5 = 0; int aq6 = 0; String[] irOwners; + + ck2ProvInfo = Processing.assignNamesToProvs(ck2ProvInfo,totalCKProv,ck2Dir); while( aq2 < totalCKProv) { // Calculate province ownership if (ck2TagTotals[aq2] != null) { @@ -512,7 +514,10 @@ else if (aq2 < 380) { aq2 = aq2 + 1; } - ArrayList dejureDuchies = Processing.calculateDuchyNameList(ck2Dir,ck2ProvInfo,cultureMappings); + ArrayList duchyMappings = Importer.importDuchyNameList(ck2Dir); + ArrayList dejureDuchies = Processing.calculateDuchyNameList(ck2Dir,ck2ProvInfo,cultureMappings,duchyMappings); + ArrayList ck2Geo = Importer.importCK2Geo(); + ck2Geo = Processing.getConstituentCounties(duchyMappings,ck2Geo); aq2 = 0; LOGGER.info("Province religion and culture calculated"); @@ -579,12 +584,16 @@ else if (aq2 < 380) { impCharInfoList = Characters.importChar(saveCharacters,compressedOrNot); impDynList = Characters.importDynasty(saveDynasty); + + impTagInfo = Processing.convertAllCapitals(impTagInfo); //Array try { try { while (flag == 0) { + /////TEST + //impTagInfo.get(aq4)[5] = Importer.importConvList("provinceConversion.txt",Integer.parseInt(impTagInfo.get(aq4)[5]))[1]; if (!ck2HasLand[aq4].equals ("yes") && ck2LandTot[aq4] > 0) { //if has no land but has subjects, eat subjects to prevent shattering ck2ProvInfo = Processing.annexSubjects(aq4,totCountries,ck2ProvInfo,impSubjectInfo); @@ -617,7 +626,7 @@ else if (ck2LandTot[aq4] <= duchyRank) { impTagInfo.get(aq4)[0] = Processing.convertTitle(titleMappings,rank,impTagInfo.get(aq4)[21],impTagInfo.get(aq4)[0]); convertedCharacters = Output.titleCreation(impTagInfo.get(aq4)[0],tempNum2,impTagInfo.get(aq4)[3],impTagInfo.get(aq4)[17], impTagInfo.get(aq4)[5],rank,"no_liege",date,republicOption,Character[7],impDynList,impCharInfoList,convertedCharacters,aq4, - impTagInfo.get(aq4)[17],cultureMappings,religionMappings,impTagInfo,modDirectory); + impTagInfo.get(aq4)[17],cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); //LOGGER.info("Free Nation at " + aq4); } else { //if tag is subject String[] subjectInfo = impSubjectInfo.get(subjectOrNot).split(","); @@ -649,7 +658,7 @@ else if (ck2LandTot[aq4] <= duchyRank) { convertedCharacters = Output.titleCreation(impTagInfo.get(aq4)[0],tempNum2,impTagInfo.get(aq4)[3], impTagInfo.get(aq4)[17],impTagInfo.get(aq4)[5],rank,overlord,date,republicOption,Character[7],impDynList, impCharInfoList,convertedCharacters,aq4,overlordGov,cultureMappings,religionMappings, - impTagInfo,modDirectory); + impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); //LOGGER.info("Subject Nation at " + aq4 + " Overlord is " + subjectInfo[0]); } @@ -661,22 +670,25 @@ else if (ck2LandTot[aq4] <= duchyRank) { if (!rank.equals("c")) {//if below duchy, don't generate titular county title convertedCharacters = Output.titleCreation(impTagInfo.get(aq4)[0],tempNum2,impTagInfo.get(aq4)[3],impTagInfo.get(aq4)[17], impTagInfo.get(aq4)[5],rank,overlord,date,republicOption,Character[7],impDynList,impCharInfoList, - convertedCharacters,aq4,overlordGov,cultureMappings,religionMappings,impTagInfo,modDirectory); + convertedCharacters,aq4,overlordGov,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); } //LOGGER.info("Tributary Nation at " + aq4 + " Overlord is " + subjectInfo[0]); } } - //LOGGER.info (impTagInfo.get(aq4)[16] + " rules " + impTagInfo.get(aq4)[0] + "_" + aq4); + LOGGER.info (impTagInfo.get(aq4)[16] + " rules " + impTagInfo.get(aq4)[0] + "_" + aq4); String convCharacterCulture = Output.cultureOutput(cultureMappings,Character[1]); String charCountryCulture = impTagInfo.get(aq4)[6]; + int charCountryCapital = Integer.parseInt(impTagInfo.get(aq4)[5]); + String charCountryCapitalCounty = ck2ProvInfo[5][charCountryCapital]; String convCharacterReligion = Output.religionOutput(religionMappings,convCharacterCulture,charCountryCulture,date, - Character[2]); + Character[2],charCountryCapitalCounty,ck2Geo); + //System.out.println("Capital for "+Character[0]+" is "+charCountryCapital+"|"+charCountryCapitalCounty+", rel = "+convCharacterReligion); convertedCharacters = Output.characterCreation(tempNum2, convCharacterCulture,convCharacterReligion, Character[3],Character[0],Character[7],Character[4],Character[8],Character[10],Character[11],Character[12],Character[13],Character[14], Character[15],impTagInfo.get(aq4)[17],"q","q",convertedCharacters,impCharInfoList,date,cultureMappings, - religionMappings,impTagInfo,modDirectory); + religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); //LOGGER.config ("c"); @@ -723,14 +735,14 @@ else if (genFlag == 1) { convertedCharacters = Output.titleCreation(impTagInfo.get(aq4)[0],tempNum2,capitalColor,impTagInfo.get(aq4)[17], impTagInfo.get(aq4)[5],subRank,"no_liege",date,republicOption,Character[7],impDynList,impCharInfoList,convertedCharacters, - aq4,impTagInfo.get(aq4)[17],cultureMappings,religionMappings,impTagInfo,modDirectory); + aq4,impTagInfo.get(aq4)[17],cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); - String capitalName = "PROV"+impTagInfo.get(aq4)[5]; //use name of capital for generated kingdom + String capitalName = "PROV"+impTagInfo.get(aq4)[24]; //use name of capital for generated kingdom String[] capitalLoc = importer.importLocalisation(locList,capitalName,rulerDynasty); //String[] capitalLoc = Importer.importProvLocalisation(impGameDir,capitalName); if (capitalLoc[0].equals(capitalName)) { //In the event I:R prov has no name, use CK2 prov name - capitalName = Importer.importConvList("provinceConversion.txt",Integer.parseInt(impTagInfo.get(aq4)[5]))[1]; + //capitalName = Importer.importConvList("provinceConversion.txt",Integer.parseInt(impTagInfo.get(aq4)[5]))[1]; capitalName = Processing.importNames("a",Integer.parseInt(capitalName),ck2Dir)[0]; capitalLoc = (capitalName+","+capitalName).split(","); } @@ -765,20 +777,22 @@ else if (genFlag == 1) { if (!subRank.equals("c")) {//For duchies, don't create governorship titles convertedCharacters = Output.titleCreation(govRegID,governorID,Processing.randomizeColor(),"no","none",subRank, impTagInfo.get(aq4)[0],date,republicOption,Character[7],impDynList,impCharInfoList,convertedCharacters,aq4, - "govq",cultureMappings,religionMappings,impTagInfo,modDirectory); + "govq",cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); Output.copyFlag(ck2Dir,modDirectory,subRank,impTagInfo.get(aq4)[5],govRegID); //default flag for governorships } govCharacter = impCharInfoList.get(Integer.parseInt(governor)); String govCharCulture = Output.cultureOutput(cultureMappings,govCharacter[1]); String govCountryCulture = impTagInfo.get(aq4)[6]; + int govCountryCapital = Integer.parseInt(impTagInfo.get(aq4)[5]); + String govCountryCapitalCounty = ck2ProvInfo[5][govCountryCapital]; String govCharReligion = Output.religionOutput(religionMappings,govCharCulture,govCountryCulture,date, - govCharacter[2]); + govCharacter[2],govCountryCapitalCounty,ck2Geo); convertedCharacters = Output.characterCreation(governorID, govCharCulture, govCharReligion,govCharacter[3],govCharacter[0],govCharacter[7],govCharacter[4], govCharacter[8],govCharacter[10],govCharacter[11],govCharacter[12],govCharacter[13], govCharacter[14],govCharacter[15],saveCharacters,"q","q",convertedCharacters,impCharInfoList,date, - cultureMappings,religionMappings,impTagInfo,modDirectory); + cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); String governorDynasty = Characters.searchDynasty(impDynList,govCharacter[7]); @@ -856,7 +870,7 @@ else if (genFlag == 1) { } //English adjective endings dynCult = output.cultureOutput(cultureMappings,dynCult); - dynRel = output.religionOutput(religionMappings,dynCult,dynCult,date,dynRel); + dynRel = output.religionOutput(religionMappings,dynCult,dynCult,date,dynRel,ck2ProvInfo[5][aq4],ck2Geo); String dynCharName = importedInfo[0] + "icus"; //county_name-icus, temporary naming solution instead of Glorious_Debug @@ -866,12 +880,13 @@ else if (genFlag == 1) { Output.dynastyCreation("of "+importedInfo[0],ruler,"debug",modDirectory); Output.characterCreation(ruler,dynCult,dynRel,dynCharAge,dynCharName,ruler,"69","q","5","5","5","5","0","0", - saveCharacters,"q","q",convertedCharacters,impCharInfoList,date,cultureMappings,religionMappings,impTagInfo,modDirectory); + saveCharacters,"q","q",convertedCharacters,impCharInfoList,date,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo, + modDirectory); String greyShade = Processing.randomizeColorGrey(); convertedCharacters = Output.titleCreation("dynamic"+aq4,ruler,greyShade,"no",Integer.toString(aq4),"d","no_liege",date,republicOption, "noDynasty",impDynList,impCharInfoList,convertedCharacters,aq4,Integer.toString(aq4),cultureMappings,religionMappings, - impTagInfo,modDirectory); + impTagInfo,ck2ProvInfo,ck2Geo,modDirectory); Output.localizationCreation(dynLoc,"dynamic"+aq4,"d",modDirectory); Output.copyFlag(ck2Dir,modDirectory,"d",Integer.toString(aq4),"dynamic"+aq4); @@ -890,7 +905,7 @@ else if (genFlag == 1) { aq7 = 0; String overlordCapital = impTagInfo.get(tempNum2b)[5]; - overlordCapital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(overlordCapital))[1]; + //overlordCapital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(overlordCapital))[1]; if (overlordCapital.equals("99999")) { //unmapped capital province detected, set 1 as default LOGGER.info("Warning, I:R province "+impTagInfo.get(tempNum2b)[5]+" is unmapped!"); overlordCapital = "69"; @@ -969,7 +984,7 @@ else if (subjectOrNot != 9999) { //If ruler is subject, check if he/she rules ov overlord = impTagInfo.get(overlordID)[22]+"_"+impTagInfo.get(overlordID)[0]; String overlordCapital = impTagInfo.get(overlordID)[5]; - overlordCapital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(overlordCapital))[1]; + //overlordCapital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(overlordCapital))[1]; if (overlordCapital.equals(Integer.toString(aq4))) { ruler = impTagInfo.get(overlordID)[16]; gov = impTagInfo.get(overlordID)[17]; @@ -991,6 +1006,7 @@ else if (subjectOrNot != 9999) { //If ruler is subject, check if he/she rules ov } //LOGGER.info("Creating province "+importedInfo[0]+" at ID "+aq4+" ruled by "+ruler); + //importedInfo[0]; String provCult = Output.cultureOutput(cultureMappings,ck2ProvInfo[1][aq4]); int provOwner = Integer.parseInt(ck2ProvInfo[0][aq4]); String provOwnerCult; @@ -999,7 +1015,9 @@ else if (subjectOrNot != 9999) { //If ruler is subject, check if he/she rules ov } else { provOwnerCult = impTagInfo.get(provOwner)[6]; } - String provReligion = Output.religionOutput(religionMappings,provCult,provOwnerCult,date,ck2ProvInfo[2][aq4]); + String provReligion = Output.religionOutput(religionMappings,provCult,provOwnerCult,date,ck2ProvInfo[2][aq4], + ck2ProvInfo[5][aq4],ck2Geo); + //String provReligion = Output.religionOutput(religionMappings,provCult,provOwnerCult,date,ck2ProvInfo[2][aq4],countyName,ck2Geo); Output.provinceCreation(Integer.toString(aq4),provCult,provReligion,modDirectory, importedInfo[1],importedInfo[0],gov, ck2PopTotals[aq4],bList, saveMonuments,republicOption,aq4); diff --git a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Output.java b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Output.java index d766694e..b06f4cb3 100644 --- a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Output.java +++ b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Output.java @@ -64,7 +64,8 @@ public static String cultureOutput(ArrayList mappings,String irCulture) return ck2CultureInfo; } - public static String religionOutput(ArrayList mappings,String ck2Culture,String tagCulture,String date,String irRel) throws IOException + public static String religionOutput(ArrayList mappings,String ck2Culture,String tagCulture,String date,String irRel, + String ck2County, ArrayList ck2Geo) throws IOException { String VM = "\\"; @@ -91,7 +92,7 @@ public static String religionOutput(ArrayList mappings,String ck2Culture int count2 = 0; boolean passedCheck = true; while (count2 < numArgs) { //check all arguments, if all are true, return culture - System.out.println(numArgs); + //System.out.println(numArgs); int argBeingChecked = count2+2; String[] relArgument = ck2ReligionInfo[argBeingChecked].split("="); if (relArgument[0].equals("culture")) { @@ -118,6 +119,14 @@ else if (relArgument[0].equals("year")) { passedCheck = false; } } + else if (relArgument[0].equals("ck2Region")) { + //System.out.println(ck2County + " religion is"); + if (!Processing.checkGeo("c_"+ck2County, ck2Geo,relArgument[1])) { + count2 = count2 + numArgs; + passedCheck = false; + } + //System.out.println(relArgument[1]+" "+ck2County); + } else { //if argument is invalid, nullify whole mapping count2 = count2 + numArgs; passedCheck = false; @@ -157,7 +166,7 @@ public static String titleCreationCommon(String irTAG, String irColor, String go if (!capital.equals("none")) { //governorships don't have set capitals - capital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(capital))[1]; + //capital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(capital))[1]; out.println (tab+"capital = "+capital); @@ -178,8 +187,8 @@ public static String titleCreationCommon(String irTAG, String irColor, String go public static ArrayList titleCreation(String irTAG, String irKING, String irCOLOR, String government, String capital,String rank,String liege, String date1,String republicOption,String irDynasty,ArrayList dynList,ArrayList impCharInfoList,ArrayList convertedCharacters, - int tagIDNum,String liegeGov,ArrayList cultureMappings,ArrayList religionMappings,ArrayList impTagInfo, - String Directory) throws IOException + int tagIDNum,String liegeGov,ArrayList cultureMappings,ArrayList religionMappings,ArrayList impTagInfo,String[][] ck2ProvInfo, + ArrayList ck2Geo,String Directory) throws IOException { String VM = "\\"; @@ -244,9 +253,9 @@ public static ArrayList titleCreation(String irTAG, String irKING, Strin String palace = irDynasty+"_"+irTAG; titleCreationCommon(palace,"none","none","none","b",oldDirectory); //creates merchant palace for ruler's family convertedCharacters = titleCreation(palace,irKING,irCOLOR,"palace",capital,"b",rank+","+irTAG,date1,republicOption,irDynasty, - dynList,impCharInfoList,convertedCharacters,tagIDNum,liegeGov,cultureMappings,religionMappings,impTagInfo,oldDirectory); + dynList,impCharInfoList,convertedCharacters,tagIDNum,liegeGov,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,oldDirectory); convertedCharacters = createFamilies(dynList,irTAG,oldDynasty,rank,impCharInfoList,convertedCharacters,date1,republicOption,tagIDNum, - liegeGov,cultureMappings,religionMappings,impTagInfo,oldDirectory); + liegeGov,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,oldDirectory); govCreation(irTAG,rank,"m",oldDirectory); } @@ -493,7 +502,7 @@ public static String ctitleCreation(String name, String irKING, String Directory public static ArrayList characterCreation(String irKING, String cult, String rel, String age, String name, String dynasty, String sex, String traits, String martial, String zeal, String charisma, String finesse, String spouse, String children,String government,String father, String mother,ArrayList convertedList,ArrayList charList,String date1,ArrayList cultureMappings, - ArrayList religionMappings,ArrayList impTagInfo,String Directory) + ArrayList religionMappings,ArrayList impTagInfo,String[][] ck2ProvInfo,ArrayList ck2Geo,String Directory) throws IOException { @@ -551,11 +560,13 @@ public static ArrayList characterCreation(String irKING, String cult, St String spouseCulture = cultureOutput(cultureMappings,spouseInfo[1]); int spouseCountry = Integer.parseInt(spouseInfo[17]); String spouseCountryCulture = impTagInfo.get(spouseCountry)[6]; - String spouseReligion = religionOutput(religionMappings,spouseCulture,spouseCountryCulture,date1,spouseInfo[2]); + int spouseCountryCapital = Integer.parseInt(impTagInfo.get(spouseCountry)[5]); + String spouseCountryCapitalCounty = ck2ProvInfo[5][spouseCountryCapital]; + String spouseReligion = religionOutput(religionMappings,spouseCulture,spouseCountryCulture,date1,spouseInfo[2],spouseCountryCapitalCounty,ck2Geo); characterCreation( spouse1066,spouseCulture, spouseReligion, spouseInfo[3], spouseInfo[0], spouseInfo[7],spouseInfo[4], spouseInfo[8], martial, zeal, charisma, finesse, "0", "0", "no","q", "q",convertedList,charList,date1, - cultureMappings,religionMappings,impTagInfo,Directory); + cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,Directory); } if (children != "0") { @@ -581,11 +592,13 @@ public static ArrayList characterCreation(String irKING, String cult, St String childCulture = cultureOutput(cultureMappings,childInfo[1]); int childCountry = Integer.parseInt(childInfo[17]); String childCountryCulture = impTagInfo.get(childCountry)[6]; - String childReligion = religionOutput(religionMappings,childCulture,childCountryCulture,date1,childInfo[2]); + int childCountryCapital = Integer.parseInt(impTagInfo.get(childCountry)[5]); + String childCountryCapitalCounty = ck2ProvInfo[5][childCountryCapital]; + String childReligion = religionOutput(religionMappings,childCulture,childCountryCulture,date1,childInfo[2],childCountryCapitalCounty,ck2Geo); characterCreation( child1066, childCulture, childReligion, childInfo[3], childInfo[0], childInfo[7], childInfo[4], childInfo[8], martial, zeal, charisma, finesse, childInfo[14], childInfo[15], isPurple,irKING,spouse1066, - convertedList,charList,date1,cultureMappings,religionMappings,impTagInfo,Directory); + convertedList,charList,date1,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,Directory); aq4 = aq4 + 1; } @@ -1218,9 +1231,9 @@ public static void copyRaw(String dir1, String dir2) throws IOException public static void copyFlag(String ck2Dir, String modDirectory, String rank, String prov, String tag) throws IOException //copies flag files { - if (!tag.contains("dynamic") && !tag.contains("__")) { //if the tag is dynamically generated or is governorship, already uses CK II province ID - prov = Importer.importConvList("provinceConversion.txt",Integer.parseInt(prov))[1]; - } + //if (!tag.contains("dynamic") && !tag.contains("__")) { //if the tag is dynamically generated or is governorship, already uses CK II province ID + //prov = Importer.importConvList("provinceConversion.txt",Integer.parseInt(prov))[1]; + //} prov = Processing.importNames("a",Integer.parseInt(prov),ck2Dir)[0]; prov = Processing.formatProvName(prov); @@ -1318,8 +1331,8 @@ public static int generateFlag(String ck2Dir, String irDirectory, String rank, A public static ArrayList createFamilies (ArrayList dynList, String tag, String rulerFamily, String rank, ArrayList impCharInfoList,ArrayList convertedCharacters,String date,String republicOption, int tagIDNum, - String liegeGov,ArrayList cultureMappings,ArrayList religionMappings,ArrayList impTagInfo, - String directory) throws IOException + String liegeGov,ArrayList cultureMappings,ArrayList religionMappings,ArrayList impTagInfo,String[][] ck2ProvInfo, + ArrayList ck2Geo,String directory) throws IOException //creates families for Merchant Republics { int aqq = 1; @@ -1345,18 +1358,22 @@ public static ArrayList createFamilies (ArrayList dynList, Strin //ArrayList impTagInfo int headCountry = Integer.parseInt(headCharacter[17]); String headCountryCulture = impTagInfo.get(headCountry)[6]; - String headReligion = religionOutput(religionMappings,headCulture,headCountryCulture,date,headCharacter[2]); + int headCountryCapital = Integer.parseInt(impTagInfo.get(headCountry)[5]); + String headCountryCapitalCounty = ck2ProvInfo[5][headCountryCapital]; + String headReligion = religionOutput(religionMappings,headCulture,headCountryCulture,date,headCharacter[2],headCountryCapitalCounty, + ck2Geo); convertedCharacters = characterCreation(headNum, headCulture,headReligion, headCharacter[3],headCharacter[0],headCharacter[7],headCharacter[4],headCharacter[8],headCharacter[10],headCharacter[11], headCharacter[12],headCharacter[13],headCharacter[14], - headCharacter[15],"palace","q","q",convertedCharacters,impCharInfoList,date,cultureMappings,religionMappings,impTagInfo,directory); + headCharacter[15],"palace","q","q",convertedCharacters,impCharInfoList,date,cultureMappings,religionMappings,impTagInfo, + ck2ProvInfo,ck2Geo,directory); dynastyCreation(dynasty[0],headCharacter[7],headCharacter[16],directory); titleCreationCommon(palace,"none","none","none","b",directory); //creates merchant palace for ruler's family convertedCharacters = titleCreation(palace,headNum,"none","palace","none","b",rank+","+tag,date,republicOption,newDynasty,dynList, - impCharInfoList,convertedCharacters,tagIDNum,liegeGov,cultureMappings,religionMappings,impTagInfo,directory); + impCharInfoList,convertedCharacters,tagIDNum,liegeGov,cultureMappings,religionMappings,impTagInfo,ck2ProvInfo,ck2Geo,directory); } } @@ -1429,6 +1446,30 @@ else if (oneOrTwo.equals("2")) { rakalyCommand[8] = replaceColor; rakalyCommand[9] = name; Processing.fileExcecute(rakalyCommand); + irFlagColorBlueGreen(name,name,color,oneOrTwo); + } + + public static void irFlagColorBlueGreen(String name, String oldName, String color, String oneOrTwo) throws IOException //I:R supports blue/green gfx + { + String replaceColor = oneOrTwo; + if (oneOrTwo.equals("1")) { + replaceColor = "blue"; + } + else if (oneOrTwo.equals("2")) { + replaceColor = "lime"; + } + String[] rakalyCommand = new String [10]; + rakalyCommand[0] = "magick.exe"; + rakalyCommand[1] = "convert"; + rakalyCommand[2] = oldName; + rakalyCommand[3] = "-fuzz"; + rakalyCommand[4] = "40%"; + rakalyCommand[5] = "-fill"; + rakalyCommand[6] = color; + rakalyCommand[7] = "-opaque"; + rakalyCommand[8] = replaceColor; + rakalyCommand[9] = name; + Processing.fileExcecute(rakalyCommand); } public static String irFlagScale(String name, String percent) throws IOException diff --git a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Processing.java b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Processing.java index e7629c85..eb0030b9 100644 --- a/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Processing.java +++ b/ImperatorToCk2/src/main/java/com/paradoxgameconverters/irtockii/Processing.java @@ -970,7 +970,8 @@ public static String convertTitle(ArrayList mappings, String rank, Strin return title; } - public static ArrayList calculateDuchyNameList (String ck2Dir, String[][] ck2ProvInfo,ArrayList cultureMappings) throws IOException + public static ArrayList calculateDuchyNameList (String ck2Dir, String[][] ck2ProvInfo,ArrayList cultureMappings, + ArrayList duchies) throws IOException { ArrayList output = new ArrayList(); //owner,culture,duchy @@ -979,7 +980,7 @@ public static ArrayList calculateDuchyNameList (String ck2Dir, String[][ int aq2 = 0; - ArrayList duchies = Importer.importDuchyNameList(ck2Dir); + //ArrayList duchies = Importer.importDuchyNameList(ck2Dir); ArrayList provNameList = new ArrayList(); @@ -1585,7 +1586,8 @@ public static void dynamicSplit (String title,String rank,String color,String[] eastTitle = "byzantium"; } String westTitle = title+"_west"; - String ck2Capital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(capital))[1]; + //String ck2Capital = Importer.importConvList("provinceConversion.txt",Integer.parseInt(capital))[1]; + String ck2Capital = capital; //events String eventDir = modDirectory+"/events/dynamic_empire_split_"+country+".txt"; String eventTemplateDirectory = "defaultOutput/templates/events/dynamic_empire_split.txt"; @@ -2076,5 +2078,146 @@ public static ArrayList condenseArrayStr(String[] longArray) return shortArray; } + + public static String removeComments(String comment) + //Sets the start year of all technology to align with startDate + { + try { + comment = comment.split("#")[0]; + } catch (java.lang.ArrayIndexOutOfBoundsException exception) { + comment = ""; + } + + return comment; + + } + + public static String cutQuotes(String word) + //Cut off quotes ("Bob" becomes Bob) + { + String newWord = word.substring(1,word.length()-1); + + return newWord; //if no pop found, return null + } + + public static ArrayList getConstituentCounties(ArrayList duchyMappings,ArrayList ck2Geo) + { + ArrayList newCk2Geo = new ArrayList(); + int count = 0; + while (count < ck2Geo.size()) { + String[] ck2Region = ck2Geo.get(count); + String[] regComponents = ck2Region[1].split(","); + String ck2RegionName = ck2Region[0]; + int count2 = 0; + while (count2 < regComponents.length) { + String selectedComponent = regComponents[count2]; + int count3 = 0; + while (count3 < duchyMappings.size()) { + String[] duchy = duchyMappings.get(count3).split(","); + if (duchy[0].equals(selectedComponent) && duchy.length > 1) { + //System.out.println(duchy[0]+" Matches up with "+selectedComponent+" in "+ck2RegionName); + count3 = count3 + duchyMappings.size(); + int count4 = 2; + selectedComponent = duchy[1]; + while (count4 < duchy.length) { + selectedComponent = selectedComponent + "," + duchy[count4]; + count4 = count4 + 1; + } + } + //String duchyCounties = selectedDuchy[count3]; + + count3 = count3 + 1; + } + regComponents[count2] = selectedComponent; + + count2 = count2 + 1; + } + int count5 = 1; + String tmpNewRegComponent = regComponents[0]; + while (count5 < regComponents.length) { + tmpNewRegComponent = tmpNewRegComponent + "," + regComponents[count5]; + count5 = count5 + 1; + } + ck2Region[1] = tmpNewRegComponent; + //System.out.println(ck2Region[0] + ": " + ck2Region[1]); + newCk2Geo.add(ck2Region); + count = count + 1; + } + + return newCk2Geo; + } + + public static boolean checkGeo(String ck2County, ArrayList ck2Geo, String geoName) + { + int count = 0; + + while (count < ck2Geo.size()) { + String[] ck2Region = ck2Geo.get(count); + String regionName = ck2Region[0]; + if (regionName.equals(geoName)) { + String[] regionCounties = ck2Region[1].split(","); + int count2 = 0; + while (count2 < regionCounties.length) { + String regionCounty = regionCounties[count2]; + if (regionCounty.equals(ck2County)) { + return true; + } + + count2 = count2 + 1; + } + } + + count = count + 1; + + } + + return false; + } + + public static String[][] assignNamesToProvs(String[][] ck2ProvInfo, int totalCKProv, String dir) throws IOException + { + int count = 0; + + while (count < totalCKProv) { + String provinceName = ""; + provinceName = importNames("a",count,dir)[0]; + + provinceName = formatProvName(provinceName); + + if (count == 103) { //Leon in Brittany and Spain have the same name in definition.csv + provinceName = "french_leon"; + } + + ck2ProvInfo[5][count] = provinceName; + + count = count + 1; + + } + + return ck2ProvInfo; + } + + public static ArrayList convertAllCapitals(ArrayList impTagInfo) throws IOException + { + int count = 0; + + while (count < impTagInfo.size()) { + String[] impTag = impTagInfo.get(count); + String oldCapital = impTag[5]; + int oldCapitalInt = Integer.parseInt(oldCapital); + String newCapital = Importer.importConvList("provinceConversion.txt",oldCapitalInt)[1]; + if (newCapital.equals("99999")) { + System.out.println("Warning, I:R province "+oldCapital+" is unmapped!"); + newCapital = "69"; + } + impTag[5] = newCapital; + impTagInfo.set(count,impTag); + + count = count + 1; + + } + + return impTagInfo; + } }