• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

swampy111

Second Lieutenant
10 Badges
Apr 3, 2019
146
13
  • Cities: Skylines
  • Magicka 2
  • Cities: Skylines - Parklife
  • Shadowrun Returns
  • Prison Architect
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Magicka
Still doesn't work, I'm afraid. The province history file is like this, as well:

70 = { #LUND culture = norse religion = norse_pagan holding = tribal_holding special_building = uppakra_temple_01 965.1.1 = { culture = danish religion = catholic } 1020.1.1 = { holding = castle_holding } 1066.1.1 = { buildings = { common_tradeport_01 cereal_fields_01 pastures_01 } } }

However, I have this idea to separate the building from the other modifications that I've done on my personal mod. If it still crashes even if the building is a separate mod, I'm gonna take a guess and assume there's something up for me with the game.

UPDATE: Still crashes. Gonna try and verify the game files.

UPDATE 2: No luck there, either. I've run out of ideas for now.
I looked into vanilla files to check cordoba (k_andalusia.txt) and see how they set their unique buildings.
Code:
1995 = {    # CORDOBA
    # Misc
    culture = visigothic
    religion = catholic
  
    holding = castle_holding
  
    # History
    800.1.1 = { culture = andalusian }
    812.1.1 = { religion = muwalladi }
    867.1.1 = {
        special_building_slot = holy_site_great_mosque_of_cordoba_01
        special_building = holy_site_great_mosque_of_cordoba_01
    }
    <...>
}
So I'm guessing that you need to have a special_building_slot command too. If not, then it's probably conflicting with the vanilla special building (lund_cathedral_01).
------
I have two questions of my own.

1) CK2 had dynamic flags (flag@char_id). Is there any such equivalent in CK3?
2) is there any way to attach a multi-property (at least two) data object to a character in CK3? For example, if I want to attach a permanent variable to a character that holds a numerical value and a character value to, for example, add a loyalty/admiration/envy/whatever mechanic? Or, for example, to add a variable that stores a title and a numerical value representing how much a character desires it, so we can have storylines revolving around rulers deliberately aiming towards certain titles for personal reasons (reclaim ancestral lands, etc.)
-addendum to question 2: CK2 didn't have anything of those sorts as far as I'm aware. My workaround was to create an object which would store the required data/properties as permanent_event_targets (equivalent to CK3's variables, if I understand them correctly). And while I'm pretty pretty sure I can do the same thing in CK3, it makes the code very unwieldy, to say nothing of the impact adding hundreds of artifacts on game performance. So i'm curious if there're better options
 
Last edited:

Birkaheim

Private
46 Badges
Aug 1, 2019
21
1
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Crusader Kings III
  • Battle for Bosporus
  • Hearts of Iron IV: No Step Back
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Conclave
  • Europa Universalis IV
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Pre-order
  • Crusader Kings II
  • Europa Universalis IV: Mare Nostrum
I looked into vanilla files to check cordoba (k_andalusia.txt) and see how they set their unique buildings.
Code:
1995 = {    # CORDOBA
    # Misc
    culture = visigothic
    religion = catholic
 
    holding = castle_holding
 
    # History
    800.1.1 = { culture = andalusian }
    812.1.1 = { religion = muwalladi }
    867.1.1 = {
        special_building_slot = holy_site_great_mosque_of_cordoba_01
        special_building = holy_site_great_mosque_of_cordoba_01
    }
    <...>
}
So I'm guessing that you need to have a special_building_slot command too. If not, then it's probably conflicting with the vanilla special building (lund_cathedral_01).
------
I have two questions of my own.

1) CK2 had dynamic flags (flag@char_id). Is there any such equivalent in CK3?
2) is there any way to attach a multi-property (at least two) data object to a character in CK3? For example, if I want to attach a permanent variable to a character that holds a numerical value and a character value to, for example, add a loyalty/admiration/envy/whatever mechanic? Or, for example, to add a variable that stores a title and a numerical value representing how much a character desires it, so we can have storylines revolving around rulers deliberately aiming towards certain titles for personal reasons (reclaim ancestral lands, etc.)
-addendum to question 2: CK2 didn't have anything of those sorts as far as I'm aware. My workaround was to create an object which would store the required data/properties as permanent_event_targets (equivalent to CK3's variables, if I understand them correctly). And while I'm pretty pretty sure I can do the same thing in CK3, it makes the code very unwieldy, to say nothing of the impact adding hundreds of artifacts on game performance. So i'm curious if there're better options
I tried out your suggestion, adding two slots for both the temple and the cathedral, but I'm afraid they don't work either. It's quite strange how Anyasia's end works fine while it crashes the game in my case.
 

swampy111

Second Lieutenant
10 Badges
Apr 3, 2019
146
13
  • Cities: Skylines
  • Magicka 2
  • Cities: Skylines - Parklife
  • Shadowrun Returns
  • Prison Architect
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Magicka
I tried out your suggestion, adding two slots for both the temple and the cathedral, but I'm afraid they don't work either. It's quite strange how Anyasia's end works fine while it crashes the game in my case.
It's possible that, like Anyasia said, a province is hard-coded to only have one special building slot; in which case, you'll probably have to override the vanilla cathedral entirely. Worst case scenario, you might have to make it an ordinary building and add a trigger that only lets you build it in Lund.
The crash could also be caused by mod conflicts or by accidentally editing vanilla files (like ocasionally happens to me).
 
Last edited:

Birkaheim

Private
46 Badges
Aug 1, 2019
21
1
  • Europa Universalis IV: Dharma
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Hearts of Iron IV: La Resistance
  • Crusader Kings III
  • Battle for Bosporus
  • Hearts of Iron IV: No Step Back
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Conclave
  • Europa Universalis IV
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Pre-order
  • Crusader Kings II
  • Europa Universalis IV: Mare Nostrum
It's possible that, like Anyasia said, a province is hard-coded to only have one special building slot; in which case, you'll probably have to override the vanilla cathedral entirely. Worst case scenario, you might have to make it an ordinary building and add a trigger that only lets you build it in Lund.
The crash could also be caused by mod conflicts or by accidentally editing vanilla files (like ocasionally happens to me).
I've tried verifying the files in case I might have edited the vanilla files (which I don't recall ever doing in any case) to no luck either. Mod conflicts are not the case either, as I tried to separate the relevant building files to a mod just for them. Inserting the dynamic localization string into the Lund Cathedral's description produces the same crash bug as well.

Though with the possibility that the province is hard-coded, it doesn't take into account why the localization string makes the game crash for me. I don't think it's a problem with dynamic locs in general as I have downloaded a mod that utilizes them to display the names of titles (albeit with a method that I don't understand).
 
Last edited:

JoeSteel

Major
80 Badges
Mar 11, 2012
585
184
  • Heir to the Throne
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Res Publica
  • Magicka
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Crusader Kings II
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: No Step Back
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Magicka 2
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
I hope this is an easy question, but say there's an accessory on a character model that needs to be moved forward. Are their positional values somewhere in the gfx folder for it? If so what file path might I find that under?
 

crowdemon

Lt. General
47 Badges
May 13, 2013
1.328
1.234
  • Crusader Kings II: Charlemagne
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Pre-order
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Crusader Kings II
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings III
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Prison Architect
  • Stellaris: Ancient Relics
  • Crusader Kings II: Conclave
  • Europa Universalis IV
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Stellaris: Digital Anniversary Edition
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - Snowfall
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cossacks
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Europa Universalis IV: Call to arms event
Does anyone know about creating a truce?

[14:46:41][jomini_effect.cpp:908]: Failed to read 'casus_belli' for 'add_truce_one_way'

scope:actor = {
add_truce_one_way = {
character = scope:recipient
years = 30
override = no
result = white_peace
casus_belli = fp1_varangian_adventurer_conquest
}
}
 

JoeSteel

Major
80 Badges
Mar 11, 2012
585
184
  • Heir to the Throne
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Res Publica
  • Magicka
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Crusader Kings II
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: No Step Back
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Magicka 2
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
I hope this is an easy question, but say there's an accessory on a character model that needs to be moved forward. Are their positional values somewhere in the gfx folder for it? If so what file path might I find that under?
As a bit of a follow up question (Because I'm starting to think position data is stored in the .mesh file.) Is there a way to edit the .mesh file without having to go through the several hours long headache of getting autodesk maya, and the exporter to work? I try to run it in typical .mesh editors, but it just says it's not supported.
 

Anyasia

Lightbringer
72 Badges
Aug 5, 2015
428
265
  • Europa Universalis IV: Rights of Man
  • Crusader Kings Complete
  • Crusader Kings II
  • Crusader Kings III
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Conclave
As a bit of a follow up question (Because I'm starting to think position data is stored in the .mesh file.) Is there a way to edit the .mesh file without having to go through the several hours long headache of getting autodesk maya, and the exporter to work? I try to run it in typical .mesh editors, but it just says it's not supported.

If you're more comfortable using Blender, you can use the IO PDX Mesh addon, but I don't think there's any easy way to edit them without a modelling program, unfortunately. I'm unable to answer your earlier question, sorry. :(
 
  • 1Like
Reactions:

DogTheBoss

Private
38 Badges
Apr 3, 2020
16
206
  • Surviving Mars: Digital Deluxe Edition
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Steel Division: Normandy 44 Deluxe Edition
  • Europa Universalis IV: Third Rome
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Rule Britannia
  • Steel Division: Normandy 44
  • BATTLETECH - Digital Deluxe Edition
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome
  • Crusader Kings III
  • Europa Universalis 4: Emperor
  • Victoria 3 Sign Up
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Res Publica
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Cities: Skylines
  • Crusader Kings II
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines - Natural Disasters
I'm making a small mod to buff the Reclaim Britannia decision, and want to make culture converting add some monthly development. The way I want to do this is to make Promote Culture also have a development growth of 1/3 of what my steward is capable of. How would I add development growth to culture promotion?
 

Opanashc

Field Marshal
62 Badges
Jul 4, 2010
4.734
2.780
  • Stellaris - Path to Destruction bundle
  • Semper Fi
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Conclave
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Cradle of Civilization
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Stellaris
  • Europa Universalis IV: Res Publica
  • Victoria 2
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Hearts of Iron IV: No Step Back
I'm making a small mod to buff the Reclaim Britannia decision, and want to make culture converting add some monthly development. The way I want to do this is to make Promote Culture also have a development growth of 1/3 of what my steward is capable of. How would I add development growth to culture promotion?
Go into \common\council_tasks\00_steward_tasks.txt and look at task_develop_county = {. Then copy needed parts into task_promote_culture = { portion of code.
 

JoeSteel

Major
80 Badges
Mar 11, 2012
585
184
  • Heir to the Throne
  • Cities: Skylines - After Dark
  • Europa Universalis IV: Mare Nostrum
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Res Publica
  • Magicka
  • Hearts of Iron III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
  • Divine Wind
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Crusader Kings II
  • Hearts of Iron IV: Together for Victory
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Europa Universalis IV: Rights of Man
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Galaxy Edition
  • Stellaris
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: No Step Back
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Magicka 2
  • Crusader Kings II: Way of Life
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • 500k Club
  • Victoria 2: Heart of Darkness
  • Victoria 2
  • Europa Universalis III Complete
  • Europa Universalis III Complete
If you're more comfortable using Blender, you can use the IO PDX Mesh addon, but I don't think there's any easy way to edit them without a modelling program, unfortunately. I'm unable to answer your earlier question, sorry. :(
It worked! Thank you! And as I suspected a prop or accessory on the character has it's position data in the mesh file.
Interestingly enough negative values seem to move it forward, and positive backwards in blender.
 

A BlackBird

Private
100 Badges
May 10, 2018
12
1
  • Crusader Kings II: Reapers Due
  • Cities: Skylines - Green Cities
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Tyranny - Bastards Wound
  • Crusader Kings II: Conclave
  • Hearts of Iron IV: Death or Dishonor
  • Age of Wonders: Planetfall
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Cities: Skylines
  • Europa Universalis IV: Rights of Man
  • Tyranny: Archon Edition
  • Tyranny: Archon Edition
  • Tyranny: Gold Edition
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • BATTLETECH
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Age of Wonders: Planetfall Season pass
  • Stellaris: Lithoids
  • Imperator: Rome Sign Up
  • Crusader Kings II: Holy Fury
  • Crusader Kings III: Royal Edition
  • Imperator: Rome - Magna Graecia
  • Stellaris: Distant Stars
  • Cities: Skylines - Campus
  • Stellaris: Apocalypse
  • Age of Wonders: Planetfall - Revelations
  • Europa Universalis IV
  • Hearts of Iron IV: No Step Back
  • Crusader Kings III
  • Stellaris: Humanoids Species Pack
  • Europa Universalis IV: Golden Century
  • Surviving Mars: First Colony Edition
  • Hearts of Iron IV: Expansion Pass
  • Surviving Mars: First Colony Edition
  • Stellaris: Ancient Relics
  • Prison Architect
  • Cities: Skylines - Parklife
  • Stellaris: Federations
  • Victoria 2
  • Age of Wonders: Planetfall Premium edition
Hello
I'm trying to learn modding on my own and getting into a lot of problems
One thing I wanted to do is, apply an effect (like add a trait) to the character + direct vassals + courtiers and guests
I can't figure out how to scope to these unless I start from every living character, which I think would degrade performance if decision is used by AI frequently (I'm not actually sure it does though),

every_living_character = { if = { limit = { OR= { is_in_the_same_court_as_or_guest = ROOT
is_vassal_of = ROOT
if I try to use every_courtier_or_guest or every_vassal, then the effect only applies to those even if I try to expand in the limits part.
Is there a scope that uses every character in your realm or sub realm ?

Thanks!
 

Opanashc

Field Marshal
62 Badges
Jul 4, 2010
4.734
2.780
  • Stellaris - Path to Destruction bundle
  • Semper Fi
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Conclave
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Cradle of Civilization
  • Crusader Kings II: Jade Dragon
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Stellaris
  • Europa Universalis IV: Res Publica
  • Victoria 2
  • 500k Club
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Hearts of Iron IV: No Step Back
Hello
I'm trying to learn modding on my own and getting into a lot of problems
One thing I wanted to do is, apply an effect (like add a trait) to the character + direct vassals + courtiers and guests
I can't figure out how to scope to these unless I start from every living character, which I think would degrade performance if decision is used by AI frequently (I'm not actually sure it does though),

every_living_character = { if = { limit = { OR= { is_in_the_same_court_as_or_guest = ROOT
is_vassal_of = ROOT
if I try to use every_courtier_or_guest or every_vassal, then the effect only applies to those even if I try to expand in the limits part.
Is there a scope that uses every character in your realm or sub realm ?

Thanks!
You can add them all to a list, and then apply the effect to all in the list: every_vassal, every_courtier_or_guest, add_to_list, every_in_list.
Thus, you will have 4 blocks of code: 3 of adding everybody relevant to the list, and 1 of applying an effect to everyone in the list.
 
  • 1Like
Reactions:

Anyasia

Lightbringer
72 Badges
Aug 5, 2015
428
265
  • Europa Universalis IV: Rights of Man
  • Crusader Kings Complete
  • Crusader Kings II
  • Crusader Kings III
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Conclave
How do I create a list ? :)

Code:
# Add ROOT to list
add_to_list = my_fancy_list

# Add other realm characters to list
every_vassal = {
    add_to_list = my_fancy_list
}
every_courtier_or_guest = {
    add_to_list = my_fancy_list
}

# Do something with all those characters
every_in_list = {
    list = my_fancy_list
    # Do something!
}
 

Anyasia

Lightbringer
72 Badges
Aug 5, 2015
428
265
  • Europa Universalis IV: Rights of Man
  • Crusader Kings Complete
  • Crusader Kings II
  • Crusader Kings III
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Conclave
@Anyasia you absolute legend ! I went with your customizable_localization idea, using a self-made scripted_trigger, and it works like a charm !
It might seem small, but it's so satisfying to fix !

My issue was simple in the regard that in french only pagan HouseOfWorship are "male", regarding your issues I think I would make a customizable_localization for each religion depending on its religious texts being singular or plural, and for head of faith it seems more complicated as some faith can have both male and female Head I suppose ? (I don't know much about faith that aren't Asatru so far, I haven't played the game that much)

Figured I'd follow up on this to say that this fix worked an absolute charm. I won't bore you with the nitty gritty unless you find a particular need or interest, but one little bug came up that might affect your code as well, so I wanted to pass it along together with my remedy. Specifically, if you have any faith-based triggers (as opposed to those based on religion), they will fail to account for reformed pagan faiths or player-created faiths.

To use one example, Bogomilist priests are called 'elect' in English, and thus require the indefinite article 'an' rather than 'a.' Since other Christian priests are, well, 'priests,' this requires a faith-specific check to apply specifically to Bogomils. But if a player schisms his custom faith from Bogomilism, it will inherit the 'elect' name for its priests, but will no longer match triggers checking for faith:bogomilism, resulting in the reïntroduction of the erroneous localization 'a elect.'

In your use case, if a specific faith is flagged to conjugate with a particular gender, and the player reforms or schisms from that faith, his newly-created faith will reset to the default conjugation instead.

The fix for this is twofold. First, I set a variable on all created faiths to keep track of the vanilla faith from which they ultimately inherit their localizations. This is, incidentally, done in vanilla, but—due to what I assume is an oversight rather than a deliberate decision—the vanilla variable is set on the faith's founder, rather than on the faith itself, and unfortunately, character variables are cleared on death, making it useless beyond the lifespan of the founder.

Code:
# common/on_action/anyasia.txt

on_faith_created = {
    on_actions = {
        anyasia_log_foundational_faith
    }
}

anyasia_log_foundational_faith = {
    effect = {
        faith = {
            if = {
                # If the old faith was itself player-created/reformed, use its existing foundational faith…
                limit = { scope:old_faith = { has_variable = foundational_faith } }
                set_variable = {
                    name = foundational_faith
                    value = scope:old_faith.var:foundational_faith
                }
            }
            else = {
                # …otherwise, set the old faith as the foundational faith
                set_variable = {
                    name = foundational_faith
                    value = scope:old_faith
                }
            }
        }
    }
}

I then check for the existence of this variable in my custom localization, saving it as a temporary scope if it exists, and saving the actual faith as the same temporary scope if it doesn't. Then it's just a matter of using that temporary scope for your trigger checks, rather than faith:—

Code:
# common/customizable_localization/anyasia.txt

GetPriestArticle = {
    type = character

    text = {
        trigger = {
            trigger_if = {
                # If the character's faith has a foundational faith defined, save it as a temporary scope…
                limit = { exists = faith.var:foundational_faith }
                faith.var:foundational_faith = { save_temporary_scope_as = the_faith }
            }
            trigger_else = {
                # …otherwise, save the character's faith itself
                faith = { save_temporary_scope_as = the_faith }
            }
            # Use the saved temporary scope:the_faith in the actual trigger checks
            OR = {
                AND = {
                    is_male = yes
                    scope:the_faith.religion = religion:west_african_bori_religion # adjingi
                }
                AND = {
                    is_female = yes
                    scope:the_faith = faith:digambara # aryika
                }
                scope:the_faith = faith:bogomilist # elect
                scope:the_faith.religion = religion:tani_religion # abu
                scope:the_faith = { has_doctrine = muhammad_succession_sunni_doctrine } # imam
                scope:the_faith = faith:quranist # imam
                scope:the_faith = faith:melieism # unia
            }
        }
        localization_key = article_an
    }

    text = {
        localization_key = article_a
        fallback = yes
    }
}

I know you said your own custom localization affected pagans generally, so you might not have any of these faith-specific checks with which to contend, but if you do, hopefully this gives you a lead on how to deal with them! Thank you again for your input on this matter and for pointing me in the right direction; I'm glad I was finally able to deal with some of those pesky edge cases that the devs seem to've missed.
 
  • 1Like
  • 1
Reactions:

cavveman

Second Lieutenant
27 Badges
Apr 1, 2022
180
322
  • Cities: Skylines
  • Crusader Kings III
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall
  • Prison Architect
  • Imperator: Rome
  • Imperator: Rome Deluxe Edition
  • Age of Wonders II
  • Age of Wonders III
  • Steel Division: Normandy 44
  • Cities: Skylines - After Dark
  • Magicka 2
  • Magicka: Wizard Wars Founder Wizard
  • Europa Universalis IV: El Dorado
  • Cities in Motion 2
  • War of the Roses
  • Warlock: Master of the Arcane
  • The Showdown Effect
  • Teleglitch: Die More Edition
  • Magicka
  • Leviathan: Warships
  • Europa Universalis IV
  • Europa Universalis III
  • Dungeonland
  • Darkest Hour
  • Crusader Kings II: The Old Gods
  • Crusader Kings II
Created my subcultur for Norse called Hallandian.
But ingame it does not say Hallandian at all. Instead it says hallandian_collective_noun.
Where in the culture do I change it?

This is from the code for the culture.

Perl:
hallandian = {
    color = { 0.2 0.75 0.4 }
    created = 850.1.1
    parents = { norse }
    
    ethos = ethos_bellicose
    heritage = heritage_north_germanic
    language = language_norse
    martial_custom = martial_custom_equal   
    traditions = {
        tradition_dryland_dwellers
        tradition_roman_legacy
        tradition_polders
        tradition_mountain_homes
        tradition_things
    }
    dlc_tradition = {
        trait = tradition_malleable_invaders
        requires_dlc_flag = hybridize_culture
    }
    # FP1 Traditions
    dlc_tradition = {
        trait = tradition_fp1_coastal_warriors
        requires_dlc_flag = the_northern_lords
        fallback = tradition_hird
    }
    dlc_tradition = {
        trait = tradition_fp1_northern_stories
        requires_dlc_flag = the_northern_lords
        fallback = tradition_runestones
    }
    
    name_list = name_list_norse
    
    coa_gfx = { norse_coa_gfx western_coa_gfx }
    building_gfx = { mediterranean_building_gfx }
    clothing_gfx = { fp1_norse_clothing_gfx northern_clothing_gfx }
    unit_gfx = { norse_unit_gfx }
    
    ethnicities = {
        70 = caucasian_northern_blond
        15 = caucasian_northern_ginger
        10 = caucasian_northern_brown_hair
        5 = caucasian_northern_dark_hair
    }
}
 

Attachments

  • asdasddas.png
    asdasddas.png
    3,6 MB · Views: 0

Lokiness

Private
Jun 30, 2016
22
14
@Anyasia thanks a lot for the follow up ! There was indeed some triggers related to faith and not religion in my code and I wasn't aware of this bug. Weird that PDX based the variable for the faith's founder, considering how mortal those guys are !

After a bit of testing I think I got your code adapted for my use of customizable_localization, and it works perfectly from my testing !
There is now a anyasia_is_a_legend.txt file in my on_action folder :)
 
  • 1Haha
Reactions: