#textdomain wesnoth-nr [scenario] id=04_Clearing_the_Mines name= _ "Clearing the Mines" {SCENARIO_MUSIC "battle.ogg"} # No story part {EXTRA_SCENARIO_MUSIC "the_king_is_dead.ogg"} {EXTRA_SCENARIO_MUSIC "legends_of_the_north.ogg"} # No story this time so straight to the point map_data="{campaigns/Northern_Rebirth/maps/04_Clearing_the_Mines.map}" {TURNS4 85 75 65 55} {UNDERGROUND} next_scenario=05a_The_Pursuit [side] type=Peasant id=Tallin name=_ "Tallin" canrecruit=yes side=1 controller=human {GOLD4 550 450 400 350} recruit=Peasant,Woodsman,Thug,Poacher,Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Scout,Footpad team_name=alliance user_team_name=_"Alliance" [/side] {STARTING_VILLAGES 1 5} # Five opposing undead sides [side] type=Ancient Lich id=Malifor name= _ "Malifor" profile=portraits/Malifor.png canrecruit=yes side=2 {GOLD4 100 125 150 200} income=15 recruit=Dark Adept,Walking Corpse,Blood Bat,Skeleton,Skeleton Archer,Ghost team_name=undead user_team_name=_"Undead" {FLAG_VARIANT undead} [/side] [side] type=Draug id=Thorin name=_ "Thorin" canrecruit=yes side=3 {GOLD4 100 125 150 200} recruit=Walking Corpse,Skeleton,Skeleton Archer,Vampire Bat team_name=undead user_team_name=_"Undead" {FLAG_VARIANT undead} [/side] [side] type=Draug id=Herlin name=_ "Herlin" canrecruit=yes side=4 {GOLD4 100 125 150 200} recruit=Walking Corpse,Skeleton,Skeleton Archer,Vampire Bat team_name=undead user_team_name=_"Undead" {FLAG_VARIANT undead} [/side] [side] type=Draug id=Fervin name=_ "Fervin" canrecruit=yes side=5 {GOLD4 100 125 150 200} recruit=Walking Corpse,Skeleton,Skeleton Archer,Vampire Bat team_name=undead user_team_name=_"Undead" {FLAG_VARIANT undead} [/side] [side] type=Draug id=Hellian name=_ "Hellian" canrecruit=yes side=6 {GOLD4 100 125 150 200} recruit=Walking Corpse,Skeleton,Skeleton Archer,Vampire Bat team_name=undead user_team_name=_"Undead" {FLAG_VARIANT undead} [/side] # Prestart event - hide Malifor for the great and dramatic entrance later, # and place his army of guardian skeletons; also recall # player units. [event] name=prestart {RECALL_SUPPORTER} [role] type=Dwarvish Fighter role=dwarven_guard [/role] [recall] role=dwarven_guard [/recall] [role] type=Dwarvish Thunderer role=dwarven_guard [/role] [role] type=Dwarvish Scout role=dwarven_guard [/role] [recall] role=dwarven_guard [/recall] [recall] id=Camerin [/recall] [recall] id=Hamel [/recall] # For each skeleton we use a core macro for creating an unit with no traits. +unit is a special tag that adds it's content # to the last encountered [unit][/unit] section. 37 skeletons and 9 skeleton archers with ai_special guardian. {NOTRAIT_UNIT 3 Skeleton 11 24} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 Skeleton 11 22} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 Skeleton 16 18} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 "Skeleton Archer" 15 19} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 Skeleton 8 17} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 Skeleton 5 18} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 8 13} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 9 14} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 "Skeleton Archer" 9 13} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 10 9} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 12 8} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 18 7} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 18 9} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 24 7} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 6 Skeleton 24 9} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 3 Skeleton 14 19} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 "Skeleton Archer" 29 7} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 "Skeleton Archer" 29 10} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 Skeleton 28 7} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 Skeleton 28 9} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 Skeleton 28 11} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 Skeleton 27 11} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 2 Skeleton 33 10} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 28 17} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 29 21} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 32 14} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 35 22} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 37 20} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 35 22} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 37 24} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 Skeleton 37 25} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 5 "Skeleton Archer" 38 24} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 33 27} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 35 29} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 28 29} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 30 31} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 32 32} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 "Skeleton Archer" 33 32} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 29 34} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 29 35} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 "Skeleton Archer" 30 34} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 20 32} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 "Skeleton Archer" 21 32} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 "Skeleton Archer" 19 32} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 24 24} [+unit] ai_special=guardian [/unit] {NOTRAIT_UNIT 4 Skeleton 26 25} [+unit] ai_special=guardian [/unit] # Set initial objectives. [objectives] side=1 [objective] description= _ "Clear the mines" condition=win [/objective] [objective] description= _ "Death of Tallin" condition=lose [/objective] [objective] description= _ "Death of Hamel" condition=lose [/objective] {TURNS_RUN_OUT} [gold_carryover] bonus=yes carryover_percentage=80 [/gold_carryover] [/objectives] # Hide Malifor [hide_unit] x=33 y=6 [/hide_unit] [/event] # Start event - recall some units, perform initial dialogue and place an army of guardian skeletons [event] name=start [message] speaker=narrator message= _ "When the party finally reached the mines they were not disappointed." image=wesnoth-icon.png [/message] [message] speaker=Hamel message= _ "Behold! The Dwarven Mines." [/message] [message] speaker=Hamel message= _ "Look at yon canal. Dwarves built it to transport mined metals deeper into Knalga. And d’ye ken those two rooms, one to the north-west and the other to the south-east? If we could capture those, we would gain o’ great tactical advantage." [/message] [message] role=Supporter message= _ "Grim gods of darkness! The whole place is swarming with undead! They have raised corpses to do their work." [/message] [message] speaker=Tallin message= _ "And they seem to have good security, too. Look, most of the fortifications are repaired and they have those nasty skeletons everywhere." [/message] [message] role=Supporter message= _ "Fortunately, this entrance seems to be in disrepair. It doesn’t look like they have noticed us yet." [/message] [message] speaker=Thorin message= _ "WHO GOES THERE?" [/message] [message] speaker=Hamel message= _ "(Wince)." [/message] [message] role=Supporter message= _ "Oops, I spoke too soon." [/message] [message] speaker=Camerin message= _ "Maybe he needs a fireball..." [/message] [message] speaker=Thorin message= _ "YOU DO NOT ANSWER. ALERT THE MASTER!" [/message] # The grand entrance [move_unit_fake] type=Ancient Lich side=2 x=40,39,38,37,36,35,34,33,33 y=1,2,2,3,3,4,4,5,6 [/move_unit_fake] [unhide_unit] id=Malifor [/unhide_unit] [message] speaker=Malifor message= _ "Who goes there? Ahhh, more slaves, I see." [/message] [message] speaker=Tallin message= _ "Others have made that mistake before. Who are you?" [/message] [message] speaker=Malifor message= _ "Who am I? (Cackles wildly) I am Malifor the Great, the master of death! These tunnels, haunted by the ghosts of the dead dwarves of Knalga, are the domain of my power." [/message] [message] speaker=Hamel message= _ "You dared disturb the rest of those brave dwarves? You shall pay in blood!" [/message] [message] speaker=Malifor message= _ "HAHAHAHA! Your petty temper tantrums are most amusing, you puny dwarf. Soon I will finish the slaughter that the orcs have begun so promisingly, and Knalga will be all mine! From there I will sweep the whole north of all living creatures, and then swoop down upon Wesnoth!" [/message] [message] speaker=Hamel message= _ "Quit your ranting, you wretched bag of bones! Prepare to return to the dust!" [/message] [message] speaker=Malifor message= _ "HAHAHAHA! Such vast threats from one so small? HAHAHA!" [/message] [message] speaker=Malifor message= _ "But– My my, what do we have here? — Tallin." [/message] [message] role=Supporter message= _ "He knows your name, Tallin. I don’t like the looks of this." [/message] [message] speaker=Malifor message= _ "Oh yes, I know you, Tallin. I have been watching you for a long time. You are a perfect candidate to become one of my immortal generals." [/message] [message] speaker=Tallin message= _ "...!" [/message] [message] speaker=Malifor message= _ "Look around you, Tallin; see all the power, see all of the wealth, the glory, the pleasure that the realm of death has to offer. Think of the great empire of Knalga; it can be yours. Come, share it with me!" [/message] [message] role=Supporter message= _ "Tallin! Get hold of yourself!" [/message] [message] speaker=Malifor message= _ "It’s very easy, Tallin... See that little vermin by your side? Take out your knife... cut his throat... feel his hot blood pump over your hands... sacrifice him!" [/message] # There was an option to choose an alternative, evil, branch # here. But since it's not finished it is commented out, # leaving player a command that leads to instant defeat is not # nice. # [option] # message= _ "... Die... you... little... dwarf... vermin!" # [command] # [message] # role=Supporter # message= _ "Tallin! No!" # [/message] # [message] # id=Hamel # message= _ "Tallin, what are you doing?" # [/message] # [message] # id=Tallin # message= _ "... Death...! Blood...!" # [/message] # {MODIFY_UNIT id=Tallin profile portraits/Tallin-Evil.png} # [sound] # name=dagger-swish.wav # [/sound] # [delay] # time=50 # [/delay] # [sound] # name=dwarf-hit-3.ogg # [/sound] # [message] # id=Hamel # message= _ "Ahhh! Treacherous human! Kill him, men!" # [/message] # [message] # id=Malifor # message= _ "HAHAHAHA!" # [/message] # [sound] # name=fire.wav # [/sound] # [sound] # name=ugg.wav # [/sound] # [color_adjust] # red=100 # green=100 # blue=100 # [/color_adjust] # [delay] # time=10 # [/delay] # [color_adjust] # red=0 # green=0 # blue=0 # [/color_adjust] # [teleport] # [filter] # id=Tallin # [/filter] # x=34 # y=6 # [/teleport] # [message] # id=Hamel # message= _ "What the—! Where did he go?" # [/message] # [message] # id=Malifor # message= _ "Right here with me, fools! He is mine now." # [/message] # [disallow_recruit] # side=1 # type=Dwarvish Fighter,Dwarvish Thunderer,Peasant,Thug,Poacher,Woodsman,Dwarvish Scout,Footpad # [/disallow_recruit] # [store_unit] # [filter] # role=Supporter # [/filter] # variable=betrayed_friend # [/store_unit] # [set_variable] # name=turned_evil # value=1 # [/set_variable] # [endlevel] # Disable this option in 1.4. # result=victory # bonus=no # next_scenario=05b_Compelled # result=defeat # [/endlevel] # [/command] # [/option] # [option] [message] speaker=Tallin message= _ "(Shakes head) I reject your evil. Attack, men! Let us rid the good green world of this rotting filth!" [/message] # [command] [message] speaker=Hamel message= _ "Aye! That’s the way of it, lad! For the murdered dwarves of Knalga! Attack!" [/message] [message] speaker=Malifor message= _ "You fool! You will pay for your folly with your life." [/message] [message] speaker=Tallin message= _ "Yeah, right, buddy." [/message] # [/command] # [/option] # [/message] [/event] # Turn 20 - since the army of skeletons is obviously not enough change the moat to swamp and send in an army of ghouls. [event] name=turn 20 [message] speaker=Malifor message= _ "These little vermin are making progress! This is unacceptable. Rise my minions — gorge on the flesh of these scurrying little rats!" [/message] # Water to swamp [terrain] x=13,14,15,15,16,17,18,19,20,21,22,23,25,25,26,27,31,30,29,30,30,30,30,29,29,29,29,29,29,29,28,27,27,27,26,25,24,25,25,24,30 y=11,11,11,10,9,10,10,10,9,10,9,10,10,10,9,10,5,5,6,6,7,8,10,11,12,13,14,15,16,18,18,19,20,21,21,22,21,23,24,10,9 terrain=Ss [/terrain] # Water bridge to swamp bridge. '|' '/' denote the direction. [terrain] terrain=Ss^Bw| x=28 y=10 [/terrain] [terrain] terrain=Ss^Bw/ x=30,29,25 y=8,17,25 [/terrain] [message] speaker=Tallin message= _ "Look out everyone, something is coming out of the canals! Already the water is churning and clogging with their filth. Get back and brace yourselves." [/message] [/event] # And the slimy army - 31 ghouls and 10 Necrophages [event] name=turn 21 {NOTRAIT_UNIT 2 Ghoul 13 11} {NOTRAIT_UNIT 2 Ghoul 15 11} {NOTRAIT_UNIT 2 Ghoul 15 10} {NOTRAIT_UNIT 2 Ghoul 16 9} {NOTRAIT_UNIT 2 Ghoul 17 10} {NOTRAIT_UNIT 2 Ghoul 19 10} {NOTRAIT_UNIT 2 Ghoul 20 9} {NOTRAIT_UNIT 2 Ghoul 21 10} {NOTRAIT_UNIT 2 Ghoul 22 9} {NOTRAIT_UNIT 2 Ghoul 23 10} {NOTRAIT_UNIT 2 Ghoul 25 10} {NOTRAIT_UNIT 2 Ghoul 26 9} {NOTRAIT_UNIT 2 Ghoul 27 10} {NOTRAIT_UNIT 2 Ghoul 30 9} {NOTRAIT_UNIT 2 Ghoul 30 10} {NOTRAIT_UNIT 2 Ghoul 29 11} {NOTRAIT_UNIT 2 Ghoul 30 6} {NOTRAIT_UNIT 2 Ghoul 29 6} {NOTRAIT_UNIT 2 Ghoul 29 12} {NOTRAIT_UNIT 2 Ghoul 29 13} {NOTRAIT_UNIT 2 Ghoul 29 14} {NOTRAIT_UNIT 2 Ghoul 29 15} {NOTRAIT_UNIT 2 Ghoul 29 16} {NOTRAIT_UNIT 2 Ghoul 29 18} {NOTRAIT_UNIT 2 Ghoul 28 18} {NOTRAIT_UNIT 2 Ghoul 27 19} {NOTRAIT_UNIT 2 Ghoul 27 20} {NOTRAIT_UNIT 2 Ghoul 26 21} {NOTRAIT_UNIT 2 Ghoul 25 22} {NOTRAIT_UNIT 2 Ghoul 25 23} {NOTRAIT_UNIT 2 Ghoul 25 24} {NOTRAIT_UNIT 2 Necrophage 25 25} {NOTRAIT_UNIT 2 Necrophage 14 11} {NOTRAIT_UNIT 2 Necrophage 18 10} {NOTRAIT_UNIT 2 Necrophage 24 10} {NOTRAIT_UNIT 2 Necrophage 30 8} {NOTRAIT_UNIT 2 Necrophage 30 7} {NOTRAIT_UNIT 2 Necrophage 29 17} {NOTRAIT_UNIT 2 Necrophage 27 21} {NOTRAIT_UNIT 2 Necrophage 24 21} {NOTRAIT_UNIT 2 Necrophage 28 10} [message] type=Necrophage message= _ "Fooood!" # wmllint: no spellcheck [/message] [message] role=Supporter message= _ "Lords of Light, what kind of vile creation are those things!" [/message] # Camerin might be dead by now, but in that case message with unmatched description will not display anyway. It would # be completely different thing if we used speaker=Camerin. [message] speaker=Camerin message= _ "Out of all of a necromancer’s creations, I must say those things are the most tortured and vilest. They have an insatiable hunger for flesh and mindlessly shrug of all manner of damage to get it. Even my fire bolts have a slightly lesser effect on them." [/message] [message] speaker=Camerin message= _ "Oh, and try to stay away from their claws. If you get even one scratch, and don’t get it treated quickly, you will soon find yourself weak, sick and unable to fight further." [/message] [message] speaker=Hamel message= _ "Bah! They look like fat slugs to me. Come on boys, let’s chop them to pieces before they can leave the canal." [/message] [/event] # Victory and death events - liches grand exit [event] name=last breath [filter] id=Malifor [/filter] [message] speaker=Malifor message= _ "HAHAHA, you puny weaklings think you can destroy me? Fools! You will all soon be serving me!" [/message] {FLASH_RED ( [kill] id=Malifor fire_event=yes # probably required if he's the last enemy leader animate=no [/kill] )} [message] speaker=second_unit message= _ "Oh no, he just... disappeared." [/message] [/event] # Victory dialogue [event] name=enemies defeated # [if] # [variable] # name=turned_evil # numerical_equals=0 # [/variable] # [then] [message] speaker=Tallin message= _ "We have finally secured the mines. But what should we do about that foul lich? He is a menace to all that lives, and must be ended." [/message] [message] speaker=Hamel # wmllint: local spelling dwarvenkind message= _ "Aye! We’ll have to lay both his skeletons and himself to final rest before these caves will be fit for dwarvenkind again." [/message] [message] speaker=Tallin message= _ "But I’m sore vexed. We need better weapons. Luck and spirit can carry us only so far." [/message] [message] speaker=Hamel message= _ "Aye. We must do both. I’m thinking it might be best if I muster my folk to start on the weapon-making while you and your followers pursue yon lich. By the time you’ve laid him to final rest and return here, we’ll ha’ made a good start on the work." [/message] [message] speaker=Tallin message= _ "So it shall be." [/message] [role] type=Dwarvish Steelclad,Dwarvish Fighter,Dwarvish Dragonguard,Dwarvish Thunderguard,Dwarvish Thunderer,Dwarvish Explorer,Dwarvish Pathfinder,Dwarvish Scout role=follower [/role] [message] role=follower message= _ "With all respect, Lord Hamel, some o’ us would like to fare forth with Tallin. He’s lucky, he is — or he makes his own luck." [/message] [message] speaker=Hamel message= _ "And so it shall be. You’ve my leave and welcome. Try to keep the lad safe..." [/message] [message] role=follower message= _ "Thank you, Lord Hamel." [/message] # Lord Hamel becomes unavailable for following scenarios until the ' # big showdown. [kill] id=Hamel animate=no fire_event=no [/kill] [disallow_recruit] side=1 type=Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Scout,Dwarvish Guardsman [/disallow_recruit] [endlevel] result=victory bonus=yes [/endlevel] # [/then] # [/if] [/event] # And hero deaths #define DEFEAT_WHEN_HAMEL_DEAD #enddef {campaigns/Northern_Rebirth/utils/herodeaths.cfg} #undef DEFEAT_WHEN_HAMEL_DEAD [/scenario]