1use std::sync::LazyLock;
2
3use crate::everything::Everything;
4use crate::helpers::TigerHashMap;
5use crate::lowercase::Lowercase;
6use crate::scopes::Scopes;
7use crate::token::Token;
8
9#[inline]
10pub fn iterator(
11 name_lc: &Lowercase,
12 _name: &Token,
13 _data: &Everything,
14) -> Option<(Scopes, Scopes)> {
15 ITERATOR_MAP.get(name_lc.as_str()).copied()
16}
17
18static ITERATOR_MAP: LazyLock<TigerHashMap<&'static str, (Scopes, Scopes)>> = LazyLock::new(|| {
19 let mut hash = TigerHashMap::default();
20 for (from, s, to) in ITERATOR.iter().copied() {
21 hash.insert(s, (from, to));
22 }
23 hash
24});
25
26const ITERATOR: &[(Scopes, &str, Scopes)] = &[
31 (Scopes::Character, "acclaimed_knight", Scopes::Character),
32 (Scopes::Character, "accolade", Scopes::Accolade),
33 (Scopes::None, "accolade_type", Scopes::AccoladeType),
34 (Scopes::Character, "active_accolade", Scopes::Accolade),
35 (Scopes::None, "active_dynasty", Scopes::Dynasty),
36 (Scopes::None, "activity", Scopes::Activity),
37 (Scopes::Activity, "activity_phase_location", Scopes::Province),
38 (Scopes::Activity, "activity_phase_location_future", Scopes::Province),
39 (Scopes::Activity, "activity_phase_location_past", Scopes::Province),
40 (Scopes::None, "activity_type", Scopes::ActivityType),
41 (Scopes::Character, "alert_creatable_title", Scopes::LandedTitle),
42 (Scopes::Character, "alert_usurpable_title", Scopes::LandedTitle),
43 (Scopes::Character, "ally", Scopes::Character),
44 (Scopes::Character, "ancestor", Scopes::Character),
45 (Scopes::Character, "army", Scopes::Army),
46 (Scopes::Province, "army_in_location", Scopes::Army),
47 (Scopes::Army, "army_maa_regiment", Scopes::Regiment),
48 (Scopes::None, "artifact", Scopes::Artifact),
49 (Scopes::Artifact, "artifact_claimant", Scopes::Character),
50 (Scopes::Artifact, "artifact_house_claimant", Scopes::DynastyHouse),
51 (Scopes::Activity, "attending_character", Scopes::Character),
52 (Scopes::Character, "available_task_contract", Scopes::TaskContract),
53 (Scopes::None, "barony", Scopes::LandedTitle),
54 (Scopes::None, "casus_belli_type", Scopes::CasusBelliType),
55 (Scopes::Character, "character_active_contract", Scopes::TaskContract),
56 (Scopes::Character, "character_artifact", Scopes::Artifact),
57 (Scopes::Character, "character_epidemic", Scopes::Epidemic),
58 (Scopes::Province, "character_in_location", Scopes::Character),
59 (Scopes::Character, "character_situation", Scopes::Situation),
60 (Scopes::Character, "character_struggle", Scopes::Struggle),
61 (Scopes::Character, "character_task_contract", Scopes::TaskContract),
62 (
63 Scopes::Character,
64 "character_to_title_neighboring_and_across_water_county",
65 Scopes::LandedTitle,
66 ),
67 (
68 Scopes::Character,
69 "character_to_title_neighboring_and_across_water_duchy",
70 Scopes::LandedTitle,
71 ),
72 (
73 Scopes::Character,
74 "character_to_title_neighboring_and_across_water_empire",
75 Scopes::LandedTitle,
76 ),
77 (
78 Scopes::Character,
79 "character_to_title_neighboring_and_across_water_kingdom",
80 Scopes::LandedTitle,
81 ),
82 (Scopes::Character, "character_to_title_neighboring_county", Scopes::LandedTitle),
83 (Scopes::Character, "character_to_title_neighboring_duchy", Scopes::LandedTitle),
84 (Scopes::Character, "character_to_title_neighboring_empire", Scopes::LandedTitle),
85 (Scopes::Character, "character_to_title_neighboring_kingdom", Scopes::LandedTitle),
86 (Scopes::Character, "character_trait", Scopes::Trait),
87 (Scopes::Character, "character_war", Scopes::War),
88 (Scopes::None, "character_with_royal_court", Scopes::Character),
89 (Scopes::Character, "child", Scopes::Character),
90 (Scopes::Character, "claim", Scopes::LandedTitle),
91 (Scopes::LandedTitle, "claimant", Scopes::Character),
92 (Scopes::Character, "claimed_artifact", Scopes::Artifact),
93 (Scopes::Character, "close_family_member", Scopes::Character),
94 (Scopes::Character, "close_or_extended_family_member", Scopes::Character),
95 (Scopes::Combat, "combat_side", Scopes::CombatSide),
96 (Scopes::None, "completed_legend", Scopes::Legend),
97 (Scopes::Character, "concubine", Scopes::Character),
98 (Scopes::None, "confederation", Scopes::Confederation),
99 (Scopes::Confederation, "confederation_member", Scopes::Character),
100 (Scopes::Confederation, "confederation_member_house", Scopes::DynastyHouse),
101 (Scopes::None, "confederation_type", Scopes::ConfederationType),
102 (Scopes::LandedTitle, "connected_county", Scopes::LandedTitle),
103 (Scopes::Character, "consort", Scopes::Character),
104 (Scopes::Character, "contact", Scopes::Character),
105 (Scopes::GreatProject, "contribution", Scopes::ProjectContribution),
106 (Scopes::LandedTitle, "controlled_faith", Scopes::Faith),
107 (Scopes::LandedTitle, "controlled_title_maa_regiment", Scopes::Regiment),
108 (Scopes::Character, "councillor", Scopes::Character),
109 (Scopes::None, "county", Scopes::LandedTitle),
110 (Scopes::None, "county_in_region", Scopes::LandedTitle),
111 (Scopes::LandedTitle, "county_province", Scopes::Province),
112 (Scopes::LandedTitle, "county_province_epidemic", Scopes::Epidemic),
113 (Scopes::LandedTitle, "county_situation", Scopes::Situation),
114 (Scopes::LandedTitle, "county_situation_sub_region", Scopes::SituationSubRegion),
115 (Scopes::LandedTitle, "county_struggle", Scopes::Struggle),
116 (Scopes::Character, "court_position_candidate", Scopes::Character),
117 (Scopes::Character, "court_position_employer", Scopes::Character),
118 (Scopes::Character, "court_position_holder", Scopes::Character), (Scopes::None, "court_position_type", Scopes::CourtPositionType),
120 (Scopes::Character, "courtier", Scopes::Character),
121 (Scopes::Character, "courtier_away", Scopes::Character),
122 (Scopes::Character, "courtier_or_guest", Scopes::Character),
123 (Scopes::Culture, "culture_county", Scopes::LandedTitle),
124 (Scopes::Culture, "culture_duchy", Scopes::LandedTitle),
125 (Scopes::Culture, "culture_empire", Scopes::LandedTitle),
126 (Scopes::None, "culture_global", Scopes::Culture),
127 (Scopes::None, "culture_innovation", Scopes::CultureInnovation),
128 (Scopes::Culture, "culture_kingdom", Scopes::LandedTitle),
129 (Scopes::None, "culture_pillar", Scopes::CulturePillar),
130 (Scopes::None, "culture_tradition", Scopes::CultureTradition),
131 (Scopes::Character, "de_jure_claim", Scopes::LandedTitle),
132 (Scopes::LandedTitle, "de_jure_county", Scopes::LandedTitle),
133 (Scopes::LandedTitle, "de_jure_county_holder", Scopes::Character),
134 (Scopes::LandedTitle, "de_jure_top_liege", Scopes::Character),
135 (Scopes::None, "decision", Scopes::Decision),
136 (Scopes::Faith, "defensive_great_holy_wars", Scopes::GreatHolyWar),
137 (Scopes::LandedTitle, "dejure_vassal_title_holder", Scopes::Character),
138 (Scopes::Character, "diarchy_succession_character", Scopes::Character),
139 (Scopes::Character, "diplomacy_councillor", Scopes::Character),
140 (Scopes::LandedTitle, "direct_de_facto_vassal_title", Scopes::LandedTitle),
141 (Scopes::LandedTitle, "direct_de_jure_vassal_title", Scopes::LandedTitle),
142 (Scopes::Character, "directly_owned_province", Scopes::Province),
143 (Scopes::None, "doctrine", Scopes::Doctrine),
144 (Scopes::None, "domicile", Scopes::Domicile),
145 (Scopes::None, "duchy", Scopes::LandedTitle),
146 (Scopes::None, "dynasty", Scopes::Dynasty),
147 (Scopes::Dynasty, "dynasty_house", Scopes::DynastyHouse),
148 (Scopes::Dynasty, "dynasty_member", Scopes::Character),
149 (Scopes::LandedTitle, "election_candidate", Scopes::Character),
150 (Scopes::Character, "election_title", Scopes::LandedTitle),
151 (Scopes::LandedTitle, "elector", Scopes::Character),
152 (Scopes::None, "empire", Scopes::LandedTitle),
153 (Scopes::TravelPlan, "entourage_character", Scopes::Character),
154 (Scopes::None, "epidemic", Scopes::Epidemic),
155 (Scopes::None, "epidemic_type", Scopes::EpidemicType),
156 (Scopes::Character, "equipped_character_artifact", Scopes::Artifact),
157 (Scopes::Character, "extended_family_member", Scopes::Character),
158 (Scopes::Faction, "faction_county_member", Scopes::LandedTitle),
159 (Scopes::Faction, "faction_member", Scopes::Character),
160 (Scopes::Religion, "faith", Scopes::Faith),
161 (Scopes::Faith, "faith_character", Scopes::Character),
162 (Scopes::Faith, "faith_holy_order", Scopes::HolyOrder),
163 (Scopes::Faith, "faith_playable_ruler", Scopes::Character),
164 (Scopes::Faith, "faith_ruler", Scopes::Character),
165 (Scopes::Character, "foreign_court_guest", Scopes::Character),
166 (Scopes::Character, "former_concubine", Scopes::Character),
167 (Scopes::Character, "former_concubinist", Scopes::Character),
168 (Scopes::Character, "former_spouse", Scopes::Character),
169 (Scopes::TravelPlan, "future_path_location", Scopes::Province),
170 (Scopes::Character, "general_councillor", Scopes::Character),
171 (Scopes::None, "geographical_region", Scopes::GeographicalRegion),
172 (Scopes::Character, "government_type", Scopes::GovernmentType),
173 (Scopes::None, "great_project", Scopes::GreatProject),
174 (Scopes::Province, "great_project_in_province", Scopes::GreatProject),
175 (Scopes::None, "great_project_type", Scopes::GreatProjectType),
176 (Scopes::Activity, "guest_subset", Scopes::Character),
177 (Scopes::Activity, "guest_subset_current_phase", Scopes::Character),
178 (Scopes::None, "hegemony", Scopes::LandedTitle),
179 (Scopes::Character, "heir", Scopes::Character),
180 (Scopes::Character, "heir_title", Scopes::LandedTitle),
181 (Scopes::Character, "held_title", Scopes::LandedTitle),
182 (Scopes::Character, "hired_mercenary", Scopes::MercenaryCompany),
183 (Scopes::None, "holding_type", Scopes::HoldingType),
184 (Scopes::Faith, "holy_site", Scopes::LandedTitle),
185 (Scopes::Character, "home_court_hostage", Scopes::Character),
186 (Scopes::Character, "hooked_character", Scopes::Character),
187 (Scopes::Character, "hostile_raider", Scopes::Character),
188 (Scopes::None, "house_aspiration", Scopes::HouseAspiration),
189 (Scopes::DynastyHouse, "house_claimed_artifact", Scopes::Artifact),
190 (Scopes::DynastyHouse, "house_member", Scopes::Character),
191 (Scopes::DynastyHouse, "house_relation", Scopes::HouseRelation),
192 (Scopes::None, "house_relation_level", Scopes::HouseRelationLevel),
193 (Scopes::None, "house_relation_type", Scopes::HouseRelationType),
194 (Scopes::DynastyHouse, "house_unity_member", Scopes::Character),
195 (Scopes::None, "important_location", Scopes::LandedTitle),
196 (Scopes::LandedTitle, "important_location_for_title", Scopes::LandedTitle),
197 (Scopes::LandedTitle, "in_de_facto_hierarchy", Scopes::LandedTitle),
198 (Scopes::LandedTitle, "in_de_jure_hierarchy", Scopes::LandedTitle),
199 (Scopes::None, "in_global_list", Scopes::all()),
200 (Scopes::None, "in_list", Scopes::all()),
201 (Scopes::None, "in_local_list", Scopes::all()),
202 (Scopes::None, "independent_ruler", Scopes::Character),
203 (Scopes::Epidemic, "infected_province", Scopes::Province),
204 (Scopes::None, "inspiration", Scopes::Inspiration),
205 (Scopes::None, "inspired_character", Scopes::Character),
206 (Scopes::None, "interested_title", Scopes::LandedTitle),
207 (Scopes::Struggle, "interloper_ruler", Scopes::Character),
208 (Scopes::Character, "intrigue_councillor", Scopes::Character),
209 (Scopes::Character, "invited_activity", Scopes::Activity),
210 (Scopes::Activity, "invited_character", Scopes::Character),
211 (Scopes::Struggle, "involved_county", Scopes::LandedTitle),
212 (Scopes::Struggle, "involved_ruler", Scopes::Character),
213 (Scopes::Character.union(Scopes::Artifact), "killed_character", Scopes::Character),
214 (Scopes::None, "kingdom", Scopes::LandedTitle),
215 (Scopes::Character, "knight", Scopes::Character),
216 (Scopes::Culture, "known_innovation", Scopes::CultureInnovation),
217 (Scopes::Character, "known_secret", Scopes::Secret),
218 (Scopes::Character, "land_neighboring_realm_with_tributaries", Scopes::LandedTitle),
219 (Scopes::Character, "land_neighboring_realm_with_tributaries_owner", Scopes::Character),
220 (Scopes::Character, "learning_councillor", Scopes::Character),
221 (Scopes::HolyOrder, "leased_title", Scopes::LandedTitle),
222 (Scopes::None, "legend", Scopes::Legend),
223 (Scopes::Legend, "legend_promoter", Scopes::Character),
224 (Scopes::None, "legend_type", Scopes::LegendType),
225 (Scopes::Character, "liege_or_above", Scopes::Character),
226 (Scopes::None, "living_character", Scopes::Character),
227 (Scopes::Character, "maa_regiment", Scopes::Regiment),
228 (Scopes::Character, "martial_councillor", Scopes::Character),
229 (Scopes::None, "mercenary_company", Scopes::MercenaryCompany),
230 (Scopes::Character, "memory", Scopes::CharacterMemory),
231 (Scopes::CharacterMemory, "memory_participant", Scopes::Character),
232 (Scopes::Character, "neighboring_and_across_water_realm_owner", Scopes::Character),
233 (Scopes::Character, "neighboring_and_across_water_realm_same_rank_owner", Scopes::Character),
234 (Scopes::Character, "neighboring_and_across_water_top_liege_realm", Scopes::LandedTitle),
235 (Scopes::Character, "neighboring_and_across_water_top_liege_realm_owner", Scopes::Character),
236 (Scopes::Character, "neighboring_and_across_water_top_suzerain_realm", Scopes::LandedTitle),
237 (Scopes::Character, "neighboring_and_across_water_top_suzerain_realm_owner", Scopes::Character),
238 (Scopes::LandedTitle, "neighboring_county", Scopes::LandedTitle),
239 (Scopes::Province, "neighboring_province", Scopes::Province),
240 (Scopes::Character, "neighboring_realm_owner", Scopes::Character),
241 (Scopes::Character, "neighboring_realm_same_rank_owner", Scopes::Character),
242 (Scopes::Character, "neighboring_realm_with_tributaries_owner", Scopes::Character),
243 (Scopes::Character, "neighboring_top_liege_realm", Scopes::LandedTitle),
244 (Scopes::Character, "neighboring_top_liege_realm_owner", Scopes::Character),
245 (Scopes::Character, "neighboring_top_suzerain_realm", Scopes::LandedTitle),
246 (Scopes::Character, "neighboring_top_suzerain_realm_owner", Scopes::Character),
247 (Scopes::Character, "noble_family", Scopes::LandedTitle),
248 (Scopes::None, "open_invite_activity", Scopes::Activity),
249 (Scopes::Character, "opposite_sex_spouse_candidate", Scopes::Character),
250 (Scopes::Trait, "opposite_trait", Scopes::Trait),
251 (Scopes::Character, "owned_story", Scopes::StoryCycle),
252 (Scopes::LandedTitle, "owned_title_maa_regiment", Scopes::Regiment),
253 (Scopes::Character, "parent", Scopes::Character),
254 (Scopes::Culture, "parent_culture", Scopes::Culture),
255 (Scopes::Culture, "parent_culture_or_above", Scopes::Culture),
256 (Scopes::Situation, "participant_group", Scopes::SituationParticipantGroup),
257 (Scopes::LandedTitle, "past_holder", Scopes::Character),
258 (Scopes::LandedTitle, "past_holder_reversed", Scopes::Character),
259 (Scopes::Character, "patroned_holy_order", Scopes::HolyOrder),
260 (Scopes::Character, "personal_claimed_artifact", Scopes::Artifact),
261 (Scopes::Character, "pinned_character", Scopes::Character),
262 (Scopes::Character, "pinning_character", Scopes::Character),
263 (Scopes::Character, "played_character", Scopes::Character),
264 (Scopes::None, "player", Scopes::Character),
265 (Scopes::Character, "player_heir", Scopes::Character),
266 (Scopes::Character, "player_legend_library", Scopes::Legend),
267 (Scopes::GreatHolyWar, "pledged_attacker", Scopes::Character),
268 (Scopes::GreatHolyWar, "pledged_defender", Scopes::Character),
269 (Scopes::None, "pool_character", Scopes::Character),
270 (Scopes::Character, "pool_guest", Scopes::Character),
271 (Scopes::ProjectContribution, "potential_contributor", Scopes::Character),
272 (Scopes::Character, "potential_marriage_option", Scopes::Character),
273 (Scopes::Character, "powerful_family", Scopes::DynastyHouse),
274 (Scopes::Character, "powerful_vassal", Scopes::Character),
275 (Scopes::Character, "pretender_title", Scopes::LandedTitle),
276 (Scopes::Character, "primary_war_enemy", Scopes::Character),
277 (Scopes::Character, "prisoner", Scopes::Character),
278 (Scopes::None, "province", Scopes::Province),
279 (Scopes::Province, "province_domicile", Scopes::Domicile),
280 (Scopes::Province, "province_epidemic", Scopes::Epidemic),
281 (Scopes::Province, "province_legend", Scopes::Legend),
282 (Scopes::Character, "prowess_councillor", Scopes::Character),
283 (Scopes::Character, "raid_target", Scopes::Character),
284 (Scopes::Character, "realm_border_county", Scopes::LandedTitle),
285 (Scopes::Character, "realm_county", Scopes::LandedTitle),
286 (Scopes::Character, "realm_de_jure_duchy", Scopes::LandedTitle),
287 (Scopes::Character, "realm_de_jure_empire", Scopes::LandedTitle),
288 (Scopes::Character, "realm_de_jure_kingdom", Scopes::LandedTitle),
289 (Scopes::Character, "realm_province", Scopes::Province),
290 (Scopes::Character, "relation", Scopes::Character), (Scopes::HouseRelation, "relation_house", Scopes::DynastyHouse),
292 (Scopes::None, "religion_global", Scopes::Religion),
293 (Scopes::HoldingType, "required_heir_government_type", Scopes::GovernmentType),
294 (Scopes::None, "ruler", Scopes::Character),
295 (Scopes::Character, "same_sex_spouse_candidate", Scopes::Character),
296 (Scopes::Character, "scheme", Scopes::Scheme),
297 (Scopes::Scheme, "scheme_agent_character", Scopes::Character),
298 (Scopes::Scheme, "scheme_agent_slot", Scopes::AgentSlot),
299 (Scopes::Character, "secret", Scopes::Secret),
300 (Scopes::Secret, "secret_knower", Scopes::Character),
301 (Scopes::Secret, "secret_participant", Scopes::Character),
302 (Scopes::Character, "sibling", Scopes::Character),
303 (Scopes::CombatSide, "side_commander", Scopes::Character),
304 (Scopes::CombatSide, "side_knight", Scopes::Character),
305 (Scopes::CombatSide, "side_participant", Scopes::Character),
306 (Scopes::Situation, "situation_county", Scopes::LandedTitle),
307 (Scopes::Situation, "situation_participant", Scopes::Character),
308 (Scopes::Situation, "situation_sub_region", Scopes::SituationSubRegion),
309 (Scopes::SituationParticipantGroup, "situation_group_participant", Scopes::Character),
310 (Scopes::SituationSubRegion, "situation_sub_region_county", Scopes::LandedTitle),
311 (
312 Scopes::SituationSubRegion,
313 "situation_sub_region_geographical_region",
314 Scopes::GeographicalRegion,
315 ),
316 (Scopes::SituationSubRegion, "situation_sub_region_participant", Scopes::Character),
317 (
318 Scopes::SituationSubRegion,
319 "situation_sub_region_participant_group",
320 Scopes::SituationParticipantGroup,
321 ),
322 (Scopes::None, "special_building_province", Scopes::Province),
323 (Scopes::Activity, "special_guest", Scopes::Character),
324 (Scopes::Character, "sponsored_inspiration", Scopes::Inspiration),
325 (Scopes::Character, "spouse", Scopes::Character),
326 (Scopes::Character, "spouse_candidate", Scopes::Character),
327 (Scopes::Legend, "spread_province", Scopes::Province),
328 (Scopes::Character, "stewardship_councillor", Scopes::Character),
329 (Scopes::Character, "sub_realm_barony", Scopes::LandedTitle),
330 (Scopes::Character, "sub_realm_county", Scopes::LandedTitle),
331 (Scopes::Character, "sub_realm_duchy", Scopes::LandedTitle),
332 (Scopes::Character, "sub_realm_empire", Scopes::LandedTitle),
333 (Scopes::Character, "sub_realm_kingdom", Scopes::LandedTitle),
334 (Scopes::Character, "sub_realm_title", Scopes::LandedTitle),
335 (Scopes::Character, "subject", Scopes::Character),
336 (Scopes::Character, "succession_appointment_invested_candidate", Scopes::Character),
337 (Scopes::Character, "succession_appointment_invested_title", Scopes::LandedTitle),
338 (Scopes::LandedTitle, "succession_appointment_investors", Scopes::Character),
339 (Scopes::CasusBelli, "target_title", Scopes::LandedTitle),
340 (Scopes::Character, "targeting_faction", Scopes::Faction),
341 (Scopes::Character, "targeting_scheme", Scopes::Scheme),
342 (Scopes::Character, "targeting_secret", Scopes::Secret),
343 (Scopes::None, "task_contract", Scopes::TaskContract),
344 (Scopes::None, "task_contract_type", Scopes::TaskContractType),
345 (Scopes::Character, "tax_collector", Scopes::Character),
346 (Scopes::Character, "tax_collector_vassal", Scopes::Character),
347 (Scopes::Character, "tax_slot", Scopes::TaxSlot),
348 (Scopes::TaxSlot, "tax_slot_vassal", Scopes::Character),
349 (Scopes::LandedTitle, "this_title_or_de_jure_above", Scopes::LandedTitle),
350 (Scopes::LandedTitle, "title_heir", Scopes::Character),
351 (Scopes::LandedTitle, "title_interested_in_location", Scopes::LandedTitle),
352 (Scopes::LandedTitle, "title_joined_faction", Scopes::Faction),
353 (Scopes::LandedTitle, "title_maa_regiment", Scopes::Regiment),
354 (
355 Scopes::LandedTitle,
356 "title_to_title_neighboring_and_across_water_county",
357 Scopes::LandedTitle,
358 ),
359 (Scopes::LandedTitle, "title_to_title_neighboring_and_across_water_duchy", Scopes::LandedTitle),
360 (
361 Scopes::LandedTitle,
362 "title_to_title_neighboring_and_across_water_empire",
363 Scopes::LandedTitle,
364 ),
365 (
366 Scopes::LandedTitle,
367 "title_to_title_neighboring_and_across_water_kingdom",
368 Scopes::LandedTitle,
369 ),
370 (Scopes::LandedTitle, "title_to_title_neighboring_county", Scopes::LandedTitle),
371 (Scopes::LandedTitle, "title_to_title_neighboring_duchy", Scopes::LandedTitle),
372 (Scopes::LandedTitle, "title_to_title_neighboring_empire", Scopes::LandedTitle),
373 (Scopes::LandedTitle, "title_to_title_neighboring_kingdom", Scopes::LandedTitle),
374 (Scopes::Character, "top_realm_border_county", Scopes::LandedTitle),
375 (Scopes::Culture, "tradition", Scopes::CultureTradition),
376 (Scopes::None, "trait", Scopes::Trait),
377 (Scopes::None, "trait_in_category", Scopes::Trait),
378 (Scopes::Character, "traveling_family_member", Scopes::Character),
379 (Scopes::Character, "tributary", Scopes::Character),
380 (Scopes::Character, "truce_holder", Scopes::Character),
381 (Scopes::Character, "truce_target", Scopes::Character),
382 (Scopes::Character, "unassigned_taxpayers", Scopes::Character),
383 (Scopes::Character, "unspent_known_secret", Scopes::Secret),
384 (Scopes::Character, "vassal", Scopes::Character),
385 (Scopes::None, "vassal_contract", Scopes::VassalContract),
386 (Scopes::Character, "vassal_or_below", Scopes::Character),
387 (Scopes::TravelPlan, "visited_location", Scopes::Province),
388 (Scopes::Character, "war_ally", Scopes::Character),
389 (Scopes::War, "war_attacker", Scopes::Character),
390 (Scopes::War, "war_defender", Scopes::Character),
391 (Scopes::Character, "war_enemy", Scopes::Character),
392 (Scopes::War, "war_participant", Scopes::Character),
393 (Scopes::Character, "warden_hostage", Scopes::Character),
394];
395
396pub fn iterator_removed(name: &str) -> Option<(&'static str, &'static str)> {
397 for (removed_name, version, explanation) in ITERATOR_REMOVED.iter().copied() {
398 if name == removed_name {
399 return Some((version, explanation));
400 }
401 }
402 None
403}
404
405const ITERATOR_REMOVED: &[(&str, &str, &str)] = &[
407 ("activity_declined", "1.9", ""),
408 ("activity_invited", "1.9", ""),
409 ("participant", "1.9", ""),
410 ("scheme_agent", "1.13", "replaced with scheme_agent_character"),
411 ("heir_to_title", "1.13", "was duplicate of heir_title"),
412];