mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-25 10:39:29 +00:00

It does the same thing as PLACE_IMAGE except the created item may use the same submerge code as units. If not placed on water there will be no submersion effect. If placed on water it will be submerged to the same level a unit would be submerged to. In general physical items placed into water should use this, whereas items placed on top of water should use PLACE_IMAGE. The new macro has been applied to the merfolk cages in the Bay of Pearls scenario in HttT.
360 lines
8.1 KiB
INI
360 lines
8.1 KiB
INI
#textdomain wesnoth
|
|
# Utility macros for images, overlays, and display effects.
|
|
|
|
# These don't depend on any other macros. Please don't change this.
|
|
|
|
#define COLOR_HEAL
|
|
color="0,255,0"
|
|
#enddef
|
|
|
|
#define COLOR_HARM
|
|
color="255,0,0"
|
|
#enddef
|
|
|
|
#define COLOR_WHITE
|
|
color="255,255,255"
|
|
#enddef
|
|
|
|
## TODO: this was moved to the loyal trait but a few codes used with witouht the loyal trait,
|
|
## so i'll leave it for now. since this icon is afaik not transparent though should not be a problem.
|
|
#define IS_HERO
|
|
# Embed this into a unit declaration to add a hero icon to the unit.
|
|
[+modifications]
|
|
[object]
|
|
[effect]
|
|
apply_to=overlay
|
|
add="misc/hero-icon.png"
|
|
[/effect]
|
|
[effect]
|
|
apply_to=ellipse
|
|
ellipse="misc/ellipse-hero"
|
|
[/effect]
|
|
[/object]
|
|
[/modifications]
|
|
#enddef
|
|
|
|
#define IS_LOYAL
|
|
# Embed this into a unit declaration to add a loyalty icon to the unit.
|
|
[+modifications]
|
|
[object]
|
|
[effect]
|
|
apply_to=overlay
|
|
add="misc/loyal-icon.png"
|
|
[/effect]
|
|
[/object]
|
|
[/modifications]
|
|
#enddef
|
|
|
|
#define IS_EXPENDABLE_LEADER
|
|
# Embed this into a unit declaration to add an expendable leader icon to the unit.
|
|
[+modifications]
|
|
[object]
|
|
[effect]
|
|
apply_to=overlay
|
|
add="misc/leader-expendable.png"
|
|
[/effect]
|
|
[/object]
|
|
[/modifications]
|
|
#enddef
|
|
|
|
#define NEW_JOURNEY X Y
|
|
# Make a new journey mark on a tracking map
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-journey.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define OLD_JOURNEY X Y
|
|
# Make an old journey mark on a tracking map
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/dot-white.png
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define NEW_BATTLE X Y
|
|
# Make a new battle mark on a tracking map, with a blinking animation.
|
|
# Because of the animation, generally you should only use this as the final
|
|
# journey marker in any given story screen.
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-battle2.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-battle.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-battle2.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-battle.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/new-battle2.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define OLD_BATTLE X Y
|
|
# Make an old battle mark on a tracking map
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/cross-white.png
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define NEW_REST X Y
|
|
# Make a new rest mark on a tracking map, with a blinking animation.
|
|
# Because of the animation, generally you should only use this as the final
|
|
# journey marker in any given story screen.
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-red.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-red2.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-red.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-red2.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-red.png
|
|
delay=500
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define OLD_REST X Y
|
|
# Make an old rest mark on a tracking map
|
|
[image]
|
|
x,y={X},{Y}
|
|
file=misc/flag-white.png
|
|
centered=yes
|
|
[/image]
|
|
#enddef
|
|
|
|
#define PLACE_IMAGE IMAGE X Y
|
|
# Place an image at a specified location on the map.
|
|
[item]
|
|
x={X}
|
|
y={Y}
|
|
image={IMAGE}
|
|
[/item]
|
|
#enddef
|
|
|
|
#define PLACE_IMAGE_SUBMERGED IMAGE X Y
|
|
# Place an image at a specified location on the map, submerging in water.
|
|
[item]
|
|
x={X}
|
|
y={Y}
|
|
image={IMAGE}
|
|
submerge=1
|
|
[/item]
|
|
#enddef
|
|
|
|
#define REMOVE_IMAGE X Y
|
|
# Removes a previously set image from a tile.
|
|
#
|
|
# Example:
|
|
#! {REMOVE_IMAGE 14 5}
|
|
[remove_item]
|
|
x,y={X},{Y}
|
|
[/remove_item]
|
|
#enddef
|
|
|
|
#define TEAM_COLOR_OVERRIDE FILTER TEAMCOLOR_ID
|
|
# Override the team color of filtered units.
|
|
[object]
|
|
silent=yes
|
|
[filter]
|
|
{FILTER}
|
|
[/filter]
|
|
[effect]
|
|
apply_to=image_mod
|
|
add=RC(magenta>{TEAMCOLOR_ID})
|
|
[/effect]
|
|
[/object]
|
|
#enddef
|
|
|
|
#define MAKE_NONLOYAL ID_STRING
|
|
# Removes the loyal trait from the unit.
|
|
[remove_trait]
|
|
id={ID_STRING}
|
|
trait_id=loyal
|
|
[/remove_trait]
|
|
#enddef
|
|
|
|
#define MAKE_LOYAL_HERO ID_STRING
|
|
# Makes the unit a hero unit.
|
|
[remove_trait]
|
|
id={ID_STRING}
|
|
trait_id=loyal
|
|
[/remove_trait]
|
|
[modify_unit]
|
|
[filter]
|
|
id={ID_STRING}
|
|
[/filter]
|
|
{TRAIT_LOYAL_HERO}
|
|
canrecruit=no
|
|
[/modify_unit]
|
|
#enddef
|
|
|
|
#define MAKE_LOYAL_NORMAL ID_STRING
|
|
# Makes the unit a regular loyal unit (not a hero).
|
|
[remove_trait]
|
|
id={ID_STRING}
|
|
trait_id=loyal
|
|
[/remove_trait]
|
|
[modify_unit]
|
|
[filter]
|
|
id={ID_STRING}
|
|
[/filter]
|
|
{TRAIT_LOYAL}
|
|
canrecruit=no
|
|
[/modify_unit]
|
|
#enddef
|
|
|
|
#define MAKE_LOYAL_LEADER ID_STRING
|
|
# Makes the unit a leader.
|
|
[remove_trait]
|
|
id={ID_STRING}
|
|
trait_id=loyal
|
|
[/remove_trait]
|
|
[modify_unit]
|
|
[filter]
|
|
id={ID_STRING}
|
|
[/filter]
|
|
canrecruit=yes
|
|
[/modify_unit]
|
|
#enddef
|
|
|
|
#define MAKE_HERO ID_STRING
|
|
# Give an existing unit a hero overlay, without making them loyal.
|
|
[unit_overlay]
|
|
id={ID_STRING}
|
|
image=misc/hero-icon.png
|
|
[/unit_overlay]
|
|
[object]
|
|
silent=yes
|
|
duration=forever
|
|
|
|
[filter]
|
|
id={ID_STRING}
|
|
[/filter]
|
|
|
|
[effect]
|
|
apply_to=ellipse
|
|
ellipse="misc/ellipse-hero"
|
|
[/effect]
|
|
[/object]
|
|
#enddef
|
|
|
|
#define UNMAKE_HERO ID_STRING
|
|
# Remove the hero overlay from a unit
|
|
[remove_unit_overlay]
|
|
id={ID_STRING}
|
|
image=misc/hero-icon.png
|
|
[/remove_unit_overlay]
|
|
[object]
|
|
silent=yes
|
|
duration=forever
|
|
|
|
[filter]
|
|
id={ID_STRING}
|
|
[/filter]
|
|
|
|
[effect]
|
|
apply_to=ellipse
|
|
ellipse="misc/ellipse"
|
|
[/effect]
|
|
[/object]
|
|
#enddef
|
|
|
|
#define FLAG_VARIANT NAME
|
|
# Enable the specified flag variant: knalgan, loyalist, ragged,
|
|
# long, undead, or wood-elvish. Use within a [side] block; only
|
|
# affects that side.
|
|
# Since the ragged variant has six frames instead of the usual four,
|
|
# for that flag it's better to use FLAG_VARIANT6 below instead.
|
|
# wmlscope: start ignoring
|
|
flag=flags/{NAME}-flag-[1~4].png:150
|
|
flag_icon=flags/{NAME}-flag-icon.png
|
|
# wmlscope: stop ignoring
|
|
#enddef
|
|
|
|
#define FLAG_VARIANT6 NAME
|
|
# Like FLAG_VARIANT, but this supports flags with six frames.
|
|
# Currently only the ragged flag has six frames.
|
|
# wmlscope: start ignoring
|
|
flag=flags/{NAME}-flag-[1~6].png:150
|
|
flag_icon=flags/{NAME}-flag-icon.png
|
|
# wmlscope: stop ignoring
|
|
#enddef
|
|
|
|
#define ANIMATED_MAUSOLEUM X Y
|
|
# 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
|
|
set_flag=mausoleum
|
|
[/tile]
|
|
[/terrain_graphics]
|
|
[terrain_graphics]
|
|
map="
|
|
, *
|
|
* , *
|
|
, 1
|
|
* , *
|
|
, *"
|
|
[tile]
|
|
pos=1
|
|
has_flag=mausoleum
|
|
[/tile]
|
|
[image]
|
|
layer=0
|
|
center=92,138
|
|
# wmlscope: start ignoring
|
|
# FIXME: More implicit-path breakage
|
|
name="../scenery/mausoleum[01~18].png:140"
|
|
# wmlscope: stop ignoring
|
|
[/image]
|
|
[/terrain_graphics]
|
|
#enddef
|