76 lines
3.3 KiB
Text
76 lines
3.3 KiB
Text
|
|
##############################################################
|
||
|
|
# Structure
|
||
|
|
##############################################################
|
||
|
|
#
|
||
|
|
# These files comprise the Achievement Database.
|
||
|
|
#
|
||
|
|
# Achievements Flags
|
||
|
|
#
|
||
|
|
# When we add flags etc for achievements, we need to do it in a certain roundabout way, or else it'll trigger errors
|
||
|
|
# when running some of our automated tests. For context, these tests run the game without graphics, which for one
|
||
|
|
# reason or another, don't read achievements.
|
||
|
|
# Thus if the only place an achievement flag/variable is read is inside the achievement script, we end up with errors
|
||
|
|
# like these during the test:
|
||
|
|
#
|
||
|
|
# [15:36:43][jomini_effect.cpp:324]: Character flag 'rd_character_blocked_far_from_home_achievement' is set but is never used
|
||
|
|
# [15:36:43][jomini_effect.cpp:324]: Variable 'first_of_the_crusader_kings_achievement_flag' is set but is never used
|
||
|
|
#
|
||
|
|
# Instead use the scripted achievement effects such as add_achievement_flag_effect.
|
||
|
|
# They will suppress the above errors by adding dummy usages as well.
|
||
|
|
#
|
||
|
|
# Look for all effects in achievement_effects.txt, the different effects are used for different kinds of achievement checks.
|
||
|
|
|
||
|
|
# Key of the achievement. Name and description loc keys will use this as base in achievements_l_LANGUAGE.yml
|
||
|
|
# name: ACHIEVEMENT_your_achievement_key
|
||
|
|
# description: ACHIEVEMENT_DESC_your_achievement_key
|
||
|
|
your_achievement_key = {
|
||
|
|
|
||
|
|
### possible (trigger, optional)
|
||
|
|
#
|
||
|
|
# A player-character-scoped trigger that determines whether the achievement can ever be unlocked in this run.
|
||
|
|
# This allows the player to see which achievement they can aim for in this run. Can be empty and check for variables
|
||
|
|
#
|
||
|
|
# Scopes:
|
||
|
|
# root = the character being played
|
||
|
|
possible = {
|
||
|
|
}
|
||
|
|
|
||
|
|
### happened (trigger)
|
||
|
|
#
|
||
|
|
# A player-character-scoped trigger that determines whether the achievement was unlocked.
|
||
|
|
# In practice we always use a custom_description trigger to be able to show custom trigger text.
|
||
|
|
# The custom trigger descriptions are defined in XX_track_achievement_triggers.txt in the common/trigger_localization folder.
|
||
|
|
# After the text you can write the actual condition to unlock the achievement.
|
||
|
|
happened = {
|
||
|
|
custom_description = {
|
||
|
|
# Name of the custom trigger localization. Usually the structure to use in the achievement_triggers file goes like this:
|
||
|
|
#
|
||
|
|
# your_achievement_key_trigger = {
|
||
|
|
# global = ACHIEVEMENT_DESC_your_achievement_key
|
||
|
|
# }
|
||
|
|
text = your_achievement_key_trigger
|
||
|
|
|
||
|
|
### subject (optional)
|
||
|
|
# scope object of the subject of the text's phrase, to be used when localizing the text's variable entities (he/she/I...).
|
||
|
|
# This only affects the text localization. Generally unused for achievements.
|
||
|
|
subject = {}
|
||
|
|
|
||
|
|
### object (optional)
|
||
|
|
# scope object of the object of the text's phrase, to be used when localizing the text's variable entities (he/she/I...).
|
||
|
|
# This only affects the text localization. Generally unused for achievements.
|
||
|
|
object = {}
|
||
|
|
|
||
|
|
### value (optional)
|
||
|
|
# scope object of a numeric value to be used in the text's phrase.
|
||
|
|
# This only affects the text localization. Generally unused for achievements.
|
||
|
|
value = {}
|
||
|
|
|
||
|
|
# Everything else in this custom_description is counted as a Character-scoped trigger that checks if the current situation can unlock this achievement.
|
||
|
|
#
|
||
|
|
# Scopes:
|
||
|
|
# root = the character being played
|
||
|
|
exists = root.capital_province
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|