mirror of
https://github.com/wesnoth/wesnoth
synced 2025-05-21 22:21:02 +00:00
529 lines
12 KiB
INI
529 lines
12 KiB
INI
{./macros.cfg}
|
|
|
|
#define INSERT_TAG
|
|
[tag]
|
|
name="insert_tag"
|
|
max=infinite
|
|
{SIMPLE_KEY name string}
|
|
{SIMPLE_KEY variable string}
|
|
[/tag]
|
|
#enddef
|
|
|
|
[wml_schema]
|
|
# TODO: Or should we just include {./types}?
|
|
{./types/basic.cfg}
|
|
{./types/lists.cfg}
|
|
{./types/formula.cfg}
|
|
{./types/subst.cfg}
|
|
{./types/pango.cfg}
|
|
[type]
|
|
name=int_percent
|
|
value="-?\d+%?"
|
|
[/type]
|
|
[type]
|
|
name="version"
|
|
value="\d+(\.\d+(\.\d+)?)"
|
|
[/type]
|
|
[type]
|
|
name="text_alignment"
|
|
value="right|left|center"
|
|
[/type]
|
|
[type]
|
|
name="ability_context"
|
|
value="offense|defense|both"
|
|
[/type]
|
|
[type]
|
|
name="ability_apply"
|
|
value="self|opponent|attacker|defender|both"
|
|
[/type]
|
|
[type]
|
|
name="ability_overwrite"
|
|
value="none|one_side|both_sides"
|
|
[/type]
|
|
[type]
|
|
name="bool_or_empty"
|
|
[list]
|
|
[element]
|
|
value="true|false|yes|no|none"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="addon_type"
|
|
value="sp|mp|hybrid"
|
|
[/type]
|
|
[type]
|
|
name="gender"
|
|
value="male|female"
|
|
[/type]
|
|
[type]
|
|
name="upkeep"
|
|
value="loyal|free|full|\d+"
|
|
[/type]
|
|
[type]
|
|
name="controller"
|
|
# TODO: Is "computer" a valid value?
|
|
value="ai|computer|human|null|\d+"
|
|
[/type]
|
|
[type]
|
|
name="share_vision"
|
|
value="all|shroud|none"
|
|
[/type]
|
|
[type]
|
|
name="defeat_condition"
|
|
value="no_leader_left|no_units_left|never|always"
|
|
[/type]
|
|
[type]
|
|
name="root_base"
|
|
[union]
|
|
[type]
|
|
link=unsigned
|
|
[/type]
|
|
[type]
|
|
value="square|cube"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
# definition of unsigned_range_list and s_unsigned_range_list, before macros are expanded
|
|
{LIST_TYPE_COMPLEX unsigned_range (
|
|
[element]
|
|
value="\d+"
|
|
[/element]
|
|
[element]
|
|
value="\d+-\d+"
|
|
[/element]
|
|
[element]
|
|
value="\d+-infinity"
|
|
[/element]
|
|
)}
|
|
# definition of int_range_list and s_int_range_list, before macros are expanded
|
|
{LIST_TYPE_COMPLEX int_range (
|
|
[element]
|
|
value="(-?)\d+"
|
|
[/element]
|
|
[element]
|
|
value="-\d+-(-?)\d+"
|
|
[/element]
|
|
[element]
|
|
# If the first number is positive, the second one has to be too
|
|
value="\d+-\d+"
|
|
[/element]
|
|
[element]
|
|
value="-infinity-(-?)\d+"
|
|
[/element]
|
|
[element]
|
|
value="(-?)\d+-infinity"
|
|
[/element]
|
|
)}
|
|
# definition of real_range_list and s_real_range_list, before macros are expanded
|
|
{LIST_TYPE_COMPLEX real_range (
|
|
[element]
|
|
value="(-?)\d+(\.\d+)?"
|
|
[/element]
|
|
[element]
|
|
value="-\d+(\.\d+)?-(-?)\d+(\.\d+)?"
|
|
[/element]
|
|
[element]
|
|
# If the first number is positive, the second one has to be too
|
|
value="\d+(\.\d+)?-\d+(\.\d+)?"
|
|
[/element]
|
|
[element]
|
|
value="-infinity-(-?)\d+(\.\d+)?"
|
|
[/element]
|
|
[element]
|
|
value="(-)?\d+(\.\d+)?-infinity"
|
|
[/element]
|
|
)}
|
|
[type]
|
|
name=s_int_range_list_default
|
|
[union]
|
|
[type]
|
|
link=s_int_range_list
|
|
[/type]
|
|
[type]
|
|
value=default
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name=s_real_range_list_default
|
|
[union]
|
|
[type]
|
|
link=s_real_range_list
|
|
[/type]
|
|
[type]
|
|
value=default
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name=alignment
|
|
value="lawful|neutral|chaotic|liminal"
|
|
[/type]
|
|
[type]
|
|
name=mask_alignment
|
|
value="even|odd|raw"
|
|
[/type]
|
|
[type]
|
|
name=ai_usage
|
|
value="scout|fighter|archer|mixed fighter|healer|null"
|
|
[/type]
|
|
[type]
|
|
name=terrain_code
|
|
value="^[A-Za-z\\|/\*\^_]+$"
|
|
[/type]
|
|
[type]
|
|
name=terrain_list
|
|
# value="([A-Za-z\\|/\*\^_]+|!)(,([A-Za-z\\|/\*\^_]+|!))*"
|
|
[list]
|
|
[element]
|
|
link="terrain_code"
|
|
[/element]
|
|
[element]
|
|
value="!"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="map_data"
|
|
[list]
|
|
split="\s*\n\s*"
|
|
[element]
|
|
[list]
|
|
[element]
|
|
value="([a-zA-Z0-9_]+\s+)*[A-Za-z\\|/\^_]+"
|
|
[/element]
|
|
[/list]
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name=terrain_layer
|
|
value="overlay|base|both"
|
|
[/type]
|
|
[type]
|
|
name="shroud_data"
|
|
[list]
|
|
split="\n"
|
|
[element]
|
|
value="\|[01]*"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name=irdya_date
|
|
value="\d+ [A-Z][A-Z]"
|
|
[/type]
|
|
[type]
|
|
name=prog_string
|
|
value=".*"
|
|
[/type]
|
|
[type]
|
|
name=prog_int
|
|
value=".*"
|
|
[/type]
|
|
[type]
|
|
name=prog_real
|
|
value=".*"
|
|
[/type]
|
|
[type]
|
|
name="dir"
|
|
value="-?([ns][ew]?)(:cc?w)?"
|
|
[/type]
|
|
{LIST_TYPE dir}
|
|
[type]
|
|
name="dir_count"
|
|
value="-?([ns][ew]?)(:cc?w)?(:\d+)?"
|
|
[/type]
|
|
{LIST_TYPE dir_count}
|
|
[type]
|
|
name="anim_hits"
|
|
[union]
|
|
[type]
|
|
link=bool
|
|
[/type]
|
|
[type]
|
|
value="hit|miss|kill"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
{LIST_TYPE anim_hits}
|
|
[type]
|
|
name="color"
|
|
value="\d+,\d+,\d+"
|
|
[/type]
|
|
[type]
|
|
name="hex"
|
|
value="[A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9][A-Fa-f0-9]"
|
|
[/type]
|
|
[type]
|
|
name="hex_list"
|
|
[list]
|
|
split=","
|
|
[element]
|
|
link="hex"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="server_address"
|
|
value="[_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)+:\d+"
|
|
[/type]
|
|
[type]
|
|
name="effect_times"
|
|
[union]
|
|
[type]
|
|
link=int
|
|
[/type]
|
|
[type]
|
|
value="per level"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="effect_set_special_mode"
|
|
value="append|replace"
|
|
[/type]
|
|
[type]
|
|
name="set_variables_mode"
|
|
value="append|replace|merge|insert"
|
|
[/type]
|
|
[type]
|
|
name="store_unit_mode"
|
|
value="append|replace|always_clear"
|
|
[/type]
|
|
[type]
|
|
name="ai_grouping"
|
|
value="offensive|defensive|no"
|
|
[/type]
|
|
[type]
|
|
name="ai_engine"
|
|
value="cpp|lua|fai"
|
|
[/type]
|
|
[type]
|
|
name="ai_ca_formula_type"
|
|
value="movement|attack"
|
|
[/type]
|
|
[type]
|
|
name="ai_modify_action"
|
|
value="add|change|(try_)?delete"
|
|
[/type]
|
|
[type]
|
|
name="ai_modify_path"
|
|
[union]
|
|
# Toplevel components
|
|
[type]
|
|
value="(aspect|goal|stage)\[[^\]]*\]"
|
|
[/type]
|
|
# Facets
|
|
[type]
|
|
value="aspect\[[^\]]*\](\.facet\[[^\]]*\])+"
|
|
[/type]
|
|
# Recruitment jobs
|
|
[type]
|
|
value="aspect\[\s*recruitment_instructions\s*]*\](\.facet\[[^\]]*\])+\.(recruit|limit)\[[^\]]*\]"
|
|
[/type]
|
|
# Candidate actions
|
|
[type]
|
|
value="stage\[[^\]]*\]\.candidate_action\[[^\]]*\]"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="endlevel_result"
|
|
value="victory|defeat"
|
|
[/type]
|
|
[type]
|
|
name="object_duration"
|
|
value="scenario|forever|turn|turn[ _]end"
|
|
[/type]
|
|
[type]
|
|
name="heal_amount"
|
|
[union]
|
|
[type]
|
|
link=s_int
|
|
[/type]
|
|
[type]
|
|
value="full"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="image_pos"
|
|
value="left|right"
|
|
[/type]
|
|
[type]
|
|
name="objective_condition"
|
|
value="win|lose"
|
|
[/type]
|
|
[type]
|
|
name="deprecation_level"
|
|
value="[1-4]"
|
|
[/type]
|
|
[type]
|
|
name="logger"
|
|
value="err(or)?|warn(ing)?|debug|log|info"
|
|
[/type]
|
|
[type]
|
|
name="stamp"
|
|
value="stamp"
|
|
[/type]
|
|
[type]
|
|
name="rounding_method"
|
|
[union]
|
|
[type]
|
|
link=int
|
|
[/type]
|
|
[type]
|
|
value="floor|ceil|trunc"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="reachable_range"
|
|
value="movement|attack|vision"
|
|
[/type]
|
|
[type]
|
|
name="reachable_moves"
|
|
value="current|max"
|
|
[/type]
|
|
[type]
|
|
name="find_path_nearest_by"
|
|
value="movement_cost|hexes|steps"
|
|
[/type]
|
|
[type]
|
|
name="search_recall_list"
|
|
[union]
|
|
[type]
|
|
link=bool
|
|
[/type]
|
|
[type]
|
|
value="only"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="micro_ai_action"
|
|
value="add|delete|change"
|
|
[/type]
|
|
[type]
|
|
name="coordinate"
|
|
[union]
|
|
[type]
|
|
link=int
|
|
[/type]
|
|
[type]
|
|
value="recall"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="coordinates"
|
|
[union]
|
|
[type]
|
|
link=unsigned_range_list
|
|
[/type]
|
|
[type]
|
|
value="recall"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="map_transform"
|
|
[list]
|
|
[element]
|
|
value="flip_(x|y|xy)"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="unlimited"
|
|
value="-1|unlimited"
|
|
[/type]
|
|
{SUBST_TYPE coordinate}
|
|
{SUBST_TYPE coordinates}
|
|
{SUBST_TYPE unsigned_range_list}
|
|
{SUBST_TYPE int_range_list}
|
|
{SUBST_TYPE real_range_list}
|
|
{SUBST_TYPE terrain_code}
|
|
{SUBST_TYPE terrain_list}
|
|
{SUBST_TYPE dir}
|
|
{SUBST_TYPE dir_list}
|
|
{SUBST_TYPE int_percent}
|
|
{SUBST_TYPE anim_hits}
|
|
{SUBST_TYPE f_int}
|
|
{SUBST_TYPE alignment}
|
|
{SUBST_TYPE bool_or_empty}
|
|
[type]
|
|
name="global"
|
|
value="global"
|
|
[/type]
|
|
[type]
|
|
name="only"
|
|
value="only"
|
|
[/type]
|
|
[type]
|
|
name="topic_sort"
|
|
[union]
|
|
[type]
|
|
link=bool
|
|
[/type]
|
|
[type]
|
|
value="generated"
|
|
[/type]
|
|
[/union]
|
|
[/type]
|
|
[type]
|
|
name="resolution"
|
|
[list]
|
|
split="x"
|
|
min=2
|
|
max=2
|
|
[element]
|
|
link=int
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="theme_rect"
|
|
[list]
|
|
min=4
|
|
max=4
|
|
[element]
|
|
link=int
|
|
[/element]
|
|
[element]
|
|
value="="
|
|
[/element]
|
|
[element]
|
|
value="=?[-+]\d+"
|
|
[/element]
|
|
[/list]
|
|
[/type]
|
|
[type]
|
|
name="theme_anchor"
|
|
value="top|left|bottom|right|fixed|proportional"
|
|
[/type]
|
|
[type]
|
|
name="theme_action"
|
|
value="checkbox|radiobox|image|turbo"
|
|
[/type]
|
|
[tag]
|
|
name="root"
|
|
min=1
|
|
{./filters}
|
|
{./core}
|
|
{./ai}
|
|
{./units}
|
|
{./terrain}
|
|
{./editor}
|
|
[tag]
|
|
name="lua"
|
|
max=infinite
|
|
{SIMPLE_KEY name string}
|
|
{SIMPLE_KEY code string}
|
|
{DATA_TAG args 0 1 any}
|
|
[/tag]
|
|
[/tag]
|
|
[/wml_schema]
|