diff --git a/data/schema/core/actionwml.cfg b/data/schema/core/actionwml.cfg index 8a9982a6f3a..94262453f29 100644 --- a/data/schema/core/actionwml.cfg +++ b/data/schema/core/actionwml.cfg @@ -266,14 +266,42 @@ {SIMPLE_KEY location_id string} [/tag] [tag] - name="allow_recruit,disallow_recruit,set_recruit" + name="allow_recruit" max=infinite super="$filter_side" {INSERT_TAG} - {REQUIRED_KEY types string_list} + {REQUIRED_KEY type string_list} [/tag] [tag] - name="allow_extra_recruit,disallow_extra_recruit,set_extra_recruit" + name="disallow_recruit" + max=infinite + super="$filter_side" + {INSERT_TAG} + {SIMPLE_KEY type string_list} + [/tag] + [tag] + name="set_recruit" + max=infinite + super="$filter_side" + {INSERT_TAG} + {REQUIRED_KEY recruit string_list} + [/tag] + [tag] + name="allow_extra_recruit" + max=infinite + super="$filter_unit" + {INSERT_TAG} + {REQUIRED_KEY extra_recruit string_list} + [/tag] + [tag] + name="disallow_extra_recruit" + max=infinite + super="$filter_unit" + {INSERT_TAG} + {REQUIRED_KEY extra_recruit string_list} + [/tag] + [tag] + name="set_extra_recruit" max=infinite super="$filter_unit" {INSERT_TAG} @@ -391,7 +419,11 @@ {INSERT_TAG} {SIMPLE_KEY transform_to string} [/tag] - {FILTER_TAG "petrify,unpetrify" unit ( + {FILTER_TAG "petrify" unit ( + max=infinite + {INSERT_TAG} + )} + {FILTER_TAG "unpetrify" unit ( max=infinite {INSERT_TAG} )} @@ -418,6 +450,21 @@ {INSERT_TAG} {SIMPLE_KEY object_id string} [/tag] + [tag] + name="remove_trait" + max=infinite + super="$filter_unit" + {INSERT_TAG} + {SIMPLE_KEY trait_id string} + [/tag] + [tag] + name="remove_shroud" + max=infinite + super="$filter_location" + {INSERT_TAG} + {SIMPLE_KEY side s_unsigned_range_list} + {FILTER_TAG "filter_side" side {INSERT_TAG}} + [/tag] [tag] name="place_shroud" max=infinite @@ -442,7 +489,8 @@ {FILTER_TAG "filter_side" side {INSERT_TAG}} {DEFAULT_KEY reset_view s_bool no} [/tag] - {EMPTY_TAG "allow_undo,cancel_action" 0 infinite} + {EMPTY_TAG "allow_undo" 0 infinite} + {EMPTY_TAG "cancel_action" 0 infinite} {ACTION_TAG "on_undo" ( max=infinite {DEFAULT_KEY delayed_variable_substitution s_bool no} @@ -637,6 +685,27 @@ {INSERT_TAG} {DEFAULT_KEY heal s_bool no} [/tag] + [tag] + name="set_achievement" + max=infinite + {REQUIRED_KEY content_for string} + {REQUIRED_KEY id string} + [/tag] + [tag] + name="set_sub_achievement" + max=infinite + {REQUIRED_KEY content_for string} + {REQUIRED_KEY id string} + {REQUIRED_KEY sub_id string} + [/tag] + [tag] + name="progress_achievement" + max=infinite + {REQUIRED_KEY content_for string} + {REQUIRED_KEY id string} + {REQUIRED_KEY amount s_int} + {SIMPLE_KEY limit s_int} + [/tag] # Display actions (InterfaceActionsWML) [tag] name="inspect" @@ -826,11 +895,16 @@ {SIMPLE_KEY skip_steps s_unsigned} [/tag] [/tag] - {FILTER_TAG "hide_unit,unhide_unit" unit ( + {FILTER_TAG "hide_unit" unit ( max=infinite {INSERT_TAG} )} - {EMPTY_TAG "lock_view,unlock_view" 0 infinite} + {FILTER_TAG "unhide_unit" unit ( + max=infinite + {INSERT_TAG} + )} + {EMPTY_TAG "lock_view" 0 infinite} + {EMPTY_TAG "unlock_view" 0 infinite} [tag] name="scroll" max=infinite @@ -882,6 +956,12 @@ max=infinite super="scenario/story" [/tag] + [tag] + name="remove_sound_source" + max=infinite + {REQUIRED_KEY id string} + [/tag] + {LINK_TAG "titlescreen_music/music"} [tag] name="volume" @@ -915,11 +995,21 @@ {DEFAULT_KEY clear_shroud s_bool no} [/tag] [tag] - name="unit_overlay,remove_unit_overlay" + name="unit_overlay" max=infinite super="$filter_unit" {INSERT_TAG} {REQUIRED_KEY image string} + {SIMPLE_KEY object_id string} + {SIMPLE_KEY duration object_duration} + [/tag] + [tag] + name="remove_unit_overlay" + max=infinite + super="$filter_unit" + {INSERT_TAG} + {REQUIRED_KEY image string} + {SIMPLE_KEY object_id string} [/tag] [tag] name="animate_unit" @@ -1279,7 +1369,9 @@ {FILTER_TAG "filter_location" location {INSERT_TAG}} {ACTION_TAG "command" min=1} [/tag] - {EMPTY_TAG "break,continue,return" 0 infinite} + {EMPTY_TAG "break" 0 infinite} + {EMPTY_TAG "continue" 0 infinite} + {EMPTY_TAG "return" 0 infinite} [tag] name="micro_ai" max=infinite diff --git a/data/schema/core/addons.cfg b/data/schema/core/addons.cfg index 14e56af152f..a8611e6e389 100644 --- a/data/schema/core/addons.cfg +++ b/data/schema/core/addons.cfg @@ -383,6 +383,15 @@ name="then" super="scenario/story/part" [/tag] + [tag] + name="elseif" + max=infinite + super="$conditional_wml" + [tag] + name="then" + super="scenario/story/part" + [/tag] + [/tag] [tag] name="else" super="scenario/story/part" @@ -415,6 +424,15 @@ name="then" super="scenario/story" [/tag] + [tag] + name="elseif" + max=infinite + super="$conditional_wml" + [tag] + name="then" + super="scenario/story/part" + [/tag] + [/tag] [tag] name="else" super="scenario/story" diff --git a/data/schema/core/conditionalwml.cfg b/data/schema/core/conditionalwml.cfg index 149b5573a0d..1e6f784624b 100644 --- a/data/schema/core/conditionalwml.cfg +++ b/data/schema/core/conditionalwml.cfg @@ -5,7 +5,12 @@ max=0 {INSERT_TAG} [tag] - name="true,false" + name="true" + max=infinite + {INSERT_TAG} + [/tag] + [tag] + name="false" max=infinite {INSERT_TAG} [/tag] @@ -48,7 +53,15 @@ {EMPTY_TAG "proceed_to_next_scenario" 0 infinite} {LINK_TAG "lua"} [tag] - name="and,or,not" + name="and" + super="$conditional_wml" + [/tag] + [tag] + name="or" + super="$conditional_wml" + [/tag] + [tag] + name="not" super="$conditional_wml" [/tag] any_tag=yes