#textdomain wesnoth-tutorial
{./utils.cfg}
# Comment this out for a faster (no-commentry) tutorial for testing.
{./2_Speaking.cfg}

#define BADGUY TYPE NAME POSITION
    [unit]
        id={NAME}
        generate_name=yes
        type={TYPE}
        x,y={POSITION}
        moves=0
        side=2
        animate=yes
    [/unit]
    [redraw][/redraw]
#enddef

#define DEFEND_ISLAND
    [if]
        {NUMEQ island_defended 0}
        {NUMEQ dumbo_dead 1}
        [then]
            {VARIABLE island_defended 1}
            {LABEL (_"Patch of forest") 10,14}
            {TALK_ABOUT_LOC 10,14 (_"Now put an unwounded unit, preferably a fighter, in that patch of forest on the south-east of the island; a nice, defensible spot.")}
            {STUDENT (_"Can one unit survive against all those enemies?")}
            {TEACHER (_"With a little help, yes. If you move your Shaman next to the defending unit, she will heal it 4 hitpoints per turn. Just be careful not to expose the Shaman to attack since she is fairly weak herself.")}
            {PRINT (_"Move a unit (fighter if possible) to the patch of forest")}
            [event]
                name=moveto
                [filter]
                    x,y=10,14
                [/filter]
                {UNLABEL 10,14}
                {PRINT (_"Advance other units onto the island or to capture villages, then End Turn")}
                [allow_undo][/allow_undo]
            [/event]
        [/then]
    [/if]
#enddef

#define REFUND_AND_REMOVE_RECRUIT
    [if]
        [variable]
            # is it a recall?
            # FIXME: units could be recalled with 0 xp
            name=recruit.experience
            greater_than=0
        [/variable]
        [then]
            [gold]
                amount=20
            [/gold]
            # put the unit back into the recall list
            # ugly trait hack...
            [unit]
                side=$recruit.side
                name=$recruit.name
                type=$recruit.type
                experience=$recruit.experience
                gender=$recruit.gender
                [modifications]
                    [trait]
                        id=$recruit.modifications.trait[0].id
                        name=$recruit.modifications.trait[0].name
                        [effect]
                            apply_to=$recruit.modifications.trait[0].effect[0].apply_to
                            # hitpoints (resilient & quick)
                            increase_total=$recruit.modifications.trait[0].effect[0].increase_total
                            times=$recruit.modifications.trait[0].effect[0].times
                            # damage (strong, dextrous)
                            increase_damage=$recruit.modifications.trait[0].effect[0].increase_damage
                            range=$recruit.modifications.trait[0].effect[0].range
                            # movement (quick), experience (intelligent)
                            increase=$recruit.modifications.trait[0].effect[0].increase
                        [/effect]
                        [effect]
                            apply_to=$recruit.modifications.trait[0].effect[1].apply_to
                            # hitpoints (resilient & quick)
                            increase_total=$recruit.modifications.trait[0].effect[1].increase_total
                            times=$recruit.modifications.trait[0].effect[1].times
                            # damage (strong, dextrous)
                            increase_damage=$recruit.modifications.trait[0].effect[1].increase_damage
                            range=$recruit.modifications.trait[0].effect[1].range
                            # movement (quick), experience (intelligent)
                            increase=$recruit.modifications.trait[0].effect[1].increase
                        [/effect]
                    [/trait]
                    [trait]
                        id=$recruit.modifications.trait[1].id
                        name=$recruit.modifications.trait[1].name
                        [effect]
                            apply_to=$recruit.modifications.trait[1].effect[0].apply_to
                            # hitpoints (resilient & quick)
                            increase_total=$recruit.modifications.trait[1].effect[0].increase_total
                            times=$recruit.modifications.trait[1].effect[0].times
                            # damage (strong, dextrous)
                            increase_damage=$recruit.modifications.trait[1].effect[0].increase_damage
                            range=$recruit.modifications.trait[1].effect[0].range
                            # movement (quick), experience (intelligent)
                            increase=$recruit.modifications.trait[1].effect[0].increase
                        [/effect]
                        [effect]
                            apply_to=$recruit.modifications.trait[1].effect[1].apply_to
                            # hitpoints (resilient & quick)
                            increase_total=$recruit.modifications.trait[1].effect[1].increase_total
                            times=$recruit.modifications.trait[1].effect[1].times
                            # damage (strong, dextrous)
                            increase_damage=$recruit.modifications.trait[1].effect[1].increase_damage
                            range=$recruit.modifications.trait[1].effect[1].range
                            # movement (quick), experience (intelligent)
                            increase=$recruit.modifications.trait[1].effect[1].increase
                        [/effect]
                    [/trait]
                [/modifications]
            [/unit]
        [/then]
        [else]
            # simply use cost to return
            [gold]
                amount=$recruit.cost
            [/gold]
        [/else]
    [/if]
#enddef

#define IMPORTANT_UNIT NAME
    [if]
        # FIXME: Archer needs 44/35(intelligent), Fighter needs 38/30 (?)
        [variable]
            name={NAME}.type
            equals=Elvish Archer
        [/variable]
        [variable]
            name={NAME}.experience
            greater_than=30
        [/variable]
        [or]
            [variable]
                name={NAME}.type
                equals=Elvish Fighter
            [/variable]
            [variable]
                name={NAME}.experience
                greater_than=29
            [/variable]
        [/or]
        [then]
            {VARIABLE commented 0}
            {FOREACH galdrad_comments i}
                [if]
                    [variable]
                        name=galdrad_comments[$i].id
                        equals=${NAME}.id
                    [/variable]
                    [then]
                        {VARIABLE commented 1}
                    [/then]
                [/if]
            {NEXT i}
            {CLEAR_VARIABLE i}

            [if]
                {NUMEQ commented 0}
                [then]
                    [store_unit]
                        [filter]
                            id=${NAME}.id
                        [/filter]
                        variable=galdrad_comments
                        mode=append
                    [/store_unit]
                    {TEACHER (_"That unit is about one kill (8 experience points) away from gaining a level! Do not let it die!")}
                [/then]
            [/if]
            {CLEAR_VARIABLE commented}
        [/then]
    [/if]
#enddef

#define DEFENDER_INJURED NAME
    [if]
        {NUMEQ {NAME}.side 1}
        [variable]
            name={NAME}.hitpoints
            less_than=19
        [/variable]
        [variable]
            name={NAME}.hitpoints
            greater_than=0
        [/variable]
        [then]
            {VARIABLE complained 0}

            # FIXME: If same unit gets attacked twice in same turn, this
            # does not seem to find it the second time. Some internal bug?

            {FOREACH unit_complained i}
                [if]
                    [variable]
                        name=unit_complained[$i].id
                        equals=${NAME}.id
                    [/variable]
                    [then]
                        {VARIABLE complained 1}
                    [/then]
                [/if]
            {NEXT i}

            [if]
                {NUMEQ complained 0}
                [then]
                    [store_unit]
                        [filter]
                            id=${NAME}.id
                        [/filter]
                        variable=unit_complained
                        mode=append
                    [/store_unit]
                    [if]
                        {NUMEQ complain_msg 2}
                        [then]
                            [message]
                                speaker=second_unit
                                message=_ "I hope I have a chance to retreat after this!"
                            [/message]
                            {VARIABLE_OP complain_msg add 1}
                        [/then]
                    [/if]

                    [if]
                        {NUMEQ complain_msg 1}
                        [then]
                            [message]
                                speaker=second_unit
                                message=_ "One lucky attack by an Orcish Grunt, and I'm done for!"
                            [/message]
                            {VARIABLE_OP complain_msg add 1}
                        [/then]
                    [/if]

                    [if]
                        {NUMEQ complain_msg 0}
                        [then]
                            [message]
                                speaker=second_unit
                                message=_ "Ouch! I could make use of some healing in a village."
                            [/message]
                            {VARIABLE_OP complain_msg add 1}
                        [/then]
                    [/if]
                [/then]
            [/if]
            {CLEAR_VARIABLE i}
            {CLEAR_VARIABLE complained}
            {IMPORTANT_UNIT {NAME}}
        [/then]
    [/if]
#enddef

#define CHECK_INCOME
    [if]
        {NUMEQ income_exceeded 0}
        [then]
            [store_side]
            [/store_side]
            [if]
                [variable]
                    name=side.gold
                    greater_than=13
                [/variable]
                [then]
                    {VARIABLE income_exceeded 1}
                    {STUDENT (_"I have $side.gold gold; enough to recruit!")}
                    {TALK_ABOUT_LOC 9,15 (_"Yes, keep recruiting more units: I think you might need them!")}
                [/then]
            [/if]
            {CLEAR_VARIABLE side}
        [/then]
    [/if]
#enddef

[tutorial]
    id=2_Tutorial
    name=_ "Wesnoth Tutorial Part II"
    map_data="{campaigns/tutorial/maps/2_Tutorial.map}"
    turns=26

    {DEFAULT_SCHEDULE}

    [side]
        type=Fighter
        id=student
        name=_"Konrad"
        current_player=_"Konrad"
        canrecruit=yes
        side=1
        gold=123
        controller=human
        recruit=Elvish Fighter,Elvish Archer,Elvish Shaman
    [/side]

    [side]
        type=Orcish Warrior
        id=Thrag
        name= _ "Thrag"
        side=2
        canrecruit=yes
        recruit=Orcish Grunt,Wolf Rider,Orcish Archer
        gold=0
        [ai]
            turns=1-6
            # When we unleash you, you *will* attack.
            aggression=1.0
            passive_leader=no
        [/ai]
    [/side]

    [side]
        no_leader=yes
        side=3
        team_name=1
        controller=null
    [/side]

    [event]
        name=prestart
        [objectives]
            side=1
            [objective]
                description= _ "Defeat the Orc Leader"
                condition=win
            [/objective]
            [objective]
                description= _ "Death of Konrad"
                condition=lose
            [/objective]
            [objective]
                description= _ "Turns run out"
                condition=lose
            [/objective]
        [/objectives]

        [if]
            [variable]
                name=gender
                equals=female
            [/variable]
            [then]
                [store_unit]
                    [filter]
                        id=student
                    [/filter]
                    kill=yes
                    variable=student_save
                [/store_unit]
                {VARIABLE student_x $student_save.x}
                {VARIABLE student_y $student_save.y}
                [unit]
                    type=Fighteress
                    side=1
                    x,y=$student_x,$student_y
                    id=student
                    name= _"Li'sar"
                    canrecruit=yes
                [/unit]
                [objectives]
                    side=1
                    [objective]
                        description= _ "Defeat the Orc Leader"
                        condition=win
                    [/objective]
                    [objective]
                        description= _ "Death of Li'sar"
                        condition=lose
                    [/objective]
                    [objective]
                        description= _ "Turns run out"
                        condition=lose
                    [/objective]
                [/objectives]
            [/then]
        [/if]

        [unit]
            id=Galdrad
            name= _ "Galdrad"
            type=Elvish Captain
            x,y=12,2
            side=3
        [/unit]

        [unit]
            id=Dumbo
            generate_name=yes
            type=Orcish Grunt
            x,y=8,13
            side=2
            # Make sure the two archers can't take him out!
            [modifications]
                {TRAIT_RESILIENT}
            [/modifications]
        [/unit]
    [/event]

    [event]
        name=start

        {VARIABLE dumbo_dead 0}
        {VARIABLE villages_around_keep 0}
        {VARIABLE village_warn 0}
        {VARIABLE recruit_num 1}
        {VARIABLE income_exceeded 0}
        {STUDENT (_"Ho Galdrad! Has Delfador conjured something else to beat me with? A flock of scarecrows, perhaps?")}
# wmlindent: start ignoring
        {GENDER ({TEACHER (_ "This is no game, Konrad! " +
			  _ "Orcs have encamped across the river. This is elven country; they are fools to enter here. We Elves are fast and hard to hit in forests. You must defeat their leader so they never threaten us again. I will advise you.")}) ({TEACHER (_ "This is no game, Li'sar! " +
			  _ "Orcs have encamped across the river. This is elven country; they are fools to enter here. We Elves are fast and hard to hit in forests. You must defeat their leader so they never threaten us again. I will advise you.")})}
# wmlindent: stop ignoring
        {STUDENT (_"What should I do?")}

        # Now we're into it... start music.
        {DEFAULT_MUSIC_PLAYLIST}

        {TALK_ABOUT Dumbo (_"First, we will have to deal with the Orcish Grunt stationed in the middle of the river. He should be little trouble.")}
        {TALK_ABOUT Thrag (_"By then, their leader will have recruited units to send against us and the real fight will begin.")}
        {LABEL (_"SHALLOW") 19,16}
        {LABEL (_"SHALLOW") 18,16}
        {LABEL (_"SHALLOW") 18,14}
        {LABEL (_"SHALLOW") 19,15}
        {LABEL (_"SHALLOW") 20,14}
        {LABEL (_"DEEP") 17,16}
        {LABEL (_"DEEP") 18,15}
        {LABEL (_"DEEP") 20,15}
        {LABEL (_"DEEP") 19,17}

        {TALK_ABOUT_LOC 19,14 (_"See this dark blue water? It's too deep for either side to cross. They could slowly wade through that narrow band of shallow lighter-blue water in the east; but we could stand on the shore and force them to fight us from the water, where they are exposed and we are protected by the forest.")}
        {UNLABEL 19,16}
        {UNLABEL 18,16}
        {UNLABEL 18,14}
        {UNLABEL 19,15}
        {UNLABEL 20,14}
        {UNLABEL 17,16}
        {UNLABEL 18,15}
        {UNLABEL 20,15}
        {UNLABEL 19,17}
        {LABEL (_"Village") 11,14}
        {TALK_ABOUT_LOC 9,14 (_"The more likely attack, then, is across the bridge. That middle island is the key: it has a village for healing injured units and forests in which we fight so well.")}
        {UNLABEL 11,14}
# wmlindent: start ignoring
        {TEACHER (_"To start, we will need some units:
Two Elvish Fighters
Two Elvish Archers
One Elvish Shaman")}
# wmlindent: stop ignoring

        # See if there are two fighters worth recalling
        [store_unit]
            variable=recall
            [filter]
                x,y=recall,recall
            [/filter]
        [/store_unit]

        # Higher Level units should come first.
        {VARIABLE recall_xp1 0}
        {VARIABLE recall_xp2 0}
        {FOREACH recall i}
            {VARIABLE temp_xp $recall[$i].experience}
            {VARIABLE_OP temp_xp add $recall[$i].variables.previous_xp}
            [if]
                [variable]
                    name=temp_xp
                    greater_than=$recall_xp1
                [/variable]
                [then]
                    # Move anything from slot 1 to slot 2
                    [if]
                        [variable]
                            name=recall_xp1
                            greater_than=0
                        [/variable]
                        [then]
                            {VARIABLE_OP recall_i2 format $recall_i1}
                            {VARIABLE_OP recall_xp2 format $recall_xp1}
                        [/then]
                    [/if]

                    {VARIABLE_OP recall_i1 format $i}
                    {VARIABLE_OP recall_xp1 format $temp_xp}
                [/then]
                [else]
                    [if]
                        [variable]
                            name=temp_xp
                            greater_than=$recall_xp2
                        [/variable]
                        [then]
                            {VARIABLE_OP recall_i2 format $i}
                            {VARIABLE_OP recall_xp2 format $temp_xp}
                        [/then]
                    [/if]
                [/else]
            [/if]
        {NEXT i}
        {CLEAR_VARIABLE i}

        [if]
            [variable]
                name=recall_xp1
                greater_than=0
            [/variable]
            [then]
                {VARIABLE_OP recall_name1 format $recall[$recall_i1].name}
                [if]
                    [variable]
                        name=recall_xp2
                        greater_than=0
                    [/variable]
                    [then]
                        {VARIABLE_OP recall_name2 format $recall[$recall_i2].name}
                        # We have two worth recalling.
                        [if]
                            [variable]
                                name=recall_xp1
                                equals=$recall_xp2
                            [/variable]
                            [then]
                                {TEACHER (_"During your tutorial, both $recall_name1 and $recall_name2 gained $recall_xp1 experience points. You should recall them now so they can gain more experience, rather than recruiting new ones.")}
                            [/then]
                            [else]
                                {TEACHER (_"During your tutorial, $recall_name1 gained $recall_xp1 experience points, and $recall_name2 gained $recall_xp2. You should recall them now so they can gain more experience, rather than recruiting new ones.")}
                            [/else]
                        [/if]
                    [/then]
                    [else]
                        # We have one worth recalling.
                        {TEACHER (_ "During your tutorial, $recall_name1 gained $recall_xp1 experience points. You should recall that unit now, and recruit a second one (which is cheaper than recalling, anyway).")}
                    [/else]
                [/if]
                {LABEL (_"RECALL $recall_name1") 11,3}
                {PRINT (_"Right click on the tile north-east of you and recall $recall_name1")}
            [/then]
            [else]
                [if]
                    [variable]
                        name=recall.length
                        greater_than=0
                    [/variable]
                    [then]
                        {TEACHER (_"If any Elvish Fighters from your last battle had experience, we would recall them to the current battlefield. However, both units don't have much experience so it's more efficient to recruit new ones. Recruit an Elvish Fighter.")}
                    [/then]
                    [else]
                        {TEACHER (_"If you had any experienced units alive from your last battle we would recall them. Instead we must recruit a new Elvish Fighter.")}
                    [/else]
                [/if]
                {LABEL (_"Elvish Fighter") 11,3}
                {PRINT (_"Right click on the tile north-east of you and recruit an Elvish Fighter")}
            [/else]
        [/if]
    [/event]

    # Check they recall/recruit correctly in their first turn.
    [event]
        name=recruit,recall
        first_time_only=no
        [filter]
            side=1
        [/filter]

        [if]
            [variable]
                name=recruit_num
                less_than=6
            [/variable]
            [then]
                # What did they recruit?
                [store_unit]
                    variable=recruit
                    kill=yes
                    [filter]
                        x,y=$x1,$y1
                    [/filter]
                [/store_unit]
            [/then]
        [/if]

        [if]
            {NUMEQ recruit_num 5}
            [then]
                [if]
                    [variable]
                        name=recruit.type
                        not_equals=Elvish Shaman
                    [/variable]
                    [then]
                        {REFUND_AND_REMOVE_RECRUIT}
                        {TEACHER (_"No! I said recruit an Elvish SHAMAN! Now try again...")}
                    [/then]
                    [else]
                        [unstore_unit]
                            variable=recruit
                        [/unstore_unit]
                        {VARIABLE_OP recruit_num add 1}
                        {UNLABEL 10,2}
                        {CLEAR_PRINT}
                        {TEACHER (_"The Shaman is a fairly weak unit but has the ability to heal units around it. It also has a special attack which slows enemies, halving the damage they do!")}
                        {STUDENT (_"So, should I end my turn now?")}
                        # FIXME: If any level 2 units, costs will be higher.
                        {TEACHER (_"While none of your recruited units can move, you still can. Your five units cost you 5 gold in upkeep, leaving you 3 gold poorer per turn. You need more income.")}
# wmlindent: start ignoring
                        {GENDER ({PRINT (_"Move Konrad to capture a village")})
                                ({PRINT (_"Move Li'sar to capture a village")})}
# wmlindent: stop ignoring
                    [/else]
                [/if]
            [/then]
        [/if]

        [if]
            {NUMEQ recruit_num 4}
            [then]
                [if]
                    [variable]
                        name=recruit.type
                        not_equals=Elvish Archer
                    [/variable]
                    [then]
                        {REFUND_AND_REMOVE_RECRUIT}
                        {TEACHER (_"No! I said recruit an Elvish ARCHER! Now try again...")}
                    [/then]
                    [else]
                        {VARIABLE_OP recruit_num add 1}
                        [unit]
                            id=Eowynial
                            name=_"Eowynial"
                            type=Elvish Archer
                            x,y=$x1,$y1
                            side=1
                            gender=female
                            upkeep=full
                            moves=0
                            [modifications]
                                {TRAIT_QUICK}
                                {TRAIT_RESILIENT}
                            [/modifications]
                        [/unit]
                        {EXPLAIN_QUICK_RESILIENT (_"Eowynial")}

                        {UNLABEL 9,4}
                        {UNLABEL 9,3}
                        {LABEL (_"Shaman") 10,2}
                        {PRINT (_"Recruit an Elvish Shaman to your north")}
                    [/else]
                [/if]
            [/then]
        [/if]

        [if]
            {NUMEQ recruit_num 3}
            [then]
                [if]
                    [variable]
                        name=recruit.type
                        not_equals=Elvish Archer
                    [/variable]
                    [then]
                        {REFUND_AND_REMOVE_RECRUIT}
                        {TEACHER (_"No! I said recruit an Elvish ARCHER! Now try again...")}
                    [/then]
                    [else]
                        {VARIABLE_OP recruit_num add 1}
                        [unit]
                            id=Elriend
                            name=_"Elriend"
                            type=Elvish Archer
                            x,y=$x1,$y1
                            side=1
                            upkeep=full
                            moves=0
                            [modifications]
                                {TRAIT_STRONG}
                                {TRAIT_INTELLIGENT}
                            [/modifications]
                        [/unit]
                        {EXPLAIN_STRONG_INTELLIGENT (_"Elriend")}
                    [/else]
                [/if]
            [/then]
        [/if]

        [if]
            {NUMEQ recruit_num 2}
            [then]
                [if]
                    [variable]
                        name=recall_xp2
                        greater_than=0
                    [/variable]
                    [then]
                        # You were supposed to recall $recall_name2.
                        [if]
                            [variable]
                                name=recruit.name
                                not_equals=$recall_name2
                            [/variable]
                            [then]
                                {REFUND_AND_REMOVE_RECRUIT}
                                {TEACHER (_"No! I said RECALL $recall_name2|! Now try again...")}
                            [/then]
                            [else]
                                {VARIABLE_OP recruit_num add 1}
                                [unstore_unit]
                                    variable=recruit
                                [/unstore_unit]
                                {UNLABEL 12,3}
# wmlindent: start ignoring
                                {LABEL (_"Archer #1") 9,4}
                                {LABEL (_"Archer #2") 9,3}
# wmlindent: stop ignoring
                                {PRINT (_"Recruit two Elvish Archers in tiles to your west")}
                            [/else]
                        [/if]
                    [/then]
                    [else]
                        # You were supposed to recruit a Fighter.
                        [if]
                            [variable]
                                name=recruit.type
                                not_equals=Elvish Fighter
                            [/variable]
                            [then]
                                {REFUND_AND_REMOVE_RECRUIT}
                                {TEACHER (_"No! I said recruit an Elvish FIGHTER! Now try again...")}
                            [/then]
                            [else]
                                {VARIABLE_OP recruit_num add 1}
                                [unit]
                                    id=Golir
                                    name=_"Golir"
                                    type=Elvish Fighter
                                    x,y=$x1,$y1
                                    side=1
                                    upkeep=full
                                    moves=0
                                    [modifications]
                                        {TRAIT_QUICK}
                                        {TRAIT_RESILIENT}
                                    [/modifications]
                                [/unit]
                                {EXPLAIN_QUICK_RESILIENT (_"Golir")}

                                {UNLABEL 12,3}
# wmlindent: start ignoring
                                {LABEL (_"Archer #1") 9,4}
                                {LABEL (_"Archer #2") 9,3}
# wmlindent: stop ignoring
                                {PRINT (_"Recruit two Elvish Archers in tiles to your west")}
                            [/else]
                        [/if]
                    [/else]
                [/if]
            [/then]
        [/if]

        [if]
            {NUMEQ recruit_num 1}
            [then]
                [if]
                    [variable]
                        name=recall_xp1
                        greater_than=0
                    [/variable]
                    [then]
                        # You were supposed to recall $recall_name1.
                        [if]
                            [variable]
                                name=recruit.name
                                not_equals=$recall_name1
                            [/variable]
                            [then]
                                [if]
                                    [variable]
                                        name=recruit.name
                                        equals=$recall_name2
                                    [/variable]
                                    [then]
                                        {REFUND_AND_REMOVE_RECRUIT}
                                        {TEACHER (_"No! I said recall $recall_name1, not $recall_name2|! Now try again...")}
                                    [/then]
                                    [else]
                                        {REFUND_AND_REMOVE_RECRUIT}
                                        {TEACHER (_"No! I said RECALL $recall_name1 from the last battle, not recruit a new $recruit.language_name|! Now try again...")}
                                    [/else]
                                [/if]
                            [/then]
                            [else]
                                {VARIABLE_OP recruit_num add 1}
                                {UNLABEL 11,3}
                                [unstore_unit]
                                    variable=recruit
                                [/unstore_unit]
                                [if]
                                    [variable]
                                        name=recall_xp2
                                        greater_than=0
                                    [/variable]
                                    [then]
                                        {PRINT (_"Right click on the tile east of you and recall $recall_name2")}
                                        {LABEL (_"RECALL $recall_name2") 12,3}
                                    [/then]
                                    [else]
                                        {LABEL (_"Elvish Fighter") 12,3}
                                        {PRINT (_"Right click on the tile east of you and recruit an Elvish Fighter")}
                                    [/else]
                                [/if]
                            [/else]
                        [/if]
                    [/then]
                    [else]
                        # You were supposed to recruit a new fighter.
                        # FIXME: How do we tell if they recalled instead?
                        [if]
                            [variable]
                                name=recruit.type
                                not_equals=Elvish Fighter
                            [/variable]
                            [or]
                                [variable]
                                    # FIXME: not a perfect indicator of recall
                                    name=recruit.experience
                                    greater_than=0
                                [/variable]
                            [/or]
                            [then]
                                {REFUND_AND_REMOVE_RECRUIT}
                                {TEACHER (_"$recruit.language_name|? I said RECRUIT a new ELVISH FIGHTER. Now try again...")}
                            [/then]
                            [else]
                                {UNLABEL 11,3}
                                {VARIABLE_OP recruit_num add 1}
                                [unit]
                                    id=Elindel
                                    name=_"Elindel"
                                    type=Elvish Fighter
                                    x,y=$x1,$y1
                                    side=1
                                    upkeep=full
                                    moves=0
                                    [modifications]
                                        {TRAIT_STRONG}
                                        {TRAIT_INTELLIGENT}
                                    [/modifications]
                                [/unit]
                                {EXPLAIN_STRONG_INTELLIGENT (_"Elindel")}
                                {LABEL (_"Elvish Fighter") 12,3}
                                {PRINT (_"Right click on the tile east of you and recruit an Elvish Fighter")}
                            [/else]
                        [/if]
                    [/else]
                [/if]
            [/then]
        [/if]
        {CLEAR_VARIABLE recruit}
    [/event]

    [event]
        name=capture
        [filter]
            x=7,9,13
            y=4,2,3
            id=student
        [/filter]
        first_time_only=no

        [allow_undo][/allow_undo]
        # FIXME: If they somehow capture a village near keep, count could be wrong.
        {VARIABLE_OP villages_around_keep add 1}
        [if]
            {NUMEQ villages_around_keep 1}
            [then]
# wmlindent: start ignoring
                # FIXME: Level 2 units change costs.
        {GENDER ({TEACHER (_"You've learned well, Konrad! " +
                  _ "The village supports one unit and pays 1 gold per turn. You're only losing 1 gold per turn now.")})
                ({TEACHER (_"You've learned well, Li'sar! " +
                  _ "The village supports one unit and pays 1 gold per turn. You're only losing 1 gold per turn now.")})}
# wmlindent: stop ignoring
                {PRINT (_"End your turn")}
            [/then]
        [/if]
        [if]
            {NUMEQ villages_around_keep 3}
            [then]
                {TEACHER (_"You've captured all the villages around the keep, but stay near so you can recruit more units.")}
            [/then]
        [/if]
    [/event]

    [event]
        name=capture
        [filter]
            x=7,9,13
            y=4,2,3
            side=1
            [not]
                id=student
            [/not]
        [/filter]
        {GENDER ({TEACHER (_"You should leave the villages near your keep for Konrad to capture, as he needs to stay nearby to recruit more units anyway.")})
        ({TEACHER (_"You should leave the villages near your keep for Li'sar to capture, as she needs to stay nearby to recruit more units anyway.")})}
        {UNDO_REMINDER}
    [/event]

    [event]
        name=turn 2
        {TALK_ABOUT Dumbo (_"Orcs have no ranged attack, so use your archers against them.")}

        {PRINT (_"Attack the orc with an Archer
(move mouse over units to see description on right)")}

        [event]
            name=moveto
            [filter]
                x=8,10
                y=8,8
            [/filter]
            {TEACHER (_"Excellent. Elves are well-protected in the forest. There's only a 30% chance of hitting an Elvish Archer in forests.")}
        [/event]
        [event]
            name=moveto
            [filter]
                x,y=9,8
                side=1
            [/filter]
            [allow_undo][/allow_undo]
            {TEACHER (_"It's very dangerous to stand in water when there are enemies about! Your unit will have an 80% chance of being hit when the enemy counter-attacks! Cancel!")}
            {UNDO_REMINDER}
        [/event]

        [event]
            name=attack_end
            {PRINT (_"Attack the Orc with the other Archer")}

            # FIXME: Can't nest events of same type: they both fire 8(
            # So set up this event on next attack.
            [event]
                name=attack

                [event]
                    name=attack_end

                    {CLEAR_PRINT}
                    {UNLABEL 14,3}
                    {LABEL (_"Fighter to HERE") 19,5}
                    {TALK_ABOUT_LOC 19,5 (_"Your other units cannot reach that Orc this turn. Send a Fighter to the village to the far east. It will take two turns to reach it.")}
                    {NARRATOR (_"You can order a unit to move for multiple turns by selecting the unit and clicking on the destination. A number will indicate how many turns it will take until that unit reaches the tile.")}
                    {PRINT (_"Tell a Fighter to move to the far east village")}

                    [event]
                        name=moveto
                        [filter]
                            x,y=19,5
                        [/filter]
                        {UNLABEL 19,5}
                    [/event]
                    [event]
                        name=moveto
                        [filter]
                            x=15-17
                            y=1-6
                        [/filter]

                        {UNLABEL 19,5}
                        {LABEL (_"Keep") 10,3}
                        {TEACHER (_"Send the other Fighter and the Shaman south so they can attack next turn, then return to the keep to recruit more units!")}
                        {GENDER ({PRINT (_"Move your Fighter and Shaman south, then return Konrad to the Keep")})
                        ({PRINT (_"Move your Fighter and Shaman south, then return Li'sar to the Keep")})}
                    [/event]

                    [event]
                        name=moveto
                        [filter]
                            side=1
                            x,y=10,3
                        [/filter]
                        {UNLABEL 10,3}
                        {PRINT (_"Recruit another Archer and a Fighter")}
                        {VARIABLE num_recruited 0}
                    [/event]

                    [event]
                        name=recruit
                        first_time_only=no
                        [filter]
                            side=1
                        [/filter]
                        {UNLABEL 11,3}
                        {VARIABLE_OP num_recruited add 1}
                        [if]
                            {NUMEQ num_recruited 2}
                            [then]
                                {STUDENT (_"I have no more money to recruit!")}
                                {TEACHER (_"This is often a problem, which is why owning villages is important.")}
                                {GENDER ({PRINT (_"Move Konrad to another (unowned) village")})
                                ({PRINT (_"Move Li'sar to another (unowned) village")})}
                            [/then]
                        [/if]
                    [/event]
                    [event]
                        name=moveto
                        [filter]
                            x=7,9,13
                            y=4,2,3
                            id=student
                        [/filter]
                        {PRINT (_"End your turn")}
                    [/event]
                [/event]
            [/event]
        [/event]
    [/event]

    [event]
        name=turn 3

        {UNLABEL 11,3}
        {UNLABEL 12,3}

        # Explain: Zone of Control
        {TALK_ABOUT Dumbo (_"That Grunt is blocking the bridge! We must occupy that island before the Wolf Riders reach it.")}
        {STUDENT (_"Can't our units just move around him?")}

        # All around Dumbo (9,14)
        {LABEL (_"ZoC") 10,14}
        {LABEL (_"ZoC") 8,14}
        {LABEL (_"ZoC") 9,13}
        {LABEL (_"ZoC") 9,15}
        {LABEL (_"ZoC") 10,13}
        {LABEL (_"ZoC") 8,13}
        # FIXME: Figure out best unit choice.
        {TALK_ABOUT Dumbo (_"No. Once you move close to an enemy unit, you are in its 'Zone of Control' and cannot move further that turn.
To move your troops onto that island without wading slowly through the water, you'll have to kill him.")}
        {PRINT (_"Attack the orc with an Archer")}
        {UNLABEL 10,14}
        {UNLABEL 8,14}
        {UNLABEL 9,15}
        {UNLABEL 9,13}
        {UNLABEL 10,13}
        {UNLABEL 8,13}

        [event]
            name=attack_end

            {CLEAR_PRINT}
            [store_unit]
                variable=dumbo
                kill=no
                [filter]
                    id=Dumbo
                [/filter]
            [/store_unit]
            # This happens before kill event, so we must do this the hard way.
            [if]
                [variable]
                    name=dumbo.hitpoints
                    less_than=1
                [/variable]
                [then]
                    {PRINT (_"Advance other units and capture villages, then End Turn")}
                [/then]
                [else]
                    # FIXME: use name of unit doing attack - use $unit.type
                    # Do that after String-Freeze!!
                    {STUDENT (_"No other units can reach that Orc. I hope my archer survives its counter-attack! I'd better grab more villages and move everyone closer for next turn.")}
                    {TEACHER (_"Yes. If your Shaman stands just behind that unit on the bridge, it will heal it at the beginning of the next turn.")}
                    {PRINT (_"Move your Shaman onto the bridge to stand behind your other unit")}
                    [event]
                        name=moveto
                        [filter]
                            type=Elvish Shaman
                        [/filter]
                        {PRINT (_"Advance other units and capture villages, then End Turn")}
                    [/event]
                [/else]
            [/if]
            {CLEAR_VARIABLE dumbo}
        [/event]
    [/event]

    [event]
        name=die
        [filter]
            id=Dumbo
        [/filter]
        {VARIABLE dumbo_dead 1}
        # Only tell them to defend island if not turn 3.
        [if]
            [variable]
                name=turn_number
                greater_than=3
            [/variable]
            [then]
                {DEFEND_ISLAND}
            [/then]
        [/if]

        [event]
            name=moveto
            [filter]
                x=9,9,9
                y=15,16,17
                side=1
            [/filter]

            [allow_undo][/allow_undo]
            [if]
                [variable]
                    name=turn_number
                    less_than=8
                [/variable]
                [then]
                    {TALK_NO_MOVE (_"Be careful: if you stand on the bridge you are exposed to attack from multiple directions!")}
                    {UNDO_REMINDER}
                [/then]
            [/if]
        [/event]

        [event]
            name=moveto
            [filter]
                x=8,10,18,19,20,11
                y=14,15,14,15,14,15
                side=1
            [/filter]
            {TEACHER (_"It's very dangerous to stand in water when there are enemies about! Your unit will have an 80% chance of being hit! Cancel, and wait for them to attack you!")}
            {UNDO_REMINDER}
            [allow_undo][/allow_undo]
        [/event]
    [/event]

    [event]
        name=turn 4

        {CLEAR_PRINT}
        {TALK_ABOUT_LOC 19,5 (_"Don't forget about your fighter in the east; you can move him south to that last village near the channel.")}
        [allow_undo][/allow_undo]
        [if]
            {NUMEQ dumbo_dead 0}
            [then]
                # FIXME: Which unit? Is it really wounded?
                {TALK_ABOUT Dumbo (_"We need to take that village, otherwise they will take it next turn! Move your wounded unit onto the village so it can heal, then kill that Orc!")}
            [/then]
            [else]
                {DEFEND_ISLAND}
            [/else]
        [/if]
    [/event]

    [event]
        name=turn 5

        {DEFEND_ISLAND}
        {TALK_ABOUT_LOC 11,14 (_"Careful! It is now nighttime. Orcs are chaotic, meaning their attacks are 25% stronger at night and 25% weaker in the day. You are lawful: stronger by day. Elves are neutral: unaffected by night and day.")}
        {NARRATOR (_"After this dialog, hold the mouse over the landscape image below the minimap on the right to see a description of the time of day.")}
    [/event]

    [event]
        name=turn 6

        {CHECK_INCOME}
        {TALK_ABOUT_LOC 9,15 (_"Remember to retreat your wounded units to villages. Healers can only heal 4 hitpoints at a time, while villages can heal 8 (the maximum for any unit).")}
    [/event]

    [event]
        name=turn 7

        {CHECK_INCOME}
        {LABEL (_"Defend here") 19,14}
        {TALK_ABOUT_LOC 19,16 (_"Beware of those Orcs crossing the river! If they get into the forest they'll be hard to dislodge!")}
    [/event]

    [event]
        name=turn 9
        {UNLABEL 19,14}
        {NARRATOR (_"You can make sure you've used all your units each turn by pressing 'n' to automatically select the next unit. SPACE will indicate a unit is finished.
When 'n' no longer selects a new unit, you can end your turn.")}
    [/event]

    [event]
        name=turn 10
        {NARRATOR (_"You only need to defeat the leader to win (see Main Menu->Objectives).")}
    [/event]

    [event]
        name=turn 12
        {NARRATOR (_"Remember to recruit troops useful for the situation. Archers are particularly effective against Grunts, Wolf Riders and their leader.")}
    [/event]

    # Remind them to keep back
    [event]
        name=moveto
        [filter]
            id=student
            x=1-20
            y=6-20
        [/filter]

        [if]
            [variable]
                name=turn_number
                less_than=8
            [/variable]
            [then]
                {TEACHER (_"Stay near the keep! You need to be on a keep to recruit more units, and I doubt the Orc leader will let you use his!")}
            [/then]
        [/if]
        [allow_undo][/allow_undo]
    [/event]

    [event]
        name=moveto
        [filter]
            id=Thrag
            x=5,14,19
            y=19,19,23
        [/filter]

        {TALK_ABOUT Thrag (_"Their leader has moved into that village! He's not as stupid as I thought. The village heals him each turn and provides good defense.")}
    [/event]

    [event]
        name=moveto
        [filter]
            side=2
            x=11,6,11
            y=14,10,10
        [/filter]

        {TALK_ABOUT_LOC ($x1,$y1) (_"That unit has captured our village! You'd better get him out; it heals him each turn and provides good defense.")}
    [/event]

    # Warn about using shaman to attack.
    [event]
        name=attack
        [filter]
            type=Elvish Shaman
        [/filter]

        [message]
            speaker=unit
            message=_ "Using me to attack is risky! I can slow the opponent with my ranged attack, but I hope you have a plan if I miss!"
        [/message]
    [/event]

    [event]
        name=attack_end
        first_time_only=no

        [store_unit]
            variable=attacker
            [filter]
                x,y=$x1,$y1
            [/filter]
        [/store_unit]
        [store_unit]
            variable=defender
            [filter]
                x,y=$x2,$y2
            [/filter]
        [/store_unit]

        {DEFENDER_INJURED defender}
        {IMPORTANT_UNIT attacker}

        [if]
            [variable]
                name=attacker.id
                equals=Thrag
            [/variable]
            [variable]
                name=attacker.hitpoints
                less_than=21
            [/variable]
            {NUMEQ talk_about_killing_thrag 0}
            [then]
                {VARIABLE talk_about_killing_thrag 1}
                {TALK_ABOUT Thrag (_"You are close to killing their leader! The unit who finishes him will gain 16 experience points because he is level 2. Choose your unit carefully!")}
            [/then]
        [/if]

        [if]
            [variable]
                name=defender.id
                equals=Thrag
            [/variable]
            [variable]
                name=defender.hitpoints
                less_than=21
            [/variable]
            {NUMEQ talk_about_killing_thrag 0}
            [then]
                {VARIABLE talk_about_killing_thrag 1}
                {TALK_ABOUT Thrag (_"You are close to killing their leader! The unit who finishes him will gain 16 experience points because he is level 2. Choose your unit carefully!")}
            [/then]
        [/if]
        {CLEAR_VARIABLE attacker}
        {CLEAR_VARIABLE defender}
    [/event]

    [event]
        name=die
        first_time_only=no
        [filter]
            side=1

            [not]
                id=student
            [/not]
        [/filter]

        [store_unit]
            variable=deadguy
            [filter]
                x,y=$x1,$y1
            [/filter]
        [/store_unit]

        [if]
            [variable]
                name=deadguy.type
                equals=Elvish Fighter
            [/variable]
            [or]
                [variable]
                    name=deadguy.type
                    equals=Elvish Archer
                [/variable]
            [/or]
            [then]
                [if]
                    [variable]
                        name=deadguy.experience
                        greater_than=20
                    [/variable]
                    [then]
                        [if]
                            [variable]
                                name=deadguy.gender
                                equals=male
                            [/variable]
                            [then]
                                {TEACHER (_"We will miss $deadguy.name| because he had $deadguy.experience experience points, meaning he would have advanced to level 2 soon.")}
                            [/then]
                            [else]
                                {TEACHER (_"We will miss $deadguy.name| because she had $deadguy.experience experience points, meaning she would have advanced to level 2 soon.")}
                            [/else]
                        [/if]
                    [/then]
                    [else]
                        [if]
                            [variable]
                                name=deadguy.experience
                                less_than=8
                            [/variable]
                            [then]
                                {TEACHER (_"We will miss $deadguy.name|, but it's better than one of our experienced troops dying!")}
                            [/then]
                        [/if]
                    [/else]
                [/if]
            [/then]
            [else]
                [if]
                    [variable]
                        name=deadguy.type
                        equals=Elvish Shaman
                    [/variable]
                    [then]
                        {TEACHER (_"Losing a healer hurts all the troops! Keep them out of the enemy's reach!")}
                        {NARRATOR (_"You can see where an enemy can reach by moving the mouse over them. You can see all the possible enemy moves at once with the 'Show Enemy Moves' command from the 'Actions' menu.")}
                    [/then]
                    [else]
                        # Must be level 2 unit.
                        {TEACHER (_"Level 2 units are powerful, but not invulnerable! Goodbye, $deadguy.name|.")}
                    [/else]
                [/if]
            [/else]
        [/if]
        {CLEAR_VARIABLE deadguy}
    [/event]

    [event]
        name=moveto
        [filter]
            side=1
            x=1-13
            y=18-21
        [/filter]
        {TALK_ABOUT Thrag (_"Beware of the Orc leader: he can do 36 hitpoints of damage at night! Attack with many units at once during the day.")}
    [/event]

    [event]
        name=post_advance
        [filter]
            side=1
            type=Elvish Marksman
        [/filter]
        # FIXME: Abilities.
        [if]
            [variable]
                name=unit.gender
                equals=male
            [/variable]
            [then]
                [message]
                    speaker=unit
                    #wmllint: display on
                    message=_ "Advancing a level has fully healed me!
I always have a 60% chance of hitting with my Marksman ability, and I deal 9 damage each for 4 attacks. Use me to dislodge hard-to-hit units."
                    #wmllint: display off
                [/message]
            [/then]
            [else]
                [message]
                    speaker=unit
                    #wmllint: display on
                    message=_ "female^Advancing a level has fully healed me!
I always have a 60% chance of hitting with my Marksman ability, and I deal 9 damage each for 4 attacks. Use me to dislodge hard-to-hit units."
                    #wmllint: display off
                [/message]
            [/else]
        [/if]
    [/event]
    [event]
        name=post_advance
        [filter]
            side=1
            type=Elvish Ranger
        [/filter]
        [message]
            speaker=unit
            #wmllint: display on
            message=_ "Advancing a level has fully healed me!
I am good with both bow and sword, and I have a special ability: ambush. I can hide in forests where enemies can only see me if they are right next to me."
            #wmllint: display off
        [/message]
    [/event]
    [event]
        name=post_advance
        [filter]
            side=1
            type=Elvish Captain
        [/filter]
        [message]
            speaker=unit
            #wmllint: display on
            message=_ "Advancing a level has fully healed me!
I am good with both bow and sword, and I have a special ability: leadership. Level 1 units around me do 25% more damage, so position me carefully."
            #wmllint: display off
        [/message]
    [/event]
    [event]
        name=post_advance
        [filter]
            side=1
            type=Elvish Hero
        [/filter]
        # FIXME: Abilities
        [message]
            speaker=unit
            #wmllint: display on
            message=_ "Advancing a level has fully healed me!
I am particularly good with the sword, dealing 8 damage in 4 attacks."
            #wmllint: display off
        [/message]
    [/event]

    # WE control the AI! Bwahahaha!
    [event]
        name=turn refresh
        first_time_only=no
        [if]
            [variable]
                name=side_number
                numerical_equals=2
            [/variable]
            [then]
                [fire_event]
                    name=scripted enemy turn
                [/fire_event]
            [/then]
        [/if]
    [/event]

    [event]
        name=scripted enemy turn
        first_time_only=no
        {CLEAR_PRINT}
        [if]
            {NUMEQ turn_number 1}
            [then]
                # Advance sacrificial orc.
                {MOVE Dumbo 8 13 9 9}
                [scroll_to_unit]
                    id=Thrag
                [/scroll_to_unit]
                {BADGUY (Wolf Rider) Scout1 17,24}
                {BADGUY (Wolf Rider) Scout2 18,23}
                {BADGUY (Wolf Rider) Scout3 19,24}
                {BADGUY (Wolf Rider) Scout4 17,25}
                {BADGUY (Wolf Rider) Scout5 18,25}
                # Leader moves to take village
                {MOVE Thrag 18 24 19 23}
                [capture_village]
                    side=2
                    x,y=19,23
                [/capture_village]
            [/then]
        [/if]
        [if]
            {NUMEQ turn_number 2}
            [then]
                # Orc runs away.
                {MOVE Dumbo 9 9 9 14}
                # Riders advance
                [scroll_to_unit]
                    id=Thrag
                [/scroll_to_unit]
                {MOVE Scout1 17 24 13 20}
                {MOVE Scout2 18 23 12 19}
                {MOVE Scout3 19 24 14 20}
                {MOVE Scout4 17 25 10 24}
                {MOVE Scout5 18 25 14 19}
                [capture_village]
                    side=2
                    x,y=14,19
                [/capture_village]
                # Leader move to keep, recruits & advances
                {MOVE Thrag 19 23 18 24}
                {BADGUY (Orcish Grunt) Grunt1 18,23}
                {BADGUY (Orcish Grunt) Grunt2 17,24}
                {BADGUY (Orcish Archer) Archer1 19,24}
                {MOVE Thrag 18 24 16 20}
            [/then]
        [/if]
        [if]
            {NUMEQ turn_number 3}
            [then]
                {MOVE Scout1 13 20 8 18}
                {MOVE Scout2 12 19 7 18}
                {MOVE Scout3 14 20 9 18}
                {MOVE Scout4 10 24 9 26}
                [capture_village]
                    side=2
                    x,y=9,26
                [/capture_village]
                {MOVE Scout5 14 19 9 17}
                {MOVE Thrag 16 20 11 19}
                {MOVE Grunt1 18 23 15 20}
                {MOVE Archer1 19 24 16 20}
                {MOVE Grunt2 17 24 16 21}
            [/then]
        [/if]

        [if]
            {NUMEQ turn_number 4}
            [then]
                # Leave Scout1 and Scout2 to attack
                {MOVE Scout3 9 18 11 16}
                {MOVE Scout5 9 17 10 16}
                {MOVE Scout4 9 26 6 20}
                {MOVE Thrag 11 19 9 19}
                {MOVE Grunt1 15 20 11 19}
                {MOVE Archer1 16 20 18 17}
                {MOVE Grunt2 16 21 18 18}
            [/then]
        [/if]

        # From now on, we only control these two, down channel
        [if]
            {NUMEQ turn_number 5}
            [then]
                {MOVE Archer1 18 17 18 16}
                {MOVE Grunt2 18 18 18 17}
                # Leaders stays here, to shorten the scenario 8)
                {MOVE Thrag 9 19 9 19}
            [/then]
        [/if]

        [if]
            {NUMEQ turn_number 6}
            [then]
                {MOVE Archer1 18 16 19 16}
                {MOVE Grunt2 18 17 18 16}
                {MOVE Thrag 9 19 9 19}
            [/then]
        [/if]

        [if]
            {NUMEQ turn_number 7}
            [then]
                # Force grunt to advance if poss.
                [if]
                    [not]
                        [have_unit]
                            x,y=19,16
                        [/have_unit]
                    [/not]
                    [then]
                        {MOVE Grunt2 18 16 19 16}
                    [/then]
                    [else]
                        {MOVE Grunt2 18 16 18 16}
                    [/else]
                [/if]
                {MOVE Thrag 9 19 9 19}
            [/then]
        [/if]

        [if]
            {NUMEQ turn_number 8}
            [then]
                # Force grunt to advance if poss.
                [if]
                    [not]
                        [have_unit]
                            x,y=19,16
                        [/have_unit]
                    [/not]
                    [then]
                        {MOVE Grunt2 18 16 19 16}
                    [/then]
                    [else]
                        {MOVE Grunt2 18 16 18 16}
                    [/else]
                [/if]

                # We can now leader move IF they are on bridge
                [if]
                    [not]
                        [have_unit]
                            side=1
                            x=7-11
                            y=16-21
                        [/have_unit]
                    [/not]
                    [then]
                        {MOVE Thrag 9 19 9 19}
                    [/then]
                [/if]
            [/then]
        [/if]
    [/event]

    [event]
        name=time over
        {TEACHER (_"You took too long! We'll never be rid of these Orcs!")}
        [endlevel]
            result=defeat
        [/endlevel]
    [/event]

    [event]
        name=die
        [filter]
            id=student
        [/filter]
        [endlevel]
            result=defeat
        [/endlevel]
    [/event]

    [event]
        name=victory
        {TEACHER (_"You are victorious! You may want to try Novice-level campaigns such as: The South Guard, An Orcish Incursion, A Tale of Two Brothers, and Heir to the Throne. The South Guard was specifically designed as a beginner's campaign. Konrad, Li'sar and Delfador are characters from Heir to the Throne.")}
    [/event]
[/tutorial]
