mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-25 21:50:25 +00:00
423 lines
13 KiB
INI
423 lines
13 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
|
||
|
||
#define WEAPON_SPECIAL_DEFLECT
|
||
#deprecated 2 1.21 This special is no longer used in any core units. On the Naga Sicarius, it has been replaced with the "Guard" special.
|
||
# Canned definition of the Deflect ability to be included in a
|
||
# [specials] clause.
|
||
[chance_to_hit]
|
||
id=deflect
|
||
name= _ "deflect"
|
||
description= _ "When used defensively, this attack reduces the opponent’s chance to hit by 10%."
|
||
special_note=_"This unit’s defensive techniques reduce the chance of a successful enemy attack."
|
||
sub=10
|
||
cumulative=yes
|
||
active_on=defense
|
||
apply_to=opponent
|
||
[/chance_to_hit]
|
||
#enddef
|
||
|
||
#define WEAPON_SPECIAL_ABSORB AMT
|
||
#deprecated 2 1.21 This special has a poor description and is no longer used in any core units. On the Naga Shield/High Guard, it has been replaced with the "Guard" special.
|
||
# Canned definition of the Absorb ability to be included in a
|
||
# [specials] clause.
|
||
[damage]
|
||
id=absorb
|
||
name= _ "absorb"
|
||
description= _ "This attack puts the unit in good defensive position, and it absorbs some of the damage dealt by an enemy strike."
|
||
special_note= _ "This unit can block enemy strikes, so that it takes reduced damage when hit."
|
||
multiply={AMT}
|
||
apply_to=opponent
|
||
[/damage]
|
||
#enddef
|