1#textdomain wesnoth-httt 2[scenario] 3 id=15_The_Lost_General 4 name= _ "The Lost General" 5 map_data="{campaigns/Heir_To_The_Throne/maps/15_The_Lost_General.map}" 6 {TURNS 64 60 54} 7 8 {UNDERGROUND} 9 10 next_scenario=16_Hasty_Alliance 11 12 {SCENARIO_MUSIC "the_deep_path.ogg"} 13 {EXTRA_SCENARIO_MUSIC "underground.ogg"} 14 {EXTRA_SCENARIO_MUSIC "knalgan_theme.ogg"} 15 {EXTRA_SCENARIO_MUSIC "into_the_shadows.ogg"} 16 {EXTRA_SCENARIO_MUSIC "heroes_rite.ogg"} 17 18 {HTTT_TRACK {JOURNEY_15_NEW} } 19 20 [event] 21 name=prestart 22 [objectives] 23 side=1 24 [objective] 25 description= _ "Defeat all enemy leaders" 26 condition=win 27 [/objective] 28 [objective] 29 description= _ "Death of Konrad" 30 condition=lose 31 [/objective] 32 [objective] 33 description= _ "Death of Delfador" 34 condition=lose 35 [/objective] 36 [objective] 37 description= _ "Death of Kalenz" 38 condition=lose 39 [/objective] 40 41 {TURNS_RUN_OUT} 42 43 [gold_carryover] 44 bonus=yes 45 carryover_percentage=40 46 [/gold_carryover] 47 [/objectives] 48 [/event] 49 50 [side] 51 type=Commander 52 id=Konrad 53 name= _ "Konrad" 54 unrenamable=yes 55 profile=portraits/konrad-human.png 56 side=1 57 canrecruit=yes 58 team_name=elves 59 user_team_name=_"Rebels" 60 controller=human 61 {GOLD 350 250 100} 62 shroud=yes 63 {FLAG_VARIANT long} 64 [/side] 65 66 [side] 67 id=Geldar 68 name= _ "Geldar" 69 type=Dwarvish Lord 70 side=2 71 canrecruit=yes 72 recruit=Dwarvish Fighter 73 gold=150 74 team_name=elves 75 user_team_name=_"Rebels" 76 {FLAG_VARIANT knalgan} 77 [/side] 78 79 [side] 80 id=Brugg 81 name= _ "Brugg" 82 type=Troll Warrior 83 side=3 84 canrecruit=yes 85 recruit=Orcish Warrior,Wolf Rider,Troll,Troll Whelp,Troll Rocklobber,Goblin Pillager,Orcish Assassin,Orcish Crossbowman 86 {GOLD 290 350 410} 87 [ai] 88 {ATTACK_DEPTH 4 5 5} 89 [/ai] 90 team_name=evil 91 user_team_name=_"Evil" 92 [/side] 93 94 [side] 95 id=Lionel 96 name= _ "Lionel" 97 type=Death Knight 98 side=4 99 canrecruit=yes 100 recruit=Skeleton,Ghost,Revenant,Skeleton Archer,Bone Shooter 101 {GOLD 240 300 360} 102 [ai] 103 {ATTACK_DEPTH 4 5 5} 104 [/ai] 105 team_name=evil 106 user_team_name=_"Evil" 107 {FLAG_VARIANT undead} 108 [/side] 109 110 {PLACE_IMAGE scenery/signpost.png 27 22} 111 {PLACE_IMAGE scenery/rubble.png 28 25} 112 {PLACE_IMAGE scenery/rubble.png 26 24} 113 {PLACE_IMAGE scenery/rubble.png 27 24} 114 115 {PLACE_IMAGE scenery/whirlpool.png 13 22} 116 {PLACE_IMAGE scenery/whirlpool.png 7 23} 117 118 [event] 119 name=prestart 120 {NEED_DELFADOR placement=leader} 121 {NEED_KALENZ placement=leader} 122 [allow_recruit] 123 side=1 124 type=Dwarvish Fighter,Dwarvish Thunderer 125 [/allow_recruit] 126 [disallow_recruit] 127 side=1 128 type=Dwarvish Guardsman 129 [/disallow_recruit] 130 [/event] 131 132 [event] 133 name=start 134 [message] 135 speaker=Delfador 136 message= _ "We are now in the main dwarvish caverns." 137 [/message] 138 [message] 139 speaker=Delfador 140 message= _ "Underground roads once led to the different parts of the complex, but now everything lies in ruins." 141 [/message] 142 [/event] 143 144 [event] 145 name=moveto 146 [filter] 147 x=27 148 y=22 149 side=1 150 [/filter] 151 [message] 152 speaker=narrator 153 image="scenery/signpost.png" 154 message= _ "The sign says ‘Guest quarters’." 155 [/message] 156 [allow_undo][/allow_undo] 157 [/event] 158 159 [event] 160 name=moveto 161 [filter] 162 x=17 163 y=24 164 side=1 165 [/filter] 166 167 {NAMED_LOYAL_UNIT 2 (Dwarvish Fighter) 17 23 (Burlin) ( _ "Burlin")} 168 169 [message] 170 speaker=Burlin 171 message= _ "My uncle’s family drowned after the orcs flooded that cavern..." 172 [/message] 173 [/event] 174 175 [event] 176 name=moveto 177 [filter] 178 x=13 179 y=22 180 side=1 181 race=merman 182 [/filter] 183 [message] 184 speaker=narrator 185 image="wesnoth-icon.png" 186 message= _ "A hidden whirlpool sucks you down into a subterranean current!" 187 [/message] 188 {PLACE_IMAGE items/bones.png 2 22} 189 {PLACE_IMAGE items/bones.png 4 21} 190 [unit] 191 id=Ulfdain 192 name= _ "Ulfdain" 193 type=Dwarvish Ulfserker 194 side=2 195 x,y=2,21 196 random_traits=no 197 198 [modifications] 199 {TRAIT_LOYAL} 200 {TRAIT_RESILIENT} 201 [/modifications] 202 {IS_LOYAL} 203 [/unit] 204 [teleport] 205 [filter] 206 x,y=$x1,$y1 207 [/filter] 208 x,y=6,23 209 [/teleport] 210 [scroll_to] 211 x,y=6,23 212 [/scroll_to] 213 [remove_shroud] 214 side=1 215 x=2-4 216 y=21-24 217 [/remove_shroud] 218 [redraw] 219 side=1 220 [/redraw] 221 [message] 222 speaker=Ulfdain 223 message= _ "What’s this, more trolls? Aye, come to papa, little whelps." 224 [/message] 225 [message] 226 x,y=6,23 227 message= _ "Hello? Who is here?" 228 [/message] 229 [message] 230 speaker=Ulfdain 231 message= _ "What in the world are you? Some sort o’ monster’s appendage set tae lure me down to be yer watery meal, eh?" 232 [/message] 233 [message] 234 x,y=6,23 235 # po: Comic relief 236 male_message= _ "I am a merman, dweller of the vast oceans! Do not ask me what I am doing in a cave. My lord can be somewhat eccentric. We are fighting at the side of your fellow cave-dwellers to drive back the orcs and trolls." 237 # po: Comic relief 238 female_message= _ "I am a mermaid, dweller of the vast oceans! Do not ask me what I am doing in a cave. My lord can be somewhat eccentric. We are fighting at the side of your fellow cave-dwellers to drive back the orcs and trolls." 239 [/message] 240 [message] 241 speaker=Ulfdain 242 [show_if] 243 [have_unit] 244 x,y=6,23 245 gender=male 246 [/have_unit] 247 [/show_if] 248 # wmllint: directory spelling mer-mahn 249 message= _ "(sniffs) A mer-mahn. Never heard of it. I doubt yer as tasty as my friends here." 250 [/message] 251 [message] 252 speaker=Ulfdain 253 [show_if] 254 [have_unit] 255 x,y=6,23 256 gender=female 257 [/have_unit] 258 [/show_if] 259 # wmllint: directory spelling mer-mead 260 message= _ "(sniffs) A mer-mead. Never heard of it. I doubt yer as tasty as my friends here." 261 [/message] 262 [message] 263 x,y=6,23 264 message= _ "Why are you down here? Are those... troll carcasses?" 265 [/message] 266 [message] 267 speaker=Ulfdain 268 message= _ "I was brawlin’ with these wee pups here defending my outpost. We got a little carried away, fell in the water, and were sucked down intae this grotto." 269 [/message] 270 [message] 271 x,y=6,23 272 message= _ "How long have you been here?" 273 [/message] 274 [message] 275 speaker=Ulfdain 276 message= _ "Och, several days at least. The troll meat is starting to stink, and I’m a little ravenous, if ye catch my drift. Canna’ swim past that current, and no’ for lack o’ tryin’." 277 [/message] 278 [message] 279 x,y=6,23 280 message= _ "I will rescue you. Hold onto my shoulders, sir dwarf." 281 [/message] 282 [message] 283 speaker=Ulfdain 284 message= _ "Thanks. Nae need to wait around here. Let’s go." 285 [/message] 286 [store_unit] 287 [filter] 288 id=Ulfdain 289 [/filter] 290 291 kill=yes 292 variable=stored_Ulfdain 293 [/store_unit] 294 [/event] 295 296 [event] 297 name=moveto 298 [filter] 299 x=7 300 y=23 301 side=1 302 race=merman 303 [/filter] 304 [message] 305 speaker=narrator 306 image="wesnoth-icon.png" 307 message= _ "Better prepared this time to fight the current, you eventually manage to emerge from the whirlpool." 308 [/message] 309 [teleport] 310 [filter] 311 id=$unit.id 312 [/filter] 313 x,y=13,22 314 [/teleport] 315 {VARIABLE stored_Ulfdain.x 14} 316 {VARIABLE stored_Ulfdain.y 22} 317 {VARIABLE stored_Ulfdain.side 1} 318 [unstore_unit] 319 variable=stored_Ulfdain 320 find_vacant=yes 321 [/unstore_unit] 322 [place_shroud] 323 side=1 324 x= 2-7 , 7-8 325 y=21-24,22-24 326 [/place_shroud] 327 [message] 328 speaker=Ulfdain 329 [show_if] 330 [have_unit] 331 id=$unit.id 332 gender=male 333 [/have_unit] 334 [/show_if] 335 message= _ "Well, mer-mahn, we made it. I will fight for yer lord. He sounds like a brave fellow." 336 [/message] 337 [message] 338 speaker=Ulfdain 339 [show_if] 340 [have_unit] 341 id=$unit.id 342 gender=female 343 [/have_unit] 344 [/show_if] 345 message= _ "Well, mer-mead, we made it. I will fight for yer lord. He sounds like a brave fellow." 346 [/message] 347 {CLEAR_VARIABLE stored_Ulfdain} 348 [/event] 349 350 [event] 351 name=moveto 352 [filter] 353 x=22-25 354 y=1-23 355 side=1 356 [/filter] 357 358 [sound] 359 name=thunderstick.ogg 360 [/sound] 361 [delay] 362 time=200 363 [/delay] 364 365 # This dialog has several purposes: 366 # 1. Clue to the player that he's exploring in the right direction 367 # 2. Clue to the player to hurry up, in order to save Geldar 368 # 3. An excuse to play the thunderstick sound :) 369 [message] 370 speaker=Konrad 371 # We don't use {WHISPER} since it adds parentheses and two pairs of parentheses would be confusing. 372 message=_ "<i>(motions for silence)</i> 373 374<small>What was that raucous noise?</small>" 375 [/message] 376 [message] 377 speaker=Delfador 378 {DELFADOR_MENTORING} 379 message=_ "That can only have been a Dwarven thunderstick, Konrad. Our Knalgan allies must be in the thick of battle." 380 [/message] 381 # Let $unit speak too, so it's clear where the battle is. 382 [if] 383 [have_unit] 384 id=$unit.id 385 race=dwarf 386 [/have_unit] 387 [then] 388 [message] 389 speaker=unit 390 # po: speaker is a dwarf 391 message=_ "That’ll be Lord Geldar’s clan, my lords. Their scouting patrols should’ve found us by now." 392 [/message] 393 [/then] 394 [else] 395 [message] 396 speaker=unit 397 # po: The unit is saying that a battle between the player's dwarven allies and their enemies is not far, but still under the shroud. Translate freely. 398 male_message=_ "We must hurry to assist them, my lords." 399 # po: The unit is saying that a battle between the player's dwarven allies and their enemies is not far, but still under the shroud. Translate freely. 400 female_message=_ "female^We must hurry to assist them, my lords." 401 [/message] 402 [/else] 403 [/if] 404 [allow_undo][/allow_undo] 405 [/event] 406 407 [event] 408 name=moveto 409 [filter] 410 x=11-19 411 y=10-16 412 side=1 413 [/filter] 414 [remove_shroud] 415 side=1 416 x=14-16,12-18,10-19,12-18 417 y=10, 11, 12-14,15 418 [/remove_shroud] 419 [redraw] 420 [/redraw] 421 [scroll_to] 422 x,y=15,13 423 [/scroll_to] 424 [delay] 425 time=1500 426 [/delay] 427 [message] 428 speaker=narrator 429 image="wesnoth-icon.png" 430 message= _ "You emerge into a vast natural cathedral, the walls arching higher than you can see in the darkness. Stretching across the gallery is a great chasm, around which the cave floor appears to have been completely worn smooth. This was once the center of a bustling dwarvish empire, the remnants of which have since been driven into the upper caves of Knalga by the forces of darkness." 431 [/message] 432 [/event] 433 434 [event] 435 name=moveto 436 [filter] 437 x=20-30 438 y=18-30 439 side=1 440 [/filter] 441 [message] 442 speaker=unit 443 # TODO: mention some sounds coming from the cave-in? (Ostensibly, 444 # the sounds of the skeletons working to open the passage.) 445 message= _ "There is a big cave-in south of here." 446 [/message] 447 [/event] 448 [event] 449 name=moveto 450 [filter] 451 x=20-30 452 y=24-25 453 side=1 454 [/filter] 455 {QUAKE "cave-in.ogg"} 456 [message] 457 speaker=unit 458 message= _ "The rocks are moving!" 459 [/message] 460 [terrain] 461 x=28 462 y=26 463 terrain=Uu 464 [/terrain] 465 466 {PLACE_IMAGE scenery/rubble.png 28 26} 467 468 [terrain] 469 x=26 470 y=25 471 terrain=Uu 472 [/terrain] 473 474 {PLACE_IMAGE scenery/rubble.png 26 25} 475 476 #just in case that the player waits until the other end is 477 # open to catch him alone 478 [unit] 479#ifdef HARD 480 type=Revenant 481#else 482 type=Skeleton 483#endif 484 side=4 485 x=24 486 y=28 487 [modifications] 488 {TRAIT_LOYAL} 489 [/modifications] 490 {IS_LOYAL} 491 [/unit] 492 [unit] 493#ifdef EASY 494 type=Walking Corpse 495#endif 496#ifdef NORMAL 497 type=Skeleton 498#endif 499#ifdef HARD 500 type=Revenant 501#endif 502 side=4 503 x=24 504 y=28 505 [modifications] 506 {TRAIT_LOYAL} 507 [/modifications] 508 {IS_LOYAL} 509 [/unit] 510 [/event] 511 512 [event] 513 name=sighted 514 [filter] 515 side=2 516 [/filter] 517 [filter_second] 518 side=1 519 [/filter_second] 520 [message] 521 speaker=second_unit 522 message= _ "Who goes there? Friend or foe?" 523 [/message] 524 [message] 525 speaker=unit 526 message= _ "We are desperately trying to rid these tunnels of orcs and trolls! Please help us in our quest." 527 [/message] 528#ifdef EASY 529 {NARRATOR_MESSAGE (_ "The dwarves are your allies in this scenario. If you help their leader survive the battle, he may provide you with useful information.")} 530#endif 531 [/event] 532 533 [event] 534 name=sighted 535 [filter] 536 side=3 537 [/filter] 538 [filter_second] 539 side=1 540 [/filter_second] 541 [message] 542 speaker=second_unit 543 message= _ "Vile creature! Let us rid these tunnels of its kind!" 544 [/message] 545 [/event] 546 547 [event] 548 name=sighted 549 [filter] 550 side=4 551 [/filter] 552 [filter_second] 553 side=1 554 [/filter_second] 555 [message] 556 speaker=second_unit 557 message= _ "I did not know that the undead were in these pits!" 558 [/message] 559 [/event] 560 561 [event] 562 name=sighted 563 [filter] 564 id=Lionel 565 [/filter] 566 [filter_second] 567 side=1 568 [/filter_second] 569 [message] 570 speaker=second_unit 571 message= _ "Who is this foul enemy that we fight?" 572 [/message] 573 [message] 574 speaker=Lionel 575 message= _ "I am Lionel. I am the Lost General. I will avenge myself upon you all!" 576 [/message] 577 [message] 578 speaker=Konrad 579 message= _ "Avenge? What have we done to you that you must avenge?" 580 [/message] 581 [message] 582 speaker=Delfador 583 message= _ "Lionel? A General? I remember that name..." 584 [/message] 585 [message] 586 speaker=Lionel 587 message= _ "Remember me, do you? Aye. I was the king’s finest general, sent down to these pits to retrieve the Sceptre. But the orcs trapped me and my men in this cavern, to starve to death. The dwarves were no help, leaving me to die. Now I will get revenge on you all!" 588 [/message] 589 590#define MORE_UNITS 591 {LOYAL_UNIT 4 (Revenant) 23 28} 592#enddef 593 594 {MORE_UNITS} 595 {MORE_UNITS} 596 {MORE_UNITS} 597 [/event] 598 599 [event] 600 name=last breath 601 [filter] 602 id=Lionel 603 [/filter] 604 [message] 605 speaker=Lionel 606 message= _ "Argh! I am vanquished! But at least by worthy foes, instead of those disgusting orcs." 607 [/message] 608 [message] 609 speaker=Delfador 610 message= _ "Rest in peace, Lionel. The poor, lost general." 611 [/message] 612 [message] 613 speaker=Lionel 614 message= _ "I am destroyed, but my mission must be completed. Though you are foes, you are at least worthy ones, so I will tell you that the Sceptre is east from here, the way you have come from, deep in the caverns. I made the mistake of not asking for directions when I became lost. May you have better fortune in your quest than I did!" 615 [/message] 616 [/event] 617 618 [event] 619 name=turn 20 620 621 {QUAKE "rumble.ogg"} 622 {QUAKE "rumble.ogg"} 623 {QUAKE "rumble.ogg"} 624 {QUAKE "rumble.ogg"} 625 [message] 626 speaker=narrator 627 image="wesnoth-icon.png" 628 message= _ "The earth shakes." 629 [/message] 630 # just to open another exit to the undeads 631 [terrain] 632 x=15 633 y=26 634 terrain=Uu 635 [/terrain] 636 637 {PLACE_IMAGE scenery/rubble.png 15 26} 638 639 [terrain] 640 x=16 641 y=26 642 terrain=Uu 643 [/terrain] 644 645 {PLACE_IMAGE scenery/rubble.png 16 26} 646 647 {LOYAL_UNIT 4 (Skeleton) 23 28} 648 [/event] 649 650 [event] 651 name=enemies defeated 652 653 # 654 655 # We don't know if Geldar will be alive at this point, 656 # but if he is, then he gives you guardsmen. 657 658 # 659 660 [if] 661 [have_unit] 662 id=Geldar 663 [/have_unit] 664 [then] 665 [message] 666 speaker=Geldar 667 message= _ "Tall ones, I thank ye. Life has been nothing but a struggle recently. We are the last outpost o’ civilization in these caves." 668 [/message] 669 670 [message] 671 speaker=Delfador 672 message= _ "We have fared little better ourselves, friend. We have fled the Aethenwood last spring and come to these caves to seek the Sceptre of Fire. With the Sceptre, we hope to put the war to an end." 673 [/message] 674 675 [message] 676 speaker=Geldar 677 message= _ "The Sceptre? Ah, the Sceptre ye seek. You surface dwellers are ambitious. Beyond my citadel the spawn of the darkness hold complete sway. You’ll no’ survive without assistance." 678 [/message] 679 680 [message] 681 speaker=Konrad 682 # po: Relgorn is the dwarvish leader from the previous scenario 683 message= _ "Lord Relgorn’s troops are fighting at our side, sir." 684 [/message] 685 686 [message] 687 speaker=Geldar 688 message= _ "And fine troops they are, Prince, but no dwarf can match a guardsman’s resolute defense. Please accept the service o’ my clan’s defenders, to protect you and your quest." 689 [/message] 690 691 [message] 692 speaker=Konrad 693 message= _ "Your boon is most welcome, sir dwarf. Keeping the Sceptre out of the hands of evil beasts is a common goal for us, and we will prevail with your help." 694 [/message] 695 696 [message] 697 speaker=narrator 698 image="wesnoth-icon.png" 699 message= _ "You may now recruit the legendary dwarvish guardsmen!" 700 [/message] 701 [allow_recruit] 702 side=1 703 type=Dwarvish Guardsman 704 [/allow_recruit] 705 706 [message] 707 speaker=Geldar 708 message= _ "Northeast o’ my keep, Delfador, the tunnels converge towards the deepest reaches o’ the underground kingdom. The Sceptre can only be there." 709 [/message] 710 [/then] 711 [else] 712 [message] 713 speaker=Delfador 714 message= _ "These caves are vast. If we are to find the Sceptre of Fire we must hurry. We are not alone, and now that our foes have smelled our blood it will be worse." 715 [/message] 716 717 [message] 718 speaker=Konrad 719 message= _ "How will we make it?" 720 [/message] 721 722 [message] 723 speaker=Delfador 724 message= _ "I do not know, Konrad, but I can sense our path only leads us downward. We will continue to the northeast, to the deepest depths of these caverns." 725 [/message] 726 [/else] 727 [/if] 728 729 [endlevel] 730 result=victory 731 bonus=yes 732 {NEW_GOLD_CARRYOVER 40} 733 [/endlevel] 734 [/event] 735 736 {campaigns/Heir_To_The_Throne/utils/deaths.cfg} 737[/scenario] 738 739#undef MORE_UNITS 740