wesnoth/data/schema/core/addons.cfg
2019-10-02 05:59:58 +02:00

578 lines
13 KiB
INI

#define ADDON_DESCRIPTION
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
#enddef
#define BASE_COMPATIBILITY_KEYS
{DEFAULT_KEY allow_new_game bool yes}
{SIMPLE_KEY allow_era string_list}
{SIMPLE_KEY disallow_era string_list}
{SIMPLE_KEY ignore_incompatible_era string_list}
{SIMPLE_KEY allow_modification string_list}
{SIMPLE_KEY disallow_modification string_list}
{SIMPLE_KEY ignore_incompatible_modification string_list}
#enddef
[tag]
name="$side"
max=0
[if]
[not]
no_leader=yes
[/not]
[then]
super="units/$unit"
[/then]
[/if]
{DEFAULT_KEY no_leader bool no}
{SIMPLE_KEY recruit string}
{DEFAULT_KEY gold int 100}
{DEFAULT_KEY income int 0}
{DEFAULT_KEY hidden bool no}
{SIMPLE_KEY fog bool}
{SIMPLE_KEY shroud bool}
{SIMPLE_KEY fog_data shroud_data}
{SIMPLE_KEY shroud_data shroud_data}
{SIMPLE_KEY persistent bool}
{SIMPLE_KEY save_id string}
{SIMPLE_KEY previous_save_id string}
{SIMPLE_KEY team_name string}
{SIMPLE_KEY user_team_name t_string}
{SIMPLE_KEY current_player string}
{SIMPLE_KEY side_name t_string}
{SIMPLE_KEY color string}
{SIMPLE_KEY flag string}
{SIMPLE_KEY flag_icon string}
{SIMPLE_KEY village_gold int}
{SIMPLE_KEY village_support int}
{SIMPLE_KEY recall_cost int}
{DEPRECATED_KEY share_maps string}
{DEPRECATED_KEY share_view string}
{SIMPLE_KEY share_vision share_vision}
{DEFAULT_KEY scroll_to_leader bool yes}
{DEFAULT_KEY suppress_end_turn_confirmation bool no}
{DEFAULT_KEY defeat_condition defeat_condition no_leader_left}
[tag]
name="unit"
max=infinite
super="units/$unit"
[/tag]
[tag]
name="leader"
max=infinite
super="units/$unit"
[/tag]
[tag]
name="village"
max=infinite
{SIMPLE_KEY x int}
{SIMPLE_KEY y int}
[/tag]
[tag]
name="fog_override"
max=infinite
{SIMPLE_KEY x range_list}
{SIMPLE_KEY y range_list}
[/tag]
[tag]
name="ai"
max=infinite
super="$ai"
[/tag]
{DEFAULT_KEY allow_player bool yes}
{DEFAULT_KEY disallow_observers bool no}
{DEFAULT_KEY disallow_shuffle bool no}
{SIMPLE_KEY chose_random bool}
{DEFAULT_KEY controller_lock bool no}
{DEFAULT_KEY team_lock bool no}
{DEFAULT_KEY color_lock bool no}
{DEFAULT_KEY gold_lock bool no}
{DEFAULT_KEY income_lock bool no}
{DEFAULT_KEY faction_lock bool no}
{DEFAULT_KEY leader_lock bool no}
{SIMPLE_KEY faction string}
{SIMPLE_KEY faction_from_recruit bool}
[/tag]
[tag]
name="multiplayer_side"
max=infinite
super="$side"
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
{SIMPLE_KEY image string}
{SIMPLE_KEY leader string}
{SIMPLE_KEY random_leader string}
{DEFAULT_KEY random_faction bool no}
[if]
random_faction=no
[then]
{SIMPLE_KEY choices string_list}
{SIMPLE_KEY except string_list}
[/then]
[/if]
{SIMPLE_KEY terrain_liked terrain_list}
[/tag]
[tag]
name="event"
max=infinite
super="$action_wml"
{SIMPLE_KEY name string}
{SIMPLE_KEY id string}
{DEFAULT_KEY first_time_only bool yes}
{DEFAULT_KEY delayed_variable_substitution bool no}
{FILTER_TAG "filter" unit ()}
{FILTER_TAG "filter_second" unit ()}
{FILTER_TAG "filter_attack" weapon ()}
{FILTER_TAG "filter_second_attack" weapon ()}
{FILTER_TAG "filter_side" side ()}
[tag]
name="filter_condition"
super="$conditional_wml"
[/tag]
[/tag]
[tag]
name="$addon"
max=0
{REQUIRED_KEY id string}
# Not sure if this key is allowed in all addons, but it should be...
{SIMPLE_KEY addon_min_version version}
[tag]
name="load_resource"
max=infinite
{REQUIRED_KEY id string}
[/tag]
{LINK_TAG "event"}
{LINK_TAG "lua"}
{LINK_TAG "ais/ai"}
[/tag]
[tag]
name="campaign"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY icon string}
{SIMPLE_KEY abbrev t_string}
{SIMPLE_KEY image string}
{DEFAULT_KEY description_alignment text_alignment left}
{DEFAULT_KEY type addon_type sp}
{SIMPLE_KEY define string}
{SIMPLE_KEY extra_defines string_list}
{DEPRECATED_KEY difficulties string_list}
{DEPRECATED_KEY difficulty_descriptions string}
{DEFAULT_KEY allow_difficulty_change bool yes}
{REQUIRED_KEY first_scenario string}
{SIMPLE_KEY rank int}
{DEFAULT_KEY end_credits bool yes}
{SIMPLE_KEY end_text t_string}
{DEFAULT_KEY end_text_duration int 3500}
{SIMPLE_KEY start_year irdya_date}
{SIMPLE_KEY end_year irdya_date}
{SIMPLE_KEY year irdya_date}
{LINK_TAG "era/options"}
{LINK_TAG "about"}
[tag]
name="difficulty"
max=infinite
{REQUIRED_KEY define string}
{SIMPLE_KEY image string}
{SIMPLE_KEY label t_string}
{SIMPLE_KEY description t_string}
{SIMPLE_KEY default bool}
[/tag]
# Multiplayer specific
# TODO: These are probably only allowed if type is mp or hybrid?
[if]
[not]
type=sp
[/not]
[then]
{DEFAULT_KEY min_players int 2}
{SIMPLE_KEY max_players int}
{DEFAULT_KEY allow_era_choice bool yes}
{DEFAULT_KEY require_campaign bool yes}
[/then]
[/if]
[/tag]
[tag]
name="era"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY force_modification string_list}
{SIMPLE_KEY require_era bool}
{DEFAULT_KEY hide_help bool no}
{DEFAULT_KEY type addon_type sp}
{LINK_TAG "multiplayer_side"}
[tag]
name="options"
[tag]
name="checkbox"
max=infinite
{REQUIRED_KEY id string}
{DEFAULT_KEY default bool no}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="choice"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[tag]
name="item"
max=infinite
{REQUIRED_KEY value string}
{SIMPLE_KEY name t_string}
[/tag]
[/tag]
[tag]
name="entry"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="slider"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY default int}
{SIMPLE_KEY min int}
{SIMPLE_KEY max int}
{SIMPLE_KEY step int}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY description t_string}
[/tag]
[tag]
name="combo"
max=infinite
super="era/options/choice"
deprecated=yes
[/tag]
[/tag]
[/tag]
[tag]
name="modification"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY type addon_type}
{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY ignore_incompatible_scenario string_list}
{DEFAULT_KEY require_modification bool no}
{LINK_TAG "era/options"}
[/tag]
[tag]
name="resource"
max=infinite
super="$addon"
[/tag]
[tag]
name="scenario"
max=infinite
super="$addon"
{ADDON_DESCRIPTION}
{SIMPLE_KEY next_scenario string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY map_data map_data}
{SIMPLE_KEY map_file string}
{DEFAULT_KEY turns turns unlimited}
{DEFAULT_KEY turn_at int 1}
{DEFAULT_KEY random_start_time bool,int_list no}
{DEPRECATED_KEY music string}
{SIMPLE_KEY defeat_music string}
{SIMPLE_KEY victory_music string}
{SIMPLE_KEY theme string_list}
{DEFAULT_KEY victory_when_enemies_defeated bool yes}
[if]
[not]
victory_when_enemies_defeated=no
[/not]
[then]
{SIMPLE_KEY carryover_percentage int}
{SIMPLE_KEY carryover_add bool}
[/then]
[else]
{DEFAULT_KEY carryover_percentage int 80}
{DEFAULT_KEY carryover_add bool no}
[/else]
[/if]
{DEFAULT_KEY remove_from_carryover_on_defeat bool yes}
{DEFAULT_KEY disallow_recall bool no}
{DEFAULT_KEY experience_modifier int_percent 100}
{DEFAULT_KEY current_time int 0}
{SIMPLE_KEY map_generation string}
{SIMPLE_KEY scenario_generation string}
{SIMPLE_KEY force_lock_settings bool}
[tag]
name="story"
max=infinite
{SIMPLE_KEY title string}
{INSERT_TAG}
# TODO: Is this really recognized at story toplevel? Wiki claims it is.
[tag]
name="image"
max=infinite
{INSERT_TAG}
{SIMPLE_KEY x int}
{SIMPLE_KEY y int}
{SIMPLE_KEY centered bool}
{SIMPLE_KEY file string}
{SIMPLE_KEY delay int}
# These keys possibly not documented?
{SIMPLE_KEY scale_vertically bool}
{SIMPLE_KEY scale_horizontally bool}
{SIMPLE_KEY scale bool}
{SIMPLE_KEY tile_vertically bool}
{SIMPLE_KEY tile_horizontally bool}
{SIMPLE_KEY tile bool}
[/tag]
[tag]
name="part"
max=infinite
{INSERT_TAG}
{SIMPLE_KEY background string}
{DEFAULT_KEY scale_background bool yes}
{SIMPLE_KEY story t_string}
{SIMPLE_KEY show_title bool}
{SIMPLE_KEY title t_string}
{SIMPLE_KEY music string}
{SIMPLE_KEY sound string_list}
{DEFAULT_KEY text_layout string bottom}
{DEFAULT_KEY title_alignment text_alignment left}
{SIMPLE_KEY delay int} # Not documented?
[tag]
name="background_layer"
max=infinite
{INSERT_TAG}
{SIMPLE_KEY image string}
{SIMPLE_KEY scale_vertically bool}
{SIMPLE_KEY scale_horizontally bool}
{SIMPLE_KEY scale bool}
{SIMPLE_KEY keep_aspect_ratio bool}
{SIMPLE_KEY tile_vertically bool}
{SIMPLE_KEY tile_horizontally bool}
{SIMPLE_KEY tile bool}
{SIMPLE_KEY base_layer bool}
[/tag]
[tag]
name="if"
max=infinite
super="$conditional_wml"
[tag]
name="then"
super="scenario/story/part"
[/tag]
[tag]
name="else"
super="scenario/story/part"
[/tag]
[/tag]
[tag]
name="switch"
max=infinite
{REQUIRED_KEY variable string}
{INSERT_TAG}
[tag]
name="case"
max=infinite
super="scenario/story/part"
{REQUIRED_KEY value string}
[/tag]
[tag]
name="else"
super="scenario/story/part"
[/tag]
[/tag]
{LINK_TAG "scenario/story/image"}
{LINK_TAG "$action_wml/deprecated_message"}
{LINK_TAG "$action_wml/wml_message"}
[/tag]
[tag]
name="if"
max=infinite
super="$conditional_wml"
[tag]
name="then"
super="scenario/story"
[/tag]
[tag]
name="else"
super="scenario/story"
[/tag]
[/tag]
[tag]
name="switch"
max=infinite
{REQUIRED_KEY variable string}
{INSERT_TAG}
[tag]
name="case"
max=infinite
super="scenario/story"
{REQUIRED_KEY value string}
[/tag]
[tag]
name="else"
super="scenario/story"
[/tag]
[/tag]
{LINK_TAG "$action_wml/deprecated_message"}
{LINK_TAG "$action_wml/wml_message"}
[/tag]
[tag]
name="label"
max=infinite
{SIMPLE_KEY x s_range_list}
{SIMPLE_KEY y s_range_list}
{SIMPLE_KEY text t_string}
{SIMPLE_KEY tooltip t_string} # Is this documented?
{SIMPLE_KEY immutable s_bool}
{SIMPLE_KEY visible_in_fog s_bool}
{SIMPLE_KEY visible_in_shroud s_bool}
{SIMPLE_KEY team_name string}
{SIMPLE_KEY color s_color}
[/tag]
[tag]
name="item"
max="infinite"
{SIMPLE_KEY x range_list}
{SIMPLE_KEY y range_list}
{SIMPLE_KEY image string}
{SIMPLE_KEY halo string}
{SIMPLE_KEY team_name string}
{DEFAULT_KEY visible_in_fog bool yes}
[/tag]
[tag]
name="time"
max=infinite
{REQUIRED_KEY id string}
{SIMPLE_KEY name t_string}
{SIMPLE_KEY image string}
{SIMPLE_KEY mask string}
{SIMPLE_KEY lawful_bonus int}
{SIMPLE_KEY liminal_bonus int}
{SIMPLE_KEY red int}
{SIMPLE_KEY green int}
{SIMPLE_KEY blue int}
{SIMPLE_KEY sound string}
[/tag]
[tag]
name="time_area"
max=infinite
{SIMPLE_KEY x range_list}
{SIMPLE_KEY y range_list}
{DEFAULT_KEY current_time int 0}
{LINK_TAG "scenario/time"}
[/tag]
[tag]
name="side"
max=infinite
super="$side"
{REQUIRED_KEY side int}
{SIMPLE_KEY controller controller}
{SIMPLE_KEY allow_player bool}
{SIMPLE_KEY disallow_observers bool}
{SIMPLE_KEY faction_lock bool}
{SIMPLE_KEY leader_lock bool}
{SIMPLE_KEY team_lock bool}
{SIMPLE_KEY gold_lock bool}
{SIMPLE_KEY income_lock bool}
{SIMPLE_KEY controller_lock bool}
{SIMPLE_KEY color_lock bool}
[/tag]
[tag]
name="display"
{SIMPLE_KEY view_locked bool}
{SIMPLE_KEY color_adjust_red unsigned}
{SIMPLE_KEY color_adjust_green unsigned}
{SIMPLE_KEY color_adjust_blue unsigned}
[tag]
name="location"
{REQUIRED_KEY x unsigned}
{REQUIRED_KEY y unsigned}
[/tag]
[/tag]
[tag]
name="sound_source"
max=infinite
{SIMPLE_KEY id string}
{SIMPLE_KEY sounds string_list}
{SIMPLE_KEY delay s_unsigned}
{SIMPLE_KEY chance s_unsigned}
{SIMPLE_KEY check_fogged s_bool}
{SIMPLE_KEY check_shrouded s_bool}
{SIMPLE_KEY x s_range_list}
{SIMPLE_KEY y s_range_list}
{DEFAULT_KEY fade_range s_unsigned 3}
{DEFAULT_KEY full_range s_unsigned 14}
{SIMPLE_KEY loop s_int}
[/tag]
{LINK_TAG "titlescreen_music/music"}
{LINK_TAG "terrain_graphics"}
{LINK_TAG "game_config/color_palette"}
{LINK_TAG "game_config/color_range"}
# TODO: Document [menu_item] and [undo_stack]
[if]
map_generation=default
[or]
scenario_generation=default
[/or]
[then]
{./mapgen/default.cfg}
[/then]
[elseif]
map_generation=lua
[or]
scenario_generation=lua
[/or]
[then]
{./mapgen/lua.cfg}
[/then]
[/elseif]
[/if]
{DATA_TAG variables 0 1}
# TODO: These are needed here for MP campaigns... can we work around that somehow?
{SIMPLE_KEY new_game_title t_string}
{BASE_COMPATIBILITY_KEYS}
[/tag]
[tag]
name="test"
max=infinite
super="scenario"
{SIMPLE_KEY is_unit_test bool}
[/tag]
[tag]
name="tutorial"
max=infinite
super="scenario"
[/tag]
[tag]
name="multiplayer"
max=infinite
super="scenario"
#{SIMPLE_KEY new_game_title t_string}
#{BASE_COMPATIBILITY_KEYS}
{SIMPLE_KEY force_modification string_list}
{SIMPLE_KEY require_scenario bool}
{SIMPLE_KEY mp_village_gold int}
{SIMPLE_KEY define string}
{LINK_TAG "era/options"}
[/tag]
[tag]
name="generic_multiplayer"
max=infinite
super="multiplayer"
[/tag]