The following scope types can be defined as the "type" in a "type = X" argument. It should match whatever scope you use the custom loc command in. artifact character landed_title province activity secret scheme combat combat_side title_and_vassal_change faith dynasty all # Accepts any scope type, but you can then only really check triggers that can be used on anything, else you'll get run time issues instead of read time ones == format == key = { type = scope text = { # Run before the trigger is evaluated, can save scopes which you then check # for in the trigger directly. These scopes can be referenced in the loc key. # Only interface effects are valid so the game state can not be modified setup_scope = { } # What triggers should be true for this to be a valid text entry # Interface triggers are valid such as checking if a window is open # The first trigger that matches returns the relevant localization_key text trigger = { } # The localization key, has the scopes from setup_scope accessible localization_key = string # Optional; will cause this one to be picked if no entry is valid fallback = yes } ... random_valid = yes # Optional, will randomize instead of picking first valid } You can also add variants: key = { parent = some_custom_loc_key suffix = "_suffix" } The logic of the parent will be run, then the suffix is added to the custom loc key.