#textdomain wesnoth-Genesis
[scenario]
    id=16_Black_Forest
    name= _ "Black Forest"
    map_data="{~add-ons/Genesis/episode1/maps/16_Black_Forest.map}"
    next_scenario=17a_Ashen_Hearts
    victory_when_enemies_defeated=yes
    {TURNS 19 18 17}

    {EXTENDED_TIME2}

    {SCENARIO_MUSIC wanderer.ogg}
    {EXTRA_SCENARIO_MUSIC elvish-theme.ogg}
    {EXTRA_SCENARIO_MUSIC loyalists.ogg}
    {EXTRA_SCENARIO_MUSIC battle.ogg}

    [side]
        {PLAYER_FAE}
        {FULL_RECRUIT_LIST}
        side=1
        {GOLD 260 230 160}
        {INCOME 2 1 -1}
        shroud=yes
        fog=yes
    [/side]

    [side]
        {HUMAN_ENEMY}
        type=General
        id=humanleader162
        generate_name=yes
        canrecruit=yes
        side=2
        recruit=Swordsman,Pikeman,Javelineer,Longbowman,Dragoon
        {GOLD 100 125 200}
        {INCOME 15 20 25}
        [ai]
            aggression=0.75
            caution=0.25
        [/ai]
    [/side]

    [side]
        {HUMAN_ENEMY}
        type=General
        id=humanleader163
        generate_name=yes
        canrecruit=yes
        side=3
        recruit=Swordsman,Pikeman,Javelineer,Longbowman,Dragoon
        {GOLD 100 125 200}
        {INCOME 15 20 25}
        [ai]
            aggression=0.75
            caution=0.25
        [/ai]
    [/side]

    [side]
        no_leader=yes
        side=4
        controller=ai
        team_name=woses
        hidden=yes
        color=black
    [/side]

#define GENERATE_HILL
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [and]
            x,y=10,8
            radius=11
            [or]
                x,y=15,4
                radius=7
            [/or]
            [or]
                x,y=4,15
                radius=7
            [/or]
        [/and]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..15
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=1
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Hh
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [filter_adjacent_location]
            terrain=Hh
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..8
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=1
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Hh
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
#enddef

#define GENERATE_FOREST
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [and]
            x,y=10,9
            radius=13
            [or]
                x,y=3,17
                radius=7
            [/or]
            [or]
                x,y=19,6
                radius=10
            [/or]
        [/and]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..1600
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=40
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=43
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=40
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=49
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=46
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fms
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=70
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=50
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=71
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=72
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fms
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [filter_adjacent_location]
            terrain=G*^F*,Hh^F*
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..300
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=40
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=53
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=40
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=66
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=53
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fms
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=75
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=66
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fdf
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=84
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=75
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs^Fmf
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=95
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=85
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=99
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=95
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=103
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=99
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fms
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=106
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=103
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fdf
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=109
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=106
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Fmf
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=hill_hex
        terrain=Hh
    [/store_locations]
    [for]
        array=hill_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..75
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=10
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=11
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=12
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fms
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE hill_hex}
    [store_locations]
        variable=hill_hex
        terrain=Hh
        [filter_adjacent_location]
            terrain=Hh^Fms,Hh^Fda,Hh^Fp
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=hill_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..75
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=4
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fp
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=5
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fds
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=6
                [/variable]
                [then]
                    [terrain]
                         x,y=$hill_hex[$i].x,$hill_hex[$i].y
                        terrain=Hh^Fms
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE hill_hex}
#enddef

#define GENERATE_VILLAGE
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [not]
            [filter_adjacent_location]
                terrain=G*^V*,G*^F*,G*
                [and]
                    [filter_adjacent_location]
                        terrain=G*^V*,G*^F*
                    [/filter_adjacent_location]
                [/and]
            [/filter_adjacent_location]
        [/not]
        [not]
            [filter_adjacent_location]
                terrain=G*^V*,G*^F*,C*
            [/filter_adjacent_location]
        [/not]
        [not]
            x=0,45
            [or]
                y=0,45
            [/or]
        [/not]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..130
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=3
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Vh
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=3
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Vc
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=4
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Vwm
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=6
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gg^Vct
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=forest_hex
        terrain=G*^F*
        [not]
            [filter_adjacent_location]
                terrain=G*^V*,G*,C*
            [/filter_adjacent_location]
        [/not]
        [not]
            x=0,46
            [or]
                y=0,36
            [/or]
        [/not]
    [/store_locations]
    [for]
        array=forest_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..40
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=1
                [/variable]
                [then]
                    [terrain]
                         x,y=$forest_hex[$i].x,$forest_hex[$i].y
                        terrain=Gs^Ve
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE forest_hex}
#enddef

#define GENERATE_GRASS
    [store_locations]
        variable=grass_hex
        terrain=Gg
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..800
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=30
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=34
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=30
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gd
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=50
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gll
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [filter_adjacent_location]
            terrain=Gs
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..50
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=10
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=13
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=10
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gd
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=15
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gll
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [filter_adjacent_location]
            terrain=Gd
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..50
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    less_than=10
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    less_than=13
                [/variable]
                [and]
                    [variable]
                        name=change_terrain
                        greater_than=10
                    [/variable]
                [/and]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gd
                    [/terrain]
                [/then]
            [/if]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=15
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gll
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
    [store_locations]
        variable=grass_hex
        terrain=Gg
        [filter_adjacent_location]
            terrain=G*^F*
            count=4,5,6
        [/filter_adjacent_location]
    [/store_locations]
    [for]
        array=grass_hex
        [do]
            [set_variable]
                name=change_terrain
                rand=1..5
            [/set_variable]
            [if]
                [variable]
                    name=change_terrain
                    numerical_equals=1
                [/variable]
                [then]
                    [terrain]
                         x,y=$grass_hex[$i].x,$grass_hex[$i].y
                        terrain=Gs
                    [/terrain]
                [/then]
            [/if]
            {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE grass_hex}
#enddef

#define GENERATE_TEXTURE
    [store_locations]
        variable=floor_hex
        terrain=*
        [and]
            [filter_adjacent_location]
                terrain=*^F*
            [/filter_adjacent_location]
        [/and]
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..24
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Em
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
    [store_locations]
        variable=floor_hex
        terrain=*
        [and]
            [filter_adjacent_location]
                terrain=*^F*
                count=3-6
            [/filter_adjacent_location]
        [/and]
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..60
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Emf
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
    [store_locations]
        variable=floor_hex
        terrain=G*
        [not]
            [filter_adjacent_location]
                terrain=*^F*
            [/filter_adjacent_location]
        [/not]
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..32
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Gvs
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
    [store_locations]
        variable=floor_hex
        terrain=G*
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..16
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Efm
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
    [store_locations]
        variable=floor_hex
        terrain=G*
        [and]
            [filter_adjacent_location]
                terrain=*^F*
            [/filter_adjacent_location]
        [/and]
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..12
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Efm
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
    [store_locations]
        variable=floor_hex
        terrain=G*,R*,H*
    [/store_locations]
    [for]
        array=floor_hex
        [do]
        [set_variable]
            name=change_terrain
            rand=1..16
        [/set_variable]
        [if]
            [variable]
                name=change_terrain
                numerical_equals=1
            [/variable]
            [then]
                [terrain]
                    x,y=$floor_hex[$i].x,$floor_hex[$i].y
                    layer=overlay
                    terrain=^Es
                [/terrain]
            [/then]
        [/if]
        {CLEAR_VARIABLE change_terrain}
        [/do]
    [/for]
    {CLEAR_VARIABLE floor_hex}
#enddef

    [event]
        name=prestart
        {GENERATE_HILL}
        {REPEAT 2 ({GENERATE_FOREST})}
        {GENERATE_HILL}
        {REPEAT 2 ({GENERATE_FOREST})}
        {GENERATE_HILL}
        {REPEAT 2 ({GENERATE_FOREST})}
        {REPEAT 2 ({GENERATE_VILLAGE})}
        {REPEAT 3 ({GENERATE_GRASS})}
        {GENERATE_TEXTURE}
        {GENERATE_TEXTURE}
        [set_variable]
            name=tree_spawns
            value=0
        [/set_variable]

        {FADE_SCREEN}
    [/event]

    [event]
        name=start

        {UNFADE_SCREEN}
        {RECALL_TALYA 3 3}

        [message]
            speaker=Talya
            message= _ "Well, we got away from those things, but we didn't find your friends. What do we do now?"
        [/message]
        [message]
            speaker=Esther
            message= _ "I don't know. I just keep thinking about it."
        [/message]
        [message]
            speaker=Talya
            message= _ "About?"
        [/message]
        [message]
            speaker=Esther
            message= _ "The statue. It looked exactly like Aryel."
        [/message]
        [message]
            speaker=Talya
            message= _ "Don't you think you're a little too hung up over that?"
        [/message]
        [message]
            speaker=Esther
            message= _ "I'm worried about her. And Yumi. Look, I know you just met them and don't know them that well, but-"
        [/message]
        [message]
            speaker=Talya
            message= _ "It's not like I don't care."
        [/message]
        [message]
            speaker=Esther
            message= _ "So you should understand why I keep thinking about that."
        [/message]
        [message]
            speaker=Talya
            message= _ "Yes, but we can't just keep wandering around aimlessly. You've literally been flying here in circles here all night!"
        [/message]
        [message]
            speaker=Esther
            message= _ "(<i>snaps</i>) I know! I just have no idea where they are, and those two like to put themselves in terrible danger for no reason. Oh, I shouldn't have let them go alone..."
        [/message]
        [message]
            speaker=Talya
            message= _ "Sorry, my intention wasn't to criticize you-"
        [/message]
        [message]
            speaker=Esther
            message= _ "(<i>shakes head</i>)"
        [/message]

        {RECALL_ARYEL 11 8}

        [object]
            [filter]
                id=Aryel
            [/filter]
            [effect]
                apply_to=new_ability
                [abilities]
                    [regenerate]
                        value=-7
                        id=injured
                        name= _ "injured"
                        female_name= _ "female^injured"
                        description= _ "This unit has reduced hitpoints and loses 7 health per turn."
                        affect_self=yes
                    [/regenerate]
                [/abilities]
            [/effect]
            [effect]
                apply_to=hitpoints
                increase_total=-40%
            [/effect]
            silent=yes
            duration=scenario
        [/object]

        [modify_unit]
            [filter]
                id=Aryel
            [/filter]
            hitpoints=1
        [/modify_unit]
        [move_unit]
            id=Esther
            to_x,to_y=6,4
        [/move_unit]
        [message]
            speaker=Talya
            message= _ "I wish there were something I could do-"
        [/message]
        {DELAY 250}
        [redraw]
            side=1
            clear_shroud=yes
        [/redraw]
        {DELAY 500}
        {SCROLL_TO 11 8}
        {DELAY 500}
        [message]
            speaker=Talya
            message= _ "(<i>gasps</i>)"
        [/message]
        [message]
            speaker=Esther
            message= _ "Aryel? Aryel!"
        [/message]
        [move_unit]
            id=Esther
            to_x,to_y=10,7
        [/move_unit]
        [move_unit]
            id=Talya
            to_x,to_y=11,7
        [/move_unit]
        [message]
            speaker=Esther
            message= _ "Aryel, look at me. Please be okay."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Ugh... not so loud, Esther. My head's killing me."
        [/message]
        [message]
            speaker=Esther
            message= _ "My apologies. Talya, go get one of the healers."
        [/message]
        [message]
            speaker=Talya
            message= _ "On it."
        [/message]
        [move_unit]
            id=Talya
            to_x,to_y=1,1
        [/move_unit]
        [store_unit]
            [filter]
                id=Talya
            [/filter]
            variable=talya
        [/store_unit]
        [kill]
            id=Talya
        [/kill]
        [message]
            speaker=Esther
            message= _ "Don't worry, Aryel. You're safe. We're going to get someone to heal you right away."
        [/message]
        [message]
            speaker=Aryel
            message= _ "... mmm. Great."
        [/message]
        {DELAY 500}
        [unstore_unit]
            variable=talya
            x,y=1,1
        [/unstore_unit]
        {CLEAR_VARIABLE talya}
        [move_unit]
            id=Talya
            to_x,to_y=10,6
        [/move_unit]
        [unit]
            side=1
            generate_name=yes
            type=Faerie Guardian
            random_traits=no
            animate=yes
            [modifications]
                {TRAIT_LOYAL}
                {TRAIT_INTELLIGENT}
            [/modifications]
            x,y=11,7
            experience=101
        [/unit]
        [unit]
            side=1
            generate_name=yes
            type=Faerie Siren
            random_traits=no
            animate=yes
            [modifications]
                {TRAIT_LOYAL}
                {TRAIT_RESILIENT}
            [/modifications]
            x,y=10,8
            experience=19
        [/unit]

        [message]
            speaker=Talya
            message= _ "Is she... okay?"
        [/message]
        [message]
            x,y=11,7
            message= _ "She's hurt badly. Give her a little room."
        [/message]
        {DELAY 500}

        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=0
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=0
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=0
            animate=yes
        [/heal_unit]
        [message]
            x,y=10,8
            message= _ "There is a dense energy running through her whole body. It's stopping me from healing her properly."
        [/message]

        [message]
            speaker=Esther
            message= _ "(<i>softly</i>) What in the world happened to you?"
        [/message]
        {DELAY 500}

        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=0
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=0
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [message]
            speaker=Aryel
            message= _ "(<i>breathes</i>)"
        [/message]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=1
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [message]
            speaker=Aryel
            message= _ "There were... demons... but they weren't demons. They were so cold. Their scythes didn't feel like blades. They cut me... but it didn't hurt. I just felt numb. I still feel numb."
        [/message]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=1
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [message]
            speaker=Aryel
            message= _ "There were so many of them. They were... terrifying. I couldn't fight them all. Not alone. Nobody was there to help me-"
        [/message]
        [message]
            speaker=Esther
            message= _ "(<i>whispers</i>) I'm sorry."
        [/message]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=2
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [message]
            speaker=Aryel
            message= _ "I was trying to stop them. They were- they were..."
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>stands</i>)"
        [/message]
        [message]
            speaker=Esther
            message= _ "What are you doing? You've got to rest!"
        [/message]
        [message]
            speaker=Aryel
            message= _ "E-Esther, there was a bunch of them chasing Yumi! They were hunting her! I saw them corner her and then, and then..."
        [/message]
        {DELAY 250}
        [heal_unit]
            [filter]
                id=Aryel
            [/filter]
            amount=3
            animate=yes
        [/heal_unit]
        {DELAY 250}
        [message]
            speaker=Talya
            message= _ "Take it easy. Nice and slow. Don't panic."
        [/message]
        {DELAY 500}
        [message]
            speaker=Aryel
            message= _ "(<i>breathes</i>)"
        [/message]
        {DELAY 500}
        [message]
            speaker=Aryel
            message= _ "They disappeared. I don't know what happened, but suddenly they were all gone. I saw her- she was far and she was hurt- I tried to get to her, but some of the humans found her first and took her away- I tried to follow, but I was tired... and then the demons or whatever they were, they came and they surrounded me-"
        [/message]
        [message]
            speaker=Esther
            message= _ "Aryel, slow down. You're hyperventilating."
        [/message]
        [message]
            speaker=Aryel
            message= _ "I managed to fight off some of them and follow the humans- I sensed them taking her south... but I couldn't outrun the demons, and they just-"
        [/message]
        {DELAY 500}
        [message]
            speaker=Aryel
            message= _ "(<i>breathes</i>)"
        [/message]
        {DELAY 500}
        [message]
            speaker=Aryel
            message= _ "It was so dark... and so cold... I couldn't catch up to her..."
        [/message]
        [message]
            speaker=Esther
            message= _ "Aryel- Aryel, it's okay. The demons are gone. We're here now-"
        [/message]
        [message]
            speaker=Aryel
            message= _ "It's not okay! The humans took Yumi! Who knows what they're going to do to her?"
        [/message]
        [message]
            speaker=Esther
            message= _ "I'm worried too, but you can't throw yourself into danger like that. What if something happens to you?"
        [/message]
        [message]
            speaker=Aryel
            message= _ "I- ah. You're right, but I wasn't thinking straight in the moment... (<i>shivers</i>)"
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>shaking head</i>) Even so, I'm, well, mostly okay now, so we've gotta focus on getting to Yumi."
        [/message]
        [message]
            speaker=Esther
            message= _ "You said they were taking her south? They haven't done anything to her yet, have they? They better not have..."
        [/message]
        [message]
            speaker=Aryel
            message= _ "She's still alive. But she's far. Getting close to Caerleon now."
        [/message]
        [message]
            speaker=Esther
            message= _ "Okay. Alright. In that case, Talya, you and me will go after Yumi-"
        [/message]
        [message]
            speaker=Aryel
            message= _ "Don't you mean all of us?"
        [/message]
        [message]
            speaker=Esther
            message= _ "No, I mean Talya and me. You're staying here until you've recovered a bit."
        [/message]
        [message]
            speaker=Aryel
            message= _ "No, I'm coming too-"
        [/message]
        [message]
            speaker=Esther
            message= _ "Aryel, you're hurt really badly, and I'm not going to let you just follow us into more danger like that. You get into enough trouble already. Stop being so hotheaded-"
        [/message]
        [message]
            speaker=Aryel
            message= _ "That's- I'm just-"
        [/message]
        [message]
            speaker=Talya
            message= _ "Actually, before you two go on a mad dash through the forest, you might want to consider that we're getting close to the plains. So there's probably going to be some outposts nearby that we might have to fight through."
        [/message]
        [message]
            speaker=Esther
            message= _ "I'll charge through them if I have to."
        [/message]
        [message]
            speaker=Aryel
            message= _ "That would be bad, wouldn't it?"
        [/message]
        [message]
            speaker=Esther
            message= _ "Well, maybe, but-"
        [/message]
        [message]
            speaker=Aryel
            message= _ "Esther, I went on a mad dash to try to save Yumi too. Trust me, being that rash is not a good idea."
        [/message]
        [message]
            speaker=Esther
            message= _ "Then I can sneak around them by myself. You and Talya and the girls can stay back here."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Esther, you're not going to just get up and leave without me, are you?"
        [/message]
        [message]
            speaker=Esther
            message= _ "I... for your own good, I want to. (<i>sighs</i>) But I guess there's no talking sense into you, is there? Fine. We'll go together, but promise you'll stay behind me."
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>nods</i>) I'll stay close."
        [/message]
        [message]
            speaker=Esther
            message= _ "<i>She's still hurt really badly. Aryel's normally never this agreeable. I guess that'll have to be good enough for now. She'll have time to heal on our way to Caerleon, I'll just have to keep an eye on her to make sure she's okay.</i>"
        [/message]

        [terrain]
            x,y=10,7
            radius=1
            terrain=Ce
        [/terrain]
        [terrain]
            x,y=10,7
            terrain=Ke
        [/terrain]
        [redraw][/redraw]

        [objectives]
            {OBJECTIVE_VICTORY  ( _ "Travel southeast")}
            {OBJECTIVE_DEFEAT  ( _ "Death of Esther")}
            {OBJECTIVE_DEFEAT  ( _ "Death of Aryel")}
        [/objectives]
    [/event]

    # spawns
    [event]
        name=new turn
        first_time_only=no
        [filter_condition]
            [variable]
                name=tree_spawns
                numerical_equals=1
            [/variable]
        [/filter_condition]
        [store_locations]
            terrain=*^F*
            variable=hex
        [/store_locations]
        [for]
            array=hex
            [do]
                #ifdef HARD
                [set_variable]
                    name=spawn_val
                    rand=1..350
                [/set_variable]
                #endif
                #ifdef NORMAL
                [set_variable]
                    name=spawn_val
                    rand=1..500
                [/set_variable]
                #endif
                #ifdef EASY
                [set_variable]
                    name=spawn_val
                    rand=1..600
                [/set_variable]
                #endif
                [if]
                    [variable]
                        name=spawn_val
                        numerical_equals=4
                    [/variable]
                    [then]
                        {SPAWN_NOID_NONAME ("Ashen Wose") 4 $hex[$i].x $hex[$i].y}
                        [terrain]
                            x,y=$hex[$i].x,$hex[$i].y
                            terrain=Zw
                        [/terrain]
                    [/then]
                [/if]
                {CLEAR_VARIABLE spawn_val}
            [/do]
        [/for]
        {CLEAR_VARIABLE hex}
        [redraw][/redraw]
    [/event]

    [event]
        name=sighted
        first_time_only=yes
        [filter]
            side=2,3
        [/filter]
        [filter_second]
            side=1
        [/filter_second]
        [message]
            speaker=unit
            message= _ "Eek! It's the faerie! Commander, commander, it's the faerie!"
        [/message]
        [message]
            speaker=Aryel
            message= _ "Boo."
        [/message]
        [message]
            speaker=unit
            message= _ "Aaaaahhhh!"
        [/message]
        [message]
            speaker=humanleader162
            message= _ "Sound the alarms! We're under attack!"
        [/message]
        [message]
            speaker=Esther
            message= _ "If it's a fight you're looking for..."
        [/message]
        [message]
            speaker=unit
            message= _ "Stay away! Get back or I won't hesitate to fight you!"
        [/message]
        [message]
            speaker=Aryel
            message= _ "Riiight. Esther, what about the other plan of sneaking around them? It might be faster than fighting them."
        [/message]
        [message]
            speaker=Esther
            message= _ "In such a big group? I don't think that'll work very well. This is why I wanted to come alone."
        [/message]
        [message]
            speaker=Talya
            message= _ "(<i>whispers</i>) If we fight them here, that's only going to hurt our relationship with Caerleon even more. It's going to be really hard to make peace with them again, at least until we figure out what's going on with the king and the rest of the Council."
        [/message]
        [message]
            speaker=Esther
            message= _ "(<i>whispers</i>) They already attack us on sight. I don't think diplomacy is going to work anymore, and I'm honestly tired of it."
        [/message]
        [message]
            speaker=Talya
            message= _ "You've got a point."
        [/message]
        [objectives]
            {OBJECTIVE_VICTORY  ( _ "Defeat all enemy leaders")}
            {OBJECTIVE_DEFEAT  ( _ "Death of Esther")}
            {OBJECTIVE_DEFEAT  ( _ "Death of Aryel")}
            {OBJECTIVE_DEFEAT  ( _ "Death of Talya")}
            {OBJECTIVE_CARRYOVER}
        [/objectives]
    [/event]
    [event]
        name=last breath
        first_time_only=yes
        [filter]
            side=2,3
        [/filter]
        [filter_second]
            id=Aryel
        [/filter_second]

        [message]
            speaker=unit
            message= _ "Augh! Help, help! She's sucking out my soul!"
        [/message]
        [message]
            speaker=Aryel
            message= _ "Actually, I'm not. But I could totally do that if you wanted me to."
        [/message]
        [message]
            speaker=Talya
            message= _ "Poor guy's in for a lot of pain."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Tch. I would love to give him the torment that he deserves, but moving on is more important."
        [/message]
    [/event]
    [event]
        name=last breath
        first_time_only=yes
        [filter]
            side=2,3
        [/filter]
        [filter_second]
            id=Talya
        [/filter_second]

        [message]
            speaker=unit
            message= _ "Traitor!"
        [/message]
        [message]
            speaker=Talya
            message= _ "Oh sure, that's me. Definitely miss traitor here, killing all of you 'cause I went mad."
        [/message]
    [/event]
    [event]
        name=last breath
        first_time_only=yes
        [filter]
            side=4
        [/filter]
        [filter_second]
            side=1
        [/filter_second]

        [message]
            speaker=Esther
            message= _ "I highly doubt fighting these things is a good idea."
        [/message]
    [/event]
    [event]
        name=turn 3
        [message]
            speaker=Esther
            message= _ "How are you doing, Aryel?"
        [/message]
        [message]
            speaker=Aryel
            message= _ "I'm... honestly... not too good. But better than before."
        [/message]
        [message]
            speaker=Talya
            message= _ "You're still hurt pretty bad. Shouldn't you rest up a bit more and stick next to one of the healers?"
        [/message]
        [message]
            speaker=Aryel
            message= _ "No, it's okay. I just need to take it slowly."
        [/message]
        [message]
            speaker=Talya
            message= _ "Alright, if you say so. But geez, you're a pretty tough girl. Even our biggest, strongest dudes would be totally out of it with the kind of beating you took."
        [/message]
        [message]
            speaker=Esther
            message= _ "You really ought to be more careful, Aryel. You're so reckless when you fight."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Yumi was in trouble. I had to help her."
        [/message]
        [message]
            speaker=Esther
            message= _ "Yes, we need Yumi to be safe. But we also need you to be safe too, Aryel. Please don't put yourself in unnecessary danger."
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>sighs</i>) Yes, mother."
        [/message]
        [message]
            speaker=Esther
            message= _ "<i>She still looks so pale, poor thing. But, at least she's got her sarcasm back.</i>"
        [/message]
    [/event]

    [event]
        name=turn 8 end

        [set_variable]
            name=tree_spawns
            value=1
        [/set_variable]
    [/event]

    [event]
        name=turn 9

        [store_locations]
            variable=hex
            terrain=*^F*
            [and]
                [filter_adjacent_location]
                    x,y=19,18
                    radius=4
                [/filter_adjacent_location]
            [/and]
            [and]
                [not]
                    [filter][/filter]
                [/not]
            [/and]
        [/store_locations]
        [remove_shroud]
            side=1
            x,y=19,18
            radius=4
        [/remove_shroud]
        [lift_fog]
            [filter_side]
                side=1
            [/filter_side]
            x,y=19,18
            radius=4
            multiturn=no
        [/lift_fog]
        [redraw]
            side=1
            clear_shroud=yes
        [/redraw]
        {SCROLL_TO 19 18}
        [set_variable]
            name=i
            rand=0..$($hex.length-1)
        [/set_variable]
        {DELAY 500}
        {PLAY_SOUND "wail.wav"}
        {DELAY 500}
        {SPAWN_NOID_NONAME ("Ashen Wose") 4 $hex[$i].x $hex[$i].y}
        [terrain]
            x,y=$hex[$i].x,$hex[$i].y
            terrain=Zw
        [/terrain]
        [redraw][/redraw]
        {CLEAR_VARIABLE i}
        {CLEAR_VARIABLE hex}
        [message]
            speaker=Talya
            message= _ "What is <i>that</i>?"
        [/message]
        [message]
            speaker=Esther
            message= _ "It feels unnaturally cold... a lot like those creatures we fought against before at Fort Helemoor."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Ugh. Just when I thought I had gotten away from all this weird stuff..."
        [/message]
        [message]
            speaker=Talya
            message= _ "(<i>shivers</i>)"
        [/message]
        [message]
            speaker=Esther
            message= _ "Calm down, you two. We can get through this. Everyone, just stick together! Remember that any of the trees could turn into those monsters, so please be careful!"
        [/message]
    [/event]

    [event]
        name=turn 15
        [message]
            speaker=Aryel
            message= _ "You know, Esther."
        [/message]
        [message]
            speaker=Esther
            message= _ "Yes?"
        [/message]
        [message]
            speaker=Aryel
            message= _ "I kind of miss when the demons were our only enemies. Having to fight all the humans along with these weird creatures is really just..."
        [/message]
        [message]
            speaker=Esther
            message= _ "It's hard, being hounded by everyone and everything."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Don't forget the everywhere."
        [/message]
        [message]
            speaker=Esther
            message= _ "Right. I'm no stranger to fighting either, but it's difficult when the people who are supposed to be your allies suddenly start attacking you. First the Urdemons, now the humans-"
        [/message]
        [message]
            speaker=Talya
            message= _ "Not all of us are against you!"
        [/message]
        [message]
            speaker=Esther
            message= _ "I know, we really appreciate the help. But Caerleon is truly becoming a problem if their generals are just going to attack us on sight. Even if Aryel doesn't think much of their armies-"
        [/message]
        [message]
            speaker=Aryel
            message= _ "They're getting annoying."
        [/message]
        [message]
            speaker=Talya
            message= _ "I know, I know. It's a problem for us too, right? So we're in this together."
        [/message]
        [message]
            speaker=Esther
            message= _ "Yes, we are. See Aryel? It's not so bad when you've got friends. We're here to support each other."
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>sighs</i>) You're right. I guess I'm still just a bit shaken from fighting all those... things."
        [/message]
        [message]
            speaker=Esther
            message= _ "It's okay. We're here with you now. You're not alone. We're your friends for a reason."
        [/message]
        [message]
            speaker=Talya
            message= _ "Right? I mean, as long as you don't mind being friends with a human."
        [/message]
        [message]
            speaker=Aryel
            message= _ "(<i>rolls eyes</i>) I don't mind. Thanks, you two."
        [/message]
    [/event]
    [event]
        name=turn 12

        [message]
            speaker=Aryel
            message= _ "Ugh, this is taking too long. We need to catch up to Yumi before they do anything to her."
        [/message]
    [/event]
    [event]
        name=turn 14

        [message]
            speaker=Aryel
            message= _ "Come on, we've got to beat these guys and get going."
        [/message]
    [/event]
    [event]
        name=turn 16

        [message]
            speaker=Esther
            message= _ "We can't just stay here fighting. Yumi's in danger!"
        [/message]
    [/event]
    [event]
        name=turn 17

        [message]
            speaker=Aryel
            message= _ "She's getting farther and farther away..."
        [/message]
    [/event]
    [event]
        name=last breath
        first_time_only=yes
        [filter]
            id=humanleader163
        [/filter]

        [message]
            speaker=humanleader163
            message= _ "Argh! Slain by a violent bunch of savages..."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Violent? You thought that was violent? Allow me to demonstrate the error in your thought process."
        [/message]
    [/event]

    [event]
        name=last breath
        first_time_only=yes
        [filter]
            id=humanleader162
        [/filter]

        [message]
            speaker=humanleader162
            message= _ "Urgh- send a messenger... to Caerleon... the faeries are invading..."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Right. Because we faerie definitely are known for being conquerers. We totally just would love to take over your city and enslave you humans."
        [/message]
        [message]
            speaker=humanleader162
            message= _ "Hurry... and warn the king..."
        [/message]
        [kill]
            id=humanleader162
            animate=yes
        [/kill]
        [message]
            speaker=Esther
            message= _ "Nothing like a little propaganda to keep everyone on edge. That, or they've just gone crazy."
        [/message]
        [message]
            speaker=Talya
            message= _ "Yeah. The most recent order I remember was the one to drive you faerie out of the northlands, and that was pretty stupid already. I mean, the only thing you faerie really like is forests, so no idea what's gotten into their heads."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Tell me about it."
        [/message]
    [/event]

    [event]
        name=enemies defeated

        {DELAY 750}
        [message]
            speaker=Esther
            message= _ "Finally. That took a lot longer than I was hoping it would."
        [/message]
        [message]
            speaker=Aryel
            message= _ "Yes, it did. So let's hurry up and go after Yumi."
        [/message]
        [message]
            speaker=Esther
            message= _ "Right behind you."
        [/message]

        [endlevel]
            result=victory
            {NEW_GOLD_CARRYOVER 40}
            next_scenario=17a_Ashen_Hearts
        [/endlevel]
    [/event]
    [event]
        name=last breath
        [filter]
            id=Esther
        [/filter]

        [message]
            speaker=Esther
            message= _ "I... failed..."
        [/message]
        [endlevel]
            result=defeat
        [/endlevel]
    [/event]
    [event]
        name=last breath
        [filter]
            id=Aryel
        [/filter]

        [message]
            speaker=Aryel
            message= _ "(<i>gasps</i>)"
        [/message]
        [message]
            speaker=Esther
            message= _ "Aryel, no!"
        [/message]
        [endlevel]
            result=defeat
        [/endlevel]
    [/event]
    [event]
        name=last breath
        [filter]
            id=Talya
        [/filter]

        [message]
            speaker=Talya
            message= _ "Ow!"
        [/message]

        [endlevel]
            result=defeat
        [/endlevel]
    [/event]
    [event]
        name=time over

        [message]
            speaker=Aryel
            message= _ "Great. Those humans probably took Yumi to Caerleon by now."
        [/message]
        [message]
            speaker=Esther
            message= _ "We really needed to not get stuck here for so long."
        [/message]
        [endlevel]
            result=defeat
        [/endlevel]
    [/event]
    [event]
        name=victory
        {CLEAR_VARIABLE tree_spawns}
    [/event]
[/scenario]

#undef GENERATE_HILL
#undef GENERATE_FOREST
#undef GENERATE_VILLAGE
#undef GENERATE_GRASS
#undef GENERATE_TEXTURE