#textdomain wesnoth
# Utility macros for images, overlays, and display effects.

# These don't depend on any other macros.  Please don't change this.

#define MAGENTA_IS_THE_TEAM_COLOR
    # A macro to define a common set of magenta color values which different
    # units can be color shifted by using the team color system.
    flag_rgb=magenta
#enddef

#define COLOR_HEAL
    green=255
#enddef

#define COLOR_HARM
    red=255
#enddef

#define COLOR_WHITE
    red=255
    green=255
    blue=255
#enddef

#define IS_HERO
    # Embed this into a unit declaration to add a hero icon to the unit.
    overlays="misc/hero-icon.png"
#enddef

#define IS_LOYAL
    # Embed this into a unit declaration to add a loyalty icon to the unit.
    overlays="misc/loyal-icon.png"
#enddef

#define IS_EXPENDABLE_LEADER
    # Embed this into a unit declaration to add an expendable leader icon to the unit.
    overlays="misc/leader-expendable.png"
#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
    [image]
        x,y={X},{Y}
        file=misc/new-battle.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
    [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 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_HERO ID_STRING
    # Give an existing unit a hero overlay
    [unit_overlay]
        id={ID_STRING}
        image=misc/hero-icon.png
    [/unit_overlay]
#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]
#enddef

#define ANIMATED_CAMPFIRE 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
            [image]
                layer=0
                # wmlscope: start ignoring
                # FIXME: We should really do is remove the implicit path
                # Then we wouldn't have to back out of the terrain directory
                # with a ../ that confuses wmlscope.
                name="../scenery/fire1.png:140,../scenery/fire2.png:140,../scenery/fire3.png:140,../scenery/fire4.png:140,../scenery/fire5.png:140,../scenery/fire6.png:140,../scenery/fire7.png:140,../scenery/fire8.png:140"
                # wmlscope: stop ignoring
            [/image]
        [/tile]
    [/terrain_graphics]
#enddef

#define ANIMATED_BRAZIER 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
            [image]
                layer=0
                # wmlscope: start ignoring
                # FIXME: More implicit-path breakage
                name="../items/brazier-lit1.png:140,../items/brazier-lit2.png:140,../items/brazier-lit3.png:140,../items/brazier-lit4.png:140,../items/brazier-lit5.png:140,../items/brazier-lit6.png:140,../items/brazier-lit7.png:140,../items/brazier-lit8.png:140"
                # wmlscope: stop ignoring
            [/image]
        [/tile]
    [/terrain_graphics]
#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.
    # wmlscope: start ignoring
    flag=flags/{NAME}-flag-1.png:150,flags/{NAME}-flag-2.png:150,flags/{NAME}-flag-3.png:150,flags/{NAME}-flag-4.png:150
    flag_icon=flags/{NAME}-flag-icon.png
    # wmlscope: stop ignoring
    flag_rgb=flag_green
#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/mausoleum01.png:140,../scenery/mausoleum02.png:140,../scenery/mausoleum03.png:140,../scenery/mausoleum04.png:140,../scenery/mausoleum05.png:140,../scenery/mausoleum06.png:140,../scenery/mausoleum07.png:140,../scenery/mausoleum08.png:140,../scenery/mausoleum09.png:140,../scenery/mausoleum10.png:140,../scenery/mausoleum11.png:140,../scenery/mausoleum12.png:140,../scenery/mausoleum13.png:140,../scenery/mausoleum14.png:140,../scenery/mausoleum15.png:140,../scenery/mausoleum16.png:140,../scenery/mausoleum17.png:140,../scenery/mausoleum18.png:140"
            # wmlscope: stop ignoring
        [/image]
    [/terrain_graphics]
#enddef
