mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-29 21:58:34 +00:00
393 lines
12 KiB
INI
393 lines
12 KiB
INI
#textdomain wesnoth
|
|
# These are clutter, scheduled to be removed.
|
|
|
|
# ! in comments is used for generating HTML documentation, ignore it otherwise.
|
|
|
|
#wmllint: markcheck off
|
|
#define DEPRECATE_ACTION_MACRO MACRO_NAME LEVEL VERSION_NAME MESSAGE
|
|
# Tag ActionWML macros for removal, where VERSION_NAME is the the next development series from the date of deprecation.
|
|
[deprecated_message]
|
|
what={MACRO_NAME}
|
|
level={LEVEL}
|
|
version={VERSION_NAME}
|
|
message={MESSAGE}
|
|
[/deprecated_message]
|
|
#enddef
|
|
#wmllint: markcheck on
|
|
|
|
#define DEPRECATED_UNIT OLD_NAME NEW_NAME VERSION_NAME
|
|
# Tag [unit_type] for removal, where VERSION_NAME is the the next development series from the date of deprecation.
|
|
# NEW_NAME can be an empty string to indicate that there's no replacement.
|
|
# Place this macro in the [unit_type] definition.
|
|
hide_help=yes
|
|
do_not_list=yes
|
|
[event]
|
|
id=unit_deprecation_message_{OLD_NAME}
|
|
name=unit placed
|
|
[filter]
|
|
type={OLD_NAME}
|
|
[/filter]
|
|
|
|
{VARIABLE deprecation__temporary__variable__ {NEW_NAME}}
|
|
[if]
|
|
{VARIABLE_CONDITIONAL deprecation__temporary__variable__ equals ""}
|
|
[else]
|
|
{VARIABLE_OP deprecation__temporary__variable__ prefix _"This unit has been renamed to: "}
|
|
[/else]
|
|
[/if]
|
|
|
|
[deprecated_message]
|
|
what={OLD_NAME}
|
|
level=3
|
|
message=$deprecation__temporary__variable__
|
|
version={VERSION_NAME}
|
|
[/deprecated_message]
|
|
|
|
{CLEAR_VARIABLE deprecation__temporary__variable__}
|
|
[/event]
|
|
#enddef
|
|
|
|
#define EARLY_FINISH_BONUS_NOTE
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]bonus=yes instead.
|
|
_"Early finish bonus."#enddef
|
|
|
|
#define NO_EARLY_FINISH_BONUS_NOTE
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]bonus=no instead.
|
|
_"No early finish bonus."#enddef
|
|
|
|
#define NO_GOLD_CARRYOVER_NOTE
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]carryover_percentage=0 instead.
|
|
_"No gold carried over to the next scenario."#enddef
|
|
|
|
#define NEW_GOLD_CARRYOVER_NOTE_100
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]carryover_percentage=100 instead.
|
|
_"
|
|
100% of finishing gold carried over to the next scenario."#enddef
|
|
|
|
#define NEW_GOLD_CARRYOVER_NOTE_40
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]carryover_percentage=40 instead.
|
|
_"
|
|
40% of finishing gold carried over to the next scenario."#enddef
|
|
|
|
#define NEW_GOLD_CARRYOVER_NOTE_20
|
|
#deprecated 2 1.17.0 This is now automatically generated and not required. Use [objectives][gold_carryover]carryover_percentage=20 instead.
|
|
_"
|
|
20% of finishing gold carried over to the next scenario."#enddef
|
|
|
|
#define MISSILE_FRAME_FIREBALL
|
|
#deprecated 2 1.15 Use MISSILE_FRAME_FIREBALL_XY instead
|
|
{MISSILE_FRAME_FIREBALL_XY 0 0}
|
|
#enddef
|
|
|
|
#define MESSAGE SPEAKER_ID IMAGE CAPTION_TEXT MESSAGE_TEXT
|
|
#deprecated 1 It's preferred to simply write out the message tag in full.
|
|
# Displays a text message spoken by SPEAKER_ID.
|
|
# Speaker can be any of: narrator, unit and second_unit
|
|
# For example, let's have the narrator, which looks like a faery
|
|
# express some feelings on the undead:
|
|
#! {MESSAGE narrator "units/elves-wood/shyde.png" _ "Faery" _ "Aarr! Them be undeadies! Loooks at them.."}
|
|
[message]
|
|
speaker={SPEAKER_ID}
|
|
message={MESSAGE_TEXT}
|
|
image={IMAGE}
|
|
caption={CAPTION_TEXT}
|
|
[/message]
|
|
#enddef
|
|
|
|
#define STORY_PART_SPEECH BACKGROUND_IMAGE SPEAKER_VALUE SPEECH_VALUE
|
|
#deprecated 1
|
|
[part]
|
|
story={CAPTION {SPEAKER_VALUE}} + {SPEECH_VALUE}
|
|
[background_layer]
|
|
image={BACKGROUND_IMAGE}
|
|
scale=no
|
|
[/background_layer]
|
|
[/part]
|
|
#enddef
|
|
|
|
#define LOYAL_UNDEAD_UNIT SIDE TYPE X Y
|
|
#deprecated 1 Use LOYAL_UNIT instead
|
|
# Create a unit with the Undead and Loyal traits.
|
|
[unit]
|
|
type={TYPE}
|
|
side={SIDE}
|
|
x={X}
|
|
y={Y}
|
|
[modifications]
|
|
{TRAIT_UNDEAD}
|
|
{TRAIT_LOYAL}
|
|
[/modifications]
|
|
[/unit]
|
|
#enddef
|
|
|
|
#define ON_SIGHTING ID SIGHTING_SIDE SIGHTED_FILTER ACTION_WML
|
|
#deprecated 2 Use an [event]name=sighted instead.
|
|
# NOTE: As of version 1.11, this macro is unnecessary, since sighted
|
|
# events now work as intended.
|
|
#
|
|
# This is intended to be used when a regular sighted event can't be relied
|
|
# on (that'd be most of the time). This event triggers when a unit matching
|
|
# SIGHTED_FILTER is first seen by a unit of side SIGHTING_SIDE. This works
|
|
# whether the sighting happens due to moving, recruiting, recalling,
|
|
# attacking (in case DSU was on before the attack) or advancing. If none of
|
|
# those actions manage to "catch" the moment of sighting, then it will occur
|
|
# when the current side ends their turn.
|
|
#
|
|
# The 'unit' and 'second_unit' message speaker shortcuts as well as the
|
|
# auto-stored $unit and $second_unit should work normally: the sighting unit
|
|
# is the primary unit and the sighted unit is the secondary unit.
|
|
#
|
|
# You need to provide a unique ID if you use several of these events in the
|
|
# same scenario. Otherwise it can be left empty.
|
|
#
|
|
# Only works if SIGHTING_SIDE has fog and/or shroud.
|
|
#
|
|
# Example:
|
|
#! {ON_SIGHTING () 1 side=2,3 (
|
|
#! [message]
|
|
#! speaker=unit
|
|
#! message= _ "I can see a side $second_unit.side $second_unit.language_name|!"
|
|
#! [/message]
|
|
#! [message]
|
|
#! speaker=second_unit
|
|
#! message= _ "Oh my! I was seen by a side $unit.side $unit.language_name|!"
|
|
#! [/message]
|
|
#! )}
|
|
#!
|
|
[event]
|
|
name=SIGHTED_{ID}_trigger_action_WML
|
|
|
|
{ACTION_WML}
|
|
[/event]
|
|
|
|
[event]
|
|
name=moveto,recruit,recall,attack,post advance,side turn
|
|
first_time_only=no
|
|
|
|
[filter]
|
|
side={SIGHTING_SIDE}
|
|
|
|
[or]
|
|
{SIGHTED_FILTER}
|
|
[/or]
|
|
[/filter]
|
|
|
|
[if]
|
|
[variable]
|
|
name=SIGHTED_{ID}_finished
|
|
not_equals=yes
|
|
[/variable]
|
|
|
|
[then]
|
|
[store_side]
|
|
side={SIGHTING_SIDE}
|
|
variable=stored_sighting_side
|
|
[/store_side]
|
|
|
|
[if]
|
|
[have_unit]
|
|
{SIGHTED_FILTER}
|
|
|
|
[filter_vision]
|
|
side={SIGHTING_SIDE}
|
|
[/filter_vision]
|
|
[/have_unit]
|
|
|
|
[and]
|
|
[variable]
|
|
name=stored_sighting_side.fog
|
|
boolean_equals=yes
|
|
[/variable]
|
|
|
|
[or]
|
|
[variable]
|
|
name=stored_sighting_side.shroud
|
|
boolean_equals=yes
|
|
[/variable]
|
|
[/or]
|
|
[/and]
|
|
|
|
[then]
|
|
[fire_event]
|
|
name=SIGHTED_{ID}_trigger_action_WML
|
|
|
|
[primary_unit]
|
|
side={SIGHTING_SIDE}
|
|
|
|
[filter_location]
|
|
[filter]
|
|
{SIGHTED_FILTER}
|
|
|
|
[not]
|
|
side={SIGHTING_SIDE}
|
|
[/not]
|
|
[/filter]
|
|
|
|
radius="$($this_unit.max_moves + 1)"
|
|
[/filter_location]
|
|
[/primary_unit]
|
|
|
|
[secondary_unit]
|
|
{SIGHTED_FILTER}
|
|
|
|
[filter_vision]
|
|
side={SIGHTING_SIDE}
|
|
[/filter_vision]
|
|
[/secondary_unit]
|
|
[/fire_event]
|
|
|
|
[set_variable]
|
|
name=SIGHTED_{ID}_finished
|
|
value=yes
|
|
[/set_variable]
|
|
[/then]
|
|
|
|
[else]
|
|
[allow_undo]
|
|
[/allow_undo]
|
|
[/else]
|
|
[/if]
|
|
|
|
[clear_variable]
|
|
name=stored_sighting_side
|
|
[/clear_variable]
|
|
[/then]
|
|
|
|
[else]
|
|
[allow_undo]
|
|
[/allow_undo]
|
|
[/else]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=victory
|
|
|
|
[clear_variable]
|
|
name=SIGHTED_{ID}_finished
|
|
[/clear_variable]
|
|
[/event]
|
|
#enddef
|
|
|
|
#define ANIMATED_CAMPFIRE X Y
|
|
# deprecated 2 1.15 Use the campfire terrain overlay (^Ecf) instead.
|
|
# Embed this at scenario toplevel, not within an event.
|
|
# Note that it will freeze while dialogue popups are onscreen.
|
|
[terrain_graphics]
|
|
x={X}
|
|
y={Y}
|
|
[tile]
|
|
x=0
|
|
y=0
|
|
[image]
|
|
layer=0
|
|
name="misc/fire-A[01~08].png:140"
|
|
[/image]
|
|
[/tile]
|
|
[/terrain_graphics]
|
|
#enddef
|
|
|
|
#define ANIMATED_BRAZIER X Y
|
|
# deprecated 2 1.15 Use the campfire terrain overlay (^Eb) instead.
|
|
# Embed this at scenario toplevel, not within an event.
|
|
# Note that it will freeze while dialogue popups are onscreen.
|
|
[terrain_graphics]
|
|
x={X}
|
|
y={Y}
|
|
[tile]
|
|
x=0
|
|
y=0
|
|
[image]
|
|
layer=0
|
|
# wmlscope: start ignoring
|
|
# FIXME: More implicit-path breakage
|
|
name="../items/brazier-lit[1~8].png:140"
|
|
# wmlscope: stop ignoring
|
|
[/image]
|
|
[/tile]
|
|
[/terrain_graphics]
|
|
#enddef
|
|
|
|
#define MAKE_AI_SIDE_PERSISTENT SIDE
|
|
#deprecated 2 1.15 Just put the persistent key in [side] directly
|
|
#Macro to make a ai controlled side persistent.
|
|
#Needs to be placed below the side definition.
|
|
[+side]
|
|
persistent=yes
|
|
[/side]
|
|
#enddef
|
|
|
|
# wmlindent: start ignoring
|
|
#define FOREACH ARRAY_VALUE VAR
|
|
#deprecated 1 You should use the [foreach] WML tag instead.
|
|
# Macro to begin a WML clause that iterates over an array.
|
|
{VARIABLE {VAR} 0}
|
|
[while]
|
|
[variable]
|
|
name={VAR}
|
|
less_than=${ARRAY_VALUE}.length
|
|
[/variable]
|
|
[do]
|
|
#enddef
|
|
|
|
#define NEXT VAR
|
|
#deprecated 1 You should use the [foreach] WML tag instead of {FOREACH}.
|
|
# Macro to end a WML clause that iterates over an array.
|
|
[set_variable]
|
|
name={VAR}
|
|
add=1
|
|
[/set_variable]
|
|
[/do]
|
|
[/while]
|
|
{CLEAR_VARIABLE {VAR}}
|
|
#enddef
|
|
# wmlindent: stop ignoring
|
|
|
|
# wmlindent: opener "{FOREACH "
|
|
# wmlindent: closer "{NEXT "
|
|
|
|
#define DRAKE_FLYING_ANIM STANDING_IMAGE FLYING_IMAGE
|
|
#deprecated 2
|
|
[standing_anim]
|
|
start_time=0
|
|
[filter]
|
|
[filter_location]
|
|
terrain_type=!,W*,Qx*,Ql*
|
|
[or]
|
|
terrain_type=Wwf,Wwr,*^V*
|
|
[/or]
|
|
[/filter_location]
|
|
[/filter]
|
|
[frame]
|
|
image={STANDING_IMAGE}:150
|
|
[/frame]
|
|
[/standing_anim]
|
|
|
|
[standing_anim]
|
|
start_time=0
|
|
layer=60
|
|
submerge=0.01
|
|
[filter]
|
|
[filter_location]
|
|
terrain_type=W*,Qx*,Ql*
|
|
[not]
|
|
terrain_type=Wwf,Wwr,*^V*
|
|
[/not]
|
|
[/filter_location]
|
|
[/filter]
|
|
[frame]
|
|
image={FLYING_IMAGE}:150
|
|
[/frame]
|
|
[/standing_anim]
|
|
#enddef
|
|
|
|
#define NO_INTERRUPT_NO_UNDO
|
|
# This can be used in mid-movement events (enter_hex and exit_hex) to cause
|
|
# no interruption of movement, yet prevent the move from being undone.
|
|
{DEPRECATE_ACTION_MACRO "NO_INTERRUPT_NO_UNDO" 3 "1.16" ""}
|
|
#enddef
|
|
|
|
#define ENABLE_NIGHTBLADE
|
|
#deprecated 2 1.17 This advancement is now enabled by default.
|
|
#enddef
|