tiger_lib/ck3/tables/
rules.rs

1/// Specification of the hardcoded scripted rules in CK3.
2///
3/// Each definition is one rule.
4///
5/// `tooltipped` says whether the contents of this rule are tooltipped for the player.
6/// It defaults to no. Left out when tooltipping is uncertain, otherwise set to yes or no.
7///
8/// `root` is the root of the scope context. Other fields are added named scopes.
9///
10/// For ease of updating, the rules are in the order they are found in the game files.
11// LAST UPDATED CK3 VERSION 1.16.2.3
12// Taken from information in common/scripted_rules/00_rules.txt
13pub const SCRIPTED_RULES: &str = "
14	can_command_troops = {
15		tooltipped = no
16		root = character
17		army_owner = character
18	}
19
20	can_command_troops_now = {
21		tooltipped = yes
22		root = character
23		army_owner = character
24	}
25
26	ghw_give_barony_to_beneficiary = {
27		tooltipped = no
28		root = province
29		faith = faith
30	}
31
32	faith_creation = {
33		tooltipped = yes
34		root = character
35	}
36
37	faith_conversion = {
38		tooltipped = yes
39		root = character
40		new_faith = faith
41	}
42
43	should_mother_give_house_to_bastard = {
44		tooltipped = no
45		root = character
46	}
47
48	can_be_knight = {
49		tooltipped = no
50		root = character
51	}
52
53	allowed_to_be_granted_titles_by = {
54		tooltipped = yes
55		root = character
56		liege = character
57		landed_title = landed_title
58	}
59
60	is_character_allowed_to_be_player = {
61		tooltipped = yes
62		root = character
63		will_override_government = bool
64	}
65
66	is_secret_available_for_blackmail = {
67		tooltipped = yes
68		root = secret
69		target = character
70		blackmailer = character
71		secret_owner = character
72		secret_target = character # may not exist
73	}
74
75	passes_faction_hard_block = {
76		tooltipped = yes
77		root = character
78		target = character
79	}
80
81	passes_faction_soft_block = {
82		tooltipped = yes
83		root = character
84	}
85
86	is_dangerous_faction = {
87		tooltipped = no
88		root = faction
89	}
90
91	is_alliance_valid = {
92		tooltipped = no
93		root = character
94		second = character
95	}
96
97	can_designate_heir = {
98		tooltipped = yes
99		root = character
100	}
101
102	cares_about_powerful_vassal_council_position = {
103		tooltipped = no
104		root = character
105	}
106
107	approves_of_succession_law_change = {
108		tooltipped = no
109		root = character
110	}
111
112	has_natural_death_second_chance = {
113		tooltipped = no
114		root = character
115	}
116
117	can_refund_perks = {
118		tooltipped = yes
119		root = character
120	}
121
122	can_defensively_join_holy_war = {
123		tooltipped = no
124		root = character
125		attacker = character
126		defender = character
127	}
128
129	can_fire_councillor = {
130		tooltipped = yes
131		root = character
132		councillor = character
133	}
134
135	can_raid = {
136		tooltipped = yes
137		root = character
138	}
139
140	can_start_raid = {
141		tooltipped = yes
142		root = character
143	}
144
145	can_raid_across_water = {
146		tooltipped = no
147		root = character
148	}
149
150	can_traverse_river = {
151		tooltipped = no
152		root = character
153	}
154
155	is_hard_blocked_from_schemes = {
156		tooltipped = no
157		root = character
158	}
159
160	ai_wants_matrilineal_marriage = {
161		tooltipped = no
162		root = character
163		secondary_actor = character
164	}
165
166	ai_wants_grand_wedding_promise = {
167		tooltipped = no
168		root = character
169		actor = character
170		secondary_actor = character
171		recipient = character
172		secondary_recipient = character
173	}
174
175	buildings_enabled = {
176		tooltipped = yes
177		root = character
178	}
179
180	can_potentially_call_ally = {
181		tooltipped = no
182		root = character
183		ally = character
184	}
185
186	can_hybridize_culture = {
187		tooltipped = yes
188		root = character
189		culture = culture
190	}
191
192	can_diverge_culture = {
193		tooltipped = yes
194		root = character
195	}
196
197	can_add_tradition = {
198		tooltipped = yes
199		root = character
200	}
201
202	can_replace_pillar = {
203		tooltipped = yes
204		root = character
205	}
206
207	can_name_after_birth = {
208		tooltipped = no
209		root = character
210		child = character
211	}
212
213	can_adopt_court_language = {
214		tooltipped = no
215		root = character
216		target = character
217		list = {
218			my_language_counties = landed_title
219			their_language_counties = landed_title
220			total_counties = landed_title
221		}
222	}
223
224	ai_should_repair_artifact = {
225		tooltipped = no
226		root = character
227		artifact = artifact
228	}
229
230	can_be_activity_guest = {
231		root = character
232		host = character
233	}
234
235	is_diarch_visibly_loyal = {
236		tooltipped = no
237		root = character
238	}
239
240	is_diarch_visibly_disloyal = {
241		tooltipped = no
242		root = character
243	}
244
245	is_diarch_able = {
246		tooltipped = no
247		root = character
248	}
249
250	is_diarch_valid = {
251		tooltipped = no
252		root = character
253	}
254
255	should_have_diarchy = {
256		tooltipped = no
257		root = character
258	}
259
260	can_be_acclaimed_knight = {
261		tooltipped = no
262		root = character
263	}
264
265	is_hostage_valid = {
266		tooltipped = no
267		root = character
268	}
269
270	can_create_legend = {
271		root = character
272	}
273
274	can_promote_legend = {
275		tooltipped = no
276		root = character
277		legend = legend
278	}
279
280	ai_wants_to_create_own_legend = {
281		tooltipped = no
282		root = character
283		num_legends = value
284	}
285
286	is_dominant_family = {
287		root = dynasty_house
288	}
289
290	is_hireable_ruler_trigger = {
291		root = character
292	}
293
294	can_hire_hireable_ruler_trigger = {
295		root = character
296		candidate = character
297	}
298
299	can_move_domicile = {
300		root = province
301		owner = character
302	}
303
304	is_kurultai_succession_chaotic = {
305		root = character
306		situation = situation
307		situation_sub_region = situation_sub_region
308		list = {
309			disobedient_kurultai = character
310		}
311	}
312
313	ai_wants_to_migrate = {
314		root = character
315		domain_fertility = value
316	}
317
318	can_raze = {
319		root = character
320	}
321
322	can_raze_own_holding = {
323		root = character
324		province = province
325	}
326";