Applied Loci's EI revisions, with a few modifications.

This commit is contained in:
Lari Nieminen 2012-08-24 23:14:47 +00:00
parent 84b8dbafd2
commit 746b2557f5
27 changed files with 1721 additions and 660 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View file

@ -14,7 +14,7 @@
[story]
[part]
# It is 625 YW. Konrad II is king, having reigned since 612.
story= _ "It was the thirteenth year of Konrad IIs reign, and there were strange occurrences in the Estmark Hills on the eastern border of Wesnoth."
story= _ "It was the thirteenth year of Konrad IIs reign when the strange occurrences in the Estmark Hills on the eastern border of Wesnoth began."
background=eastern-invasion-map.png
[/part]
[part]
@ -41,7 +41,7 @@
background=eastern-invasion-map.png
[/part]
[part]
story= _ "To the northern outpost he sent Owaec, a clan noble. To the southern outpost, he sent Gweddry, who would be accompanied by Dacyn the mage. It is with them this story is concerned."
story= _ "To the northern outpost he sent Owaec, a clan noble. To the southern outpost, he sent Gweddry, who would be accompanied by Dacyn the mage. Our story begins there."
background=eastern-invasion-map.png
[/part]
[part]
@ -181,18 +181,17 @@
[objectives]
side=1
[objective]
#ifdef EASY
description= _ "Resist until Dacyns return tomorrow night"
#else
description= _ "Resist until Dacyns return in two days"
#endif
description= _ "Defend the outpost"
condition=win
[/objective]
[objective]
description= _ "Death of Gweddry"
condition=lose
[/objective]
[objective]
description= _ "Death of Dacyn"
condition=lose
[/objective]
[gold_carryover]
bonus=yes
carryover_percentage=40
@ -219,8 +218,37 @@
[/message]
[message]
speaker=Dacyn
message= _ "Look. To the east. Undead approach! But wait... I sense something... They must not see me..."
message= _ "Look. To the east. Undead approach!"
[/message]
[message]
speaker=Mal-Talar
message= _ "Ah, interesting..."
[/message]
[message]
speaker=Gweddry
message= _ "Men, to arms!"
[/message]
[/event]
#Dacyn's disappearance and Mal-Ravanal's appearance
#(turn refresh to be nice and let Dacyn heal everyone first)
[event]
name=side 1 turn 7 refresh
[message]
speaker=Dacyn
message= _ "I sense a great evil... Can it be? Gweddry, I must not be seen."
[/message]
{LIGHT_SHIELD_EFFECT_OBJECT_ID Dacyn}
[animate_unit]
[filter]
id=Dacyn
[/filter]
flag=disappear
[/animate_unit]
[store_unit]
[filter]
id=Dacyn
@ -229,81 +257,60 @@
kill=yes
variable=stored_Dacyn
[/store_unit]
[move_unit_fake]
type=Ancient Lich
side=2
x=39,34
y=16,14
[/move_unit_fake]
[delay]
time=100
[/delay]
[unit]
type=Ancient Lich
type=Lich Lord
id=Mal-Ravanal
name= _ "Mal-Ravanal"
x,y=34,14
side=2
facing=sw
profile=portraits/mal-ravanal.png
animate=yes
[/unit]
[message]
speaker=Mal-Ravanal
message= _ "Hm. I do not sense anything out of the ordinary here. My scouts must have deceived me. Very well; destroy them."
message= _ "This is the resistance you spoke of, an untrained commander and a few fresh recruits? You will suffer for your incompetence. Destroy them, and dare not bother me again."
[/message]
[message]
speaker=Mal-Sakkat
speaker=Mal-Talar
# wmllint: local spelling Archon
message= _ "Very well, Dark Archon. They will die. And then?"
message= _ "Apologies, Dark Archon. They will die. And then?"
[/message]
[message]
speaker=Mal-Ravanal
message= _ "On with the search. I trust you can defeat these men yourself? I have no time to waste here."
message= _ "Slaughter the villagers and march onwards. You have wasted enough time here already."
[/message]
[animate_unit]
[filter]
id=Mal-Ravanal
[/filter]
flag=pre_teleport
[/animate_unit]
[kill]
id=Mal-Ravanal
[/kill]
[move_unit_fake]
type=Ancient Lich
side=2
x=34,39
y=14,16
[/move_unit_fake]
[message]
speaker=Gweddry
message= _ "What?! Men, to arms! And where did Dacyn go?!"
[/message]
[message]
speaker=Gweddry
message= _ "There are too many undead, I cannot defeat them... but my orders are to hold this outpost at all costs. It may be we will die this day."
[/message]
[message]
speaker=Gweddry
message= _ "But... somehow, I do not think Dacyn has abandoned us. He must have had a reason for leaving."
message= _ "What?! We must hold the outpost! And where did Dacyn go?!"
[/message]
[/event]
#Dacyn pops out on keep and gives message about trapdoor.
[event]
#define WIN_SCENARIO
[message]
speaker=Gweddry
message= _ "Follow me, men! Through the trapdoor!"
[/message]
[hide_unit]
x,y=9,16
[/hide_unit]
[redraw]
[/redraw]
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
#enddef
#ifdef EASY
name=turn 10
#else
name=turn 12
#endif
[scroll_to]
x,y=9,16
[/scroll_to]
[item]
x=9
y=16
@ -311,9 +318,16 @@
[/item]
[unstore_unit]
variable=stored_Dacyn
x,y=10,15
find_vacant=yes
[/unstore_unit]
{CLEAR_VARIABLE stored_Dacyn}
[animate_unit]
[filter]
id=Dacyn
[/filter]
flag=reappear
[/animate_unit]
[message]
speaker=Dacyn
message= _ "Gweddry? Good! You are still alive. Quickly, we must leave this place!"
@ -332,15 +346,23 @@
[/message]
[message]
speaker=Dacyn
message= _ "It is pointless to try to defend it. Now, come on, we do not have much time to spare!"
message= _ "This outpost is already lost. We must defeat this evil if Wesnoth is to survive. Now, come on, we do not have much time to spare!"
[/message]
[gold]
side=2,3,4
amount=100
[/gold]
[if]
[have_unit]
id=Gweddry
x,y=9,16
[/have_unit]
[then]
{WIN_SCENARIO}
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/then]
[else]
[objectives]
@ -375,7 +397,11 @@
y=16
id=Gweddry
[/filter]
{WIN_SCENARIO}
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/event]
[/event]
@ -384,9 +410,22 @@
name=turn 14
[message]
speaker=Dacyn
message= _ "Hurry! Before long enemy reinforcements will arrive, and we will all die! Go to the trapdoor!"
message= _ "Hurry! We cannot defeat this evil today! We must escape!"
[/message]
[/event]
[event]
name=victory
[message]
speaker=Gweddry
message= _ "Follow me, men! Through the trapdoor!"
[/message]
[hide_unit]
x,y=9,16
[/hide_unit]
[redraw]
[/redraw]
[/event]
{EARLY_DEFEAT}
[/scenario]

View file

@ -89,7 +89,7 @@
[objectives]
side=1
[objective]
description= _ "Gweddry reaches the end of the tunnel"
description= _ "Move Gweddry to the tunnel exit"
condition=win
[/objective]
[objective]
@ -122,7 +122,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "I do not know. There are trolls in here, which may try to fight us. Now hurry, we have to move quickly with those liches still behind us."
message= _ "This is an old escape tunnel for the outpost; unfortunately these caves are currently inhabited by trolls. Now hurry, we have to move quickly; the undead will surely follow us down here."
[/message]
[message]
speaker=Gweddry
@ -130,7 +130,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "It doesnt matter. They are much too powerful for us; our only hope is to get away, far away. Perhaps we should go north, and meet with Owaec."
message= _ "I will explain later. For now, suffice to say they are much too powerful for us; our only hope is to head north."
[/message]
[unit]
type=Troll Whelp
@ -168,7 +168,7 @@
[filter]
side=3
[filter_vision]
side=1
viewing_side=1
[/filter_vision]
[/filter]
[message]
@ -177,7 +177,7 @@
[/message]
[message]
speaker=Gweddry
message= _ "We are soldiers of the king of Wesnoth. Will you help us escape these trolls?"
message= _ "We are soldiers of the king of Wesnoth. Will you help us fight these trolls?"
[/message]
[message]
speaker=unit
@ -335,7 +335,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "They follow us... we must get out of this tunnel. It looks like it is leading east. That is unfortunate, for it will take us further from Weldyn. But it is our only option."
message= _ "They follow us... we must get out of this tunnel. It looks like it is leading east. That is unfortunate, for it will take us beyond the borders of Wesnoth. But it is our only option."
[/message]
[/event]

View file

@ -156,7 +156,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "We are in the middle of the eastern mountains, in a mountain pass leading east and west. We need to head north, to meet Owaec, but we cannot go through the mountains... we must go east, or west, and hope we can get around them."
message= _ "We are in the middle of the eastern mountains, in a mountain pass leading east and west. We need to head north, but we cannot go through the mountains... we must go east, or west, and hope we can get around them."
[/message]
[message]
speaker=Mal-Kallat
@ -176,11 +176,11 @@
[/message]
[message]
speaker=Gweddry
message= _ "These undead are toying with us! This adept is weak — we may be able to take his castle."
message= _ "These undead are toying with us! This adept is weak — we may be able to take his fort."
[/message]
[message]
speaker=Dacyn
message= _ "A good idea. Then, we must kill either of the dark sorcerers. I would prefer to attack the western one, so we can get closer to Wesnoth."
message= _ "A good idea. Then, we must kill either of the dark sorcerers. I would prefer to attack the western one, so we can return to Wesnoth."
[/message]
[/event]

View file

@ -16,7 +16,7 @@
[story]
[part]
story=_ "But Gweddry and Dacyn were to find that re-entering Wesnoth would not be easy with the escape tunnel closed to them. They marched out of the foothills of the Estmarks in a direction few Wesnothians had traveled before, into unknown forest country just south of the Great River."
story=_ "But Gweddry and Dacyn were to find no respite within the borders of Wesnoth. They marched out of the foothills of the Estmarks into an unknown forest..."
[/part]
[part]
show_title=yes
@ -119,7 +119,7 @@
[/message]
[message]
speaker=Gweddry
message= _ "Would it be possible for us to rest in your lands for a while? We have been pursued by fell undead, although they did not dare to enter the forest... yet."
message= _ "Would it be possible for us to rest in your lands for a while? We have been pursued by fell undead, although they did not dare follow us into the forest... yet."
[/message]
[message]
speaker=Volas
@ -127,7 +127,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "Good. Now, you should be warned. This undead warlord is very powerful. If you choose to battle with him then, even if you are victorious, few will survive. I invite you to join us, and head north. We may be able to leave the area he wishes to conquer."
message= _ "Good. Now, you should be warned: this undead warlord is very powerful. If you choose to fight, even if you are victorious, few will survive. I invite you to join us, and head north."
[/message]
[message]
speaker=Volas
@ -165,7 +165,7 @@
[/message]
[message]
speaker=Volas
message= _ "I know not. But they are right in the Northern Path. You will have to fight them to move on."
message= _ "I know not. But they have made camp on the northern path. You will have to fight them to move on."
[/message]
[message]
speaker=Gruga-Har
@ -232,7 +232,7 @@
[/filter]
[message]
speaker=Nafga
message= _ "No! This is the first time I have failed a mission, and it is my last!"
message= _ "No! This is the first time I have failed a mission, and it will be my last!"
[/message]
[kill]
id=Nafga
@ -242,6 +242,10 @@
speaker=Gruga-Har
message= _ "My assassin is dead! The elves must pay, not for his death, but for stopping him in his mission!"
[/message]
[gold]
side=3
amount=50
[/gold]
[/event]
[event]
@ -262,7 +266,7 @@
name=enemies defeated
[message]
speaker=Volas
message= _ "We have defeated the orcs! Now you can rest, and then leave."
message= _ "We have defeated the orcs! Now you can rest before your journey."
[/message]
[message]
speaker=Dacyn
@ -270,7 +274,7 @@
[/message]
[message]
speaker=Volas
message= _ "Very well. I will send guides to lead you to your allies."
message= _ "Very well. I will send guides to lead you north to your allies."
[/message]
[endlevel]
result=victory

View file

@ -116,11 +116,15 @@
[/recall]
[message]
speaker=Dacyn
message= _ "We have gotten out of that mountain range now, and the path northwards is clear. Let us go north, now, and try to reach Owaec at the outpost."
message= _ "Now that we are free of the mountain range the path northwards is clear. Let us go north and try to reach Owaec at the outpost."
[/message]
[message]
speaker=Gweddry
message= _ "Wait. I am not sure that is the best option. If we go east now, we may be able to find the lich Mal-Ravanal who attacked us, and destroy him before he can attack Wesnoth again. After we escaped, I suspect he went back east to find us."
message= _ "Wait. I am not sure that is the best option. If we go east now, we may be able to find the lich who attacked us and destroy him. He must be nearby."
[/message]
[message]
speaker=Dacyn
message= _ "This is no ordinary Lich you hunt. Even if you manage to find him, how will you prevent him from simply teleporting away? We should head north; there is much I must learn before we confront this menace."
[/message]
[message]
speaker=Mal-Skraat
@ -143,7 +147,7 @@
[/kill]
[message]
speaker=Dacyn
message= _ "Come, let us return to Wesnoth and aid the Northern Outpost."
message= _ "Come, let us return to Wesnoth and head for the Northern Outpost."
[/message]
[endlevel]
result=victory
@ -160,7 +164,7 @@
[/filter]
[message]
speaker=Dacyn
message= _ "We have defeated this patrol, but we can still turn back! Do we want to go further east now, or do we want to try to turn back and defeat this dark sorcerer?"
message= _ "We have defeated this patrol, but we can still turn back! Do you insist on traveling east now, or shall we defeat this dark sorcerer?"
[/message]
[message]
speaker=Gweddry
@ -170,7 +174,7 @@
[command]
[message]
speaker=Dacyn
message= _ "I cannot say if this is a good decision, but I will follow you."
message= _ "I cannot say this is a good decision, but I will follow you."
[/message]
[message]
speaker=Mal-Skraat
@ -205,7 +209,7 @@
[then]
[message]
speaker=Dacyn
message= _ "We failed to defeat either enemy! Now more liches will come, and we will be overwhelmed!"
message= _ "We failed to defeat either enemy! Now more undead will come and we will be overwhelmed!"
[/message]
[endlevel]
result=defeat

View file

@ -141,7 +141,7 @@
[objectives]
side=1
[objective]
description= _ "Escape from the capital by killing one of the two dark sorcerers"
description= _ "Escape by defeating one of the dark sorcerers"
condition=win
[/objective]
[objective]
@ -243,12 +243,12 @@
[message]
speaker=Dacyn
message= _ "Yes, but look! The undead forces are closing in behind us. As I said before, we cannot kill Mal-Ravanal. It was foolish to come this far, we must turn back!"
message= _ "Yes, but look! The undead forces are closing in behind us. As I said before we cannot kill Mal-Ravanal. It was foolish to come this far; we must turn back!"
[/message]
[message]
speaker=Gweddry
message= _ "Perhaps. To retreat, we must kill one of these dark sorcerers that follow us. But, perhaps we can kill this Mal-Ravanal still. I might wish to try."
message= _ "Perhaps. To retreat, we must kill one of these dark sorcerers that follow us. But, perhaps we can kill this Mal-Ravanal. I might wish to try."
[/message]
[message]
@ -408,7 +408,7 @@
[/message]
[message]
speaker=$freed_prisoner.id
message= _ "There are five of us still locked up in the jail. All of us will join you if you can get us free."
message= _ "Five of my comrades are still imprisoned. We will gladly enter your service in appreciation for our freedom."
[/message]
[/then]
[/if]
@ -526,29 +526,91 @@
[/if]
[/event]
#impossible to kill Mal-Ravanal
#Mal-Ravanal notices Dacyn
[event]
name=attack
first_time_only=no
name=attack end
[filter]
id=Dacyn
[/filter]
[filter_second]
id=Mal-Ravanal
[not]
id=Mal-Ravanal
[/not]
[/filter_second]
[filter_attack]
range=ranged
[/filter_attack]
[message]
speaker=Mal-Ravanal
message= _ "You dare to attack <i>me</i>!? Go back to your master!"
message= _ "Wait! I recognize that magic! Dacyn, have you come to surrender to me? Or perhaps you wish to finish the duel we started so long ago?"
[/message]
[message]
speaker=Dacyn
message= _ "If I have one regret, it is that mercy slowed my hand thirty three years ago. Stop this madness and I will release you from your torment."
[/message]
[message]
speaker=Mal-Ravanal
message= _ "Torment?! You have no idea... but you soon will. Kill them all and bring Dacyn to me!"
[/message]
[message]
speaker=Gweddry
message= _ "This is not good; we are unable to attack Mal-Ravanal at all, for his magic is too strong! We must turn back, it was foolish to press the attack."
message= _ "You know this lich?"
[/message]
[message]
speaker=Dacyn
message= _ "Yes... We studied together many years ago. He was most powerful then, but the dark power I sense today is far greater. We must escape immediately!"
[/message]
[/event]
#if Dacyn attacks Mal-Ravanal
[event]
name=attack
[filter]
id=Dacyn
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Mal-Ravanal
message= _ "Ah, so you've decided to fight me."
[/message]
[message]
speaker=Dacyn
message= _ "I will atone for my failure thirty three years ago."
[/message]
[/event]
#impossible to kill Mal-Ravanal; he teleports away
[event]
name=last breath
[filter]
id=Mal-Ravanal
[/filter]
[message]
speaker=Mal-Ravanal
message= _ "Enough! You cannot possibly defeat me!"
[/message]
[animate_unit]
flag=pre_teleport
[/animate_unit]
[kill]
id=Mal-Ravanal
animate=no
fire_event=no
[/kill]
[message]
speaker=Gweddry
message= _ "Is he... dead?"
[/message]
[message]
speaker=Dacyn
message= _ "Merely departed. He will return once he has recovered; we would best be away from here by then."
[/message]
[teleport]
[filter]
x,y=$x1,$y1
side=1
[/filter]
x=19
y=13
[/teleport]
[/event]
#when you kill one of the necros you win

View file

@ -100,7 +100,7 @@
[objectives]
side=1
[objective]
description= _ "Find the outlaw leader in the villages and kill him"
description= _ "Find the outlaw leader and defeat him"
condition=win
[/objective]
[objective]
@ -137,6 +137,9 @@
[recall]
id=Dacyn
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Owaec
message= _ "Hail, Gweddry!"
@ -147,31 +150,36 @@
[/message]
[message]
speaker=Dacyn
message= _ "Indeed, they do. And do not think you will be able to defeat them. They are too powerful. We are heading for the Northlands, where we may be able to outrun them. Will you join us?"
message= _ "Indeed, they do. And do not think you will be able to defeat them. They are too powerful. We are heading for the Northlands, where I hope to find a means to stop this invasion. Will you join us?"
[/message]
[message]
speaker=Owaec
message= _ "I am not sure. There are bandits in this country, and I have been told that it is my duty to defeat them, and protect the local villages. However, I cannot find a way to defeat them. The outlaws hide in the villages when we are close, and come out when we are far away."
message= _ "I cannot. My orders were to protect these villages. If I leave, the villagers will be at the mercy of a gang of bandits. I cannot find a way to defeat them; the outlaws hide in the villages whenever I send in my troops."
[/message]
[message]
speaker=Dacyn
message= _ "Hoping to protect these villages is foolish; all who stay here will die. However, if we can drive these bandits out, we will be able to have all the villagers follow us into the northlands. There they may survive. But Wesnoth is no longer safe."
message= _ "Hoping to protect these villages is foolish; all who stay here will die. However, if we can drive these bandits out, will you organize the villagers to flee to the west? There they may survive for a time. But soon nowhere in Wesnoth will be safe."
[/message]
[message]
speaker=Owaec
message= _ "Well, you appear to know what youre talking about... but, I have no way to remove these bandits."
message= _ "If the situation is as dire as you've described, I must... but we have no way to remove these bandits."
[/message]
[message]
speaker=Dacyn
message= _ "I think I may be able to help you. I am a mage; I believe I will be able to cast a spell that will reveal them if you enter the villages. However, I wont be able to help you in battle."
message= _ "I think I may be able to help. Gweddry, I believe I can cast a spell that will reveal them when we enter the villages. However, it will require my full attention; I wont be able to help you in battle."
[/message]
[message]
speaker=Gweddry
message= _ "That sounds good; it is time to drive out some bandits. Dacyn, go cast your spell!"
message= _ "That sounds good; it is time to drive out some bandits. Dacyn, cast your spell!"
[/message]
[message]
speaker=Owaec
message= _ "I believe there is a leader behind these outlaws; kill him, and we will have defeated these bandits."
message= _ "I believe there is a leader behind these outlaws; kill him and we will face no further resistance. I will place my clansmen at your service."
[/message]
[message]
speaker=narrator
message= _ "You may now recruit horsemen!"
image=wesnoth-icon.png
[/message]
[message]
speaker=Lanar-Skal
@ -179,153 +187,15 @@
[/message]
[message]
speaker=Dacyn
message= _ "It seems the undead have caught up with us! We will have to kill them, too, if we want these villages to be safe. Well, I will see you when you defeat the outlaws and undead!"
message= _ "It seems the undead have caught up with us! We will have to kill them too if we want the villagers to be safe. Well, I will see you when you defeat the outlaws and undead!"
[/message]
{MOVE_UNIT id=Dacyn 13 14}
{DACYN_CASTING_SPELL_ANIMATION_OBJECT}
{MODIFY_UNIT id=Dacyn variables.casting_the_spell yes}
[object]
silent=yes
[filter]
id=Dacyn
[/filter]
[effect]
apply_to=new_animation
[standing_anim]
[filter]
type=White Mage
[filter_wml]
[variables]
casting_the_spell=yes
[/variables]
[/filter_wml]
[/filter]
[frame]
duration=125
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo2.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo4.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[/standing_anim]
[standing_anim]
[filter]
type=Mage of Light
[filter_wml]
[variables]
casting_the_spell=yes
[/variables]
[/filter_wml]
[/filter]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo2.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo4.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[/standing_anim]
[/effect]
[/object]
# mark half of the villages as containing bandits
[store_locations]
terrain=*^V*
@ -570,7 +440,7 @@
[/message]
[message]
speaker=Owaec
message= _ "Thats the bandit leader! Kill him, and we will have fulfilled our duty!"
message= _ "Thats the bandit leader! Kill him!"
[/message]
{VARIABLE shodrano_found yes}
@ -651,45 +521,6 @@
[/message]
[/then]
[else]
[message]
speaker=Owaec
message= _ "I have fulfilled my duty to the villages. Now I suppose I can join you in your quest."
[/message]
{MODIFY_UNIT id=Dacyn variables.casting_the_spell no}
[message]
speaker=Dacyn
message= _ "Good job! Now, we should move onward, north. Tell the villagers to pack their belongings and follow us."
[/message]
[store_unit]
[filter]
id=Owaec
[/filter]
kill=yes
variable=stored_Owaec
[/store_unit]
[unit]
side=1
id=Owaec
name= _ "Owaec"
unrenamable=yes
x,y=$stored_Owaec.x,$stored_Owaec.y
type=$stored_Owaec.type
experience=$stored_Owaec.experience
profile=portraits/owaec.png
{IS_HERO}
random_traits=no
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
{CLEAR_VARIABLE stored_Owaec}
[endlevel]
result=victory
bonus=yes
@ -721,47 +552,6 @@
[/message]
[/then]
[else]
[message]
speaker=Owaec
message= _ "Well, both the outlaws and undead are defeated. We have some time to spare now before more undead arrive."
[/message]
{MODIFY_UNIT id=Dacyn variables.casting_the_spell no}
[message]
speaker=Dacyn
message= _ "Good work! Now, we should move onward, north. Tell the villagers to pack their belongings and follow us."
[/message]
[store_unit]
[filter]
id=Owaec
[/filter]
kill=yes
variable=stored_Owaec
[/store_unit]
[unit]
side=1
id=Owaec
name= _ "Owaec"
unrenamable=yes
x,y=$stored_Owaec.x,$stored_Owaec.y
type=$stored_Owaec.type
experience=$stored_Owaec.experience
profile=portraits/owaec.png
{IS_HERO}
random_traits=no
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
{CLEAR_VARIABLE stored_Owaec}
{MODIFY_UNIT id=Dacyn variables.casting_the_spell no}
[endlevel]
result=victory
bonus=yes
@ -774,6 +564,44 @@
[event]
name=victory
[message]
speaker=Owaec
message= _ "Well, both the outlaws and undead are defeated. We have some time to spare now before more undead arrive."
[/message]
{MODIFY_UNIT id=Dacyn variables.casting_the_spell no}
[message]
speaker=Dacyn
message= _ "Good work! Now, we must move onward, north. Tell the villagers to pack their belongings and head west."
[/message]
[store_unit]
[filter]
id=Owaec
[/filter]
kill=yes
variable=stored_Owaec
[/store_unit]
[unit]
side=1
id=Owaec
name= _ "Owaec"
unrenamable=yes
x,y=$stored_Owaec.x,$stored_Owaec.y
type=$stored_Owaec.type
experience=$stored_Owaec.experience
profile=portraits/owaec.png
{IS_HERO}
random_traits=no
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
{CLEAR_VARIABLE stored_Owaec}
{CLEAR_VARIABLE bandit_villages,cleared_villages,bandit_villages_visited}
[/event]

View file

@ -114,23 +114,23 @@
[/recall]
[message]
speaker=Gweddry
message= _ "Look! The road splits here. Which way shall we go?"
message= _ "It looks like the road splits here. Which way shall we go?"
[/message]
[message]
speaker=Owaec
message= _ "Were in the land of the Clans now; I know it well. The road north leads directly to the Great River; across it lies the orcs home country in the Northlands. The westward road will keep us inside the realm of Wesnoth, for a time, before we reach another crossing point north of Glyns Forest. If we travel along that path, we will not have to fight orcs immediately."
message= _ "Were in the land of the Clans now; I know it well. The road north leads directly to the Great River; across it lies the orcs home country in the Northlands. The westward road will keep us inside the realm of Wesnoth, for a time, before we reach another river crossing north of Glyns Forest. If we travel west we will not have to fight orcs immediately."
[/message]
[message]
speaker=Dacyn
message= _ "We should probably go north to the orcish lands immediately. I suspect that the undead have already bypassed us, and cut off any crossing to the west of here."
message= _ "We should probably go north to the orcish lands as quickly as possible. The longer we tarry in Wesnoth, the more undead we will have to face."
[/message]
[message]
speaker=Owaec
message= _ "The orcs are more powerful than you suspect. I doubt the undead have had time to get past us in large enough numbers to make them more dangerous than the orcs."
message= _ "The orcs are more powerful than you suspect. I doubt the few undead in Wesnoth can rival the might of the orcish homeland."
[/message]
[message]
speaker=Gweddry
message= _ "Either way we will have to fight. Look, the orcs and undead are in a conflict, and block our path!"
message= _ "Either way we will have to fight. Look, the orcs and undead block our path ahead!"
[/message]
[message]
speaker=Mal-Arnai

View file

@ -98,7 +98,7 @@
[objectives]
side=1
[objective]
description= _ "Get Gweddry and Owaec across the river"
description= _ "Move Gweddry and Owaec across the river"
condition=win
[/objective]
[objective]
@ -133,11 +133,11 @@
[/recall]
[message]
speaker=Gweddry
message= _ "We have come to the Great River. What should we do? Should we attempt to cross it?"
message= _ "We have come to the Great River. Should we cross here, or try to find a ford?"
[/message]
[message]
speaker=Dacyn
message= _ "We must cross this river. The undead are chasing us, and their hordes are much too great for us to defeat. Reinforcements for the undead will arrive soon. We must be across the river before that happens."
message= _ "We must cross here. The undead are chasing us, and their hordes are much too great for us to defeat. Reinforcements for the undead will arrive soon. We must be across the river before that happens."
[/message]
[message]
speaker=Owaec
@ -157,7 +157,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "If we show ourselves as enemies of the orcs, they may aid us. But I think we should cross the river before trying to convince these ogres to help."
message= _ "If we show ourselves as enemies of the orcs, they may aid us. But first we need to cross the river."
[/message]
[/event]
@ -353,7 +353,7 @@
[/allow_recruit]
[message]
speaker=narrator
message= _ "You may now recruit ogres!"
message= _ "You may now recruit young ogres!"
image=wesnoth-icon.png
[/message]
{VARIABLE have_ogres yes}

View file

@ -59,7 +59,7 @@
[objectives]
side=1
[objective]
description= _ "Defeat enemy leader"
description= _ "Defeat the enemy leader"
condition=win
[/objective]
[objective]

View file

@ -111,7 +111,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "All right, we have to keep at least two of these ogres on the grass where they cant escape until our troops get here to capture them. Then they will have to lead us to their tribe."
message= _ "All right, we have to keep at least two of these ogres on the grass where they cant escape until our troops get here to capture them."
[/message]
[message]
speaker=Owaec
@ -168,7 +168,7 @@
[then]
[message]
speaker=Dacyn
message= _ "Our troops have caught up! Now, we will be able to recruit ogres, since these will be able to convince their tribe to join us."
message= _ "Our troops have caught up! Now, we will be able to recruit ogres!"
[/message]
{VARIABLE have_ogres yes}
[allow_recruit]

View file

@ -146,9 +146,12 @@
[recall]
id=Grug
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Dacyn
message= _ "Hail, dwarves! Will you help us get by these foul orcs? We need to get further along this path."
message= _ "Hail, dwarves! Will you help us get by these foul orcs? We are headed farther north."
[/message]
[message]
speaker=Prok-Bak
@ -193,7 +196,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "These people wont listen to reason, they are all blinded by their beliefs in their own supposed superiority. We probably will have to fight them, although we may be able to bypass them."
message= _ "These people wont listen to reason, they are all blinded by their beliefs in their own supposed superiority. We probably will have to fight them, although we can let them fight each other first."
[/message]
[message]
speaker=Gweddry
@ -211,14 +214,11 @@
message= _ "Argh! Im dead! Well, dwarves are still the best!"
[/message]
[gold]
side=3
amount=50
[/gold]
[gold]
side=4
side=3,4
amount=50
[/gold]
[/event]
[event]
name=last breath
[filter]
@ -229,14 +229,11 @@
message= _ "I die? Orcs rule all!"
[/message]
[gold]
side=2
amount=50
[/gold]
[gold]
side=4
side=2,4
amount=50
[/gold]
[/event]
[event]
name=last breath
[filter]
@ -250,14 +247,11 @@
message= _ "It seems these humans are more powerful than I thought. Ugh."
[/message]
[gold]
side=2
amount=50
[/gold]
[gold]
side=3
side=2,3
amount=50
[/gold]
[/event]
[event]
name=last breath
[filter]
@ -271,6 +265,7 @@
message= _ "Cursed dwarves! Perhaps we should have allied with the humans..."
[/message]
[/event]
[event]
name=last breath
[filter]
@ -284,6 +279,7 @@
message= _ "Foul orcs! Perhaps we should have allied with the humans..."
[/message]
[/event]
[event]
name=last breath
[filter]
@ -297,6 +293,7 @@
message= _ "It seems yon humans are mightier than I kenned..."
[/message]
[/event]
[event]
name=last breath
[filter]
@ -310,6 +307,7 @@
message= _ "Foul orcs! Perhaps we should ha allied wi the humans..."
[/message]
[/event]
[event]
name=last breath
[filter]

View file

@ -25,6 +25,8 @@
[/part]
[/story]
victory_when_enemies_defeated=no
[side]
type=Lieutenant
id=Gweddry
@ -83,7 +85,11 @@
[objectives]
side=1
[objective]
description= _ "Defeat the trolls and gryphons"
description= _ "Defeat the enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Move Dacyn to the stronghold"
condition=win
[/objective]
[objective]
@ -106,6 +112,16 @@
carryover_percentage=40
[/gold_carryover]
[/objectives]
[set_variable]
name=enemies_defeated
value=false
[/set_variable]
[set_variable]
name=Dacyn_researching
value=false
[/set_variable]
[/event]
[event]
@ -119,21 +135,53 @@
[recall]
id=Grug
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Dacyn
message= _ "The trail stops soon. We have almost reached our destination, if we can call it that. There is a large lake in front of us, with a small island off the coast. If we burn down the bridge to it, no one will ever be able to reach us."
message= _ "The trail stops soon. We have almost reached Lake Vrug. There is a small island off the coast ahead that was once home to a great school of magic. I pray that the library is still intact."
[/message]
[message]
speaker=Owaec
message= _ "But what if there are already people living on it? We will have to fight them! And besides, the undead can build boats."
message= _ "But what happened to the people living on it?"
[/message]
[message]
speaker=Dacyn
message= _ "There are other people. A tribe of trolls, and some gryphons. But it is safer than fighting the undead, and once we kill them, the island will be ours."
message= _ "Few enough remained before the trolls and gryphons took up residence in the mountains. But now the school is deserted, and has been for decades."
[/message]
[message]
speaker=Gweddry
message= _ "Very well, we will go on, take this island. It appears we have no choice. Onward!"
message= _ "Very well, we will take care of the trolls and gryphons. Search the library and may you find us an answer. Onward!"
[/message]
[/event]
#give the player a hint about mountainous terrain
[event]
name=recall
[filter]
type=Paladin,Lancer,Knight,Grand Knight,Horseman,Cavalier,Dragoon,Cavalryman,Heavy Infantryman,Iron Mauler,Shock Trooper
[/filter]
[fire_event]
name=movement_warning
[/fire_event]
[/event]
[event]
name=recruit
[filter]
type=Horseman,Cavalryman,Heavy Infantryman
[/filter]
[fire_event]
name=movement_warning
[/fire_event]
[/event]
[event]
name=movement_warning
[message]
speaker=Dacyn
message= _ "The island ahead is mountainous; it would be wise to select troops that do well on such terrain."
[/message]
[/event]
@ -142,14 +190,21 @@
[filter]
x,y=12,4
side=1
[not]
id=Dacyn
[/not]
[/filter]
[message]
speaker=unit
message= _ "This must be the academy Dacyn mentioned."
[/message]
[message]
speaker=Gweddry
message= _ "There is an abandoned castle here. It looks repairable — we should settle here."
message= _ "It still looks quite defensible. We should be able to hold there while Dacyn is working."
[/message]
[message]
speaker=Dacyn
message= _ "Very well. Let us rally there, and then move to destroy these trolls and gryphons."
message= _ "Very well. Let us rally there after the trolls and gryphons are defeated."
[/message]
[/event]
@ -159,10 +214,6 @@
x,y=12,4
id=Gweddry
[/filter]
[message]
speaker=Gweddry
message= _ "We will base our attack from here. Now go, destroy the enemy!"
[/message]
[sound]
name=gold.ogg
[/sound]
@ -177,9 +228,104 @@
[/gold]
[/event]
[event]
name=moveto
[filter]
x,y=12,4
id=Dacyn
[/filter]
[message]
speaker=Dacyn
message= _ "Excellent; I'll start my research."
[/message]
[store_unit]
[filter]
id=Dacyn
[/filter]
kill=yes
variable=stored_Dacyn
[/store_unit]
[set_variable]
name=Dacyn_researching
value=true
[/set_variable]
[objectives]
side=1
[objective]
description= _ "Defeat the enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Death of Gweddry"
condition=lose
[/objective]
[objective]
description= _ "Death of Owaec"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
[/event]
[event]
name=enemies defeated
[message]
speaker=Gweddry
message= _ "Alright, now we should be safe while Dacyn is researching."
[/message]
[set_variable]
name=enemies_defeated
value=true
[/set_variable]
[/event]
#check each turn if the victory conditions have been met
[event]
name=turn end
first_time_only=no
[if]
[variable]
name=enemies_defeated
boolean_equals=true
[/variable]
[variable]
name=Dacyn_researching
boolean_equals=true
[/variable]
[then]
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/then]
[/if]
[/event]
[event]
name=victory
[unstore_unit]
variable=stored_Dacyn
find_vacant=yes
[/unstore_unit]
{CLEAR_VARIABLE stored_Dacyn}
{CLEAR_VARIABLE enemies_defeated}
{CLEAR_VARIABLE Dacyn_researching}
[store_unit]
[filter]
id=Gweddry
@ -188,7 +334,7 @@
[/store_unit]
[message]
speaker=Dacyn
message= _ "We have done it! The island is ours. Our journey is complete."
message= _ "I have found an answer! We must return to Wesnoth immediately! ..."
[/message]
[unit]
type=Troll Warrior
@ -238,12 +384,6 @@
[/delay]
{CLEAR_VARIABLE temp}
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/event]
{FOREIGN_DEFEAT}

View file

@ -17,11 +17,11 @@
# wmllint: local spelling Dra-Nak
[story]
[part]
story= _ "After reaching what they believed was safety, Gweddry and his men had been captured by northern orcs."
story= _ "After reaching the island on Lake Vrug, Gweddry and his men had been captured by northern orcs."
# background=story/
[/part]
[part]
story= _ "Informed they were being taken to the orcish king, Dra-Nak, they attempted to escape before that happened..."
story= _ "While his captors awaited the arrival of orcish king Dra-Nak, Gweddry plotted an escape..."
show_title=yes
# background=story/
[/part]
@ -136,7 +136,7 @@
[objectives]
side=1
[objective]
description= _ "Escape through the south-west tunnel"
description= _ "Move Gweddry to the south-west exit"
condition=win
[/objective]
[objective]
@ -250,7 +250,7 @@
#some talking
[message]
speaker=Gweddry
message= _ "I think Dacyn and Owaec have escaped already. Now I have to, also... these guards are not being very alert, I may be able to get past them..."
message= _ "Dacyn and Owaec ducked through a crack in the cave wall while the guards weren't looking. Now I just have to wait for a good chance to escape..."
[/message]
{MOVE_UNIT id=Gweddry 30 18}
@ -260,7 +260,7 @@
[message]
speaker=Gweddry
message= _ "Aha! There is a small crack in the cave wall here."
message= _ "Now's my chance!"
[/message]
{MOVE_UNIT id=Gweddry 29 16}
@ -278,7 +278,7 @@
#dialogue
[message]
speaker=Dacyn
message= _ "So, Gweddry, you escaped too? Good. I think they have the rest of our troops captive, along with the peasants following us. We should be able to rescue them."
message= _ "So, Gweddry, you escaped too? Good. I think they still have the rest of our troops captive. We must rescue them and head for the southwest exit."
[/message]
[message]
speaker=Gweddry
@ -286,7 +286,7 @@
[/message]
[message]
speaker=Dacyn
message= _ "Somewhere south of us. We are in a hidden passage in the north. Oh, and some others escaped too, along with Owaec."
message= _ "Somewhere south of us, but we'd best avoid the chamber we just came from. Oh, and some others escaped too, along with Owaec."
[/message]
{CLEAR_FOG 1 13 17 6}
@ -297,7 +297,7 @@
[/message]
[message]
x,y=15,16
message= _ "Right here, boss."
message= _ "In the prison, boss."
[/message]
[message]
speaker=King Dra-Nak
@ -328,7 +328,7 @@
[filter]
type=Orcish Grunt,Orcish Warrior
[filter_vision]
side=1
viewing_side=1
[/filter_vision]
[/filter]
[message]
@ -337,11 +337,11 @@
[/message]
[message]
speaker=King Dra-Nak
message= _ "Kill them."
message= _ "Kill them!"
[/message]
#these are prisoners even though the macro is called PRISON
#first group of prisoners- in the small cell
#group of prisoners in the small cell
# lvl4 units are stored first, then lvl3, then lvl2 and lastly lvl1:
# this makes it easy to just keep recalling the first unit of the
@ -514,7 +514,7 @@
[/message]
[message]
x,y=33,28
message= _ "Huh? Whos there, who said that?"
message= _ "Huh? Who said that?"
[/message]
{ATTACKER 24 24 (Orcish Warrior)}
{ATTACKER 24 25 (Orcish Warrior)}

View file

@ -16,7 +16,7 @@
[story]
[part]
story= _ "Gweddry had escaped from the orcish prisons. He found himself in the Northlands, farther south than before. Orcs were at his back. He and his men went south, until they reached the Great River."
story= _ "Gweddry and his men had escaped from the orcish prisons. After a harried chase south, they found themselves surrounded by orcs at the Great River."
show_title=yes
[/part]
[part]
@ -117,6 +117,9 @@
[recall]
id=Grug
[/recall]
[recall]
id=Terraent
[/recall]
[/event]
[event]
@ -195,7 +198,7 @@
[/unit]
[message]
speaker=Dacyn
message= _ "All is lost! We have to get out of the Northlands as quickly as possible! Run for your — what the...?! Who are you?"
message= _ "We have to get out of the Northlands as quickly as possible! Run for your — what the...?! Who are you?"
[/message]
[message]
speaker=Engineer
@ -303,11 +306,7 @@
[then]
[message]
speaker=Gweddry
message= _ "Good, we have escaped from these orcs. But where will we go? There are undead in Wesnoth."
[/message]
[message]
speaker=Dacyn
message= _ "It is not safe here, but we cannot go back north. The orcs are a more immediate threat."
message= _ "Good, we have escaped from the orcs. Now we must return to save Wesnoth."
[/message]
[endlevel]
result=victory
@ -344,7 +343,7 @@
name=enemies defeated
[message]
speaker=Gweddry
message= _ "Well, we didnt have to blow up the bridge after all, but we still have to leave the northlands. More orcs will come. But where will we go? There are undead in Wesnoth."
message= _ "Well, we didnt have to blow up the bridge after all. Now we must return to save Wesnoth."
[/message]
[endlevel]
@ -358,35 +357,15 @@
name=victory
[message]
speaker=Owaec
message= _ "So what do you propose?"
message= _ "How do you propose to do that?"
[/message]
[message]
speaker=Dacyn
message= _ "We cannot go north, for that is where orcs are... we cannot go east, for that is where the undead come from... we cannot go west, for the ocean lies in that direction, and we have no ships. We would survive for a time, but we would still be in Wesnoth, and the undead would still find us."
message= _ "We head south. My research revealed that the dragon Khrakrahs is in possession of a Null Stone; with it I will be able to block Mal-Ravanal's teleportation. Once we have retrieved the stone, we must travel to Weldyn. Our experience fighting the undead will prove invaluable in the defense of our homeland. Also, I have advice to give the king: I know Mal-Ravanal's weakness."
[/message]
[message]
speaker=Gweddry
message= _ "We could go south, and return to Wesnoth... but I do not know what that would accomplish."
[/message]
[message]
speaker=Owaec
message= _ "It would accomplish nothing! The undead will kill us all!"
[/message]
[message]
speaker=Gweddry
message= _ "Have you not heard what Dacyn said? Either the orcs or undead will kill us no matter what we do. Our only hope was to isolate ourselves on the Isle of Vrug. We are too far away now to return that way, and we have aroused the orcs. We cannot try that again. So, if we have no hope..."
[/message]
[message]
speaker=Dacyn
message= _ "There is still some hope left. If we return to Wesnoth, we may be able to aid the king in defeating these invaders. We saw them attack us. And, I have... advice. To give the king. I may know the undeads weakness."
[/message]
[message]
speaker=Gweddry
message= _ "Very well. If returning to Wesnoth has any chance of success, it is our best option. We will go south."
[/message]
[message]
speaker=Owaec
message= _ "I do not like this. But it appears we will die no matter our course of action."
message= _ "Very well, we will head south. Let us hope we reach Weldyn before Mal-Ravanal."
[/message]
[message]
speaker=Engineer

View file

@ -164,6 +164,26 @@
canrecruit=yes
[/unit]
#buff the dragon with some magic resistances
[object]
name= _ "Null Stone"
duration=forever
silent=yes
[filter]
id=Khrakrahs
[/filter]
[effect]
apply_to=resistance
replace=true
[resistance]
arcane=60
cold=30
fire=60
[/resistance]
[/effect]
[/object]
# Note: the code for the ambushers is mostly identical to that of
# Crossroads in HttT.
@ -385,9 +405,12 @@
[recall]
id=Engineer
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Owaec
message= _ "Now, we have reached the Horse Plains, the fair homeland of my people. They may be able to help us in—"
message= _ "Now, we have reached the Horse Plains, the fair homeland of my people. They may be able to help us find—"
[/message]
[message]
speaker=Owaec
@ -411,11 +434,11 @@
[/message]
[message]
speaker=Gweddry
message= _ "What is that sound?!"
message= _ "What was that?!"
[/message]
[message]
speaker=Dacyn
message= _ "I do not know, but my guess is the dragon Khrakrahs. He was a powerful beast indeed, in the time of Haldric, living in the Northern Mountains. But he does not sound alive. I know not what happened, but we must surely destroy him."
message= _ "That was the dragon Khrakrahs. He was a powerful beast indeed in the time of Haldric, living in the Northern Mountains. But he radiates a dark power these days, and I know not why he has taken up residence this far south. We must find him, and pray that he still has the Null Stone."
[/message]
[/event]
@ -433,7 +456,7 @@
[filter]
id=Khrakrahs
[filter_vision]
side=1
viewing_side=1
[/filter_vision]
[/filter]
[fire_event]
@ -450,15 +473,13 @@
x,y=$x1,$y1
[/scroll_to]
[message]
caption= _ "Dacyn"
image=portraits/dacyn.png
message= _ "Aha! I see what they have done. They have raised him as an undead dragon. But he does not appear to be weak to my arcane senses... this is strange magic indeed."
speaker=Dacyn
message= _ "Ah! It appears that the mighty Khrakrahs is no longer among the living. But this undead abomination does not appear weak to my arcane powers... he must still have the Null Stone!"
[/message]
[/event]
[event]
name=enemies defeated
[endlevel]
result=victory
bonus=yes
@ -466,5 +487,35 @@
[/endlevel]
[/event]
[event]
name=victory
[message]
speaker=Dacyn
message= _ "The Null Stone! With it we may finally defeat Mal-Ravanal!"
[/message]
#not really necessary, but it's nice for a quest item to actually *do* something
#besides, this makes forcing Dacyn's recall during "The Duel" less annoying...
[object]
name= _ "Null Stone"
duration=forever
silent=yes
[filter]
id=Dacyn
[/filter]
[effect]
apply_to=resistance
replace=true
[resistance]
arcane=30
cold=70
fire=50
[/resistance]
[/effect]
[/object]
[/event]
{WESNOTH_DEFEAT}
[/scenario]

View file

@ -128,7 +128,7 @@
[objectives]
side=1
[objective]
description= _ "Get Gweddry to Weldyn"
description= _ "Move Gweddry to Weldyn castle"
condition=win
[/objective]
[objective]
@ -207,13 +207,16 @@
[recall]
id=Engineer
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Gweddry
message= _ "We have finally reached Weldyn, but it seems the undead have surrounded it. We must break through to reach the king!"
message= _ "We have finally reached Weldyn, but it seems the undead have it surrounded. We must break through to reach the king!"
[/message]
[message]
speaker=Dacyn
message= _ "It would be best not to try to defeat these undead, there are too many of them. Go straight to the city."
message= _ "It would be best not to waste time defeating these undead, they are but a small fraction of the host we face. We should go straight to the city and prepare our defenses."
[/message]
[/event]
@ -225,8 +228,8 @@
id=Gweddry
[/filter]
[message]
speaker=Dacyn
message= _ "We have reached Weldyn. Now we must have a council to decide what to do next."
speaker=Gweddry
message= _ "My liege, we have vital information about the leader of these undead."
[/message]
[message]
speaker=Konrad II

View file

@ -21,23 +21,26 @@
{TO_THE_COUNCIL}
[/part]
[part]
story= _ "Before we begin our council, I must tell you all the history of this lich we face. He was at first a mage of light, like me, and his fall began during the reign of Haldric VII..."
story= _ "Before we begin our council, I must tell you all the history of this lich we face. He was at first a mage of the realm, like me, and his fall began during the reign of Haldric VII..."
background=portraits/dacyn.png
[/part]
[part]
story= _ "The greatest seer in the land, Galdren, foresaw that some day, some day soon, a great evil would spread over the land. The king, naturally, was worried. The seer told him that the only way to stop the evil was to appoint a mage, versed well in combat with the spirits of darkness, to be the kings advisor."
[/part]
[part]
story= _ "In all the land, there were two magi of light that clearly stood out from the rest. A mage from the east named Ravan, and myself. The King, wishing to choose a good advisor, sent us both before Galdren. Then he conversed with the seer privately. None know what was said, but when he came out he announced that the seer was dead, and he had chosen me as his new advisor."
story= _ "In all the land, there were two magi that clearly stood out from the rest. A mage from the east named Ravan, and myself. The King, wishing to choose the best advisor, sent us both before Galdren. Then he conversed with the seer privately. None know what was said, but when he came out he announced that the seer was dead, and he had chosen me as his new advisor."
[/part]
[part]
story= _ "Ravan took this quietly enough, we all thought, but now I think that this was when he began his fall. He went deep into conversation with the spirits of darkness, hoping to discover their weaknesses, but it was they who found his. In time, as all of the magi of death eventually do, he took his own life and reformed himself as a lich, one of the most powerful ones ever seen."
story= _ "Ravan took this quietly enough, we all thought, but now I think that this was when he began his fall. He went deep into conversation with the spirits of darkness, hoping to discover their weaknesses. But it was they who found his."
[/part]
[part]
story= _ "One day, he disguised himself and came to the castle, where I was living. He demanded to see me, and the guards let him in, for then he was still a respected member of the court. When I came out, he revealed himself, named himself Mal-Ravanal, and challenged me to a duel."
story= _ "One day, Ravan returned to the castle where I was living. He demanded to see me and the guards let him in, for then he was still a well-respected mage. When I greeted him, he named himself Mal-Ravanal and challenged me to a duel."
[/part]
[part]
story= _ "The guards, surprised by this sudden revelation, advanced to attack him. However, as he was now skilled in the magical art of teleportation, he simply vanished. And has not been seen since."
story= _ "His attack was swift and his power great, but through unwavering faith and no small skill I emerged victorious. As he lie there mortally wounded I prepared to excise the darkness in his soul."
[/part]
[part]
story= _ "But I hesitated too long... He simply vanished, teleported away. The mage Ravan died that day; yet death is a mere inconvenience to those most skilled in the arts of necromancy..."
[/part]
[/story]
@ -101,7 +104,7 @@
[message]
speaker=Dacyn
message= _ "Not been seen, that is, until the day when he attacked Gweddry and me in that outpost on the eastern border. This is the lich we are facing: Mal-Ravanal."
message= _ "This is the lich we are facing: Mal-Ravanal."
[/message]
[message]
speaker=Konrad II
@ -117,32 +120,44 @@
[/message]
[message]
speaker=Gweddry
message= _ "At first we tried to escape them, for we knew they were too powerful; it is only by horrible luck that we are back in Wesnoth at all."
message= _ "We barely escaped the Southern Outpost with our lives; Mal-Ravanal's army cannot be defeated by even the might of all Wesnoth."
[/message]
[message]
speaker=Kaldor
message= _ "That simply makes you cowards. True warriors would have stayed and fought, to the death!"
message= _ "That simply makes you cowards. True warriors would have stayed and fought to the death!"
[/message]
[message]
speaker=Dacyn
message= _ "It doesnt matter anyway. The point is, we already know we cannot defeat the hordes of the enemy head-on in battle. So it seems that the only path to victory is to destroy the head of these necromancers, the lich Mal-Ravanal."
message= _ "A meaningless sacrifice and a few more corpses marching upon Weldyn. We realized our only path to victory is to destroy the head of these necromancers, the lich Mal-Ravanal. With this Null Stone I can counteract his teleportation and finally put his tortured soul to rest."
[/message]
[message]
speaker=Kaldor
message= _ "But as yet we have no idea how to do it!"
message= _ "But if we cannot defeat the army, how may we strike at the leader?!"
[/message]
[message]
speaker=Owaec
message= _ "I recommend a full assault. Our mounted units are more manueverable; if we attack in force we may be able to punch through the enemy lines and isolate Mal-Ravanal in the chaos of battle."
[/message]
[message]
speaker=Dacyn
message= _ "Well, we do know that he is very arrogant, and can be easily tricked. That is how he fell in the first place."
message= _ "I suggest that we appeal to his arrogance: I believe Mal-Ravanal would be <i>compelled</i> to face me if I were to challenge him to a duel."
[/message]
[message]
speaker=Owaec
message= _ "We cannot trust that he would honor the terms of the challenge! You would likely find yourself facing his entire army!"
[/message]
[message]
speaker=Dacyn
message= _ "We face his entire army regardless. The only difference is whether Mal-Ravanal is commanding in back or gloating in front."
[/message]
[message]
speaker=Konrad II
message= _ "So maybe we can trick him into exposing himself to us? Dacyn, does he know we know who he is?"
[/message]
[message]
speaker=Dacyn
message= _ "No, I dont think so. I am the only person alive who would recognize the name Mal-Ravanal, and if he had known I was there when he attacked, he would have pursued us much more vigorously."
message= _ "Two risky plans. But if these undead are as strong as you say then we are pressed for options. Gweddry, you are most familiar with this situation. I will leave this choice in your hands."
[/message]
#While I would like to put the choice here, that would make players replay "Weldyn Under Attack"
#if they wanted to change their selection. Playability trumps storyline, so the choice is deferred.
[unit]
id=guard
generate_name=yes
@ -157,7 +172,7 @@
message= _ "Sire, the undead armies are attacking!"
[/message]
[message]
speaker=Owaec
speaker=Konrad II
message= _ "Well, that will have to be the end of our council. Let us fight!"
[/message]
[endlevel]

View file

@ -159,7 +159,7 @@
[objectives]
side=1
[objective]
description= _ "Survive until end of turns"
description= _ "Survive the long night"
condition=win
show_turn_counter=yes
[/objective]
@ -204,6 +204,9 @@
[recall]
id=Engineer
[/recall]
[recall]
id=Terraent
[/recall]
[unit]
id=Konrad
name= _ "Konrad II"
@ -227,7 +230,7 @@
[/object]
[message]
speaker=Gweddry
message= _ "We will fight soon, my lord. Look, night approaches; they will soon attack. I hope we can hold them off."
message= _ "We will fight soon, my lord. Look, night approaches; and with it the undead hordes. I stand ready to defend the kingdom."
[/message]
[message]
speaker=Konrad
@ -235,11 +238,11 @@
[/message]
[message]
speaker=Dacyn
message= _ "I do not sense his magic, but he might be concealing his presence."
message= _ "I sense his dark magic prolonging the night, but I do not feel his presence."
[/message]
[message]
speaker=Owaec
message= _ "In any case, the undead are attacking now. Let us hope we can last out the night."
message= _ "In any case, the undead are attacking now. Let us show them the might of Wesnoth!"
[/message]
[/event]
@ -250,105 +253,83 @@
[/filter]
[message]
speaker=Konrad
message= _ "I have died, and with me gone the city shall fall."
message= _ "I have died, and with me gone the kingdom is lost."
[/message]
[endlevel]
result=defeat
[/endlevel]
[/event]
# you can win either by waiting till the turns run out or by defeating the enemies,
# so what happens next is macroified here so it doesn't need to be manually repeated
#define MESSENGER_AND_CHOICE
[unit]
type=Spectre
side=7
id=Messenger of Doom
name= _ "Messenger of Doom"
x=43
y=1
[/unit]
{MOVE_UNIT (id=Messenger of Doom) 39 4}
[message]
speaker=Messenger of Doom
message= _ "I come bearing a message from my leader."
[/message]
[message]
speaker=Dacyn
message= _ "Very well, you may read it. It might tell us something useful."
[/message]
[message]
speaker=Messenger of Doom
message= _ "He says: <i>“Well done; you have defeated some of my less powerful captains, and a small fraction of my horde. Were I to bring the whole might of my Dread Legions to bear I could crush you like an insect. But I seek a victory that will reveal the true extent of my personal power. Unlike the Great General Gweddry I do not seek to hide behind the armored skirts of my soldiers! You, O commander Gweddry, are a coward! The bards may sing that you defeated my captains, but in reality you did nothing but cower far behind the lines in safety while others braver than you fought and died in your name.”</i>"
[/message]
[message]
speaker=Gweddry
message= _ "What is the point of this message? Does it consist of anything more than insults?"
[/message]
[message]
speaker=Messenger of Doom
message= _ "The point is that you did not defeat my Lords minions, it was others doing the work for you! The mighty Gweddry himself would last but a few moments in actual combat. And my master seeks to prove this. He challenges you, Gweddry, to a contest, a battle."
[/message]
[message]
speaker=Gweddry
message= _ "What are his terms? I wont accept anything obviously weighted towards his victory!"
[/message]
[message]
speaker=Messenger of Doom
message= _ "That only proves you are a coward. Nevertheless, these are his terms: You pick your six best warriors and he will pick his six best. Then you will fight, to the death; until either you or he is destroyed!"
[/message]
[message]
speaker=Owaec
message= _ "Gweddry, I dont think you should accept. He is bound to bring more than six undead to the battle; he will bring an army!"
[/message]
[message]
speaker=Dacyn
message= _ "Well, I think you should accept. There is a small chance that it will be a fair fight, and otherwise we will definitely have to face his whole undead army."
[/message]
[message]
speaker=Messenger of Doom
message= _ "I will simplify your choice. Accept, coward, or face the onslaught of my lords hordes at dawn tomorrow!"
[/message]
[message]
speaker=Gweddry
message= _ "Hmm..."
[option]
message= _ "I will accept this challenge. By your own masters terms, that proves I am no coward."
[command]
[endlevel]
result=victory
next_scenario=17a_The_Duel
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/command]
[/option]
[option]
message= _ "I will not accept a fight in which he will obviously cheat! I refuse!"
[command]
[endlevel]
result=victory
next_scenario=17b_Weldyn_Besieged
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/command]
[/option]
[/message]
#enddef
[event]
name=time over
[message]
speaker=Dacyn
message= _ "Look, the sun has risen, and the undead are retreating."
message= _ "Look, the sun has finally risen, and the undead are retreating."
[/message]
{MESSENGER_AND_CHOICE}
[fire_event]
name=choice
[/fire_event]
[/event]
[event]
name=enemies defeated
{MESSENGER_AND_CHOICE}
[message]
speaker=Owaec
message= _ "Even this infernal darkness cannot dim the spirits of our men!"
[/message]
[fire_event]
name=choice
[/fire_event]
[/event]
# you can win either by waiting till the turns run out or by defeating the enemies
[event]
name=choice
[message]
speaker=Gweddry
message= _ "This long night is over, and Wesnoth still stands. Yet I do not know how many more such nights we can endure."
[/message]
[message]
speaker=Konrad
message= _ "Gweddry, have you made a decision regarding our course of action?"
[/message]
[message]
speaker=Gweddry
message= _ "I have. I think we should..."
[option]
message= _ "challenge Mal-Ravanal to a duel."
[command]
[message]
speaker=Dacyn
message= _ "I will send the message at once."
[/message]
[endlevel]
result=victory
next_scenario=17a_The_Duel
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/command]
[/option]
[option]
message= _ "try to isolate Mal-Ravanal in battle."
[command]
[message]
speaker=Owaec
message= _ "I will begin preparing our troops."
[/message]
[endlevel]
result=victory
next_scenario=17b_Weldyn_Besieged
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/command]
[/option]
[/message]
[/event]
[/scenario]

View file

@ -12,6 +12,8 @@
{EXTRA_SCENARIO_MUSIC the_dangerous_symphony.ogg}
{EXTRA_SCENARIO_MUSIC legends_of_the_north.ogg}
{campaigns/Eastern_Invasion/utils/final_battle.cfg}
[side]
type=Lieutenant
id=Gweddry
@ -26,7 +28,7 @@
[/side]
[side]
type=Ancient Lich
type=Lich Lord
id=Mal-Ravanal
name= _ "Mal-Ravanal"
side=2
@ -60,43 +62,57 @@
[objectives]
side=1
[objective]
description= _ "Defeat Mal-Ravanal"
description= _ "Defeat Mal-Ravanal while Dacyn is nearby"
condition=win
[/objective]
[objective]
description= _ "Death of Gweddry"
condition=lose
[/objective]
{IS_LAST_SCENARIO}
[objective]
description= _ "Death of Dacyn"
condition=lose
[/objective]
[/objectives]
[/event]
[event]
name=start
# We dont want him to appear on the recall list
# We don't want him to appear on the recall list
[kill]
id=Konrad
[/kill]
[recall]
id=Dacyn
animate=no
[/recall]
{MODIFY_UNIT id=Dacyn moves 0}
{MODIFY_UNIT id=Dacyn attacks_left 0}
[message]
speaker=Mal-Ravanal
message= _ "I have waited a long time for this day to come. Prepare to die, Gweddry of Wesnoth!"
message= _ "I have waited a long time for this day to come. I shall have my revenge, Dacyn!"
[/message]
[scroll_to_unit]
id=Gweddry
[/scroll_to_unit]
[message]
speaker=Dacyn
message= _ "Indeed, it is time to end this."
[/message]
[message]
speaker=narrator
#wmllint: display on
message= _ "The rules of the duel are these:
You may recruit or recall up to 6 units.
At the end of your first turn, your keep will disappear, and you must battle with whatever troops you have at that time.
The first leader to fall loses the duel."
You may recruit or recall up to 5 units.
At the end of your first turn, your keep will disappear, and you must battle with whatever troops you have at that time."
#wmllint: display off
image=wesnoth-icon.png
[/message]
[message]
speaker=Dacyn
message= _ "When we attack Mal-Ravanal I will need to be nearby with the Null Stone to prevent his teleportation. We cannot afford to let him escape."
[/message]
[/event]
#define DUEL_UNIT TYPE X Y
@ -112,15 +128,17 @@ The first leader to fall loses the duel."
#enddef
[event]
name=turn 2
name=side 2 turn 1
{DUEL_UNIT (Necromancer) 24 5}
{DUEL_UNIT (Lich) 25 6}
{DUEL_UNIT (Deathblade) 25 7}
{DUEL_UNIT (Draug) 24 7}
{DUEL_UNIT (Death Knight) 23 7}
{DUEL_UNIT (Spectre) 23 6}
[/event]
[event]
name=turn 2
[terrain]
x,y=6,15
terrain=Cud
@ -132,51 +150,143 @@ The first leader to fall loses the duel."
[/terrain]
[/event]
# NOTE: the player will be recalling a keep full of level 3 units with magic, arcane,
# and impact attacks. Mal-Ravanal needs to cheat a fair bit just to even the odds
[event]
name=turn 5
name=turn 5,turn 11,turn 17,turn 23,turn 30,turn 38,turn 47,turn 57,turn 68,turn 80
first_time_only=no
{DUEL_UNIT (Revenant) 20 4}
{DUEL_UNIT (Bone Shooter) 28 8}
{DUEL_UNIT (Necrophage) 25 9}
[fire_event]
name=summon
[/fire_event]
[/event]
# if Mal-Ravanal is low on troops, have him summon some more
[event]
name=turn end
first_time_only=no
[if]
[have_unit]
side=2
#ifdef HARD
count=1-4
#else
count=1-3
#endif
[/have_unit]
[then]
[fire_event]
name=summon
[/fire_event]
[/then]
[/if]
[/event]
#Mal-Ravanal summons 3 additional undead on the battlefield
[event]
name=summon
first_time_only=no
{VARIABLE i 0}
[animate_unit]
[filter]
id=Mal-Ravanal
[/filter]
flag=summon
[/animate_unit]
[while]
[variable]
name=i
less_than=3
[/variable]
[do]
#ifdef EASY
{VARIABLE_OP new_summon_type rand "Bone Shooter,Bone Shooter,Revenant,Revenant,Necrophage,Necrophage,Wraith"}
#endif
#ifdef NORMAL
{VARIABLE_OP new_summon_type rand "Bone Shooter,Revenant,Necrophage,Wraith,Deathblade"}
#endif
#ifdef HARD
{VARIABLE_OP new_summon_type rand "Bone Shooter,Revenant,Necrophage,Wraith,Shadow,Banebow,Spectre,Ghast,Deathblade,Draug"}
#endif
[store_locations]
[not]
[filter]
# matches all units
[/filter]
[/not]
[and]
terrain=Uu
[/and]
variable=new_summon_locations
[/store_locations]
{VARIABLE_OP loci rand "1..$new_summon_locations.length"}
{VARIABLE_OP loci sub 1}
[unit]
x,y=$new_summon_locations[$loci].x,$new_summon_locations[$loci].y
type=$new_summon_type
side=2
animate=yes
[/unit]
{VARIABLE_OP i add 1}
[/do]
[/while]
{CLEAR_VARIABLE new_summon_type,new_summon_locations,i,loci}
[fire_event]
name=summon_explanation
[/fire_event]
[/event]
[event]
name=summon_explanation
[message]
speaker=Gweddry
message= _ "Wait — what just happened? He called more warriors out of the ground! Thats not allowed!"
[/message]
[message]
speaker=Mal-Ravanal
message= _ "Stop talking and fight! The rules do not stop me from bringing up warriors that were already here."
message= _ "Stop talking and fight! The rules say nothing about bringing up warriors that were already here."
[/message]
[/event]
[event]
name=last breath
[filter]
id=Mal-Ravanal
id=Gweddry
[/filter]
[message]
speaker=Mal-Ravanal
message= _ "I... lose?..."
speaker=Gweddry
message= _ "No! This cannot be the way it was meant to end!"
[/message]
[endlevel]
result=victory
carryover_report=no
save=no
result=defeat
[/endlevel]
[/event]
[event]
name=turn 11,turn 17,turn 23,turn 30,turn 38,turn 47,turn 57,turn 68,turn 80
first_time_only=no
name=last breath
[filter]
id=Dacyn
[/filter]
[message]
speaker=Mal-Ravanal
message= _ "And more!"
speaker=Dacyn
message= _ "Wesnoth, I have failed you..."
[/message]
{DUEL_UNIT (Revenant) 20 4}
{DUEL_UNIT (Bone Shooter) 28 8}
{DUEL_UNIT (Necrophage) 25 9}
[endlevel]
result=defeat
[/endlevel]
[/event]
{LATE_DEFEAT}

View file

@ -1,9 +1,14 @@
#textdomain wesnoth-ei
#
# NOTE: This level is intended as a challenging final scenario.
# Players without sufficent high-level troops to recall
# are advised to select "The Duel" instead.
#
[scenario]
id=17b_Weldyn_Besieged
name= _ "Weldyn Besieged"
map_data="{campaigns/Eastern_Invasion/maps/17b_Weldyn_Besieged.map}"
turns=30
turns=-1
next_scenario=18_Epilogue
{DEFAULT_SCHEDULE}
@ -13,13 +18,14 @@
{EXTRA_SCENARIO_MUSIC battle.ogg}
{campaigns/Eastern_Invasion/utils/deaths.cfg}
{campaigns/Eastern_Invasion/utils/final_battle.cfg}
[side]
type=Lieutenant
id=Gweddry
name= _ "Gweddry"
side=1
gold=200
gold=300
canrecruit=yes
controller=human
team_name=wesnothians
@ -33,13 +39,16 @@
[side]
type=Lich
id=Mal-Drakanal
name= _ "Mal-Drakanal"
id=Lich2
name= _ "?"
side=2
canrecruit=yes
[variables]
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Soulless,Walking Corpse
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -55,8 +64,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Deathblade
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -72,8 +81,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Banebow
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -89,8 +98,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Necrophage,Ghast
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -106,8 +115,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Draug
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -123,8 +132,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Spectre
{GOLD 130 150 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -140,8 +149,8 @@
random_lich=yes
[/variables]
controller=ai
recruit=Bone Shooter,Revenant,Wraith,Shadow
{GOLD 150 200 250}
recruit=Bone Shooter,Revenant,Wraith,Shadow,Dark Adept,Dark Sorcerer
{GOLD 150 130 180}
team_name=bad
user_team_name=_"Undead"
{FLAG_VARIANT undead}
@ -153,7 +162,7 @@
[objectives]
side=1
[objective]
description= _ "Defeat Mal-Ravanal"
description= _ "Defeat Mal-Ravanal while Dacyn is nearby"
condition=win
[/objective]
[objective]
@ -173,12 +182,9 @@
condition=lose
[/objective]
[objective]
description= _ "Letting any enemy unit on to your keep"
description= _ "Letting any enemy unit onto your keep"
condition=lose
[/objective]
{TURNS_RUN_OUT}
{IS_LAST_SCENARIO}
[/objectives]
[/event]
@ -196,26 +202,38 @@
[recall]
id=Konrad
[/recall]
[recall]
id=Engineer
[/recall]
[recall]
id=Terraent
[/recall]
[message]
speaker=Mal-Drakanal
message= _ "You people are fools! You rejected my masters offer to duel... very well, you will <i>all</i> die! And know this; my master is here to enjoy your demise. For he does not fear you at all, and knows that you will never be able to find him and kill him! There are seven of us, and only one of us is the real leader! Ha ha ha ha! To be fair about it, we will all tell you our names if you can reach us."
[/message]
[message]
speaker=Dacyn
message= _ "Remember, we have to kill Mal-Ravanal. Hes here somewhere..."
message= _ "I can sense Mal-Ravanal is here somewhere... When we attack him I will need to be nearby with the Null Stone to prevent his teleportation. We cannot afford to let him escape."
[/message]
{VARIABLE lich_death_bonus 25}
{VARIABLE lich_name_0 _"Mal-Hadanak"}
{VARIABLE lich_name_1 _"Mal-Katklagad"}
{VARIABLE lich_name_2 _"Mal-Xaskanat"}
{VARIABLE lich_name_3 _"Mal-Akranbral"}
{VARIABLE lich_name_4 _"Mal-Larakan"}
{VARIABLE lich_name_5 _"Mal-Ravanal"}
{VARIABLE lich_name_5 _"Mal-Drakanal"}
{VARIABLE lich_name_6 _"Mal-Ravanal"}
{VARIABLE lich_quote_0 _"You dare to attack me? Now you will pay!"}
{VARIABLE lich_quote_1 _"I will enjoy watching you suffer!"}
{VARIABLE lich_quote_2 _"Death will only be the beginning of your torment!"}
{VARIABLE lich_quote_3 _"You will serve me in death!"}
{VARIABLE lich_quote_4 _"Allow me to free you from your wretched existence!"}
{VARIABLE lich_quote_5 _"My master is merely toying with you!"}
[/event]
# The odds of Mal-Ravanal turning up are
# 0%, 4%, 10%, 20%, 40%, 100% for each
# respective lich revealed (assuming he hasn't already).
# The odds of Mal-Ravanal turning up are roughly
# 0%, 3%, 7%, 13%, 22%, 42%, 100% for each respective
# lich revealed (assuming he hasn't already).
[event]
name=attack
@ -233,7 +251,7 @@
[/filter_wml]
[/filter_second]
{RANDOM 0..4}
{RANDOM 0..5}
[while]
[variable]
@ -242,15 +260,14 @@
[/variable]
[do]
{RANDOM 0..5}
{RANDOM 0..6}
[/do]
[/while]
# According to the WML guide, there is a chance
# (Roughly 1e-81 at best) that we will exit the
# while loop without a lich name. I figured the
# odds were bad enough that it wasn't necessary
# to put in some sort of fallback check here...
# while loop without a lich name. In that very
# unlikely event, go ahead and spawn Mal-Ravanal
{VARIABLE second_unit.name $lich_name_$random||}
{VARIABLE second_unit.variables.random_lich no}
@ -260,10 +277,26 @@
name=lich_name_$random
equals= _ "Mal-Ravanal" # wmllint: ignore
[/variable]
[or]
[variable]
name=lich_name_$random
equals="used" # wmllint: ignore
[/variable]
[/or]
[then]
{VARIABLE second_unit.profile portraits/mal-ravanal.png}
{VARIABLE second_unit.id "Mal-Ravanal"}
[modify_unit]
[filter]
x,y=$second_unit.x, $second_unit.y
[/filter]
type=Lich Lord
id=Mal-Ravanal
name= _ "Mal-Ravanal"
profile=portraits/mal-ravanal.png
hitpoints=80
[variables]
random_lich=no
[/variables]
[/modify_unit]
[allow_recruit]
side=$second_unit.side
@ -271,60 +304,70 @@
[/allow_recruit]
[gold]
amount=250
amount=100
side=$second_unit.side
[/gold]
[message]
speaker=Dacyn
message={WHISPER _"There he is!"}
speaker=Mal-Ravanal
message=_"I shall destroy you personally!"
[/message]
[/then]
[else]
[unstore_unit]
variable=second_unit
find_vacant=no
[/unstore_unit]
[message]
speaker=Dacyn
message={WHISPER _"That isnt him..."}
speaker=second_unit
message=$lich_quote_$random||
[/message]
[/else]
[/if]
[unstore_unit]
variable=second_unit
find_vacant=no
[/unstore_unit]
[message]
speaker=second_unit
message=_"You dare to attack me? Now you will pay!"
[/message]
[gold]
amount=250
amount=50
side=$second_unit.side
[/gold]
{VARIABLE lich_name_$random| "used"}
[/event]
#make sure the undead leaders don't run out of troops too easily...
[event]
name=last breath
name=die
first_time_only=no
[filter]
id=Mal-Ravanal
side=2,3,4,5,6,7,8
[/filter]
[message]
speaker=Mal-Ravanal
message= _ "How did you know...?"
[/message]
[endlevel]
result=victory
carryover_report=no
save=no
[/endlevel]
[gold]
side=$unit.side
amount=$unit.cost
[/gold]
[/event]
#discourage players from just killing all the liches...
[event]
name=die
first_time_only=no
[filter]
side=2,3,4,5,6,7,8
type=Lich
[/filter]
[gold]
side=2,3,4,5,6,7,8
amount=$lich_death_bonus
[/gold]
{VARIABLE_OP lich_death_bonus add 25}
[/event]
# Enemy unit reaches the Weldyn keep
[event]
name=moveto
[filter]
@ -336,11 +379,11 @@
[/filter]
[message]
speaker=unit
message= _ "Kill the king!"
message= _ "Kill them all!"
[/message]
[message]
speaker=Gweddry
message= _ "They killed Konrad... now, even if we save Weldyn, Wesnoth has fallen."
message= _ "They killed the royal family... now, even if we save Weldyn, Wesnoth has fallen."
[/message]
[endlevel]
result=defeat
@ -348,7 +391,6 @@
[/event]
# King gets killed
[event]
name=last breath
[filter]

View file

@ -15,7 +15,7 @@
[story]
[part]
story= _ "When Mal-Ravanal fell, the living creatures under his banner broke and fled; the undead simply collapsed like puppets with their strings cut. As the lichs death-scream echoed in the air, a vast and louring column of shadow arose from his corpse like smoke from an unclean fire; then it divided fivefold at its height, reaching for the heavens like a clutching hand.
story= _ "When Mal-Ravanal fell his undead army simply collapsed like puppets with their strings cut. As the lichs death-scream echoed in the air, a vast and louring column of shadow arose from his corpse like smoke from an unclean fire; then it divided fivefold at its height, reaching for the heavens like a clutching hand.
Men let weapons fall from nerveless fingers and horses reared in terror as that great dark pall obscured the sun..."
music=the_deep_path.ogg
@ -75,6 +75,19 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
id=Owaec
x,y=9,10
[/recall]
[recall]
id=Grug
x,y=7,11
[/recall]
[recall]
id=Engineer
x,y=9,12
[/recall]
[recall]
id=Terraent
x,y=12,11
[/recall]
[/event]
[event]
@ -82,7 +95,7 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
[message]
speaker=Konrad II
message= _ "It is a great victory we have won here, destroying he who was the main author of Wesnoths troubles."
message= _ "It is a great victory we have won here today, vanquishing the arch-lich Mal-Ravanal."
[/message]
[message]
@ -90,17 +103,10 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
message= _ "So many months of fighting... I feel as though I am awakening from a long nightmare."
[/message]
[if]
[have_unit]
id=Dacyn
[/have_unit]
[then]
[message]
speaker=Dacyn
message= _ "Nor is our work yet complete. Mal-Ravanals main host has been broken, but its outriders ravage the countryside in all directions."
[/message]
[/then]
[/if]
[message]
speaker=Dacyn
message= _ "Nor is our work yet complete. Mal-Ravanals host has been broken, but in its wake chaos and disorder prevail throughout the countryside."
[/message]
[message]
speaker=Konrad II
@ -114,37 +120,82 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
[then]
[message]
speaker=Owaec
message= _ "Even now we should be sending our cavalry to harry and slay as many of the fleeing orcs as we can."
message= _ "Even now we should be sending our cavalry to restore order throughout the land."
[/message]
[/then]
[else]
[message]
speaker=Gweddry
message= _ "Even now we should be sending our troops to harry and slay as many of the fleeing orcs as we can."
message= _ "Even now we should be sending our troops to restore order throughout the land."
[/message]
[/else]
[/if]
[message]
speaker=Konrad II
message= _ "It shall be so. But it is also to be thought that you three have served Us, and Our Kingdom, full well. We are minded to reward you."
message= _ "It shall be so. But first, know that you have served Us, and Our Kingdom, full well. We are minded to reward you."
[/message]
[if]
[have_unit]
id=Dacyn
id=Terraent
[/have_unit]
[then]
[message]
speaker=Konrad II
message= _ "Dacyn. You will remain by Our side, here; as you counseled these two in war, you shall counsel Us in peace and the rebuilding of the Kingdom."
message= _ "Sir Terraent, your service to the crown has been a beacon of light in these dark times. We are appointing you to command the River Guard in Estmark."
[/message]
[message]
speaker=Terraent
message= _ "It is an honor to serve my kingdom, and I humbly accept your commission."
[/message]
[/then]
[/if]
[if]
[have_unit]
id=Grug
[/have_unit]
[then]
[message]
speaker=Konrad II
message= _ "Grug, Gweddry has told me of the help you and your tribe provided his men. We wish to offer you a new home in the Estmark Hills along with Our thanks."
[/message]
[message]
speaker=Grug
message= _ "Grug say new home will make thanks with."
[/message]
[/then]
[/if]
[message]
speaker=Gweddry
message= _ "Sire, we but did our duty."
speaker=Konrad II
message= _ "Dacyn. I would have you remain by Our side, here; as you counseled these two in war, so shall you counsel Us in peace and the rebuilding of the Kingdom."
[/message]
[message]
speaker=Dacyn
message= _ "I am honored, your highness."
[/message]
[if]
[have_unit]
id=Engineer
[/have_unit]
[then]
[message]
speaker=Konrad II
message= _ "Engineer, much of Estmark region stands in ruins. The crown has need of your skills to clear the wreakage and organize the reconstruction."
[/message]
[message]
speaker=Engineer
message= _ "Ill be glad ta help yah. Itll be fun to work in peace again." # wmllint: no spellcheck
[/message]
[/then]
[/if]
[message]
speaker=Konrad II
message= _ "Now as for you..."
[/message]
[if]
@ -152,6 +203,11 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
id=Owaec
[/have_unit]
[then]
[message]
speaker=Gweddry
message= _ "Sire, we but did our duty."
[/message]
[message]
speaker=Konrad II
message= _ "Quite. Now do not interrupt while I am doing mine... Kneel, Owaec."
@ -161,7 +217,7 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
[message]
speaker=Konrad II
message= _ "Arise, Owaec, Knight Commander of the Kings Horse. And take as Our first command to you your own wish; go from here, harry and destroy the enemy in their flight until the fields of Weldyn become a byword for fear at which the orcs will tremble for generations."
message= _ "Arise, Owaec, Knight Commander of the Kings Horse. And take as Our first command to you your own wish; go from here, secure our borders, and show all that the might of Wesnoth will endure."
[/message]
[sound]
@ -194,6 +250,10 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
[/message]
[/then]
[else]
[message]
speaker=Gweddry
message= _ "Sire, I but did my duty."
[/message]
[message]
speaker=Konrad II
message= _ "Quite. Now do not interrupt while I am doing mine... Kneel, Gweddry."
@ -210,7 +270,7 @@ Men let weapons fall from nerveless fingers and horses reared in terror as that
[message]
speaker=narrator
message= _ "With these words and acts began the Silver Age of Wesnoth, that time known to historians as the Reconstruction..."
message= _ "And so began the Silver Age of Wesnoth, that time known to historians as the Reconstruction..."
image=wesnoth-icon.png
[/message]

View file

@ -0,0 +1,181 @@
#textdomain wesnoth-ei
[unit_type]
[base_unit]
id=Ancient Lich
[/base_unit]
id=Lich Lord
name= _ "Lich Lord"
[animation]
apply_to=summon
[frame]
begin=-300
end=-200
image="units/undead-necromancers/ancient-lich-magic-1.png"
[/frame]
[frame]
begin=-200
end=-100
image="units/undead-necromancers/ancient-lich-magic-2.png"
sound=magic-dark-big.ogg
[/frame]
[frame]
begin=-100
end=0
image="units/undead-necromancers/ancient-lich-magic-3.png"
[/frame]
[frame]
begin=0
end=100
image="units/undead-necromancers/ancient-lich-magic-1.png"
[/frame]
[frame]
duration=1
image="units/undead-necromancers/ancient-lich.png"
[/frame]
[/animation]
[animation]
apply_to=pre_teleport
{TELEPORT_OUT_ANIMATION}
[/animation]
[animation]
apply_to=post_teleport
{TELEPORT_IN_ANIMATION}
[/animation]
[animation]
apply_to=failed_teleport
{TELEPORT_FAILED_ANIMATION}
[/animation]
[animation]
apply_to=death
missile_start_time=-245
start_time=-75
[if]
direction=n,ne,nw
[missile_frame]
duration=30
halo="halo/holy/light-beam-1.png"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-2.png"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-3.png"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-4.png"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-5.png"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-6.png"
[/missile_frame]
[missile_frame]
duration=130
halo="halo/holy/light-beam-7.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-6.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-5.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-4.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-3.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-2.png"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-1.png"
[/missile_frame]
[/if]
[else]
direction=s,se,sw
[missile_frame]
duration=30
halo="halo/holy/light-beam-1.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-2.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-3.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-4.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-5.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=30
halo="halo/holy/light-beam-6.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=130
halo="halo/holy/light-beam-7.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-6.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-5.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-4.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-3.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-2.png~FL(vert)"
[/missile_frame]
[missile_frame]
duration=70
halo="halo/holy/light-beam-1.png~FL(vert)"
[/missile_frame]
[/else]
[frame]
duration=200
alpha=1~0
[/frame]
[frame]
duration=200
image="misc/blank-hex.png"
sound=lich-die.ogg
[/frame]
[/animation]
[/unit_type]

View file

@ -0,0 +1,379 @@
# Campaign-specific failed teleport animation
#define TELEPORT_FAILED_ANIMATION
start_time=-1200
teleport_sparkle_1_start_time=-1200
teleport_sparkle_2_start_time=-1000
teleport_sparkle_3_start_time=-800
[teleport_sparkle_1_frame]
duration=800
halo=misc/blank-hex.png:1,halo/teleport-9.png,halo/teleport-8.png,halo/teleport-1.png,halo/teleport-2.png,halo/teleport-8.png,halo/teleport-9.png,misc/blank-hex.png:400
halo_x=-10
halo_y=30~-30
[/teleport_sparkle_1_frame]
[teleport_sparkle_2_frame]
duration=800
halo=misc/blank-hex.png:1,halo/teleport-9.png,halo/teleport-8.png,halo/teleport-1.png,halo/teleport-8.png,halo/teleport-9.png,misc/blank-hex.png:500
halo_x=0
halo_y=40~-40
[/teleport_sparkle_2_frame]
[teleport_sparkle_3_frame]
duration=800
halo=misc/blank-hex.png:1,halo/teleport-9.png,halo/teleport-8.png,halo/teleport-9.png,misc/blank-hex.png:600
halo_x=10
halo_y=30~-30
[/teleport_sparkle_3_frame]
[frame]
# default frame
[/frame]
#enddef
#define LIGHT_SHIELD_OUT_ANIMATION
start_time=-900
teleport_ring_start_time=-900
teleport_fill_start_time=-610
[teleport_ring_frame]
duration=900
image=halo/light-shield-1.png
alpha=0~1:290,1:320,1~0:290
[/teleport_ring_frame]
[teleport_fill_frame]
duration=320
image=halo/light-shield-2.png
alpha=0~1:150,1:20,1~0:150
[/teleport_fill_frame]
[frame]
# default frame
duration=450
[/frame]
[frame]
image=misc/blank-hex.png
duration=450
[/frame]
#enddef
#define LIGHT_SHIELD_IN_ANIMATION
start_time=-900
teleport_ring_start_time=-900
teleport_fill_start_time=-610
[teleport_ring_frame]
duration=900
image=halo/light-shield-1.png
alpha=0~1:290,1:320,1~0:290
[/teleport_ring_frame]
[teleport_fill_frame]
duration=320
image=halo/light-shield-2.png
alpha=0~1:150,1:20,1~0:150
[/teleport_fill_frame]
[frame]
image=misc/blank-hex.png
duration=450
[/frame]
[frame]
# default frame
duration=450
[/frame]
#enddef
# Provide a simple "white-out" disappear and reappear animation
#define LIGHT_SHIELD_EFFECT_OBJECT_ID _ID_
[object]
silent=yes
duration=scenario #should be "turn" once support is implemented
[filter]
id={_ID_}
[/filter]
[effect]
apply_to=new_animation
[animation]
apply_to=disappear
{LIGHT_SHIELD_OUT_ANIMATION}
[/animation]
[animation]
apply_to=reappear
{LIGHT_SHIELD_IN_ANIMATION}
[/animation]
[/effect]
[/object]
#enddef
# A slightly modified version of the white mage attack animations
# (necessary because there is no way to suppress the lightbeam in
# the real attack animations)
#define DACYN_FAKE_ATTACK_ANIMATION_OBJECT
[object]
silent=yes
[filter]
id=Dacyn
[/filter]
[effect]
apply_to=new_animation
[animation]
[filter]
type=White Mage
[/filter]
apply_to=fake_attack
start_time=-300
[frame]
duration=75
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[frame]
duration=75
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=75
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-mage-magic-3.png"
sound={SOUND_LIST:HOLY}
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=50
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=50
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=50
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[/animation]
[animation]
[filter]
type=Mage of Light
[/filter]
apply_to=fake_attack
start_time=-300
[frame]
duration=75
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[frame]
duration=75
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=75
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-cleric-magic-3.png"
sound={SOUND_LIST:HOLY}
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=75
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=50
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=50
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=50
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[/animation]
[/effect]
[/object]
#enddef
# A modified standing animation for Dacyn while he is casting a spell
#define DACYN_CASTING_SPELL_ANIMATION_OBJECT
[object]
silent=yes
[filter]
id=Dacyn
[/filter]
[effect]
apply_to=new_animation
[standing_anim]
[filter]
type=White Mage
[filter_wml]
[variables]
casting_the_spell=yes
[/variables]
[/filter_wml]
[/filter]
[frame]
duration=125
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo2.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo4.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-mage-magic-1.png"
[/frame]
[/standing_anim]
[standing_anim]
[filter]
type=Mage of Light
[filter_wml]
[variables]
casting_the_spell=yes
[/variables]
[/filter_wml]
[/filter]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo1.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo2.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo3.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo4.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo5.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-3.png"
halo=halo/holy/halo6.png
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-2.png"
[/frame]
[frame]
duration=125
image="units/human-magi/white-cleric-magic-1.png"
[/frame]
[/standing_anim]
[/effect]
[/object]
#enddef

View file

@ -0,0 +1,185 @@
#textdomain wesnoth-ei
#
# These events are shared between the two final scenarios
#
[event]
name=attack
[filter]
id=Dacyn # wmllint: recognize Dacyn
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Dacyn
message= _ "Your evil will darken the earth no longer!"
[/message]
[/event]
[event]
name=attack
[filter]
id=Terraent # wmllint: recognize Terraent
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Terraent
message= _ "I shall avenge the death of my comrades!"
[/message]
[/event]
[event]
name=attack
[filter]
id=Engineer # wmllint: recognize Engineer
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Engineer
message= _ "Im gonna blow you up!"
[/message]
[/event]
[event]
name=attack
[filter]
id=Grug # wmllint: recognize Grug
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Grug
message= _ "Grug again dead make!"
[/message]
[/event]
[event]
name=attack
[filter]
id=Owaec # wmllint: recognize Owaec
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Owaec
message= _ "Taste the steel of the Horse Clans!"
[/message]
[/event]
[event]
name=attack
[filter]
id=Gweddry # wmllint: recognize Gweddry
[/filter]
[filter_second]
id=Mal-Ravanal
[/filter_second]
[message]
speaker=Gweddry
message= _ "This is for Wesnoth!"
[/message]
[/event]
[event]
name=last breath
[filter]
id=Mal-Ravanal # wmllint: recognize Mal-Ravanal
[/filter]
[message]
speaker=Mal-Ravanal
message= _ "You are more powerful than I expected, but you cannot possibly defeat me."
[/message]
[if]
[have_location]
[and]
x,y=$x1,$y1
radius=3
[/and]
[filter]
id=Dacyn
[/filter]
[/have_location]
[then] #Dacyn is close enough; Mal-Ravanal can't escape
{DACYN_FAKE_ATTACK_ANIMATION_OBJECT}
[animate_unit]
[filter]
id=Mal-Ravanal
[/filter]
flag=failed_teleport
[/animate_unit]
[message]
speaker=Dacyn
message= _ "No. Your reign of terror ends today."
[/message]
[message]
speaker=Mal-Ravanal
message= _ "What?!... I... cannot... lose..."
[/message]
[animate_unit]
[filter]
id=Mal-Ravanal
[/filter]
flag=death
[animate]
[filter]
id=Dacyn
[/filter]
flag=fake_attack
[/animate]
[/animate_unit]
[kill]
id=Mal-Ravanal
[/kill]
[kill]
race=undead
animate=yes
[/kill]
[endlevel]
result=victory
carryover_report=no
save=no
[/endlevel]
[/then]
[else] #Dacyn is too far away; Mal-Ravanal escapes
[animate_unit]
[filter]
id=Mal-Ravanal
[/filter]
flag=pre_teleport
[/animate_unit]
[kill]
id=Mal-Ravanal
animate=no
fire_event=no
[/kill]
[message]
speaker=Dacyn
message= _ "I wasn't able to prevent his escape from here. Now Wesnoth is doomed..."
[/message]
[endlevel]
result=defeat
[/endlevel]
[/else]
[/if]
[/event]