#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