#textdomain wesnoth-dw
[scenario]
name= _ "Revenge"
map_data="{campaigns/Dead_Water/maps/Home_2.map}"
id=12_Revenge
next_scenario=13_Epilogue
[story]
[part]
{DW_BIGMAP}
story= _ "The mission had been more difficult than Kai Krellis would have believed when he started. Finally though, the end was in sight. He had seen how priestesses could carve through masses of undead, and now he traveled with a whole contingent of them. Tyegëa was even more powerful, though as unpredictable as Cylanna had said."
[/part]
[part]
{DW_BIGMAP}
story= _ "The tribe that had fled Jotha unable to fight returned as an army stiffened by veteran fighters and led by a warrior king. Though they were tired from their journey, weariness fell from them as they neared home. The mermen arrived during the night, and found the mouth of their bay guarded, so they headed south along the coast to some outlying villages to gather news of the invaders."
[/part]
[/story]
{BIGMAP_12}
{DEFAULT_SCHEDULE_SECOND_WATCH}
turns=-1
[side]
{SIDE_1}
{GOLD4 300 300 300 300} # I doubt this is enough to win, but there was a lot of gold on The Flaming Sword, so the player should have around 200 plus this (on normal).
[/side]
[side]
side=2
controller=ai
user_team_name= _ "Mal-Ravanal’s Forces"
team_name=bad guys
color=teal
type=Lich
id=Mal-Kevek
name= _ "Mal-Kevek"
canrecruit=yes
{FLAG_VARIANT undead}
{GOLD4 420 520 640 760}
{INCOME4 18 23 26 28}
[/side]
[side]
side=3
controller=ai
user_team_name= _ "Mal-Ravanal’s Forces"
team_name=bad guys
color=orange
type=Necromancer
id=Mel Daveth
name= _ "Mel Daveth"
canrecruit=yes
{FLAG_VARIANT undead}
{GOLD4 320 420 520 620}
{INCOME4 12 16 20 22}
[unit]
type=Draug
x,y=15,4
ai_special=guardian
facing=nw
[/unit]
[unit]
type=Revenant
x,y=16,4
ai_special=guardian
facing=nw
[/unit]
[unit]
type=Draug
x,y=18,2
ai_special=guardian
facing=nw
[/unit]
[unit]
type=Revenant
x,y=19,3
ai_special=guardian
facing=nw
[/unit]
[/side]
[side]
side=4
controller=ai
user_team_name= _ "Mal-Ravanal’s Forces"
team_name=bad guys
color=white
type=Death Knight
id=Dead Knight
canrecruit=yes
{FLAG_VARIANT undead}
{GOLD4 400 510 620 680}
{INCOME4 18 23 26 28}
[/side]
[side]
side=5
controller=ai
user_team_name= _ "Mal-Ravanal’s Forces"
team_name=bad guys
color=purple
no_leader=yes
{FLAG_VARIANT undead}
[ai]
village_value=0
[/ai]
[/side]
# The following macros should not go into the turn 2 event,
# because they contain prestart events.
# I want more, not more powerful, units. Limit the level threes so
# the leaders have to buy more level twos:
#ifdef EASY
{LIMIT_RECRUITS 2 Necrophage 2}
{LIMIT_RECRUITS 2 Spectre 3}
{LIMIT_RECRUITS 4 Chocobone 2}
{LIMIT_RECRUITS 4 Draug 1}
#endif
#ifdef NORMAL
{LIMIT_RECRUITS 2 Necrophage 2}
{LIMIT_RECRUITS 2 Spectre 3}
{LIMIT_RECRUITS 2 Nightgaunt 2}
{LIMIT_RECRUITS 4 Banebow 3}
{LIMIT_RECRUITS 4 Draug 1}
#endif
#ifdef HARD
{LIMIT_RECRUITS 2 Necrophage 2}
{LIMIT_RECRUITS 2 Spectre 4}
{LIMIT_RECRUITS 2 Nightgaunt 3}
{LIMIT_RECRUITS 4 Banebow 4}
{LIMIT_RECRUITS 4 Draug 1}
#endif
#ifdef NIGHTMARE
{LIMIT_RECRUITS 2 Necrophage 3}
{LIMIT_RECRUITS 2 Spectre 4}
{LIMIT_RECRUITS 2 Nightgaunt 4}
{LIMIT_RECRUITS 4 Banebow 5}
{LIMIT_RECRUITS 4 Draug 1}
#endif
{RECRUIT_UNIT_VARIATIONS 3 "Walking Corpse" none,swimmer,swimmer,swimmer}
{RECRUIT_UNIT_VARIATIONS 3 "Soulless" none,swimmer,swimmer,swimmer}
{RING_OF_STRENGTH_EVENTS}
#The mermen have no villages left when they return (but a few are
#still unclaimed):
{STARTING_VILLAGES 2 15}
{STARTING_VILLAGES_AREA 2 28 24 4}
{STARTING_VILLAGES 3 7}
{STARTING_VILLAGES_AREA 3 17 15 7}
{STARTING_VILLAGES 4 12}
{STARTING_VILLAGES_AREA 4 24 1 6}
[event]
name=turn 2
#ifdef EASY
[set_recruit]
side=2
recruit="Ghost, Wraith, Spectre, Shadow, Ghoul, Necrophage"
[/set_recruit]
[set_recruit]
side=3
recruit="Walking Corpse, Soulless, Vampire Bat, Blood Bat"
[/set_recruit]
[set_recruit]
side=4
recruit="Vampire Bat, Chocobone, Skeleton, Deathblade, Draug, Skeleton Archer, Bone Shooter"
[/set_recruit]
#endif
#ifdef NORMAL
[set_recruit]
side=2
recruit="Ghost, Wraith, Spectre, Shadow, Nightgaunt, Necrophage"
[/set_recruit]
[set_recruit]
side=3
recruit="Walking Corpse, Soulless, Vampire Bat, Blood Bat"
[/set_recruit]
[set_recruit]
side=4
recruit="Vampire Bat, Chocobone, Skeleton, Deathblade, Draug, Skeleton Archer, Bone Shooter, Banebow"
[/set_recruit]
#endif
#ifdef HARD
[set_recruit]
side=2
recruit="Ghost, Wraith, Spectre, Shadow, Nightgaunt, Necrophage"
[/set_recruit]
[set_recruit]
side=3
recruit="Walking Corpse, Soulless, Vampire Bat, Blood Bat"
[/set_recruit]
[set_recruit]
side=4
recruit="Vampire Bat, Chocobone, Skeleton, Deathblade, Draug, Skeleton Archer, Bone Shooter, Banebow"
[/set_recruit]
#endif
#ifdef NIGHTMARE
[set_recruit]
side=2
recruit="Ghost, Wraith, Spectre, Shadow, Nightgaunt, Necrophage"
[/set_recruit]
[set_recruit]
side=3
recruit="Walking Corpse, Soulless, Vampire Bat, Blood Bat"
[/set_recruit]
[set_recruit]
side=4
recruit="Vampire Bat, Chocobone, Skeleton, Deathblade, Draug, Skeleton Archer, Bone Shooter, Banebow"
[/set_recruit]
#endif
[/event]
[event]
name=prestart
[hide_unit]
x,y=16,24
[/hide_unit]
[item]
x=15
y=5
image=scenery/village-human-burned2.png
[/item]
[item]
x=15
y=15
image=scenery/village-human-burned1.png
[/item]
[item]
x=30
y=9
image=scenery/trash.png
[/item]
[item]
x=52
y=19
image=scenery/mine-abandoned.png
[/item]
[item]
x=14
y=11
image=items/bones.png
[/item]
[item]
x=51
y=20
image=items/coal.png
[/item]
[music]
name=breaking_the_chains.ogg
[/music]
[music]
name=vengeful.ogg
append=yes
[/music]
[objectives]
side=1
[objective]
description= _ "Defeat all enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Death of Kai Krellis"
condition=lose
[/objective]
{IS_LAST_SCENARIO}
[/objectives]
# If one of the bad guys was killed in the second scenario,
# show the user a different name. The internal description can
# stay the same.
[if]
[variable]
name=MK_dead
equals=yes
[/variable]
[then]
[store_unit]
[filter]
id=Mal-Kevek
[/filter]
variable=bad_guy_stored
kill=yes
[/store_unit]
[set_variable]
name=bad_guy_stored.name
value=Mal-Necross
[/set_variable]
[unstore_unit]
variable=bad_guy_stored
[/unstore_unit]
[/then]
[/if]
[if]
[variable]
name=MD_dead
equals=yes
[/variable]
[then]
[store_unit]
[filter]
id=Mel Daveth
[/filter]
variable=bad_guy_stored
kill=yes
[/store_unit]
[set_variable]
name=bad_guy_stored.name
value=Mal-Verloth
[/set_variable]
[unstore_unit]
variable=bad_guy_stored
[/unstore_unit]
[/then]
[/if]
[clear_variable]
name=bad_guy_stored
[/clear_variable]
[/event]
# This event shows KK on the edge of the map for a second, moves
# him to a village, pauses, then moves him to the castle. At the
# village some units are spawned with some dialog.
[event]
name=start
# Store KK so we have the type for [move_unit_fake]:
[store_unit]
[filter]
id=Kai Krellis
[/filter]
variable=KK_stored
[/store_unit]
# Show KK at the edge of the screen: (He actually starts in
# the castle (hidden) to make this opening more
# configurable. It just requires one extra teleport.)
[teleport]
[filter]
id=Kai Krellis
[/filter]
x,y=1,14
[/teleport]
[scroll_to]
x,y=1,14
[/scroll_to]
[unhide_unit][/unhide_unit]
[redraw][/redraw]
[delay]
time=1000
[/delay]
[hide_unit]
x,y=1,14
[/hide_unit]
# Show the move to the village:
[move_unit_fake]
x=2,5
y=14,18
type=$KK_stored.type
side=1
[/move_unit_fake]
# Move KK to the village:
[teleport]
[filter]
id=Kai Krellis
[/filter]
x,y=5,18
[/teleport]
[unhide_unit][/unhide_unit]
# Capture the village KK did not stop in:
[capture_village]
side=1
x,y=5,17
[/capture_village]
# Action at the village:
[unit]
side=1
type=Merman Fighter
x,y=5,18
id=Nebthun
name=Nebthun
experience=6
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
{IS_LOYAL}
[/unit]
[unit]
side=1
type=Merman Hunter
x,y=5,18
id=Jarla
name=Jarla
[modifications]
{TRAIT_LOYAL}
{TRAIT_INTELLIGENT}
[/modifications]
experience=10
{IS_LOYAL}
[/unit]
[unit]
side=1
type=Merman Brawler
x,y=5,18
id=Tabomo
name=Tabomo
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
experience=32
{IS_LOYAL}
[/unit]
[message]
speaker=Nebthun
message= _ "Kai Krellis! You live! We thought you and your people had all been killed when Jotha fell."
[/message]
[message]
speaker=Kai Krellis
message= _ "No, most of us escaped. I thought your settlements might be far enough away to escape harm, but you look as if you had seen battle."
[/message]
[message]
speaker=Nebthun
message= _ "Indeed, though we have not been hard pressed. The creatures have been busy fouling the waters and making the bay more to their liking. We worry that they will soon be back to finish with us, and I fear we will not survive."
[/message]
[message]
speaker=Kai Krellis
message= _ "We come prepared for battle, and have brought help. We will reclaim our home and make yours safe as well. Mal-Ravanal will pay this day."
[/message]
[message]
speaker=Nebthun
message= _ "Good. We will join you. You will be impressed with how quickly Tabomo here crushes skeletons. I think we should make the ruined castle on the mainland our base. The undead cut down many trees there to make bridges, and it is much easier to move through now."
[/message]
# Move KK to the keep:
[hide_unit]
x,y=5,18
[/hide_unit]
[teleport]
[filter]
id=Kai Krellis
[/filter]
x,y=16,24
[/teleport]
# Show the move to the keep:
[move_unit_fake]
x=5,16
y=18,24
type=$KK_stored.type
side=1
[/move_unit_fake]
# ...and:
[unhide_unit][/unhide_unit]
# wmllint: who RECALL_LOYAL_UNITS is Tyegea
{RECALL_LOYAL_UNITS}
[clear_variable]
name=KK_stored
[/clear_variable]
[/event]
[event]
name=turn 2
[message]
speaker=narrator
message= _ "At dawn, the mermen got a good look at their opponents."
image=wesnoth-icon.png
[/message]
[message]
speaker=Tyegea
message= _ "This doesn’t look too bad."
[/message]
[message]
speaker=Kai Krellis
message= _ "Maybe not yet, but just wait."
[/message]
[message]
speaker=Mel Daveth
message= _ "The mermen...they came back! Bring back the search parties! Call back the hordes!"
[/message]
[message]
speaker=Mal-Kevek
message= _ "Just make some more, you fool. There are plenty of corpses to go around."
[/message]
[message]
speaker=Dead Knight
message= _ "Uhhh."
[/message]
[unit]
type=Blood Bat
side=3
animate=yes
x,y=31,9
[/unit]
[kill]
x,y=31,9
animate=no
[/kill]
[move_unit_fake]
type=Blood Bat
x=31, 32
y=9, 1
side=3
[/move_unit_fake]
[/event]
[event]
name=turn 4
[message]
speaker=Tyegea
message= _ "I suppose this does look a little overwhelming. I may enjoy it though. It can be satisfying to rain holy fire down on misbehaving spirits."
[/message]
[message]
speaker=Gwabbo
message= _ "Absolutely! Bring ’em on!"
[/message]
[/event]
[event]
name=turn 10
#ifdef EASY
[set_variable]
name=type_1
value=Dark Adept
[/set_variable]
[set_variable]
name=type_2
value=Dark Adept
[/set_variable]
[set_variable]
name=type_3
value=Dark Sorcerer
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name=type_1
value=Dark Adept
[/set_variable]
[set_variable]
name=type_2
value=Dark Sorcerer
[/set_variable]
[set_variable]
name=type_3
value=Dark Sorcerer
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name=type_1
value=Dark Sorcerer
[/set_variable]
[set_variable]
name=type_2
value=Dark Sorcerer
[/set_variable]
[set_variable]
name=type_3
value=Dark Sorcerer
[/set_variable]
#endif
#ifdef NIGHTMARE
[set_variable]
name=type_1
value=Dark Sorcerer
[/set_variable]
[set_variable]
name=type_2
value=Dark Sorcerer
[/set_variable]
[set_variable]
name=type_3
value=Necromancer
[/set_variable]
#endif
[move_unit_fake]
type=$type_3
side=5
x=23, 26
y=1, 4
[/move_unit_fake]
[unit]
side=5
type=$type_3
name=Carallcyn
id=Carallcyn
x,y=26, 4
[/unit]
[message]
speaker=Carallcyn
message= _ "We searched up the coast for miles, and here they are!"
[/message]
[unit]
side=5
type=$type_2
generate_name=yes
x,y=25,4
[/unit]
[unit]
side=5
type=$type_1
generate_name=yes
x,y=27,3
gender=female
[/unit]
[unit]
side=5
type=$type_2
generate_name=yes
x,y=28,2
gender=female
[/unit]
[unit]
side=5
type=$type_1
generate_name=yes
x,y=29,3
[/unit]
[unit]
side=5
type=$type_2
generate_name=yes
x,y=34,1
[/unit]
#ifndef EASY
[unit]
side=5
type=$type_3
generate_name=yes
x,y=32,2
gender=female
[/unit]
#endif
[clear_variable]
name=type_1
[/clear_variable]
[clear_variable]
name=type_2
[/clear_variable]
[clear_variable]
name=type_3
[/clear_variable]
[/event]
[event]
name=last breath
[filter]
id=Tyegea
[/filter]
[message]
speaker=Tyegea
message= _ "I was wrong. You are no grandson of mine!"
[/message]
[/event]
[event]
name=last breath
[filter]
id=Kai Krellis
[/filter]
[message]
speaker=Kai Krellis
message= _ "I have failed my people."
[/message]
[/event]
[event]
name=last breath
[filter]
id=Mal-Kevek
[/filter]
[message]
speaker=Mal-Kevek
message= _ "This is impossible!"
[/message]
[/event]
[event]
name=last breath
[filter]
id=Dead Knight
[/filter]
[message]
# wmllint: local spelling gruh
speaker=Dead Knight
message= _ "Gruh!"
[/message]
[/event]
[event]
name=last breath
[filter]
id=Mel Daveth
[/filter]
[message]
# wmllint: local spelling Rava uhh
speaker=Mel Daveth
message= _ "Save me Lord Rava...uhh!"
[/message]
[/event]
[event]
name=die
[filter]
id=Mel Daveth
[/filter]
{RING_OF_STRENGTH_APPEARS}
[/event]
[event]
name=enemies defeated
[message]
speaker=Kai Krellis
message= _ "We have retaken our home!"
[/message]
[/event]
[event]
name=die
[filter]
id=Cylanna
[/filter]
[message]
speaker=Kai Krellis
message= _ "Cylanna! I will miss you."
[/message]
[/event]
[event]
name=die
[filter]
id=Tyegea
[/filter]
[message]
speaker=Cylanna
message= _ "Tyegëa! No!"
[/message]
[/event]
[event]
name=die
[filter]
id=Kai Krellis
[/filter]
[endlevel]
result=defeat
[/endlevel]
[/event]
# The first_time_only moveto event causes a necklace *image* to
# show up on the hex, and causes the necklace to be explained. The
# moved unit gets the option to take it.
#
# If the unit takes it, a necklace *object* is put on the hex, and
# the unit gets it because he is standing there already.
#
# If the unit does not take it, another moveto event is
# added. This one is *not* first_time_only. It does pretty much
# the same thing, but with shorter messages.
#
# If the unit does not take the necklace, an [allow_undo] is added
# to the event.
[event]
name=moveto
first_time_only=yes
[filter]
x=14
y=11
side=1
[/filter]
[message]
speaker=$unit.id
message= _ "This man was wearing a necklace with a pendant on it. I’m sure the shape means something."
[/message]
{PLACE_IMAGE items/ankh-necklace.png 14 11}
[message]
speaker=Tyegea
message= _ "It does indeed. It is an ankh, and that pendant will strengthen your life force."
[/message]
[message]
speaker=narrator
message= _ "The ankh necklace provides 70% resistance to arcane damage."
image=wesnoth-icon.png
[/message]
[message]
speaker=$unit.id
[option]
message= _ "That sounds great! I’ll take it."
[command]
[set_variable]
name=get_necklace
value=yes
[/set_variable]
[/command]
[/option]
[option]
message= _ "It doesn’t seem to have helped its previous owner. I don’t want it."
[/option]
[/message]
[if]
[variable]
name=get_necklace
equals=yes
[/variable]
[then]
{ANKH_NECKLACE 14 11 necklace1}
[set_variable]
name=get_necklace
value=done
[/set_variable]
[/then]
[else]
[allow_undo][/allow_undo]
[event]
name=moveto
first_time_only=no
[filter]
x=14
y=11
side=1
[/filter]
[if]
[variable]
name=get_necklace
not_equals=done
[/variable]
[then]
[message]
speaker=$unit.id
[option]
message= _ "I would like my life force protected."
[command]
[set_variable]
name=get_necklace
value=yes
[/set_variable]
[/command]
[/option]
[option]
message= _ "My life force feels fine as it is."
[/option]
[/message]
[/then]
[/if]
[if]
[variable]
name=get_necklace
equals=yes
[/variable]
[then]
{ANKH_NECKLACE 14 11 necklace1}
[set_variable]
name=get_necklace
value=done
[/set_variable]
[/then]
[else]
[allow_undo][/allow_undo]
[/else]
[/if]
[/event]
[/else]
[/if]
[/event]
[/scenario]