• 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.

yesnid

Private
49 Badges
Jul 16, 2021
17
0
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Surviving Mars: First Colony Edition
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Surviving Mars: First Colony Edition
  • Stellaris: Ancient Relics
  • BATTLETECH: Season pass
  • Stellaris: Lithoids
  • BATTLETECH: Heavy Metal
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
  • Empire of Sin
  • Empire of Sin - Deluxe Edition
  • Stellaris: Necroids
  • Europa Universalis IV: Rights of Man
  • 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
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
Hello All,

I am working on a mod to add a decision to go on a quest for a religious relic, I would like there to be an option to have some of your knights join you and then have the outcomes of the quest affect them. How do I select random knights/champions from my court to join me, and how do I persist this set of characters from one event in the chain to the next? And then how do I access this set of characters?

Thank you for your assistance!
 

Yatol

Recruit
54 Badges
Sep 9, 2020
2
0
  • BATTLETECH: Season pass
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • BATTLETECH - Digital Deluxe Edition
  • Stellaris: Distant Stars
  • Shadowrun Returns
  • Shadowrun: Dragonfall
  • Shadowrun: Hong Kong
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Prison Architect
  • Stellaris: Ancient Relics
  • Stellaris: Humanoids Species Pack
  • Age of Wonders: Planetfall
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall Premium edition
  • Age of Wonders: Planetfall Season pass
  • Stellaris: Lithoids
  • BATTLETECH: Heavy Metal
  • Age of Wonders: Planetfall - Revelations
  • Prison Architect: Psych Ward
  • Stellaris: Federations
  • Crusader Kings III
  • Island Bound
  • Victoria 3 Sign Up
  • Stellaris: Galaxy Edition
  • 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
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Conclave
  • Stellaris
  • Crusader Kings II
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Crusader Kings II: Monks and Mystics
  • Stellaris - Path to Destruction bundle
  • BATTLETECH
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
434234324324.png

i tried making my own religion mod but its seems im lacking something as the religion name doesn't show up
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
Hello All,

I am working on a mod to add a decision to go on a quest for a religious relic, I would like there to be an option to have some of your knights join you and then have the outcomes of the quest affect them. How do I select random knights/champions from my court to join me, and how do I persist this set of characters from one event in the chain to the next? And then how do I access this set of characters?

Thank you for your assistance!

There are a number of iterators that are hardcoded, random_knight, every_knight and ordered_knight are amongst them.

You can save any scope using save_scope_as = custom_name, and then scope:custom_name will work to call that scope anywhere in your unbroken event chain.

You can also store them in a variable list, which come with their own iterators any/random/every/ordered_in_list = { variable = custom_variable_)list }.

You might also consider using an Activity, as they're used for Hunts for example.
 
  • 1Like
Reactions:

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
Seems like dynasty ids are collated in common/dynasties/00_dynasties.txt and also in common/coat_of_arms/coat_of_arms/90_dynasties.txt

And

House aliases in
comon/dynasty_houses/00_dynasty_houses.txt
Yeah I think my method is still best for the precision i need for specific cadet houses. Historical IDs only exists for dynasties but not houses. TY though.
 

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
Is there a way I can make scripted_effect paramters being optional? In my tests it seems if I omit a parameter the effect fails.

For example, I have a trigger that wants to check for
Code:
NOT = {
 has_trait = $t1$
 has_trait = $t2$
 has_trait = $t3$
}

In some cases, i don't need all 3 traits. How do i make $t3$ optional?
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
Is there a way I can make scripted_effect paramters being optional? In my tests it seems if I omit a parameter the effect fails.

For example, I have a trigger that wants to check for
Code:
NOT = {
has_trait = $t1$
has_trait = $t2$
has_trait = $t3$
}

In some cases, i don't need all 3 traits. How do i make $t3$ optional?

I don't think you can, you might need to make different versions of your trigger depending on the number of arguments.
 

yesnid

Private
49 Badges
Jul 16, 2021
17
0
  • Prison Architect
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Surviving Mars: First Colony Edition
  • BATTLETECH: Flashpoint
  • Stellaris: Megacorp
  • Imperator: Rome
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Cradle of Civilization
  • Surviving Mars: First Colony Edition
  • Stellaris: Ancient Relics
  • BATTLETECH: Season pass
  • Stellaris: Lithoids
  • BATTLETECH: Heavy Metal
  • Imperator: Rome - Magna Graecia
  • Crusader Kings III
  • Crusader Kings III: Royal Edition
  • Empire of Sin
  • Empire of Sin - Deluxe Edition
  • Stellaris: Necroids
  • Europa Universalis IV: Rights of Man
  • 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
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Common Sense
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Crusader Kings II
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Hearts of Iron IV: Together for Victory
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis IV: Third Rome
  • BATTLETECH
  • Surviving Mars
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Synthetic Dawn
  • Age of Wonders III
There are a number of iterators that are hardcoded, random_knight, every_knight and ordered_knight are amongst them.

You can save any scope using save_scope_as = custom_name, and then scope:custom_name will work to call that scope anywhere in your unbroken event chain.

You can also store them in a variable list, which come with their own iterators any/random/every/ordered_in_list = { variable = custom_variable_)list }.

You might also consider using an Activity, as they're used for Hunts for example.


Thank you Chatoustikmou!

Please forgive my ignorance here but what differentiates an "event" from an "activity" ?

Thank you
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
Thank you Chatoustikmou!

Please forgive my ignorance here but what differentiates an "event" from an "activity" ?

Thank you

An event is one of the many tools that can execute effects. This tool has 2 specific features:
- an event can display an event window to the player, with text, art and character portraits
- an event can also present several options, allowing the player to react to it (and the AI as well, of course, though the AI can be handled without event altogether.)

There are a lot of events in the game that have hidden = yes: anything handled with thoses could have been handled another way, as they don't use any of those 2 features.

Activities are a tool that have a specific set-up, with an owner, a location, participants, and a custom UI. It also can trigger events for those participants, usually picked at random from a pool, to allow for some diversity when a player encounters the same activity several times during a playthrough. Hunts and Feasts are handled via this system, so you can start from one of those and adapt it to your needs.

In any case, you'll need some way to fire your events. If not an activity, either a decision, a character interaction, or an on_action.

Each of those systems have their own folder, and probably a .info file that explains how to set them up.
 
Last edited:

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
Has anyone edited Dynasty Legacies before?

I'm just trying to set the AI weights but I realize they use completely different syntax to the usual event/decision modding. Instead of "base" they use "value". Instead of "factor" they use "multiply". Instead of "modifier = { } " they use "if = { limit = {} }" trigger.

Since there's no visibility to AI weights when it comes to dynasty legacies in debug AFAIK this is going to be pain int he butt to test and verify. I don't think scripted_modifiers are working.
 

Elaugaufein

Corporal
87 Badges
Aug 7, 2021
38
31
  • Victoria 3 Sign Up
  • Hearts of Iron IV: No Step Back
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: By Blood Alone
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis 4: Emperor
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Galaxy Edition
  • Shadowrun: Dragonfall
  • Empire of Sin
  • Battle for Bosporus
  • Crusader Kings III
  • Hearts of Iron IV: La Resistance
  • Cities: Skylines - Campus
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Cities: Skylines - Snowfall
  • Shadowrun Returns
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Parklife
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • King Arthur II
  • Europa Universalis III Complete
  • Heir to the Throne
  • For The Glory
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
Has anyone edited Dynasty Legacies before?

I'm just trying to set the AI weights but I realize they use completely different syntax to the usual event/decision modding. Instead of "base" they use "value". Instead of "factor" they use "multiply". Instead of "modifier = { } " they use "if = { limit = {} }" trigger.

Since there's no visibility to AI weights when it comes to dynasty legacies in debug AFAIK this is going to be pain int he butt to test and verify. I don't think scripted_modifiers are working.
The Northern Lords legacies are weighted to be much more likely selected by Dynasty Heads of North Germanic Group Cultures so you can see the syntax there:
Code:
    ai_chance = {
        value = 11
        if = {
            limit = {
                has_culture_group = culture_group:north_germanic_group
            }
            multiply = 10
        }
        if = {
            limit = {
                can_start_new_legacy_track_trigger = no
            }
            multiply = 0
        }
    }
The rest seems to be a consequence of the AI seeming to be hardcoded to finish the most advanced track if there are any unfinished tracks , so it only needs to pick from all available 1st legacy perks when it has no trees in progress or only completed trees.
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
I'm just trying to set the AI weights but I realize they use completely different syntax to the usual event/decision modding. Instead of "base" they use "value". Instead of "factor" they use "multiply". Instead of "modifier = { } " they use "if = { limit = {} }" trigger.

That syntax is script math, same that is used in script_values, so there are a lot of examples there as well. Operations are listed in the order listed inside of a block.

You can use add, subtract, multiply, divide, min, max, clamp.

Since there's no visibility to AI weights when it comes to dynasty legacies in debug AFAIK this is going to be pain int he butt to test and verify. I don't think scripted_modifiers are working.

That's where debug_log comes in handy. By letting the game run for a while, and then checking in your debug.log how many times you find the different things you printed in there, you can check how many times the AI chose a given option.

Either there's an on_action that you can use for that, to print X everytime any ruler legible to your perk takes any perk, and Y anytime they take your perk,

or you can use a yearly_global_pulse on_action to check for every dynasty, how many have that perk, and see how thay evolves over time.
 

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
Can someone help me understand the logical difference between NOT = { list of 3 things } and NOR = { list of the same 3 things } ? Doesn't in both cases the script checks to make sure none of the 3 things are true?
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
Can someone help me understand the logical difference between NOT = { list of 3 things } and NOR = { list of the same 3 things } ? Doesn't in both cases the script checks to make sure none of the 3 things are true?

They're exactly the same.
 
  • 1
Reactions:

Harald B

Sergeant
43 Badges
Dec 8, 2013
56
162
  • Crusader Kings II: Charlemagne
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Victoria 2: A House Divided
  • Stellaris - Path to Destruction bundle
  • Magicka
  • Knights of Pen and Paper +1 Edition
  • Europa Universalis IV: Art of War
  • Crusader Kings II
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings III
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • Surviving Mars
  • Europa Universalis IV: Rights of Man
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Cradle of Civilization
  • Europa Universalis IV: Rule Britannia
  • Europa Universalis IV: Dharma
  • Shadowrun Returns
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Golden Century
  • Prison Architect
  • Hearts of Iron IV: Cadet
  • Stellaris Sign-up
  • Stellaris
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: El Dorado
  • Cities: Skylines
  • Warlock: Master of the Arcane
  • Victoria 2
  • Teleglitch: Die More Edition
  • Europa Universalis IV
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Wealth of Nations
Is there some flag I can set to prevent the engine from deleting my historical character? I want to add a character who died before the start date and never held a title or council position, but nevertheless has some significance to lore and can be mentioned in events. But in testing they just get deleted after the first month.

If I have a child in scope, can I determine if they have a guardian and if so scope to that guardian? Can I also figure out if the guardian was asked to convert culture or religion?

If I have a character in scope, can I determine if they are engaged in an activity and if so get the scope for that activity?
 

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
Well, I made a mistake. X_ancestor also only iterates through living ancestors. Sorry about that.

What you can do, is store killed characters in a variable list on the house itself, using the on_death on_action.

Code:
on_death = { on_actions = { on_killed }} # Fire a custom on_action, to avoid using the effect block of vanilla on_actions, which would override the vanilla version and cause problems

on_killed = {
   trigger = { exists = scope:killer }
   effect = {
      house = {
         add_to_variable_list = {
            name = killed_house_members
            target = ROOT
         }
         every_in_list = {
            variable = killed_house_members
            limit = { killer = { is_alive = no }}
            PREV = {
               remove_list_variable = {
                  name = killed_house_members
                  target = PREV
            }
         }
      }
   }
}

The 2nd part, with every_in_list, cleans up the variable list by taking away characters from it if their killer isn't alive anymore, to avoid savegame bloat as time goes on.

Then whenever you want to pick a random house member that's been killed, and whose killer is still alive, you just scope to the house, and use random_in_list.

So i'm trying to take your suggestion here and build it into a list, but I want to create a UI for it on the Dynasty House page to be able to call upon and display this list.

I managed to locate the kill list button from the character's page and duplicate it to where I'd like it on the Dynasty House Page.

I'm a little at a loss as to how to call up that specific list of dead family members to avenge.

As far as I can tell, teh relevant vanilla code for the regular code list is"
Code:
                                button_kill_list = {
                                    onclick = "[ToggleGameViewData( 'kill_list', Character.GetID  )]"
                                    size = { 25 25 }
                                    parentanchor = center
                                    
                                    modify_texture = {
                                        texture = "gfx/interface/icons/focuses/hud_icon_mask.dds"
                                        blend_mode = alphamultiply
                                    }
                                }

I'm not sure how [ToggleGameViewData( 'kill_list', Character.GetID )] is parsed and I'm not able to find the event/effect that creates/adds to the original list to make reference of. I assume "kill_list" in this case would correspond to "killed_family_members" in your example, but how does "Character.GetID" work? Can i just use "Character.House.GetID"? How does it know which character/house to scope to? Why doesn't it use scoping syntax that's used elsewhere in modding?
 

Elaugaufein

Corporal
87 Badges
Aug 7, 2021
38
31
  • Victoria 3 Sign Up
  • Hearts of Iron IV: No Step Back
  • Cities: Skylines - Natural Disasters
  • Hearts of Iron IV: By Blood Alone
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mandate of Heaven
  • Europa Universalis 4: Emperor
  • Hearts of Iron IV: Together for Victory
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Synthetic Dawn
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Galaxy Edition
  • Shadowrun: Dragonfall
  • Empire of Sin
  • Battle for Bosporus
  • Crusader Kings III
  • Hearts of Iron IV: La Resistance
  • Cities: Skylines - Campus
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Golden Century
  • Crusader Kings II: Holy Fury
  • Cities: Skylines Industries
  • Cities: Skylines - Snowfall
  • Shadowrun Returns
  • Europa Universalis IV: Dharma
  • Cities: Skylines - Parklife
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Cradle of Civilization
  • King Arthur II
  • Europa Universalis III Complete
  • Heir to the Throne
  • For The Glory
  • Europa Universalis IV: Call to arms event
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Art of War
Is there some flag I can set to prevent the engine from deleting my historical character? I want to add a character who died before the start date and never held a title or council position, but nevertheless has some significance to lore and can be mentioned in events. But in testing they just get deleted after the first month.
You can use the make_unprunable effect to prevent a character getting removed after death (note that it also prevents anyone related to them being removed so try and minimize living relatives)
If I have a child in scope, can I determine if they have a guardian and if so scope to that guardian? Can I also figure out if the guardian was asked to convert culture or religion?
You should be able to use the guardian by using the any_relation / every_relation trigger limited to type guardian in the child's scope and there's relation_flags for convert_culture and convert_faith

(secondary_recipient here is a potential ward)

I haven't actually worked out how to pull out the guardian but this is a code snippet that checks if a guardian that is currently converting culture exists for secondary_recipient which is a potential ward

Code:
scope:secondary_recipient = {
    any_relation = {
        type = guardian
        has_relation_flag = {
            target = scope:secondary_recipient
            relation = ward
            flag = convert_culture
        }
    }
}

And this adds every crush to a list

Code:
            every_relation = {
                type = crush
                limit = {
                    playdate_potential_guest_check_trigger = yes
                }
                add_to_temporary_list = potential_guests    
            }

So you can probably replace the add_to_tempory_list with s a save_scope_as since a ward can only have one guardian.



If I have a character in scope, can I determine if they are engaged in an activity and if so get the scope for that activity?

You can is_in_an_activity to check if someone is in an activity but I think you'd have to then iterate over the activities and check which one they were the owner of / participate in.
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
If I have a child in scope, can I determine if they have a guardian and if so scope to that guardian? Can I also figure out if the guardian was asked to convert culture or religion?

The trigger would be any_relation = { type = guardian }

To scope to the guardian, since there can be only one, you can use random_relation = { limit = { type = guardian }

If I have a character in scope, can I determine if they are engaged in an activity and if so get the scope for that activity?

Trigger : in_activity_type = X
 

Beyond Disbelief

Creator of House Traditions Mod
97 Badges
Jun 29, 2015
1.163
1.249
  • Crusader Kings II: Charlemagne
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Cities: Skylines Deluxe Edition
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Republic
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Hearts of Iron IV: Death or Dishonor
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • 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
  • Europa Universalis IV: Rule Britannia
  • Cities: Skylines - Mass Transit
  • Europa Universalis IV: Mandate of Heaven
  • Tyranny - Tales from the Tiers
  • BATTLETECH
  • Surviving Mars
  • Cities: Skylines
  • Europa Universalis IV
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Distant Stars
  • Hearts of Iron IV: No Step Back
  • Surviving Mars: First Colony Edition
  • Cities: Skylines - Parklife
  • Cities: Skylines - Green Cities
  • Victoria 2
  • Stellaris: Apocalypse
  • Stellaris: Humanoids Species Pack
  • Tyranny - Bastards Wound
  • Europa Universalis IV: El Dorado
  • Crusader Kings II: Holy Fury
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • BATTLETECH - Digital Deluxe Edition
I've been bashing my head at interface modding for a while now and I'm really stumped and don't understand how it works.

So right now I thought I followed the wiki to the letter and did the following:

Code:
button_kill_list = {

onclick = "[ExecuteConsoleCommand('gui.createwidget gui/house_trad_vendetta_list.gui vendetta_list')]"
size = { 30 30 }
parentanchor = center

modify_texture = {
texture = "gfx/interface/icons/focuses/hud_icon_mask.dds"
blend_mode = alphamultiply
}
}

Code:
window = {
    name = "vendetta_list"
    parentanchor = center
    layer = middle
    size = { 100 100 }
    using = Window_Background

    dynamicgridbox = {
        datamodel = "[DynastyHouse.GetList('killed_house_members')]"

        item = {
            flowcontainer = {
                datacontext = "[DynastyHouse]"

                portrait_head_small = {}

                text_single = {
                    text = "[Character.GetNameNoTooltip]"
                }
            }
        }
    }
}

I tried both the wiki's sample code verbatim and with my own changes, no window is ever opened. I'm less concerned with whether or not the variable list is loading correctly and more concerned with the fact I can't open a danged window to even get started. What am I not understanding from the wiki?
 

Chatoustikmou

Major
146 Badges
May 21, 2016
749
1.351
  • Europa Universalis IV: Conquest of Paradise
  • Cities: Skylines - After Dark
  • Tyranny: Archon Edition
  • Europa Universalis IV: Mandate of Heaven
  • Magicka 2
  • Europa Universalis IV: Third Rome
  • Stellaris - Path to Destruction bundle
  • Europa Universalis IV: Cossacks
  • Stellaris: Galaxy Edition
  • Crusader Kings II: Jade Dragon
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Rights of Man
  • Cities: Skylines Deluxe Edition
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Stellaris: Synthetic Dawn
  • Cities: Skylines - Snowfall
  • Cities: Skylines - Mass Transit
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sons of Abraham
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: The Republic
  • Crusader Kings II
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Warlock 2: The Exiled
  • Victoria 2: Heart of Darkness
  • Warlock: Master of the Arcane
  • Rome: Vae Victis
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars II
  • Supreme Ruler 2020
  • Teleglitch: Die More Edition
  • Victoria 2
  • Hearts of Iron III: Their Finest Hour
  • The Kings Crusade
  • Knights of Pen and Paper +1 Edition
  • King Arthur II
  • Impire
  • Heir to the Throne
  • Hearts of Iron III
  • For the Motherland
  • Hearts of Iron IV: No Step Back
  • Divine Wind
  • Cities in Motion 2
  • Arsenal of Democracy
I've been bashing my head at interface modding for a while now and I'm really stumped and don't understand how it works.

So right now I thought I followed the wiki to the letter and did the following:

Code:
button_kill_list = {

onclick = "[ExecuteConsoleCommand('gui.createwidget gui/house_trad_vendetta_list.gui vendetta_list')]"
size = { 30 30 }
parentanchor = center

modify_texture = {
texture = "gfx/interface/icons/focuses/hud_icon_mask.dds"
blend_mode = alphamultiply
}
}

Code:
window = {
    name = "vendetta_list"
    parentanchor = center
    layer = middle
    size = { 100 100 }
    using = Window_Background

    dynamicgridbox = {
        datamodel = "[DynastyHouse.GetList('killed_house_members')]"

        item = {
            flowcontainer = {
                datacontext = "[DynastyHouse]"

                portrait_head_small = {}

                text_single = {
                    text = "[Character.GetNameNoTooltip]"
                }
            }
        }
    }
}

I tried both the wiki's sample code verbatim and with my own changes, no window is ever opened. I'm less concerned with whether or not the variable list is loading correctly and more concerned with the fact I can't open a danged window to even get started. What am I not understanding from the wiki?

GUI can be tough, but very satisfying when you pull it off, keep it up, you'll get there eventually =)

Creating brand new windows isn't a simple thing, but it should get easier in 1.5 when scripted widgets are introduced.

For the time being, it might be easier to cheat, for example by using an event window, in which you use a custom widget.

You might also consider joining the Mod Co-op discord, there are more knowledgeable people there, and discord is more appropriate to the kind of back and forth GUI assistance usually requires.