Crusader Kings 3 Dev Diary #30 - Event Scripting

Crusader Kings 3 Dev Diary #30 - Event Scripting

  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning

LordMune

Content Design Lead
26 Badges
Mar 15, 2015
137
907
  • IPO Investor
  • Stellaris: Galaxy Edition
  • Crusader Kings II
Databases? Does this mean that CK3 has actual legit database connections? or am I just misunderstanding things and you meant to refer to the Commons Folder where scripted triggers are stored now?
I'm afraid I just mean the plaintext files in the /common folder. They're nominally databases...
 
  • 10
  • 5
Reactions:

Wokeg

Juniorest Content Designer
May 14, 2018
55
1.135
Is long-term gameplay now viable for players with low spec laptops? Ck2 runs well the first hundred years but after that it runs as well as a hundred year old horse. Probably has something to do with the amount of courtiers. Will the game have the same performance at the beginning of the game until the very end?
:( Afraid I'm not really a great person to answer hardware questions. I understand the vague principles of the magic thinking rock, but its nuances are arcane to me.

Cool, though I hope error logging is improved, in CK2 crash's are bascilly impossible to diagnose by modders without trial and error as the error logs are basically completely useless and never give any hint as to what area the error occurred in.
I like to think so! I'm unsure how much extra logging detail we'll have available at launch, but we have improved debug_log, debug_log_date, & debug_log_scopes effect commands from CK2's, so debugging is pretty customisable from a script-perspective. I've also used the debugger a lot both as QA & as a Content Designer, and I generally find it to be very helpful and precise most of the time. :) As ever, though, these things are a process, so we'll be adding to it as patches go on!
 
  • 9Like
  • 9
Reactions:

arlekiness

Second Lieutenant
Apr 30, 2020
101
343
Interesting diary. Can we hear modders first look opinion, how flexible new event system (in comparison with old)? Is other part of games fully moddable too? Can new 3D-models be exported and used in game (more precise question - will we see Warhammer overhauls with shyed orcs)? How it'd works with new genetic system? Or more about it in next dev diaries?
 
  • 2Like
Reactions:

Lordy's

Captain
15 Badges
Jun 10, 2017
436
1.279
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
These ordered_lists and the math will be quite nice. And the first_valid trigger is neat as well. Is there something similar for the scene background?
Also, is it possible to save a list somewhere? Say I have a list of the "most important unlanded random courtiers in the world", could I reference it in different events, potentially adding "important" characters to it?

Is there an "overwrite/update" functionality for events? In Ck2, when 2 mods try to access the same file to do a minor change in one line, it breaks compatiblity. Would be nice if you could specify an event with "overwrite = true", or something like that in a seperate file.

And speaking of all those fancy new triggers, commands and on_actions: What are your favourite new additions when compared to CK2?
 
  • 2Like
  • 1
Reactions:

mightnight

RtP Dev and CK2+ Partner Dev
58 Badges
Jul 27, 2012
413
54
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • 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
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Megacorp
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • 500k Club
  • Imperator: Rome Deluxe Edition
  • Prison Architect
  • Crusader Kings III
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • War of the Roses
  • Stellaris: Synthetic Dawn
  • March of the Eagles
  • Heir to the Throne
  • Europa Universalis IV: Call to arms event
  • 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: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
Alright it seems that Rise To Power will be coming to CK3 after all. Great job guys I cannot wait to try them out!
One question and request before release though...If there is one thing that I miss the most from coming to CK2 from Stellaris are the "Timed Flags" I.e "set_timed_country_flag" as an actual "command/effect".
Are you guys going to port that feature over from Stellaris? Pleaaaaassssseeeee???? (And no those "had_flag" conditions checks dont count :p
 
Last edited:
  • 3Like
  • 1
Reactions:

Lordy's

Captain
15 Badges
Jun 10, 2017
436
1.279
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
Finally, options. Options behave similarly to CK2, with a minimum of one per visible event
Wait a minute. Does that mean that they can have more than 4 options (or that the "more" option to cycle through is automatically generated)?
 
  • 2Like
  • 2
Reactions:

LeSingeAffame

Loyal ally to Durcorach the Black Drake
71 Badges
Sep 16, 2012
3.446
1.175
  • Crusader Kings II
  • Crusader Kings III
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Conclave
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Holy Fury
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome Sign Up
  • Imperator: Rome - Magna Graecia
Very cool. Are events still limited to a max of 4 options? Later games aren't, so I suppose we can have more in CK2, but I'd like to be sure :p

Interesting diary. Can we hear modders first look opinion, how flexible new event system (in comparison with old)?
Hard to say without delving into it, but it seems to be more flexible than CK2.

The new descriptions look a lot like custom_localization keys, and they're nice to play with so that's an improvement.
Custom on_actions are very nice, I think it could replace some "tombola" systems we had in CK2 (that's what societies use to give you content).
I don't know how I feel about having scripted triggers defined within the event file itself, as I much prefer to have them all within the common/scripted_triggers folder itself. But that's a personal preference.
alternative_limit look a like preferred_limit, not sure exactly what the difference is however.
ordered_in_list looks like it has quite a lot of potential, so that's nice.
It seems that the ai_chance is much easier to play with, which is a very good improvement.

Edit: Completely forgot about the first change, the event type and its id have exchanged their place. That's really cool. The event id is much more important than the event type, and so having the later more obvious than the former was a bit strange.


Some changes will take some time to get used to, but overall I'm rather excited about it. So kudos Paradox!
 
  • 2Like
  • 2
  • 1Love
Reactions:

Wokeg

Juniorest Content Designer
May 14, 2018
55
1.135
Is other part of games fully moddable too? Can new 3D-models be exported and used in game (more precise question - will we see Warhammer overhauls with shyed orcs)? How it'd works with new genetic system? Or more about it in next dev diaries?
;) I'm afraid that, for now, it is a mystery is the only answer I can give to that.

These ordered_lists and the math will be quite nice. And the first_valid trigger is neat as well. Is there something similar for the scene background?
Also, is it possible to save a list somewhere? Say I have a list of the "most important unlanded random courtiers in the world", could I reference it in different events, potentially adding "important" characters to it?

Is there an "overwrite/update" functionality for events? In Ck2, when 2 mods try to access the same file to do a minor change in one line, it breaks compatiblity. Would be nice if you could specify an event with "overwrite = true", or something like that in a seperate file.

And speaking of all those fancy new triggers, commands and on_actions: What are your favourite new additions when compared to CK2?
There isn't currently a first_valid system for anything but triggered copy, as far as I know, I'm afraid. As for lists, certainly! We've got scripted lists (per the diary), temporary lists (existing for a single block of script), & global lists (as you're wanting here).

Currently, we do not have an overwrite/update function. As for which is my favourite, gosh, difficult. I didn't get a chance to show it off this dev diary, but I think I'd have to say random_in_list is the one that I personally get the most use out of! Filter through a load of appropriate characters for an event, add them to a list, then pick a random character from that list according to a set of weights I tweak to my preference for interest.

Want to grab all your vassals, courtiers, close family, then pick out the one with the most and largest claims? Boom, simple, easy, robust. Want to do the same but instead find the one that has the best murder/attempted murder secret against someone important to you? Same list, different weights, only marginally more difficult. Want to find the character in that list with the most missing body-parts and infectious diseases? Easy, doable. :D Lots of flexibility, and let's you put in just so much drama tailored to your personal preference.

Alright it seems that Rise To Power will be coming to CK3 after all. Great job guys I cannot wait to try them out!
One question and request before release though...If there is one thing that I miss the most from coming to CK2 from Stellaris are the "Timed Flags".
Are you guys going to port that feature over from Stellaris? Pleaaaaassssseeeee????
I'm afraid I've not scripted in Stellaris, particularly, I'm firmly a medieval kind of chap, but we do have specific or random time limits available on any set_variable command, which includes flag functionality et al, if that's what you mean.

Wait a minute. Does that mean that they can have more than 4 options (or that the "more" option to cycle through is automatically generated)?
*WINNER!* ^^ Waiting for this one to come up. Although the "more" option is not automatically generated, we do not have a hard limit of four options, though the base title certainly prefers to remain at four options or less without a more cycle.

Very cool. Are events still limited to a max of 4 options? Later games aren't, so I suppose we can have more in CK2, but I'd like to be sure :p
...
The new descriptions look a lot like custom_localization keys, and they're nice to play with so that's an improvement.
...
Some changes will take some time to get used to, but overall I'm rather excited about it. So kudos Paradox!
:) Per my above answer, nope! No 4-option max. Certainly a valid confirmation ask!

We also have custom_loc keys, for the record :D.

:) Glad you like it.
 
Last edited:
  • 11
  • 4Like
  • 2Love
Reactions:

Arona

Captain
2 Badges
May 30, 2015
446
151
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
On modding wise im more intrested how much hard coding is still in game?

How much room we have mod define files. This question is mostly based on CK2 define file where Define in definefile there were defined 2 modifers for divine blood. Lunatic and inbreed but there were no room to add other modifers, like weak, strong, harelip, dwarf or anything else. Also in same case alot of other modifers were limited, will it stays same way in CK3 or its avaible for full moding.
 
  • 1Like
Reactions:

Mindel

Colonel
2 Badges
Jan 23, 2018
863
937
  • Imperator: Rome Sign Up
  • Crusader Kings II: The Old Gods
Speaking of technical topics...

Will there be any major changes to AI character behavior?

Specifically, will AI characters be able to make more complex long-term judgments, such as deciding that Lord X is becoming too powerful in the realm and therefore needs to have hooks dug up against him to keep him under control?
 
  • 3Like
  • 1
Reactions:

LeSingeAffame

Loyal ally to Durcorach the Black Drake
71 Badges
Sep 16, 2012
3.446
1.175
  • Crusader Kings II
  • Crusader Kings III
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Conclave
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Holy Fury
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome Sign Up
  • Imperator: Rome - Magna Graecia
:) Per my above answer, nope! No 4-option max. Certainly a valid confirmation ask!

We also have custom_loc keys, for the record :D.

:) Glad you like it.
Quick question for the custom_localization! Currently the keys don't seem to be evaluated until the game is started. That means that putting a custom_loc key as the name of a trait or a title will result in the key not being localized until the game starts.
It is visible in the ruler selection window for the custom titles (something like [Root.GetKing]), and for the traits in the ruler designer (something like [Root.GetCraven]).

Is it still the case? It's very much an edge case but the question sprung into my mind :p
 
  • 2Like
Reactions:

y8r4G0xz3fFkXdGXyJ4V

Corporal
23 Badges
Sep 5, 2018
29
88
  • Crusader Kings III
  • Crusader Kings II: Holy Fury
  • Cities: Skylines - Parklife
  • Cities: Skylines - Parklife Pre-Order
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Conclave
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Way of Life
  • Victoria 2
  • Cities: Skylines
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • Crusader Kings II: Sword of Islam
  • 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: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II
Do you use a GUI of some kind to manage all these, and visualize the relationships? Or are they all hand-crafted in an editor?
 
  • 1Like
Reactions:

mightnight

RtP Dev and CK2+ Partner Dev
58 Badges
Jul 27, 2012
413
54
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Pre-order
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Way of Life
  • Pillars of Eternity
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Cossacks
  • Crusader Kings II: Conclave
  • Europa Universalis IV: Mare Nostrum
  • Stellaris
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: El Dorado
  • 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
  • Crusader Kings II: Holy Fury
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris: Megacorp
  • Hearts of Iron IV: Death or Dishonor
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • 500k Club
  • Imperator: Rome Deluxe Edition
  • Prison Architect
  • Crusader Kings III
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • War of the Roses
  • Stellaris: Synthetic Dawn
  • March of the Eagles
  • Heir to the Throne
  • Europa Universalis IV: Call to arms event
  • 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: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Charlemagne
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • Europa Universalis III
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Conquest of Paradise
I'm afraid I've not scripted in Stellaris, particularly, I'm firmly a medieval kind of chap, but we do all specific or random time limits on any set_variable command, which includes flag functionality et al, if that's what you mean.
Yup that'll do! Thank you!
 
  • 2Like
Reactions:

Lordy's

Captain
15 Badges
Jun 10, 2017
436
1.279
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Crusader Kings III
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
I also hope that certain things are no longer hardcoded. Like the instant game over for unplayable government types, whereby they cannot be made playable by mods, and unplayable barons.
Want to find the character in that list with the most missing body-parts and infectious diseases? Easy, doable.
Certainly a very common desire. :) But these list types seem really great. I remember cycle through characters with a given trait with a while loop and flags because there was no corresponding list and the trait scope only gives a random member. That was buggy as hell, so I'm very glad to see these powerful tools.

Are the ai_values the same ones as in CK2? And what's their value range? I never used them in CK2 because I didn't knew what a rationality of x means.

So apparently we might have another dev diary on scripted math and one on 3d and gui modding?

Do you use a GUI of some kind to manage all these, and visualize the relationships? Or are they all hand-crafted in an editor?
As far as I know they only use Sublime. I've no idea how they manage to keep track of all the thousands of different event IDs, although the new name spaced event header might help a little.

In an earlier dev diary about life styles there was the perk that prolongs your life for another year in case you die of old age. I wonder how that is handled in script. Is there a "death = not_today" command for the on_death on_action? ;)
 
  • 1
Reactions:

blackninja9939

Programmer
69 Badges
Aug 28, 2013
2.288
3.470
  • Europa Universalis IV: Mare Nostrum
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: The Old Gods
  • Tyranny: Archon Edition
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Crusader Kings II: Horse Lords
  • Stellaris: Lithoids
  • Europa Universalis IV: Dharma
  • Crusader Kings II: Conclave
  • Stellaris
  • Stellaris Sign-up
  • Hearts of Iron IV: Cadet
  • Hearts of Iron IV: Colonel
  • Crusader Kings II: Reapers Due
  • Europa Universalis IV: Rights of Man
  • Magicka: Wizard Wars Founder Wizard
  • Crusader Kings II: Monks and Mystics
  • Europa Universalis IV: Mandate of Heaven
  • BATTLETECH
  • Surviving Mars
  • Stellaris: Synthetic Dawn
  • Europa Universalis IV: Cradle of Civilization
  • Hearts of Iron IV: Expansion Pass
  • Stellaris: Apocalypse
  • Shadowrun Returns
  • Europa Universalis IV: Rule Britannia
  • Crusader Kings II: The Republic
  • Stellaris: Ancient Relics
  • Imperator: Rome
  • Prison Architect
  • Mount & Blade: Warband
  • Stellaris: Distant Stars
  • Imperator: Rome Sign Up
  • Crusader Kings II: Holy Fury
  • Teleglitch: Die More Edition
  • Victoria 2
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Cities: Skylines
  • Europa Universalis IV: El Dorado
  • Age of Wonders: Planetfall
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II
  • Crusader Kings II: Jade Dragon
On modding wise im more intrested how much hard coding is still in game?

How much room we have mod define files. This question is mostly based on CK2 define file where Define in definefile there were defined 2 modifers for divine blood. Lunatic and inbreed but there were no room to add other modifers, like weak, strong, harelip, dwarf or anything else. Also in same case alot of other modifers were limited, will it stays same way in CK3 or its avaible for full moding.
Well I mean there is still plenty of hard coded things in the sense we have a lot of compiled C++ code into the executable obviously but as the DD here mentions we've aimed at putting a lot of things in script so it can be modded, for your specific mention there of modifiers we've tried to generalise them more than before with auto registering modifiers based on database entries for some of them, those ones you mention in CK2 were just rather old ones to solve a specific use case in CK2.

In an earlier dev diary about life styles there was the perk that prolongs your life for another year in case you die of old age. I wonder how that is handled in script. Is there a "death = not_today" command for the on_death on_action? ;)
Its actually pretty simple, when the gods of RNG decide its time for them to pass on we trigger an on action for getting a second chance at life, that then fires an event notifying you that your time is up and then sends an event roughly a year later which does then kill you properly. Modifying the RNG to try and get it to give you an extra year and in advance know that year would be way to difficult due to the well... R for randomness RNG so this was the solution I went with to keep it simple and effective.
 
  • 8
Reactions:

Wokeg

Juniorest Content Designer
May 14, 2018
55
1.135
On modding wise im more intrested how much hard coding is still in game?

How much room we have mod define files. This question is mostly based on CK2 define file where Define in definefile there were defined 2 modifers for divine blood. Lunatic and inbreed but there were no room to add other modifers, like weak, strong, harelip, dwarf or anything else. Also in same case alot of other modifers were limited, will it stays same way in CK3 or its avaible for full moding.
;) Hugely sorry, but I'm afraid I'm going to have to keep mum on a lot of that for the moment, as my dev diary was only cleared to discuss events, and defines aren't one of my areas of expertise.

Modifiers (character, county, house, etc.) are fully moddable, though I'm not quite sure how much of an improvement we have over CK2 in that regard, as CK2 was already fairly flexible there. There are a whole slew of new modifier effects to use, especially for new CK3 features, but as those have to be created manually by Code, I'm afraid I can't promise the Moon on that one.

Speaking of technical topics...

Will there be any major changes to AI character behavior?

Specifically, will AI characters be able to make more complex long-term judgments, such as deciding that Lord X is becoming too powerful in the realm and therefore needs to have hooks dug up against him to keep him under control?
Afraid that's not quite my bailiwick. :) As a CD, I do work with the AI, but my province is mostly teaching it to use standard functionality in the short (and occasionally mid) term, so I can't really give you a decent answer.

Quick question for the custom_localization! Currently the keys don't seem to be evaluated until the game is started. That means that putting a custom_loc key as the name of a trait or a title will result in the key not being localized until the game starts.
It is visible in the ruler selection window for the custom titles (something like [Root.GetKing]), and for the traits in the ruler designer (something like [Root.GetCraven]).

Is it still the case? It's very much an edge case but the question sprung into my mind :p
If I'm understanding you correctly, then actually, yes! We use this functionality pretty extensively, so there are a lot of traits which will have a default/fallback name, and then a customised name that changes with the circumstances (for instance, the trait that script refers to as "viking" has a default name of "Raider", but if you have the longships innovation, it changes to "Viking").

Do you use a GUI of some kind to manage all these, and visualize the relationships? Or are they all hand-crafted in an editor?
Hand-crafted in the editor, m'friend. Which editor varies according to personal taste (as long as it works), but the most common ones by far are Sublime & Notepad++.

Are the ai_values the same ones as in CK2? And what's their value range? I never used them in CK2 because I didn't knew what a rationality of x means.

So apparently we might have another dev diary on scripted math and one on 3d and gui modding?
I believe we have a couple of new ones, though I think it's outside my purview to discuss which ones. The range is -100 to +100.

:p Afraid I can make no promises on future dev diary content, just that there'll be more dev diaries.
 
  • 7
Reactions:

Admiral Boysen

Captain
64 Badges
Jan 21, 2012
418
165
  • Crusader Kings II: Charlemagne
  • Age of Wonders: Planetfall Season pass
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings III
  • Stellaris: Synthetic Dawn
  • Crusader Kings II: Jade Dragon
  • Europa Universalis IV: Third Rome
  • Europa Universalis IV: Mandate of Heaven
  • Stellaris - Path to Destruction bundle
  • Crusader Kings II: Reapers Due
  • Stellaris: Galaxy Edition
  • Europa Universalis IV: Mare Nostrum
  • Europa Universalis IV: Pre-order
  • Crusader Kings II
  • Europa Universalis IV: Res Publica
  • Europa Universalis IV: Call to arms event
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome - Magna Graecia
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Europa Universalis IV: Rule Britannia
  • Stellaris: Distant Stars
  • Europa Universalis IV: Dharma
  • Shadowrun Returns
  • Europa Universalis IV: Golden Century
  • Imperator: Rome Deluxe Edition
  • Stellaris: Ancient Relics
  • Age of Wonders: Planetfall
  • Age of Wonders: Planetfall Deluxe edition
  • Age of Wonders: Planetfall Premium edition
  • Stellaris: Lithoids
  • Age of Wonders: Planetfall - Revelations
  • Hearts of Iron IV: Death or Dishonor
  • 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
  • Crusader Kings II: Conclave
How moddable are on_actions? Can you mod so that events are called from a weekly pulse instead of monthly and monthly pulse instead of yearly (like a hypothetical Lion King mod, where most characters would grow up in 3 years and live for a decade or two)?
 
  • 1Like
Reactions:

LeSingeAffame

Loyal ally to Durcorach the Black Drake
71 Badges
Sep 16, 2012
3.446
1.175
  • Crusader Kings II
  • Crusader Kings III
  • Crusader Kings II: Sword of Islam
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: The Republic
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Horse Lords
  • Crusader Kings II: Rajas of India
  • Crusader Kings II: Conclave
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Reapers Due
  • Crusader Kings II: Jade Dragon
  • Crusader Kings II: Monks and Mystics
  • Crusader Kings II: Holy Fury
  • Stellaris
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Synthetic Dawn
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Distant Stars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Stellaris: Megacorp
  • Hearts of Iron IV: Expansion Pass
  • Imperator: Rome
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome Sign Up
  • Imperator: Rome - Magna Graecia
If I'm understanding you correctly, then actually, yes! We use this functionality pretty extensively, so there are a lot of traits which will have a default/fallback name, and then a customised name that changes with the circumstances (for instance, the trait that script refers to as "viking" has a default name of "Raider", but if you have the longships innovation, it changes to "Viking").
So if you pick the Raider trait in the RD (if there's one in CK3, I can't remember exactly) it'll show as Raider (since it's the fallback name) and not [Root.GetRaider] (that's the current behavior in CK2)? Neat!
 

BrotherJonathan

Captain
44 Badges
Jun 15, 2015
370
248
  • Europa Universalis IV: Rule Britannia
  • Hearts of Iron IV: La Resistance
  • Crusader Kings II: Reapers Due
  • Hearts of Iron IV: Death or Dishonor
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Europa Universalis IV: Common Sense
  • Hearts of Iron IV: Expansion Pass
  • Europa Universalis IV: Rights of Man
  • Hearts of Iron IV: Together for Victory
  • Victoria 2: A House Divided
  • Hearts of Iron IV: Cadet
  • Crusader Kings II: The Old Gods
  • Europa Universalis IV: Art of War
  • Victoria 2
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Conclave
  • Victoria 2: Heart of Darkness
  • Crusader Kings II: Legacy of Rome
  • Hearts of Iron IV: Colonel
  • Europa Universalis IV: Cossacks
  • Europa Universalis IV: Wealth of Nations
  • Crusader Kings II: Monks and Mystics
  • Knights of Honor
  • Europa Universalis IV: Mandate of Heaven
  • Crusader Kings II: Sword of Islam
  • Hearts of Iron IV: Expansion Pass
  • Crusader Kings II: Holy Fury
  • Crusader Kings II
  • Europa Universalis IV: Dharma
Not really following most of this DD, since I'm not a modder and don't do scripting. However, from what little I do now, it looks like Events in CKIII will be much more moddable and much less prone to unspeciuficed errors than they were in CKII, which is good for everyone.
 

cybrxkhan

Going to Scarborough Fair
48 Badges
Jul 14, 2012
7.736
2.066
  • Crusader Kings II: Charlemagne
  • Stellaris
  • Age of Wonders III
  • Crusader Kings II
  • Crusader Kings II: Sword of Islam
  • 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: The Old Gods
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings III
  • Cities: Skylines - Green Cities
  • Crusader Kings II: Jade Dragon
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Parklife
  • Stellaris: Distant Stars
  • Cities: Skylines Industries
  • Stellaris: Megacorp
  • Crusader Kings II: Holy Fury
  • Imperator: Rome Deluxe Edition
  • Imperator: Rome Sign Up
  • Cities: Skylines - Campus
  • Stellaris: Ancient Relics
  • Stellaris: Lithoids
  • Stellaris: Galaxy Edition
  • Warlock: Master of the Arcane
  • 500k Club
  • Crusader Kings II: Way of Life
  • Crusader Kings II: Horse Lords
  • Cities: Skylines - After Dark
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Stellaris - Path to Destruction bundle
  • Stellaris: Galaxy Edition
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Crusader Kings II: Reapers Due
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Imperator: Rome
  • Cities: Skylines
  • Stellaris: Synthetic Dawn
Not a dev diary that will be relevant to most people, but for modders - especially those who work a lot with events - this is a very fascinating one. The greater flexibility with, for instance, random_in_list as the equivalent of random_courtier, is appreciated.

A few questions, if you don't mind (probably a lot more but this is off the top of my head and skimming through my current code for my CK2 modding work):

- Is event_target still around and has there been any important changes to how it works?
- Is there still a basic yearly, bi-yearly, every five years, etc. on_actions in vanilla, as well as a a startup on_actions in vanilla that will allow us to trigger events at the start of the game?
- Are pre-triggers still in?
- On a related vein, in CK2 a common scripting sleight of hand was to have the Pope trigger certain maintenance or narrative events since he's always around - will CK3 use a similar system or is there something in-built to take care of those kinds of situations?
- Does the code for creating characters differ in CK3 from CK2 significantly, and/or has any new functionalities been added to it?

Thanks again for a good dev diary and answering questions so far, it's very enlightening for us modders.
 
  • 2
Reactions: