#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]