mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-29 08:13:15 +00:00
1579 lines
30 KiB
INI
1579 lines
30 KiB
INI
[tutorial]
|
|
id=tutorial
|
|
|
|
name= _ "Under Elves' Protection"
|
|
map_data="{maps/Tutorial/Tutorial1}"
|
|
turns=48
|
|
music=wesnoth-4.ogg
|
|
|
|
{DAWN}
|
|
{MORNING}
|
|
{AFTERNOON}
|
|
{DUSK}
|
|
{FIRST_WATCH}
|
|
{SECOND_WATCH}
|
|
|
|
objectives= _ "Tasks:
|
|
@1. Control two villages near the river.
|
|
@2. Return to the castle and recruit units.
|
|
@3. Defeat enemies, control western villages.
|
|
@4. Defeat dark adepts.
|
|
@5. Defeat walking corpses.
|
|
@6. Defeat bandit leader.
|
|
Defeat:
|
|
#Death of Konrad
|
|
#Death of Delfador
|
|
#Death of any of the elvish leaders
|
|
#Turns run out"
|
|
|
|
|
|
[side]
|
|
race=human
|
|
type=Youth
|
|
description=Konrad
|
|
experience=0
|
|
side=1
|
|
canrecruit=1
|
|
recruit=Elvish Fighter,Elvish Archer,Elvish Scout
|
|
enemy=3
|
|
gold=8
|
|
controller=human
|
|
team_name=goodguys
|
|
[/side]
|
|
|
|
[side]
|
|
type=Elvish Captain
|
|
description=Galdrad
|
|
side=2
|
|
canrecruit=0
|
|
experience=37
|
|
recruit=
|
|
[ai]
|
|
recruitment_pattern=mixed fighter,scout
|
|
[/ai]
|
|
gold=100
|
|
team_name=goodguys
|
|
enemy=3
|
|
ai_special=guardian
|
|
[unit]
|
|
type=Elder Mage
|
|
description=Delfador
|
|
side=2
|
|
x=18
|
|
y=23
|
|
ai_special=guardian
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Lord
|
|
description=Lofar
|
|
side=2
|
|
ai_special=guardian
|
|
x=16
|
|
y=49
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Marshal
|
|
description=Enelar
|
|
side=2
|
|
x=15
|
|
y=49
|
|
ai_special=guardian
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Avenger
|
|
description=Alisar
|
|
side=2
|
|
x=16
|
|
y=48
|
|
ai_special=guardian
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Rider
|
|
description=Uli'ar
|
|
side=2
|
|
x=17
|
|
y=49
|
|
ai_special=guardian
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Druid
|
|
description=Chantal
|
|
side=2
|
|
ai_special=guardian
|
|
x=2
|
|
y=22
|
|
[/unit]
|
|
[/side]
|
|
|
|
[side]
|
|
race=Bandits3
|
|
type=Outlaw
|
|
description=Berkanah
|
|
side=3
|
|
canrecruit=1
|
|
recruit=
|
|
gold=200
|
|
enemy=1,2
|
|
team_name=badguys
|
|
[/side]
|
|
|
|
[story]
|
|
[part]
|
|
id=tutorial_1
|
|
story= _ "After they found refuge in the Elvish lands, the elder mage Delfador tried to teach the young Konrad all the skills and knowledge he would need to be a leader among his people."
|
|
background="misc/story0a.png"
|
|
[/part]
|
|
[part]
|
|
id=tutorial_2
|
|
story= _ "Meanwhile in the nearby woods, a group of dark preachers made an unholy pact with some desperate bandits."
|
|
background="misc/story0b.png"
|
|
[/part]
|
|
[/story]
|
|
|
|
[event]
|
|
name=start
|
|
[set_variable]
|
|
name=task
|
|
value=0
|
|
[/set_variable]
|
|
[set_variable]
|
|
name=exc_archer
|
|
value=0
|
|
[/set_variable]
|
|
[set_variable]
|
|
name=exc_fighter
|
|
value=0
|
|
[/set_variable]
|
|
[set_variable]
|
|
name=exc_scout
|
|
value=0
|
|
[/set_variable]
|
|
|
|
|
|
[command]
|
|
[kill]
|
|
description=Galdrad
|
|
[/kill]
|
|
[/command]
|
|
[command]
|
|
[unit]
|
|
type=Elvish Fighter
|
|
description=Galdrad
|
|
x=24
|
|
y=16
|
|
#canrecruit=1
|
|
ai_special=guardian
|
|
side=2
|
|
experience=37
|
|
advanceto=Shadow
|
|
[/unit]
|
|
[/command]
|
|
|
|
[message]
|
|
id=tut1
|
|
description=Delfador
|
|
message= _ "It has been a great time here, Konrad. With our friends, the Elves, we have enjoyed many years in peace.
|
|
|
|
But you are no longer a child, Konrad. Every lord must learn the ways of battle, and gain the ability to lead his army against enemies of any race. Soon it will be time to replace your wooden training sword with one of iron, and to claim your inheritance. But there are things that you must learn before that."
|
|
[/message]
|
|
|
|
[message]
|
|
id=tut2
|
|
description=Konrad
|
|
message= _ "What must I learn, Delfador?"
|
|
[/message]
|
|
|
|
[message]
|
|
id=tut3
|
|
description=Delfador
|
|
message= _ "Before entering any battle, you need to hire soldiers. Gold is necessary for that. There are villages throughout the land. Those of which you gain control (marked with a red flag) will give you an extra gold coin every turn and thus pay the cost of one of your units. To gain control of a village, simply move any of your units there.
|
|
@EXERCISE
|
|
Go to the nearest villages, so that with the earned gold we can continue our lesson."
|
|
[/message]
|
|
[message]
|
|
id=tut3a
|
|
speaker=narrator
|
|
image="misc/tutorial1.png"
|
|
message= _ "To move a unit first select it..."
|
|
[/message]
|
|
[message]
|
|
id=tut3b
|
|
speaker=narrator
|
|
image="misc/tutorial2.png"
|
|
message= _ ".. then select its destination.
|
|
If the destination is far away a unit may need more than one turn to reach it. The number shows how many turns it will take the unit to get there."
|
|
[/message]
|
|
[message]
|
|
id=tut3c
|
|
speaker=narrator
|
|
image="misc/tutorial3.png"
|
|
message= _ "After you are done with all the movements you need, click on the 'End Turn' button."
|
|
[/message]
|
|
[/event]
|
|
|
|
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Konrad
|
|
[/filter]
|
|
[message]
|
|
id=tut15
|
|
description=Delfador
|
|
message= _ "This was only practice, Konrad, but remember that if it had been a real battle, you would now be dead."
|
|
[/message]
|
|
[/event]
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Delfador
|
|
[/filter]
|
|
[message]
|
|
id=tut16
|
|
description=Delfador
|
|
message= _ "Konrad, I did my best to stop them, but you were obliged to protect me as well. That is the end of training for today."
|
|
[/message]
|
|
[endlevel]
|
|
result=defeat
|
|
[/endlevel]
|
|
[/event]
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Chantal
|
|
[/filter]
|
|
[message]
|
|
id=tut17
|
|
description=Chantal
|
|
message= _ "Indeed, Lofar, you were right. Humans can't lead armies."
|
|
[/message]
|
|
[endlevel]
|
|
result=defeat
|
|
[/endlevel]
|
|
[/event]
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Galdrad
|
|
[/filter]
|
|
[message]
|
|
id=tut18
|
|
description=Galdrad
|
|
message= _ "Konrad! You should have helped me!"
|
|
[/message]
|
|
[endlevel]
|
|
result=defeat
|
|
[/endlevel]
|
|
[/event]
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Lofar
|
|
[/filter]
|
|
[message]
|
|
id=tut19
|
|
description=Lofar
|
|
message= _ "Huh, human the leader! Wasn't telling you, Galdrad, it is waste of time?"
|
|
[/message]
|
|
[endlevel]
|
|
result=defeat
|
|
[/endlevel]
|
|
[/event]
|
|
|
|
[event]
|
|
name=enemies defeated
|
|
[message]
|
|
id=tut20
|
|
description=Delfador
|
|
message= _ "Alright, Konrad. You were excellent today."
|
|
[/message]
|
|
[message]
|
|
id=tut21
|
|
description=Chantal
|
|
message= _ "This young commander deserves the crown of Wesnoth. Let him be our hope for peace with Wesnoth, Lofar."
|
|
[/message]
|
|
[message]
|
|
id=tut22
|
|
description=Lofar
|
|
message= _ "Congratulations, Human. Your performance today was impressive, I must admit."
|
|
[/message]
|
|
[message]
|
|
id=tut23
|
|
description=Delfador
|
|
message= _ "A mission of a great importance is before us. Asheviere must not remain queen any longer!"
|
|
[/message]
|
|
[/event]
|
|
|
|
[event]
|
|
name=time over
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
greater_than=4
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut24
|
|
description=Delfador
|
|
message= _ "You did all the exercies, but four days was not enough for you to defeat bandits. I'm afraid you won't have so much time in real battle."
|
|
[/message]
|
|
[message]
|
|
id=tut25
|
|
description=Galdrad
|
|
message= _ "Do not be so cautious, Konrad. Go yourself to the fight, if there is no risk to your life."
|
|
[/message]
|
|
[/then]
|
|
[else]
|
|
[message]
|
|
id=tut26
|
|
description=Delfador
|
|
message= _ "You look miserable, Konrad. Four days have passed and you have not completed the exercises. In a real battle you must act quickly, before your enemies summon reinforcements. We will have to try again another time."
|
|
[/message]
|
|
[/else]
|
|
[/if]
|
|
[/event]
|
|
|
|
########
|
|
# Item #
|
|
########
|
|
[item]
|
|
x=21
|
|
y=22
|
|
image=misc/item-staff.png
|
|
[/item]
|
|
|
|
[event]
|
|
name=moveto
|
|
first_time_only=no
|
|
[filter]
|
|
side=1
|
|
x=21
|
|
y=22
|
|
[/filter]
|
|
[object]
|
|
id=obj_staff
|
|
name=Delfador's staff
|
|
image=misc/item-staff.png
|
|
description= _ "Hmmm...this is Delfador's...I wonder what it is used for..."
|
|
cannot_use_message= _ "A human's magical staff -- I'd better not touch it!"
|
|
[filter]
|
|
description=Konrad
|
|
[/filter]
|
|
[then]
|
|
[removeitem]
|
|
x,y=21,22
|
|
[/removeitem]
|
|
[/then]
|
|
[effect]
|
|
apply_to=new_attack
|
|
name=staff
|
|
type=impact
|
|
range=short
|
|
damage=2
|
|
number=2
|
|
[/effect]
|
|
[effect]
|
|
apply_to=new_attack
|
|
name=flame
|
|
type=fire
|
|
range=long
|
|
special=magical
|
|
damage=4
|
|
number=6
|
|
icon=misc/fireball.png
|
|
[sound]
|
|
time=-200
|
|
sound=fire.wav
|
|
[/sound]
|
|
[missile_frame]
|
|
begin=-100
|
|
end=0
|
|
image=projectiles/fireball.png
|
|
image_diagonal=projectiles/fireball.png
|
|
halo=halo/fireball-big7.png
|
|
halo_x,halo_y=12,-13
|
|
[/missile_frame]
|
|
[/effect]
|
|
[/object]
|
|
[/event]
|
|
[event]
|
|
name=moveto
|
|
[filter]
|
|
description=Konrad
|
|
x=21
|
|
y=22
|
|
[/filter]
|
|
[message]
|
|
id=tut_staff
|
|
description=Delfador
|
|
message= _ "This is my old staff. Although not very useful at close range, its magic may still prove deadly to your enemies. Its powers are waning, so it will not last long. Do not be afraid to use this weapon now - I will make sure you do not hurt yourself."
|
|
[/message]
|
|
[message]
|
|
id=tut_staff2
|
|
speaker=narrator
|
|
image="misc/tutorial3b.png"
|
|
message= _ "Magic items could help you in your quest, but you should be aware that some items can only be picked up by certain units."
|
|
[/message]
|
|
[/event]
|
|
|
|
|
|
|
|
##########
|
|
# TASK 1 #
|
|
##########
|
|
[event]
|
|
name=moveto
|
|
first_time_only=yes
|
|
[filter]
|
|
description=Konrad
|
|
x=25
|
|
y=21
|
|
[/filter]
|
|
[set_variable]
|
|
name=task
|
|
value=1
|
|
[/set_variable]
|
|
|
|
#define POACHER_WEAKENER
|
|
[modifications]
|
|
[trait]
|
|
[effect]
|
|
apply_to=hitpoints
|
|
increase_total=-15
|
|
heal_full=yes
|
|
[/effect]
|
|
[effect]
|
|
apply_to=attack
|
|
range=long
|
|
increase_damage=-1
|
|
[/effect]
|
|
[/trait]
|
|
[/modifications]
|
|
#enddef
|
|
[unit]
|
|
type=Poacher
|
|
description=Rapprah
|
|
x=26
|
|
y=21
|
|
side=3
|
|
{POACHER_WEAKENER}
|
|
[/unit]
|
|
[unit]
|
|
type=Poacher
|
|
description=Tromarch
|
|
x=24
|
|
y=20
|
|
side=3
|
|
{POACHER_WEAKENER}
|
|
[/unit]
|
|
[message]
|
|
id=amb1
|
|
description=Rapprah
|
|
message= _ "Surprise! You have walked into our trap, foolish boy!"
|
|
[/message]
|
|
[message]
|
|
id=amb2
|
|
description=Delfador
|
|
message= _ "Konrad!"
|
|
[/message]
|
|
[message]
|
|
id=amb3
|
|
description=Konrad
|
|
message= _ "Delfador! Help me!"
|
|
[/message]
|
|
[message]
|
|
id=amb4
|
|
description=Galdrad
|
|
message= _ "Stay calm, Konrad. I am coming to save you. Meanwhile try to defend yourself. When you are in a village they have little chance to hurt you. Look -- one of them stays in the water. Try to hit him!"
|
|
[/message]
|
|
[message]
|
|
id=amb5
|
|
description=Delfador
|
|
message= _ "Fighting is the best way to improve your skills. When you get enough experience (XP) you advance to become a better fighter.
|
|
|
|
When you attack an enemy unit, you may choose which weapon you want to fight with. For every weapon, there are three important numbers shown: the damage it causes, the number of attempts you make with it, and the probability of hitting the enemy. The opponent's values are likewise displayed."
|
|
[/message]
|
|
[message]
|
|
id=tut4a
|
|
speaker=narrator
|
|
image="misc/tutorial4.png"
|
|
message= _ "To attack with a unit, first select it..."
|
|
[/message]
|
|
[message]
|
|
id=tut5a
|
|
speaker=narrator
|
|
image="misc/tutorial5.png"
|
|
message= _ "...then click to select a target.
|
|
Once you do this you have to choose the weapon."
|
|
[/message]
|
|
[/event]
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Rapprah
|
|
[/filter]
|
|
[filter_second]
|
|
description=Konrad
|
|
[/filter_second]
|
|
[message]
|
|
id=kill1
|
|
description=Delfador
|
|
message= _ "Well done! This is Garard's nephew!"
|
|
[/message]
|
|
[/event]
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Tromarch
|
|
[/filter]
|
|
[filter_second]
|
|
description=Konrad
|
|
[/filter_second]
|
|
[message]
|
|
id=kill2
|
|
description=Galdrad
|
|
message= _ "Excellent, young human!"
|
|
[/message]
|
|
[/event]
|
|
|
|
|
|
#define ENDTASKONE
|
|
[command]
|
|
[kill]
|
|
description=Galdrad
|
|
[/kill]
|
|
[/command]
|
|
[command]
|
|
[unit]
|
|
type=Elvish Captain
|
|
description=Galdrad
|
|
x=24
|
|
y=16
|
|
canrecruit=1
|
|
side=2
|
|
[/unit]
|
|
[/command]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=1
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=kill4
|
|
description=Delfador
|
|
message= _ "If you are finished with the villages, go back to the castle to recruit your soldiers. Remember that in a real battle, you will probably start with some money to recruit soldiers at the beginning."
|
|
[/message]
|
|
[message]
|
|
id=kill4a
|
|
speaker=narrator
|
|
image="misc/tutorial6.png"
|
|
message= _ "To recruit units you must place your main leader in the keep tile of the castle.
|
|
If you move away from it you will be unable to recruit or recall units."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
#enddef
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Rapprah
|
|
[/filter]
|
|
[if]
|
|
[have_unit]
|
|
description=Tromarch
|
|
[/have_unit]
|
|
[then]
|
|
[message]
|
|
id=kill3
|
|
description=Delfador
|
|
message= _ "Look behind you!"
|
|
[/message]
|
|
[/then]
|
|
[else]
|
|
{ENDTASKONE}
|
|
[/else]
|
|
[/if]
|
|
[/event]
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Tromarch
|
|
[/filter]
|
|
[if]
|
|
[have_unit]
|
|
description=Rapprah
|
|
[/have_unit]
|
|
[then]
|
|
[message]
|
|
id=kill5
|
|
description=Galdrad
|
|
message= _ "There is one still hiding there!"
|
|
[/message]
|
|
[/then]
|
|
[else]
|
|
{ENDTASKONE}
|
|
[/else]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=moveto
|
|
first_time_only=no
|
|
[filter]
|
|
description=Konrad
|
|
x=20
|
|
y=23
|
|
[/filter]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=1
|
|
[/variable]
|
|
[then]
|
|
[set_variable]
|
|
name=task
|
|
value=2
|
|
[/set_variable]
|
|
[message]
|
|
id=recr1
|
|
description=Delfador
|
|
message= _ "Now you are ready to recruit units (right click and select Recruit)."
|
|
[/message]
|
|
[message]
|
|
id=recr2
|
|
description=Konrad
|
|
message= _ "So how should I choose what kind of soldiers to hire, Delfador?"
|
|
[/message]
|
|
[message]
|
|
id=recr3
|
|
description=Delfador
|
|
message= _ "You have to carefully review their skills. Early on, you want fast units to sieze as many villages as possible. After that, fighters should probably make up the bulk of your army. Remember: all Elvish units fight very well in the forest; horsemen are excellent on open ground; and mages are good for support and can be used much like archers. If you can get your mages more experienced, they can be especially powerful."
|
|
[/message]
|
|
[gold]
|
|
side=1
|
|
amount=50
|
|
[/gold]
|
|
[/then]
|
|
[else]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut27
|
|
description=Delfador
|
|
message= _ "Go to the two villages near the river."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/else]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
####################################
|
|
# Task: scouts, moving to villages #
|
|
####################################
|
|
[event]
|
|
name=moveto
|
|
first_time_only=no
|
|
[filter]
|
|
x=5,7,2,5,6,3,17
|
|
y=1,5,6,15,18,25,3
|
|
side=1
|
|
[/filter]
|
|
[command]
|
|
[set_variable]
|
|
name=exc_scout
|
|
add=1
|
|
[/set_variable]
|
|
[/command]
|
|
[command]
|
|
[if]
|
|
[variable]
|
|
name=exc_scout
|
|
greater_than=4
|
|
[/variable]
|
|
[variable]
|
|
name=exc_scout
|
|
less_than=6
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut28
|
|
description=Uli'ar
|
|
message= _ "Now you have control over the majority of villages here. Well done!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/command]
|
|
[command]
|
|
[if]
|
|
[variable]
|
|
name=exc_scout
|
|
greater_than=2
|
|
[/variable]
|
|
[variable]
|
|
name=exc_scout
|
|
less_than=4
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut29
|
|
description=Uli'ar
|
|
message= _ "So far, so good, but we need more of them."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/command]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#################################
|
|
# Task: archers, killing Gerlog #
|
|
#################################
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Gerlog
|
|
[/filter]
|
|
[set_variable]
|
|
name=exc_archer
|
|
value=2
|
|
[/set_variable]
|
|
[message]
|
|
id=tut30
|
|
description=Alisar
|
|
message= _ "Excellent, human commander!"
|
|
[/message]
|
|
[/event]
|
|
|
|
[event]
|
|
name=attack
|
|
[filter]
|
|
type=Elvish Fighter
|
|
[/filter]
|
|
[filter_second]
|
|
description=Gerlog
|
|
[/filter_second]
|
|
[message]
|
|
id=tut31
|
|
description=Lofar
|
|
message= _ "Well, fighter is an excellent choice for every battle, but I would use archers here instead. They are better shooters than fighters."
|
|
[/message]
|
|
[/event]
|
|
|
|
[event]
|
|
name=attack
|
|
[filter]
|
|
type=Elvish Scout
|
|
[/filter]
|
|
[filter_second]
|
|
description=Gerlog
|
|
[/filter_second]
|
|
[message]
|
|
id=tut32
|
|
description=Uli'ar
|
|
message= _ "Scouts are known for their horse riding. Here I would rather use archers, who can defeat the enemy before he is close enough to respond."
|
|
[/message]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
####################################
|
|
# Task: fighters killing Kharhbrah #
|
|
####################################
|
|
|
|
[event]
|
|
name=die
|
|
[filter]
|
|
description=Kharhbrah
|
|
[/filter]
|
|
[set_variable]
|
|
name=exc_fighter
|
|
value=2
|
|
[/set_variable]
|
|
[message]
|
|
id=tut33
|
|
description=Enelar
|
|
message= _ "This task is complete!"
|
|
[/message]
|
|
[/event]
|
|
[event]
|
|
name=attack
|
|
[filter]
|
|
type=Elvish Archer
|
|
[/filter]
|
|
[filter_second]
|
|
description=Kharhbrah
|
|
[/filter_second]
|
|
[message]
|
|
id=tut34
|
|
description=Alisar
|
|
message= _ "Archers are too weak to defeat poachers with swords. Attempting to attack one at a long range may be the last act of this archer's life!"
|
|
[/message]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
#############################
|
|
# Task: killing dark adepts #
|
|
#############################
|
|
[event]
|
|
name=die
|
|
first_time_only=no
|
|
[filter]
|
|
type=Dark Adept
|
|
[/filter]
|
|
[set_variable]
|
|
name=exc_horse
|
|
add=1
|
|
[/set_variable]
|
|
[if]
|
|
[variable]
|
|
name=exc_horse
|
|
greater_than=1
|
|
[/variable]
|
|
[then]
|
|
[set_variable]
|
|
name=task
|
|
value=4
|
|
[/set_variable]
|
|
[message]
|
|
id=tut35
|
|
description=Uli'ar
|
|
message= _ "Well done!"
|
|
[/message]
|
|
[message]
|
|
id=tut36
|
|
description=Delfador
|
|
message= _ "Now the last excercise. To continue, recruit some mages, so they can show you their skills."
|
|
[/message]
|
|
[disallow_recruit]
|
|
side=1
|
|
type=Horseman
|
|
[/disallow_recruit]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Mage
|
|
[/allow_recruit]
|
|
[gold]
|
|
side=1
|
|
amount=42
|
|
[/gold]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#########################
|
|
# Task: killing corpses #
|
|
#########################
|
|
[event]
|
|
name=die
|
|
first_time_only=no
|
|
[filter]
|
|
type=Walking Corpse
|
|
[/filter]
|
|
[set_variable]
|
|
name=exc_mage
|
|
add=1
|
|
[/set_variable]
|
|
[if]
|
|
[variable]
|
|
name=exc_mage
|
|
greater_than=2
|
|
[/variable]
|
|
[then]
|
|
[set_variable]
|
|
name=task
|
|
value=5
|
|
[/set_variable]
|
|
[message]
|
|
id=tut37
|
|
description=Chantal
|
|
message= _ "Good work, Konrad!"
|
|
[/message]
|
|
[message]
|
|
id=tut38
|
|
description=Delfador
|
|
message= _ "You are now a real commander, Konrad."
|
|
[/message]
|
|
[message]
|
|
id=tut39
|
|
description=Konrad
|
|
message= _ "Thank you, Delfador. It wasn't as difficult as I had thought!"
|
|
[/message]
|
|
[message]
|
|
id=tut40
|
|
description=Delfador
|
|
message= _ "Now a real test of your commanding skills: in the castle north-east of ours, a bandit leader is preparing to take Elven land. Help Galdrad defeat this evil leader.
|
|
There are also Elvish friends of ours who want to help you (use menu button and Unit List to find them).
|
|
You are now allowed to recruit all units. Good luck!"
|
|
[/message]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Elvish Fighter
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Elvish Archer
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Elvish Scout
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Horseman
|
|
[/allow_recruit]
|
|
[unit]
|
|
type=Elvish Champion
|
|
side=1
|
|
x=23
|
|
y=16
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Shyde
|
|
side=1
|
|
x=25
|
|
y=16
|
|
[/unit]
|
|
[unit]
|
|
type=Elvish Avenger
|
|
side=1
|
|
x=24
|
|
y=15
|
|
[/unit]
|
|
[allow_recruit]
|
|
side=3
|
|
type=Thug
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=3
|
|
type=Footpad
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=3
|
|
type=Poacher
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=3
|
|
type=Thief
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=2
|
|
type=Elvish Ranger
|
|
[/allow_recruit]
|
|
[allow_recruit]
|
|
side=2
|
|
type=Elvish Hero
|
|
[/allow_recruit]
|
|
[terrain]
|
|
x=23
|
|
y=12
|
|
letter=t
|
|
[/terrain]
|
|
[terrain]
|
|
x=25
|
|
y=1
|
|
letter=t
|
|
[/terrain]
|
|
[terrain]
|
|
x=31
|
|
y=9
|
|
letter=t
|
|
[/terrain]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
##################################
|
|
# Things to check for every turn #
|
|
##################################
|
|
|
|
#define EVENTTURN T
|
|
[event]
|
|
name=turn {T}
|
|
#
|
|
# TASK 2
|
|
#
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=2
|
|
[/variable]
|
|
[then]
|
|
[if]
|
|
[have_unit]
|
|
type=Elvish Scout
|
|
[/have_unit]
|
|
[variable]
|
|
name=exc_scout
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut41
|
|
description=Uli'ar
|
|
message= _ "You have recruited Scouts. Elvish Scouts aren't very good in combat although they can sieze large territories in a short time. They are excellent at capturing villages.
|
|
@EXERCISE
|
|
Take over the western villages to get more gold."
|
|
[/message]
|
|
[set_variable]
|
|
name=exc_scout
|
|
value=1
|
|
[/set_variable]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[have_unit]
|
|
type=Elvish Archer
|
|
[/have_unit]
|
|
[variable]
|
|
name=exc_archer
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut42
|
|
description=Alisar
|
|
message= _ "You have recruited Archers. Elvish Archers are weak in hand-to-hand combat, but are excellent shooters. Send your archers against enemies who don't have long range weapons and avoid leaving the forests and villages.
|
|
Archers advance to Marksman or Rangers, who are deadly with their long bows and swords.
|
|
@EXERCISE
|
|
We have prepared a practice target for you -- Gerlog, the thief, due south of your castle."
|
|
[/message]
|
|
[unit]
|
|
type=Thief
|
|
description=Gerlog
|
|
x=20
|
|
y=28
|
|
side=3
|
|
[/unit]
|
|
[set_variable]
|
|
name=exc_archer
|
|
value=1
|
|
[/set_variable]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[have_unit]
|
|
type=Elvish Fighter
|
|
[/have_unit]
|
|
[variable]
|
|
name=exc_fighter
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut43
|
|
description=Enelar
|
|
message= _ "You have recruited Fighters. They are well prepared for combat in both close and long range. As all the Elves, they defend themselves well in forests and villages.
|
|
A Fighter's career ends at Marshal or Champion, both well prepared to fight against all types of enemies. Marshals can also lead soldiers in battle.
|
|
@EXERCISE
|
|
To test Fighters, send them against Kharhbrah, the Poacher on the brigde."
|
|
[/message]
|
|
[unit]
|
|
type=Poacher
|
|
description=Kharhbrah
|
|
x=22
|
|
y=21
|
|
side=3
|
|
[/unit]
|
|
[set_variable]
|
|
name=exc_fighter
|
|
value=1
|
|
[/set_variable]
|
|
[/then]
|
|
[/if]
|
|
[/then]
|
|
[/if]
|
|
#
|
|
# TASK 3
|
|
#
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=3
|
|
[/variable]
|
|
[have_unit]
|
|
type=Horseman
|
|
[/have_unit]
|
|
[then]
|
|
[set_variable]
|
|
name=task
|
|
value=103
|
|
[/set_variable]
|
|
[message]
|
|
id=tut44
|
|
description=Uli'ar
|
|
message= _ "Horses are very fast on roads and grass. Therefore Horsemen have an advantage on that terrain."
|
|
[/message]
|
|
[message]
|
|
id=tut45
|
|
description=Lofar
|
|
message= _ "Clearly, humans are less talented than the Elves. I'm doubful about usefulness of horsemen on the battlefield."
|
|
[/message]
|
|
[message]
|
|
id=tut46
|
|
description=Uli'ar
|
|
message= _ "Horsemen advance to Paladins, great warriors who can also heal their companions in battle.
|
|
@EXERCISE
|
|
There is practice target on the clearing, south-east of your castle. Go there and wipe the area out of our enemies."
|
|
[/message]
|
|
[unit]
|
|
description=Gorgo
|
|
type=Dark Adept
|
|
x=31
|
|
y=31
|
|
side=3
|
|
ai_special=guardian
|
|
[/unit]
|
|
[unit]
|
|
description=Lomm
|
|
type=Dark Adept
|
|
x=31
|
|
y=33
|
|
side=3
|
|
ai_special=guardian
|
|
[/unit]
|
|
[terrain]
|
|
x=29
|
|
y=32
|
|
letter=t
|
|
[/terrain]
|
|
[terrain]
|
|
x=28
|
|
y=36
|
|
letter=t
|
|
[/terrain]
|
|
[/then]
|
|
[/if]
|
|
#
|
|
# TASK 4
|
|
#
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=4
|
|
[/variable]
|
|
[have_unit]
|
|
type=Mage
|
|
[/have_unit]
|
|
[then]
|
|
[set_variable]
|
|
name=exc_mage
|
|
value=0
|
|
[/set_variable]
|
|
[set_variable]
|
|
name=task
|
|
value=104
|
|
[/set_variable]
|
|
[message]
|
|
id=tut47
|
|
description=Chantal
|
|
message= _ "Humans are famous for their deep knowledge about the world. Mages are the elite of human researchers -- they are able to summon forces of nature and use them against any fool who would oppose them. Because of magic, their flaming missiles almost always hit the target.
|
|
Mages are physically weak. As they gain in experience, they specialize either in white magic as Mages of Light, or in other kinds of forces to become Great Mages.
|
|
@EXERCISE
|
|
On the other side of the road, Undead have spread. Make sure they don't move another step further!"
|
|
[/message]
|
|
[unit]
|
|
type=Walking Corpse
|
|
x=25
|
|
y=25
|
|
side=3
|
|
[/unit]
|
|
[unit]
|
|
type=Walking Corpse
|
|
x=25
|
|
y=26
|
|
side=3
|
|
[/unit]
|
|
[unit]
|
|
type=Walking Corpse
|
|
x=26
|
|
y=25
|
|
side=3
|
|
[/unit]
|
|
[/then]
|
|
[/if]
|
|
#
|
|
# Check if the player has completed task 2.
|
|
#
|
|
[if]
|
|
[or]
|
|
[variable]
|
|
name=exc_archer
|
|
greater_than=1
|
|
[/variable]
|
|
[variable]
|
|
name=task
|
|
equals=2
|
|
[/variable]
|
|
[/or]
|
|
[or]
|
|
[variable]
|
|
name=exc_scout
|
|
greater_than=4
|
|
[/variable]
|
|
[variable]
|
|
name=task
|
|
equals=2
|
|
[/variable]
|
|
[/or]
|
|
[or]
|
|
[variable]
|
|
name=exc_fighter
|
|
greater_than=1
|
|
[/variable]
|
|
[variable]
|
|
name=task
|
|
equals=2
|
|
[/variable]
|
|
[/or]
|
|
[then]
|
|
[set_variable]
|
|
name=exc_horse
|
|
value=0
|
|
[/set_variable]
|
|
[set_variable]
|
|
name=task
|
|
value=3
|
|
[/set_variable]
|
|
[message]
|
|
id=tut48
|
|
description=Delfador
|
|
message= _ "All right. In the next lesson, you will learn how to command horsemen. Now recruit some of them."
|
|
[/message]
|
|
[gold]
|
|
side=1
|
|
amount=42
|
|
[/gold]
|
|
[allow_recruit]
|
|
side=1
|
|
type=Horseman
|
|
[/allow_recruit]
|
|
[disallow_recruit]
|
|
side=1
|
|
type=Elvish Fighter
|
|
[/disallow_recruit]
|
|
[disallow_recruit]
|
|
side=1
|
|
type=Elvish Archer
|
|
[/disallow_recruit]
|
|
[disallow_recruit]
|
|
side=1
|
|
type=Elvish Scout
|
|
[/disallow_recruit]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
#enddef
|
|
|
|
{EVENTTURN 4}
|
|
{EVENTTURN 5}
|
|
{EVENTTURN 6}
|
|
{EVENTTURN 7}
|
|
{EVENTTURN 8}
|
|
{EVENTTURN 9}
|
|
{EVENTTURN 10}
|
|
{EVENTTURN 11}
|
|
{EVENTTURN 12}
|
|
{EVENTTURN 13}
|
|
{EVENTTURN 14}
|
|
{EVENTTURN 15}
|
|
{EVENTTURN 16}
|
|
{EVENTTURN 17}
|
|
{EVENTTURN 18}
|
|
{EVENTTURN 19}
|
|
{EVENTTURN 20}
|
|
{EVENTTURN 21}
|
|
{EVENTTURN 22}
|
|
{EVENTTURN 23}
|
|
{EVENTTURN 24}
|
|
{EVENTTURN 25}
|
|
{EVENTTURN 26}
|
|
{EVENTTURN 27}
|
|
{EVENTTURN 28}
|
|
{EVENTTURN 29}
|
|
{EVENTTURN 30}
|
|
{EVENTTURN 31}
|
|
{EVENTTURN 32}
|
|
{EVENTTURN 33}
|
|
{EVENTTURN 34}
|
|
{EVENTTURN 35}
|
|
{EVENTTURN 36}
|
|
{EVENTTURN 37}
|
|
{EVENTTURN 38}
|
|
{EVENTTURN 39}
|
|
{EVENTTURN 40}
|
|
{EVENTTURN 41}
|
|
{EVENTTURN 42}
|
|
{EVENTTURN 43}
|
|
{EVENTTURN 44}
|
|
{EVENTTURN 45}
|
|
{EVENTTURN 46}
|
|
{EVENTTURN 47}
|
|
{EVENTTURN 48}
|
|
|
|
##
|
|
## Tell player about night and day
|
|
##
|
|
|
|
[event]
|
|
name=turn 5
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut49
|
|
speaker=narrator
|
|
image="misc/tutorial7.png"
|
|
message= _ "Chaotic creatures are stronger at night. Lawful ones are stronger at day. Neutral creatures' strength is not changed by daytime."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
##########################################
|
|
# Notifying the player of a passing time #
|
|
##########################################
|
|
[event]
|
|
name=turn 8
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut50
|
|
description=Delfador
|
|
message= _ "Hurry up! You should have been here back a long time ago!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
[event]
|
|
name=turn 14
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=0
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut51
|
|
description=Delfador
|
|
message= _ "What are you doing, Konrad?! One day has passed and you have not completed a single task!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=1
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut52
|
|
description=Delfador
|
|
message= _ "You should have completed the second practice. Make haste!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=turn 22
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=1
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut53
|
|
description=Delfador
|
|
message= _ "Konrad, get on with it! They are not so many."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=2
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut54
|
|
description=Delfador
|
|
message= _ "All right, but you're wasting too much time."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=turn 28
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=3
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut55
|
|
description=Delfador
|
|
message= _ "Konrad! This is your last warning -- put an end to them now!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=103
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut56
|
|
description=Delfador
|
|
message= _ "This is a simple task! Why are you performing so slowly!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=turn 32
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=103
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut57
|
|
description=Delfador
|
|
message= _ "Well, hurry up!"
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=104
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut58
|
|
description=Delfador
|
|
message= _ "So far, so good, but hurry up! I have one more task to do for you."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
[event]
|
|
name=turn 40
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=104
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut59
|
|
description=Delfador
|
|
message= _ "You have too little time now, I must say."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
equals=5
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tut60
|
|
description=Delfador
|
|
message= _ "Only eight turns left, Konrad."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
|
|
|
|
#########################################
|
|
# Dnt attack the enemy boss before time #
|
|
#########################################
|
|
[event]
|
|
name=moveto
|
|
first_time_only=no
|
|
[filter]
|
|
side=1
|
|
x=24-31
|
|
y=1-10
|
|
[/filter]
|
|
[if]
|
|
[variable]
|
|
name=task
|
|
not_equals=5
|
|
[/variable]
|
|
[then]
|
|
[message]
|
|
id=tutnope
|
|
description=Delfador
|
|
message= _ "You should complete your training before attacking the bandit leader."
|
|
[/message]
|
|
[/then]
|
|
[/if]
|
|
[/event]
|
|
|
|
[/tutorial]
|
|
|