Scripted trigger
is_character_not_specialized_in_terrain
is_character_not_specialized_in_terrain = yesgame/common/scripted_triggers/00_travel_triggers.txt, line 26 (113 lines). No parameters.
is_character_not_specialized_in_terrain is a scripted trigger in Crusader Kings III, written at line 26 of its file. It takes no parameters: is_character_not_specialized_in_terrain = yes (or no). The game's script calls it in 2 places, among them … the Scenic Route (event pilgrimage.2006) and Danger: Familiar Trees (event travel_danger_events.1006). Patch 1.20.1.2, from game/common/scripted_triggers/00_travel_triggers.txt.
What it checks
is_location_valid_for_travel_event_on_land = yes- Their location › Depending on terrain:
- When terrain is Jungle › scope:character_in_terrain:
- Does not have the Trait: Jungle Stalker
current_travel_plan.travel_leader ?= { … }
- When terrain is Desert › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Drylands › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Desert Mountains › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Oasis › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Mountains › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Wetlands › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Hills › scope:character_in_terrain:
- Does not have the Trait: Desert Warrior
current_travel_plan.travel_leader ?= { … }
- When terrain is Farmlands › scope:character_in_terrain:
- Does not have the Trait: Open Terrain Expert
current_travel_plan.travel_leader ?= { … }
- When terrain is Plains › scope:character_in_terrain:
- Does not have the Trait: Open Terrain Expert
current_travel_plan.travel_leader ?= { … }
- When terrain is Steppe › scope:character_in_terrain:
- Does not have the Trait: Open Terrain Expert
current_travel_plan.travel_leader ?= { … }
- When terrain is Forest › scope:character_in_terrain:
- Does not have the Trait: Forest Fighter
current_travel_plan.travel_leader ?= { … }
- When terrain is Taiga › scope:character_in_terrain:
- Does not have the Trait: Forest Fighter
current_travel_plan.travel_leader ?= { … }
- When terrain is Jungle › scope:character_in_terrain:
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (113 lines of game script)
is_character_not_specialized_in_terrain = { #Used in character scope
save_temporary_scope_as = character_in_terrain
is_location_valid_for_travel_event_on_land = yes
location = { #Is it reasonable for us to get lost, etc in this type of terrain?
switch = {
trigger = terrain
jungle = {
scope:character_in_terrain = {
NOT = { has_trait = jungle_stalker }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = jungle_stalker }
}
}
}
desert = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
drylands = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
desert_mountains = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
oasis = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
mountains = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
wetlands = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
hills = {
scope:character_in_terrain = {
NOT = { has_trait = desert_warrior }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = desert_warrior }
}
}
}
farmlands = {
scope:character_in_terrain = {
NOT = { has_trait = open_terrain_expert }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = open_terrain_expert }
}
}
}
plains = {
scope:character_in_terrain = {
NOT = { has_trait = open_terrain_expert }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = open_terrain_expert }
}
}
}
steppe = {
scope:character_in_terrain = {
NOT = { has_trait = open_terrain_expert }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = open_terrain_expert }
}
}
}
forest = {
scope:character_in_terrain = {
NOT = { has_trait = forest_fighter }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = forest_fighter }
}
}
}
taiga = {
scope:character_in_terrain = {
NOT = { has_trait = forest_fighter }
current_travel_plan.travel_leader ?= {
NOT = { has_trait = forest_fighter }
}
}
}
}
}
}As written in game/common/scripted_triggers/00_travel_triggers.txt.
Where it is used
Every place in common/, events/ and history/ that calls is_character_not_specialized_in_terrain.
Events (2)
- … the Scenic Route
pilgrimage.2006 - Danger: Familiar Trees
travel_danger_events.1006
Source: game/common/scripted_triggers/00_travel_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.