1. Crusader Kings III
  2. News

Crusader Kings III News

Tours & Tournaments: Available Now!

[previewyoutube][/previewyoutube]

Tours & Tournaments is now available! Check out the full list of changes introduced with our latest expansion and the accompanying free 1.9 'Lance' Update here.




Let wanderlust overtake your ruler’s desires during a monumental Tour, and seek out your subjects in a realm that can be both dangerous and richly entertaining. Prove yourself in one of the many forms of gallant Tournaments, either abroad or at home, or use the festivities to murder a quarrelsome rival. Be the host of new Grand Activities, be it grand weddings or stirring falconry hunts. But beware! Many celebrations are the perfect cover for the dastardly scheme against foes… or family.

[h2]Features[/h2]
  • Handpick your Entourage and customize your Route carefully. The road ahead might be long, but is filled with colorful characters, exotic cultures, and life-changing events.
  • Pay your vassals a visit and interact with them closely. Inspect their holdings, and get to know how your subjects live their lives in the most distant corners of your realm.
  • Manifest your benevolence and bestow gifts and rewards. Or, bring a horde of tax collectors and finally get your due from those conveniently hard-to-reach vassals.
  • Join Contests to win extraordinary Prizes and gain valuable experience in new skills.
  • Host a magnificent Tournament with all its splendor and festivities. Prepare yourself well by paying a visit to the blacksmith or gain some liquid courage in the local tavern.
  • Beguile your opponent with setting Intents, then bash their heads in or win the heart of your quarries with your excellent jousting skills.
  • Gain an edge in backroom diplomacy by organizing a Grand Wedding. Negotiate beneficial prenuptial Pacts, please your Courtly vassals, and gain favors at these new intricate ceremonies.
  • Bestow your knights with honors, allowing your warrior nobles to specialize, whether in politics or on the battlefield. Train them up, sending them to tournaments or war for even more experience.
  • Admire the new museum-worthy character art, showcasing in detail the evolution of armor and dazzling changes in western medieval clothing, from the early to late Middle Ages.


https://store.steampowered.com/app/2311920



Join the conversation and connect with other Paradox fans on our social media channels!
Official Forums Official Discord Steam Discussions Twitter Facebook Instagram Youtube

1.9.0 'Lance' Update

Greetings!

Today is the day when Tours and Tournaments and the accompanying 1.9.0 Lance Update will be released! To tide you over until then we’d like to share the full update log.

Read Dev Diary #128 on our forums!



1.9.0 Lance Update
  • Added regencies, so that characters unable to rule for a short time (e.g., because they're traveling) have someone to watch their realm whilst they're gone
  • Added entrenched regencies, so that characters unable to rule for a long time (e.g., children) can be bullied by regents gone mad with power or sedately supported by regents who just want to do right by them
  • Added a baker's dozen new mechanical interactions around characters becoming regents or thoroughly abusing their power whilst they are regents
  • Added diarchies system, allowing mod-scriptable power sharing arrangements between two characters at a time (for the sake of sanity, you're restricted to only _one_ diarch at a time, so you can't have a regent and a Custom Modded Evil Prime Minister at the same time, but you could have either or contextually)
  • Added the Coups feature, allowing regents to, with some effort, overthrow their liege and steal all their shinies at the low, low price of extreme risk of death or imprisonment and an unpleasant nickname
  • Added trilateral interactions where intermediary can veto or allow the interaction before the recipient can accept or decline. This way liege can have a say if diarch wants to (ab)use their powers
  • Added the Travel System so characters now actually move across the map and through individual provinces when traveling to Activities, optionally with an entourage of other characters
  • Added 130+ events that occur while traveling, both dangerous and non-dangerous in nature
  • Added the Caravan Master court position that affects travel stats and organizes the logistics of their liege’s travel
  • Added several Travel Options which allow for customization of travel plans (e.g. hiring specialists to counteract terrain danger)
  • Added travel route editor so that you can place waypoints on the map to adjust your travel route
  • Every character now has a bonafide location on the map
  • Characters Paying Homage, Petitioning their Liege, and going to Meditate in Seclusion now travel to their destination
  • Added Vassal Stances, every vassal now has a stance based on their personality, various opinion modifiers that previously impacted any vassal/feudal vassal now impact only vassals of a given stance
  • Vassal Stances have a preferred heir, when succession happens they get a temporary opinion boost with the new ruler if it was their preferred heir, or an opinion penalty if not.
  • Men-at-Arms can now be stationed in a specific holding, most building modifiers that previously impacted all men-at-arms now only impact the one stationed at that province.
  • Revised the rewards and balance of practically all buildings in the game to account for Men-at-Arms Stationing and other new changes, more details in the ‘Balance’ section.
  • Significantly refined the game's economy; Building Slots now increase with time, many new Buildings have been added, Building Costs have been completely revised, Domain Limits have been lowered, etc. More details can be found in the Balance section.
  • Adult Count+ Rulers (excluding Mercenaries) now have a chance to passively gain nicknames such as 'the Able', 'the Fat', or 'the Terrible'. The chance to gain a nickname goes up with rank, age, and prestige/piety, and the types of nicknames you can get are based in large part on traits, skills, and circumstances. For example, 'the Careless' can be gained while in a civil war of your making, if you have low diplomacy and some tyranny. When you get a nickname, an event will tell you which one you got, accompanied by a small reward or penalty.
  • Added 75+ new Nicknames, most of which can be gained passively.
  • Nicknames can now have descriptions, visible when moused over, finally allowing the use of ironic nicknames without an immense amount of explaining.
  • Added descriptions for most historic nicknames and all in-game given nicknames.
  • Added a Game Rule to control the frequency of random passive nicknames appearing on rulers
  • Added a Game Rule to tweak the Domain Limit of all rulers; +1, +2, +3, -1, -2, -3
  • You can now offer to Pay Ransom for your courtiers, vassals, close family members, dynasty members, lovers, friends, or anyone who is married to a member of your close family or dynasty
  • Added the Economy Mapmode, accessible from the ‘Additional Modes’ menu or by pressing ‘Ctrl-S’. It shows income on a per-County basis, allowing you to plan your conquests properly. It also reveals the location of all Special Buildings in the game, whether they are constructed yet or not.
  • Added the Control Mapmode, accessible from the ‘Additional Modes’ menu or by pressing ‘Ctrl-F’. It reveals the Control levels of all Counties in the world and also shows where Absolute Control is in effect.
  • Added a Destroy Artifact button, which allows you to destroy any Common or Masterwork artifact you no longer want in order to recuperate some of the gold cost. If you are Iconoclast you can destroy Artifacts of any Rarity, and will get Piety for doing so.
  • Significantly updated the Current Situation widget to be more user-friendly and useful for both new and experienced players; we’ve updated several entries with more information, added several new situations, added icons to all entries, etc. More info can be found in the Interface section.
  • When hiring a Physician you can now see what Aptitude they will have directly in the Event Option
  • We’ve added a HUD Skin Selector which allows you to switch between any of the existing HUD skins, overriding the default. This means that you can, for example, use the Norse skin from Northern Lords when playing outside of Pagan Scandinavia.
  • The Outliner has been significantly updated to be more useful: Pinned characters show more info (health, powerful vassal status, if they’re in a faction), Armies now have icons that show what they’re doing (moving, fighting, embarking, etc.), Armies show more general info (quality, supply status, attrition), and finally the Outliner will remember your last settings (it will start open if you had it open last game, etc.)
  • Canterbury Cathedral has been added as a special building with a set of modifiers, three levels of upgrades, and new on-map 3D models for each stage
  • Traits can now have Tiers with individual xp bars; this is in effect for the new Traveler and Hastiluder traits, but has also been added to all of the older ‘tiered’ traits such as Reveler, Hunter, and Pilgrim.
  • The Barbershop has been updated to be Fullscreen with a host of new tools and settings: you can select which Background you want (which comes with appropriate lighting by default), which characters should be in the shot, which animations they should use, and at which zoom level all characters should be displayed. Characters can be moved around the scene with drag-and-drop, and can be rotated 360 degrees. We’ve added quick-access character presets (self-portrait, council, family), a screenshot button, and a ‘Hide UI’ button. You can also pin characters and bring them into the scene. All drop-down lists can be searched with ‘fuzzy’ text input. Several characters can be edited without closing the barbershop or resetting your scene in between. You can add dynasty/title shields and names to the scene, as well as character names, should you want to create a family portrait or similar.
  • Legwear is now accessible as a customization option in the barbershop
  • You can now pick your hair color using a color wheel in the barbershop
  • The rules for who you can edit in the Barbershop are now consistent with who you can edit the title/dynasty of, which means that you can now customize your vassals and subjects.
  • Added an event where your Realm Priest riles up your Zealot vassals against you
  • Added 5 Martial lifestyle events
  • Added 1 Wealth lifestyle event
  • And much, much more


The full changelog is significantly longer than we can fit into a Steam announcement, so please head to the changelog thread on our forums to read the whole thing!

Join the conversation and connect with other Paradox fans on our social media channels!
Official Forums Official Discord Steam Discussions Twitter Facebook Instagram Youtube

Dev Diary #127: Joust Art & Achievements

Welcome to this Dev Diary, just ahead of the release of Tours and Tournaments! Today, we will take a dive into the senses: the music and the visual art you’ll spot throughout your travels and activities. And, at the end, we’ll reveal the achievements yearning for the completionist to try them out.

Read Dev Diary #127 on our forums!



Once again, we have a Dev Diary too large to fit practically into a Steam announcement, so head over to our forums via the link above to read today's post!

Tours & Tournaments - Feature Breakdown

Hello, Crusaders!

Less than a week to the release of Tours & Tournaments!

On May 11, you will be able to travel through your realm to check on your vassals. Attend royal weddings to demonstrate your loyalty to a distant lord. Or, if you are brave enough, enter competitions of body or mind in tournaments. As always, there are no guarantees, and danger still lurks around every corner. But with great risk, comes great renown...


Take a look at the video below presenting the feature breakdown for Tours and Tournaments!

[previewyoutube][/previewyoutube]


Alexander Oltner breaks down features included in Tours & Tournaments, as well as the Free Update 1.9.0 'Lance!'

Travel
  • Plan and plot your route to Grand Tournaments & Weddings
  • Assemble your Caravan & select a Caravan Master
  • Customise your route to avoid danger
  • New trait 'Traveller'


Tours
  • Visit up to 10 subjects
  • Go on a Majesty Tour, Intimidation Tour, or a Taxation Tour
  • A Regent will rule in your place as you embark on your Tour, select a Regent to rule in your stead


Tournaments
  • Locale screen to visit the Village, Tavern, Temple, Tent Camp, Artisan Quarters, and Tournament Grounds
  • Train for upcoming contests
  • Decide to compete in Recitals, Duels, Melee, and Jousts. These will improve your skills
  • Knights can gain an Accolade and provide you with special bonuses
  • Using intrigue you can sabotage events and win by alternative means
  • Bet on contests


Grand Weddings
  • Preform Diplomacy and Intrigue
  • Impress neighbouring rulers and gain them as vassals
  • Eliminate the other family in a Bloody Wedding


Reworked Activities
  • Activities have been massively reworked, from Hunts to Tournaments
  • Plan travel to get there and partake
  • Go on a normal Beast Hunt, Falconry Hunt, or a Legendary Hunt
  • Travel on a Pious Pilgrimage or a Worldly Pilgrimage
  • Choose an intent for each activity, if you succeed or fail you can select a new one whenever you like
  • Grand Weddings allow you to marry above your station


Armour
  • All Armour has been improved
  • Coat of arms appear on armour
  • Armour will evolve over the era, from early Armour to full Plate Armour


Free Update 1.9.0 'Lance'
  • Several new systems
  • Updated how buildings work
  • Updated how Vassals view your rulership
  • Improved Barbershop
  • And much, much more!


Pre-order Tours & Tournaments here!

Dev Diary #126: Modding Activities

Hello and welcome to the 126th CK3 Dev Diary. I’m Matthew, one of the programmers on the team, and today we’re going to be covering changes to modding support coming alongside Tours and Tournaments as well as how modding activities themselves can work.

Discuss Dev Diary #126 on our forums!



Activity Modding

Activities are fully moddable, and as I mentioned in prior dev diaries they are composed of a variety of options and phases, where a phase is made up of a type and a location.

There are a lot of scripting options in activities so I’m going to also attach our info file on them for a more detailed overview. For this dev diary I’m just going to cover a handful of the bigger things.

[h2]Options[/h2]
Options are one of the more simple things, they are grouped into categories with different options which can be shown and picked and it is scripted which is default. This default picking is a trigger so that different defaults can be set for different people, in vanilla we use this to make Hajj the default for Muslims so they go on that first.


Additionally every option can forcefully add characters to the entourage of the host and invited guests, it will pick from their court characters and allows a weight for selecting them and a maximum to pick from for player and AI.
These invited characters also get an invite order, which I’ll cover in more depth shortly.


Lastly one option category can be set as the “special” category, this option will be picked first when planning an activity. In vanilla we use this for the special activity types like which type of Tour you are going on. It is fed into many triggers and scripted values in the activity setup for checking.

[h2]Phases[/h2]
Setting up phases can be quite complicated, mainly centering around how the location of them should be picked.

You can think of there being two types of phases: Predefined and Pickable.

Predefined phases are always present and not removable, they can be selected either by the script picking a location or automatically set to the first or last phase.

For example, in a Tour the final phase is “Journey Home” is predefined and has a scripted selection of always taking you to your capital province so you return home.


For pickable phases the player instead selects a province themselves, phases can be repeatedly picked and have a max limit so you cannot go on a Tour to visit every vassal.

Every phase also has an order in which it happens, for a simple activity like a feast where all phases are predefined this just controls the order they happen. In more complicated activities where the player can pick things the order becomes more complicated, it will respect the order you script but also if the order is matching it will be the last one the player picked.

To take Tours as an example again in the above image you can see order is set to 2, and for the pickable phases where you visit different vassals the order is set to 1.
So that means the Journey Home is always at the very end of everything, and for the vassal stops whichever you the player picked last will be towards the end of your journey.

[h2]Special Guests[/h2]
Special guests can be selected in two ways, either a trigger which you then pick from all invited characters who match it or they can be automatically filled by an effect. This allows weddings to automatically set the bride and groom whereas in a feast you can pick your honorary guest.


Additionally, as you may have spotted special guests can be required or not, if required then the activity will not be plannable without them and if they decline then it will be invalidated.

[h2]Invite Rules[/h2]
Every activity has multiple invite rules which control who can be invited, these rules are reusable and can be shared among different activities and are defined in their own files.

On its own an invite rule is just an effect which adds character to a list, how you get those characters from the host is up to you really.


When an activity decides to use those invite rules it can decide if the rule should be enabled by default and more importantly what order the invite rule should be applied. This comes into play when the invite rules are adding more characters then your activity can support, it will try to invite character’s based on the order and later less important characters will be skipped.


Special guests are always invited first since the activity to some degree revolves around them. Equally those you manually invite via interaction will be put to the front of the invite list.

[h2]Intents[/h2]
Like invite rules our intents are defined in their own files and can be reused by different activities. The default intent for hosts and guests is defined per activity, the player and AI will pick their own specific one from there.

Every intent can optionally have a target character and they are scripted similarly to interaction targets. One thing to keep in mind when modding intents is the AI target usage, since every invited character is a target you should make liberal use of the AI target filtering we provide and put maximus on potentially very large groups of people.


[h2]Plugin Widgets[/h2]
Due to the nature of activities wanting to display special information, and in the case of Tournaments basically showing its entire own window, we came up with a system of allowing the activity script to define what plugin widgets it would like inserted into the main window.


The format of these is that the left-hand side refers to the name of the plugin widget and the name of the file it will be in, similar to the event window widgets, all of which are found under the gui/activity_window_widgets directory.

The right hand side refers to the name of the widget in the main activity window they should be inserted under. We’ve got a few that we use already in vanilla but mods can expand and add more places they insert widgets and use custom widgets for their own activity information.

Leveled Traits

As shown off in some earlier dev diaries we now have leveled traits built into the game instead of needing to be handled purely in script.

Script wise they are very simple; any trait can define one or more tracks and what XP thresholds needs to be met for modifiers to apply. The modifiers are stacking so you always get the rewards of previous levels on top of them.

Any trait can be made into a leveled trait, for now we’ve done it to lifestyle traits where you can level them up. But we may apply this in the future to other things!


Currently unused in vanilla we’ve also added it so the trait XP can degrade over time which I am sure mods will be able to put to good use. The below will make the XP degrade by 5 every month, but only to a minimum of 20 so you don’t lose all your hard-earned XP.


Alongside this rework we also went through and added more documentation to traits and combined some properties that could never coexist and now give better errors.

Database Scopes

One larger rework that will be a work in progress over the next few patches is that now database types can be registered as scope types.

I’ve reworked our backend to support this better now and still keep things safe, mainly by disallowing effects to be run on these database scopes since they are not modifiable. So now for example traits and activity types are scopes which can be saved and used in script.

Currently the support is mostly in its bare minimum state, but in future patches I plan to make a variety of database types into scopes. This should hopefully improve mod compatibility and reduce down script duplication of manually checking over every single trait by hand.

Coming in the next release after Tours and Tournaments I’ve made traits fully integrated into this for both triggers and effects, so you could look for a random opposite trait of someone and then add it to your character for example.

For Tours and Tournaments we’ve mostly used this in the activity system to support alerts better, so instead of having a hard coded alert about activities you can host we can just check them like normal script.


So modders reading this I’d love to know what types you’d like added as scopes and what triggers and effects that take database keys you’d like to see take scopes. I’ve already got traits done for a future patch, so I am interested in others I can do!

Data Models

I’ve reworked the backend of how data models work, which now allows us to in gui script dynamically get sub-sections of a datamodel as well as set a datacontext to a specific item in the data model.

For example you can now limit a datamodel to the first three people:
datamodel = "[DataModelFirst( ActivityWindow.GetCharacters, '(int32)3' )]"

Or you can get the skip the first few of them:
datamodel = "[DataModelSkipFirst( ActivityWindow.GetCharacters, '(int32)3' )]"

There also exists a “Last” version of these which gets/skips the end and DataModelSubSpan which lets you do both an offset and desired size.

Using datacontext_from_model you can also get a specific item, oftentimes this will be the very first one so you can show the top scoring character, or first completed intent etc.


The index can also be dynamic so you can save a value in script and then get that character out of your data model.

Conditional Scope Change

As some of you eagle eyed people might have spotted, or if you’ve modded Vicky and see they released with our change first, is the new conditional scope change operator ?=.

Normally when you change to a scope you will get errors if it does not exist, but in many cases you know that the thing may not be set in which case you don’t want an error but to fail the trigger.
The previous way of doing that is to add an exists trigger on the line above every time as that then returns false if they are not around, but that could be quite cumbersome.

Now you can combine that together so instead of loads of extra typing it's just one convenient ? being involved!


This also works for scope comparisons where it will return false if the left-hand side does not exist. When used in effects it will just skip running the effects in that scope change if the scope doesn’t exist.

And lastly as a little sneak peek of the patch notes here is the user modding section!

###################
# User Modding
###################
  • Added character modifier, Men-at-arms Counter Resistance
  • Rename hidden_effect_new_artifact to hidden_effect_new_object
  • Add GetBaronyNameExplicitly and GetBaronyNameExplicitlyNoTooltip to provinces to get the barony even if it's the capital.
  • Add building_slot_add modifier for holdings.
  • Add prowess_no_portrait trigger.
  • Add trait modifiers based on faith doctrine parameters, analogous to culture
  • Added defines for simple text glow formats
  • Adds the hostile_county_attrition_raiding to modify the hostile county attrition of raiding armies. Will apply from both commanders and owners of armies. This IGNORES the regular lower limit of 10%, such that hostile county attrition for raiding armies can be reduced to 0. Go forth, land vikings! Pillage! Rule!
  • Adds the movement_speed_land_raiding to modify the speed of raiding armies moving over land. Will apply from both commanders and owners of armies.
  • Consistently use reference for triggered background/textures instead of sometimes duplicating with event_background.
  • Custom loc can now have the "all" type which lets it match to any scope type.
  • Interactions can now also set a cooldown on all other interactions in the same category via the 'category_cooldown' and 'category_cooldown_against_recipient' properties
  • Make province GetName and GetNameNoTooltip both return the county if capital.
  • Remove 'goto' field from 'send_interface_message' and 'send_interface_toast'
  • Remove GUI support for 'PlayerMessageItem' members 'GetGotoProvince', 'HasGotoProvince', and 'OnGoto'
  • Remove the add_building_slot effect, only use the new building_slot_add modifier.
  • Rework how open_view and open_view_data handle additional script provided data, the view_message field has been renamed to data and can be used in either of those effects it will now pass the additional data to the specific interface it is opening which will use it as appropriate.
  • The 'duel' script effect can now use multiple skills at once, averaging their value. Up to six skills can be compared.
  • Add diarchy_succession_character script list builder
  • Add effect change_diarchy_type
  • Add effect set_diarch
  • add trigger is_diarchy_successor
  • Per modder request, added some instructions (and a small correction) to on_actions.info to help newbie modders just getting started
  • Per modder request, added standardised cultural parameters for raiding overland and overseas to increase mod interoperability. Also made it easier to add dynasty modifiers, house modifiers, & cultural innovations that unlock raiding (either according to standard restrictions for non-tribals or, optionally, without restrictions)
  • Per modder request, replaced almost all instances of has_government with government_has_flag (and added relevant flags to each government type) to allow for easy hooking in of additional government types to vanilla content & systems, as well as better mod interoperability
  • Add function [Army.GetArmyStatusTooltip]
  • Introduce [Army.GetArmyStatusOutlinerIcon]
  • Renamed [Army.GetArmyStatusIcon] to [Army.GetArmyStatusIllustration].
  • add change_diarchy_power_level effect
  • add diarchy_has_parameter trigger
  • add diarchy_power_level trigger
  • add set_diarchy_power_level effect
  • Converted tribal imprisonment block to use a government flag for marginally higher mod compatibility
  • Added 'memory_creation_date', 'memory_end_date' and 'memory_age_years' triggers for Character Memories.
  • Add HasCharacterFlag datafunction for characters
  • Added IsDateAfter promote that takes a date and a target date.
  • Added IsDateBefore promote that takes a date and a target date.
  • Added IsDateBetween promote that takes a target date, a start time and an end time.
  • Added IsDateToday promote that takes a date.
  • Added GetDateAsTotalDays promote for Dates
  • Added promote HasFlag to the (Player) MessageType in order to allow specializations for message appearances.
  • Added effect start_travel_plan, which opens the travel planning window for the player and can take multiple (optional) input parameters like destination(s), companion(s), events/on_actions, et al.
  • New `*_neighboring_province` list can be used to efficiently get adjacent provinces in script
  • New `*_army_in_location` list can be used to quickly find armies in a province
  • The "Settings" window doesn't pop up anymore when reloading localization data
  • New expand auto-complete mode for console: Toggle via `settings` -> Tools -> Console auto-complete mode
  • Can kick out existing councillor "nicely" by using `remove_existing_councillor = yes` in `assign_councillor_type` effect
  • Interactions targetting artifacts can now directly open up a specific artifact
  • You can now actually generate a 'lowborn' character from character templates (`dynasty = none` is now correctly honored)
  • The PdxData data_binding 'macro' system now supported for mods too
  • You can attach character portrait assets to the root of a 3D entities via `at_root_of_entity` (same config location as `shared_pose_entity` / `node`)
  • New 'scope exists' script operator "?=" added, so we don't have to write "exist = bla bla = { stuff }" thousands of times and can just do “bla ?= { stuff }”
  • Scope exists operator `bla ?= {}` in effects will not execute effects inside scope if the scope `bla` does not exist
  • Added new 'ransomed' artifact history state
  • `set_location` effect now has `stick_to_location = yes` if you want to pin down someone’s default location to be different from their capital or court