mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-28 17:33:17 +00:00
389 lines
9.0 KiB
INI
389 lines
9.0 KiB
INI
#textdomain wesnoth
|
|
# Interface shortcut macros.
|
|
|
|
# These don't depend on any other macros. Please don't change this.
|
|
# ! in comments is used to generate HTML documentation; ignore it otherwise.
|
|
|
|
#define HIGHLIGHT_IMAGE X Y IMAGE BACKGROUND_VALUE
|
|
# Scrolls to the given location, blinks the given image in and out a few
|
|
# times, and then leaves the image in place. Use this to pinpoint an
|
|
# important location to the player. If there's an existing [item] on the
|
|
# location, specify it as the BACKGROUND_VALUE or else it'll get lost
|
|
# during the blinking.
|
|
[scroll_to]
|
|
x,y={X},{Y}
|
|
check_fogged=no
|
|
[/scroll_to]
|
|
|
|
[repeat]
|
|
times=3
|
|
[do]
|
|
[item]
|
|
x,y={X},{Y}
|
|
halo={IMAGE}
|
|
[/item]
|
|
|
|
[redraw][/redraw]
|
|
|
|
[delay]
|
|
time=300
|
|
[/delay]
|
|
|
|
[remove_item]
|
|
x,y={X},{Y}
|
|
[/remove_item]
|
|
|
|
[item]
|
|
x,y={X},{Y}
|
|
image={BACKGROUND_VALUE}
|
|
[/item]
|
|
|
|
[redraw][/redraw]
|
|
|
|
[delay]
|
|
time=300
|
|
[/delay]
|
|
[/do]
|
|
[/repeat]
|
|
|
|
[item]
|
|
x,y={X},{Y}
|
|
image={IMAGE}
|
|
[/item]
|
|
|
|
[redraw][/redraw]
|
|
#enddef
|
|
|
|
#define CLEAR_FOG SIDE X Y RADIUS
|
|
# Clears fog in a specific area for the given side.
|
|
# This will persist until {UNCLEAR_FOG} (below) is used.
|
|
[lift_fog]
|
|
[filter_side]
|
|
side={SIDE}
|
|
[/filter_side]
|
|
x,y={X},{Y}
|
|
radius={RADIUS}
|
|
multiturn=yes
|
|
[/lift_fog]
|
|
#enddef
|
|
|
|
#define UNCLEAR_FOG
|
|
# Restores fog that was temporarily cleared (check CLEAR_FOG above). Only
|
|
# one UNCLEAR_FOG is required no matter how many times CLEAR_FOG was used.
|
|
[reset_fog]
|
|
[/reset_fog]
|
|
#enddef
|
|
|
|
#define SET_LABEL X Y STRING
|
|
# Puts STRING on the map at X,Y. Strictly a syntactic shortcut.
|
|
#
|
|
# For example:
|
|
#! {SET_LABEL 4 7 ( _ "There be dragons here!")}
|
|
[label]
|
|
x={X}
|
|
y={Y}
|
|
text={STRING}
|
|
[/label]
|
|
#enddef
|
|
|
|
#define REMOVE_LABEL X Y
|
|
#arg EXTRA_WML
|
|
#endarg
|
|
# Removes a label from a given tile.
|
|
#
|
|
# For example, remove it from 4,7
|
|
#! {REMOVE_LABEL 4 7}
|
|
[label]
|
|
x={X}
|
|
y={Y}
|
|
text="" # wmllint: ignore
|
|
{EXTRA_WML}
|
|
[/label]
|
|
#enddef
|
|
|
|
#define FAKE_UNIT_MOVE FROM_X TO_X FROM_Y TO_Y SIDE TYPE MODIFIER_WML
|
|
# Moves a fake unit using TYPE's animations, from (FROM_X, FROM_Y)
|
|
# to (TO_X, TO_Y). You can also specify modifiers that change the
|
|
# baseframe displayed by unit's gender or variation, or none at
|
|
# all.
|
|
#
|
|
# Example:
|
|
#! {FAKE_UNIT_MOVE 1 2 1 2 1 (Dark Adept) (
|
|
#! gender=female
|
|
#! variation=fancy
|
|
#! )}
|
|
[move_unit_fake]
|
|
type={TYPE}
|
|
side={SIDE}
|
|
x={FROM_X},{TO_X}
|
|
y={FROM_Y},{TO_Y}
|
|
{MODIFIER_WML}
|
|
[/move_unit_fake]
|
|
#enddef
|
|
|
|
#define SCROLL X Y
|
|
# Scrolls the screen by the specified offsets
|
|
#
|
|
# For example, let's scroll 5 right and 3 down:
|
|
#! {SCROLL 5 3}
|
|
[scroll]
|
|
x={X}
|
|
y={Y}
|
|
[/scroll]
|
|
#enddef
|
|
|
|
#define SCROLL_TO X Y
|
|
# Scrolls the screen to focus on the specified coordinates
|
|
#
|
|
# For example, let's focus on 26,35:
|
|
#! {SCROLL_TO 26 35}
|
|
[scroll_to]
|
|
x={X}
|
|
y={Y}
|
|
[/scroll_to]
|
|
#enddef
|
|
|
|
#define QUAKE SOUND
|
|
# Visuals and sound for an earth tremor.
|
|
[sound]
|
|
name={SOUND}
|
|
[/sound]
|
|
[scroll]
|
|
x=5
|
|
y=0
|
|
[/scroll]
|
|
[scroll]
|
|
x=-10
|
|
y=0
|
|
[/scroll]
|
|
[scroll]
|
|
x=5
|
|
y=5
|
|
[/scroll]
|
|
[scroll]
|
|
x=0
|
|
y=-10
|
|
[/scroll]
|
|
[scroll]
|
|
x=0
|
|
y=5
|
|
[/scroll]
|
|
#enddef
|
|
|
|
#define EARTHQUAKE ACTION_WML
|
|
# Creates an earthquake-effect while performing ACTION_WML
|
|
# For example we could kill all non-leader units in the earthquake:
|
|
#! {EARTHQUAKE (
|
|
#! [kill]
|
|
#! canrecruit=no
|
|
#! animate=yes
|
|
#! [/kill]
|
|
#! )}
|
|
[sound]
|
|
name=lightning.ogg
|
|
[/sound]
|
|
{SCROLL 2 1}
|
|
{SCROLL -1 -3}
|
|
{SCROLL -3 1}
|
|
{ACTION_WML}
|
|
{SCROLL 1 3}
|
|
{SCROLL 1 -2}
|
|
#enddef
|
|
|
|
#define COLOR_ADJUST RED GREEN BLUE
|
|
# Adjusts the color of terrain by a tint of red, green and blue
|
|
# for example, let's make it very blueish:
|
|
#! {COLOR_ADJUST 0 0 100}
|
|
[color_adjust]
|
|
red={RED}
|
|
green={GREEN}
|
|
blue={BLUE}
|
|
[/color_adjust]
|
|
#enddef
|
|
|
|
#define SCREEN_FADE RED GREEN BLUE DURATION
|
|
[screen_fade]
|
|
red={RED}
|
|
green={GREEN}
|
|
blue={BLUE}
|
|
alpha=255
|
|
duration={DURATION}
|
|
[/screen_fade]
|
|
#enddef
|
|
|
|
#define SCREEN_UNFADE DURATION
|
|
[screen_fade]
|
|
alpha=0
|
|
duration={DURATION}
|
|
[/screen_fade]
|
|
#enddef
|
|
|
|
#define SCREEN_FADE_OUT
|
|
{SCREEN_FADE 0 0 0 500}
|
|
#enddef
|
|
|
|
#define SCREEN_FADE_IN
|
|
{SCREEN_UNFADE 500}
|
|
#enddef
|
|
|
|
#define FLASH RED GREEN BLUE ACTION_WML
|
|
# Flash the screen this colour, performing the action during the flash.
|
|
# The action will be performed at the height of the flash,
|
|
# and the screen will still be slightly visible during the action.
|
|
# For example to flash the screen orange and play an explosion sound:
|
|
#! {FLASH 255 128 0 (
|
|
#! [sound]
|
|
#! name=explosion.ogg
|
|
#! [/sound]
|
|
#! )}
|
|
[screen_fade]
|
|
red,green,blue={RED},{GREEN},{BLUE}
|
|
alpha=200
|
|
duration=150
|
|
[/screen_fade]
|
|
[delay]
|
|
time=35
|
|
[/delay]
|
|
{ACTION_WML}
|
|
[delay]
|
|
time=35
|
|
[/delay]
|
|
{SCREEN_UNFADE 150}
|
|
#enddef
|
|
|
|
#define FLASH_WHITE ACTION_WML
|
|
# Flash the screen momentarily white, performing the given action during
|
|
# the flash.
|
|
{FLASH 255 255 255 ({ACTION_WML})}
|
|
#enddef
|
|
|
|
#define FLASH_RED ACTION_WML
|
|
# Flash the screen momentarily red, performing the given action during
|
|
# the flash.
|
|
{FLASH 255 0 0 ({ACTION_WML})}
|
|
#enddef
|
|
|
|
#define FLASH_GREEN ACTION_WML
|
|
# Flash the screen momentarily green, performing the given action during
|
|
# the flash.
|
|
{FLASH 0 255 0 ({ACTION_WML})}
|
|
#enddef
|
|
|
|
#define FLASH_BLUE ACTION_WML
|
|
# Flash the screen momentarily blue, performing the given action during
|
|
# the flash.
|
|
{FLASH 0 0 255 ({ACTION_WML})}
|
|
#enddef
|
|
|
|
#define THUNDER ACTION_WML
|
|
# Creates a thunder-and-lightning effect while performing ACTION_WML.
|
|
# For example, player 3 might disappear in the flash of lightning:
|
|
#! {THUNDER (
|
|
#! [store_unit]
|
|
#! [filter]
|
|
#! side=3
|
|
#! [/filter]
|
|
#! variable=player3
|
|
#! kill=yes
|
|
#! [/store_unit]
|
|
#! )}
|
|
[sound]
|
|
name=lightning.ogg
|
|
[/sound]
|
|
{FLASH_WHITE ({ACTION_WML}) }
|
|
#enddef
|
|
|
|
#define FLASH_LIGHTNING ACTION_WML
|
|
# Perform the given action WML with an accompanying lightning effect.
|
|
[screen_fade]
|
|
red,green,blue=240,230,255
|
|
alpha=100
|
|
duration=50
|
|
[/screen_fade]
|
|
[sound]
|
|
name=lightning.ogg
|
|
[/sound]
|
|
[delay]
|
|
time=25
|
|
[/delay]
|
|
{ACTION_WML}
|
|
[delay]
|
|
time=75
|
|
[/delay]
|
|
{SCREEN_UNFADE 250}
|
|
#enddef
|
|
|
|
#define FADE_STEP_RGB RED GREEN BLUE DELAY_TIME
|
|
# Defines a single step in a fade animation; used internally by the other fade macros.
|
|
[color_adjust]
|
|
red,green,blue={RED},{GREEN},{BLUE}
|
|
[/color_adjust]
|
|
[delay]
|
|
time={DELAY_TIME}
|
|
[/delay]
|
|
[redraw][/redraw]
|
|
#enddef
|
|
|
|
#define FADE_STEP NUMBER DELAY_TIME
|
|
# Defines a single step in a monochrome fade animation; used internally in the fade to black macros.
|
|
{FADE_STEP_RGB {NUMBER} {NUMBER} {NUMBER} {DELAY_TIME}}
|
|
#enddef
|
|
|
|
#define FADE_TO_BLACK
|
|
# Fades the screen to black. Use {FADE_IN} to return to normal
|
|
{FADE_STEP -32 5}
|
|
{FADE_STEP -64 5}
|
|
{FADE_STEP -96 5}
|
|
{FADE_STEP -128 5}
|
|
{FADE_STEP -160 5}
|
|
{FADE_STEP -192 5}
|
|
{FADE_STEP -224 5}
|
|
{FADE_STEP -256 5}
|
|
{FADE_STEP -512 5}
|
|
#enddef
|
|
|
|
#define FADE_TO_BLACK_HOLD TIME
|
|
# Fades the screen to black and then pauses for TIME milliseconds.
|
|
# Use {FADE_IN} to return to normal
|
|
{FADE_STEP -32 5}
|
|
{FADE_STEP -64 5}
|
|
{FADE_STEP -96 5}
|
|
{FADE_STEP -128 5}
|
|
{FADE_STEP -160 5}
|
|
{FADE_STEP -192 5}
|
|
{FADE_STEP -224 5}
|
|
{FADE_STEP -256 5}
|
|
{FADE_STEP -512 {TIME}}
|
|
#enddef
|
|
|
|
#define FADE_IN
|
|
# Brings the screen back from a {FADE_TO_BLACK}
|
|
{FADE_STEP -256 5}
|
|
{FADE_STEP -224 5}
|
|
{FADE_STEP -192 5}
|
|
{FADE_STEP -160 5}
|
|
{FADE_STEP -128 5}
|
|
{FADE_STEP -96 5}
|
|
{FADE_STEP -64 5}
|
|
{FADE_STEP -32 5}
|
|
{FADE_STEP 0 5}
|
|
#enddef
|
|
|
|
# Encapsulate text in conventional markup for characters whispering.
|
|
# We do this so whispers can be restyled by tweaking this markup
|
|
#define WHISPER TEXT
|
|
"<small>(" + {TEXT} + ")</small>"#enddef
|
|
|
|
# Encapsulate text in conventional markup for characters speaking aside.
|
|
# We do this so asides can be restyled by tweaking this markup
|
|
#define ASIDE TEXT
|
|
"<i>(" + {TEXT} + ")</i>"#enddef
|
|
|
|
# Encapsulate text in conventional markup similar to how standard
|
|
# character message dialogs are rendered. Intended for story screens
|
|
# mainly.
|
|
#define CAPTION TEXT
|
|
"<span color='#bcb088'><b>" + {TEXT} + "</b></span>
|
|
|
|
"#enddef
|