Skip to content
VespertinePetrichor edited this page Feb 24, 2023 · 25 revisions

Here we explain some advanced guidelines for editing text files for the coders.

Basic Guidelines:

  • I advise you to search the Wiki for the subject you work on.
  • Check Triggers and Effects to understand conditional logic and possible commands.
  • Almost every CK3 folder contains documentation by Paradox in .info file type. It can be opened with any text editor.

Tools:

  • You may use Notepad++ for scripting. In these Notepad Tricks you will find the download link and some tricks.
  • Some useful tools like Visual Studio are mentioned in the Modding.
  • Often you have to search text files for culture names, characters, etc. We use Total Commander for it.

Documentations:

If you don't have permission, ping Zumbak#9042 on Discord.

Scripting Guidelines:

  • Tips & Guidelines of Wiki, a set of tips written on the wiki.
  • We recommend following this Code Style so it's easier to read our code.
  • When you create some new script like an event, decision, etc., try to leave a comment so other developers can know the context.
  • If you change vanilla lines, TRY TO write comment # Warcraft before these lines and highlight it by making gaps (empty lines) before and after the mod lines.
Example
prisoner = no

# Warcraft
culture = gurubashi
trait = creature_troll

trait = greedy
  • We recommend reading the Debug Article to find bugs easier. After you enable the Debug mode, errors will be reported in C:\Users\<User>\Documents\Paradox Interactive\Crusader Kings III\logs\error.log

Culture Names/Dynasties Guidelines:

  • If your culture uses lore names TRY TO separate them from others like this:
Example
# Names
# Order:
# Arathi lore names (ancient humans)
# Azerothian lore names
# Random names
male_names = {
	Anduin Thoradin Antonius Kelsing Ignaeus Lordain Meryl

	Barathen Llane Landan Varian Ello Crispin Hogan Farrin Robin Rafe Role Catriona Sirra Medivh Nielas Gavinrad Abercrombie Moroes Attumen Edwin Bazil Klaven Gregor Aldous Bolten Morelan Remington Baurles
	
	Acton Adair_Adair Adam_Adam Adrien Aedis_Aedis Alcott Aldwin_Aldwin Allan_Allan Allison_Allison Alyn_Alyn
	Ander_Ander Ang_Ang Angus_Angus Anson_Anson Argos_Argos Arnold_Arnold Arthur_Arthur Augustus_Augustus
	Bailey Barks Barnett Baros_Baros Barrett Bazzil_Bazzil Behsten_Behsten Ben_Ben Benjamin
	Bernard_Bernard Bert Bradney Brand Brandon_Brandon Brennan Brentan Brian_Brian Brodie Bruce
	Bruno Bryan_Bryan Carrington Carson Casey Chapman Chilton_Chilton Darrel Darrius Declan Dickinson
	Dwayne Dwenn Dwite Dwyght Earl Edwardson Egerton Elbridge Emmyrson Fitch_Fitch Fitzgerald_Fitzgerald
	Gaiman_Gaiman Gavin Hesse_Hesse Hyatt Jackson Jagger Jaiden Johan Joseph Kayden Keegan Kenelm Kerwin_Kerwin Kristoff_Kristoff Lauffer_Lauffer
	Maxim Milton Neal Newall Newbold Newton Nico Osbert Parr Payton Philip Raff Ralph Randy Redfield Redmund Redwald Rell Renato Rhett Ripley Robben Rowan Ruben
	Ryan Sandon Sean Shayne Simon Spenser Stefan Stuart Sullivan Sydell Taylor_Taylor Thorne Tito Tristen Wade Welborne Whittaker Wilson Winward
}
female_names = {
	Decindra Mereldar
	
	Varia Taria Tiffin Althea Keira Dorothea Eliza Vanessa
	
	Alexandra_Alexandra Alicia_Alicia Alma_Alma Alison_Alison Akyssa_Alyssa Amber_Amber Anastasia_Anastasia Angela_Angela
	Aysa_Aysa Ardwyn_Ardwyn Alexa Alize Amanda Ann Ansley Ariana Asha Ayanna Beatrix Bela Bellatrix
	Bree Brigitte Bethany_Bethany Betty_Betty Camilla Carletta Carolaine Cecil Constance_Constance Celina Celsa Carla_Carla Cesaria
	Catarina_Catarina Catherine_Catherine Catrina_Catrina Clerice Clover Caledra_Caledra Creada Dagena Deidra Edwina Elaine Elenor
	Elisa Ellen Ember Eva  Fastrada Felita Finnula Framberta Frolaica Frotlina Genovefa Gilian Gillian Gisela Gwen Halley
	Hannah Idonea Isobel  Isolde Jaezel Jazel Jillia Jaxon_Jaxon Josphine June Kali Kelsey Kenata Landina Lantsida Eliza Liz
	Lizbeth Luana Lucille Lucretia Madelgarde Marcia Marcovefa Marjory Martinga Melania Mercy Mierelle Mirelle Morberga Nials Noira Noreen
	Parella Parker Ramona Rigunth Rose Rothaide Rubia Sarias Severina Sybil Theda Theodelinda Ursyn Velvet Zarise
}

Event Guidelines:

  • Try to name Event Namespaces like this: WC + 3-2 Letters of Abbreviation. For example, the namespace of wc_third_war_events.txt is WCTHW.
  • Before making an event chain, make and show your plan to team leads. Both others and you should understand your design before you start working on it. It may be in text format on GitHub Issues or Google Docs. Example, Arthas' Event Chain.

History Guidelines

Character

  • ID templates:
    • If you add a placeholder/random-generated character, use this: <culture><Some Number>.
    • If you add a historical character, use its name in lower-case, with _ instead of spaces and without special symbols like: jakrazet.
  • Balancing:
    • When designing a new character, assign a maximum of 3 traits and keep the sum of attribute points at or below 30.

Title

  • Don't force governments in the history files (like government = feudal_government). It's bad! It makes you not able to use your own holdings. If you really want to change the government, change the holdings they own instead.