DiD S10: updated gameplay

This commit is contained in:
nemaara 2019-01-30 21:22:50 -05:00
parent 54987a15ce
commit 0d35d3a820

View file

@ -4,15 +4,15 @@
id=10_Alone_at_Last
name= _ "Alone at Last"
map_data="{campaigns/Descent_Into_Darkness/maps/10_Alone_at_Last.map}"
turns=24
{TURNS 34 30 26}
next_scenario=11_Descent_into_Darkness
victory_when_enemies_defeated=no
{DEFAULT_SCHEDULE_DUSK}
{SCENARIO_MUSIC breaking_the_chains.ogg}
{EXTRA_SCENARIO_MUSIC vengeful.ogg}
{EXTRA_SCENARIO_MUSIC battle.ogg}
{SCENARIO_MUSIC knolls.ogg}
{EXTRA_SCENARIO_MUSIC siege_of_laurelmor.ogg}
{EXTRA_SCENARIO_MUSIC nunc_dimittis.ogg}
[story]
[part]
@ -20,7 +20,7 @@
{STORYTXT_BACKGROUND travel.jpg}
[/part]
[part]
story= _ "Silence permeates the darkness, broken only by the irregular dripping of water from the musty cave walls. Malin looks toward Darken Volk occasionally, expecting something from the elder necromancer, but is met with stone-cold dispassion. There is no acknowledgement... no word of gratitude — only a sense of unease that has as much to do with the book as it does with Darken Volk."
story= _ "Silence permeates the darkness, broken only by the irregular dripping of water from the musty cave walls. Malin looks toward Darken Volk occasionally, expecting something from the elder necromancer, but is met with stone-cold dispassion. There is no acknowledgment... no word of gratitude — only a sense of unease that has as much to do with the book as it does with Darken Volk."
{STORYTXT_BACKGROUND travel.jpg}
[/part]
[part]
@ -36,10 +36,12 @@
side=1
controller=human
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept DiD
gold=200
{GOLD 260 220 180}
team_name=good
user_team_name= _ "Malin Keshar"
{FLAG_VARIANT undead}
village_gold=2
village_support=1
# wmllint: recognize Malin Keshar
{CHARACTER_STATS_MALIN_KESHAR}
@ -53,7 +55,8 @@
side=2
controller=ai
recruit=Blood Bat,Ghost,Wraith,Necrophage,Skeleton Archer,Bone Shooter,Skeleton,Revenant,Deathblade,Dark Adept DiD,Dark Sorcerer DiD
{GOLD 300 340 380}
{GOLD 200 250 300}
{INCOME 16 20 24}
team_name=bad
user_team_name= _ "Darken Volk"
no_leader=yes
@ -144,20 +147,6 @@
[/ai]
[/side]
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Blood Bat) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Wraith) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Necrophage) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Bone Shooter) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Revenant) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Deathblade) 2}
{LIMIT_CONTEMPORANEOUS_RECRUITS 2 (Dark Sorcerer DiD) 1}
#ifdef EASY
{LIMIT_CONTEMPORANEOUS_RECRUITS 3 Paladin 2}
#else
{LIMIT_CONTEMPORANEOUS_RECRUITS 3 Paladin 3}
#endif
[event]
name=prestart
@ -217,8 +206,8 @@
[event]
name=start
{MOVE_UNIT (id=Malin Keshar) 7 22}
{MOVE_UNIT (id=Darken Volk) 5 24}
{MOVE_UNIT (id=Malin Keshar) 6 14}
{MOVE_UNIT (id=Darken Volk) 9 15}
[message]
speaker=Malin Keshar
@ -230,10 +219,6 @@
message= _ "We? <i>We</i> do nothing."
[/message]
{MOVE_UNIT (id=Darken Volk) 7 21}
{MODIFY_UNIT (id=Darken Volk) facing se}
[if]
[variable]
name=hasBook
@ -241,6 +226,9 @@
[/variable]
[then]
# Malin has the book
{MOVE_UNIT (id=Darken Volk) 7 14}
[message]
speaker=Darken Volk
message= _ "Now give the book to me."
@ -251,6 +239,8 @@
image=wesnoth-icon.png
message=_ "Darken Volk grabs the mysterious book from Malins hands and stalks away."
[/message]
{MODIFY_UNIT (id=Darken Volk) facing se}
[/then]
[else]
# DV already has book
@ -270,7 +260,8 @@
{MODIFY_UNIT (id=Darken Volk) facing ne}
{MOVE_UNIT (id=Darken Volk) 19 19}
{MOVE_UNIT (id=Darken Volk) 9 15}
{MOVE_UNIT (id=Darken Volk) 11 15}
[delay]
time=500
@ -281,7 +272,8 @@
message= _ "You cant just leave me here!"
[/message]
{MOVE_UNIT (id=Malin Keshar) 9 20}
{MOVE_UNIT (id=Malin Keshar) 7 15}
{MOVE_UNIT (id=Malin Keshar) 8 14}
{CREATE_ADVISOR}
@ -305,11 +297,15 @@
message= _ "Wait!"
[/message]
{MOVE_UNIT (id=Darken Volk) 12 15}
[message]
speaker=Malin Keshar
message= _ "You used me! You knew the people of Parthyn would cast me out — you knew I had nobody else to turn to... you knew I would do whatever you said..."
[/message]
{MOVE_UNIT (id=Darken Volk) 13 16}
[message]
speaker=Malin Keshar
message= _ "... have I really just been a pawn all this time?"
@ -320,11 +316,16 @@
message= _ "Why dont you say anything?! Dont you care at all?!"
[/message]
{MOVE_UNIT (id=Darken Volk) 16 17}
[message]
speaker=Malin Keshar
message= _ "... you cant abandon me too, not the way they did... father, Drogan, Dela... I have nothing left..."
[/message]
{MOVE_UNIT (id=Darken Volk) 17 17}
{MOVE_UNIT (id=Darken Volk) 20 18}
[message]
role=advisor
message= _ "He will not help you, but perhaps the book might. You were the one who helped him retrieve it; it is rightfully yours!"
@ -340,35 +341,55 @@
message= _ "Darken Volk! That book is as much mine as it is yours! Give it back, or I will have to take it by force!"
[/message]
{MODIFY_UNIT (id=Darken Volk) facing sw}
[delay]
time=1000
[/delay]
{MODIFY_UNIT (id=Darken Volk) facing nw}
[delay]
time=1000
[/delay]
[message]
speaker=Darken Volk
message= _ "You are even more of a fool than I thought."
[/message]
{MOVE_UNIT (id=Malin Keshar) 5 17}
{MODIFY_UNIT (id=Malin Keshar) facing ne}
{MOVE_UNIT (id=Darken Volk) 26 10}
{MOVE_UNIT (id=Darken Volk) 29 14}
# Make camp
[terrain]
x,y=26,10
x,y=29,14
radius=1
terrain=Ce
terrain=Cer
[/terrain]
[terrain]
x,y=26,10
terrain=Ke
x,y=29,14
terrain=Ker
[/terrain]
[redraw][/redraw]
{MODIFY_UNIT (id=Darken Volk) facing sw}
# Redraw to see the castle already when displaying the objectives.
{MOVE_UNIT (id=Malin Keshar) 5 13}
[terrain]
x,y=5,13
radius=1
terrain=Cer
[/terrain]
[terrain]
x,y=5,13
terrain=Ker
[/terrain]
[redraw][/redraw]
{MODIFY_UNIT (id=Malin Keshar) facing ne}
{VARIABLE dela_arrived 0}
[/event]
# This helps prevent Darken from getting himself killed easily by preventing
@ -480,7 +501,7 @@
# Paladins!
[event]
name=turn 8
name=turn 6
# Fake move the paladin in, set up a camp, have some
# dialog, and give him another paladin and a mage of light
@ -488,15 +509,15 @@
[move_unit_fake]
type=Paladin
x=34,33
y=27,26
x=40,40,39,38,37
y=23,22,22,21,21
side=3
[/move_unit_fake]
[unit]
type=Paladin
side=3
x,y=33,26
x,y=37,21
id=Sir Cadaeus
name= _ "Sir Cadaeus"
canrecruit=yes
@ -504,19 +525,18 @@
facing=nw
[/unit]
{GENERIC_UNIT 3 (Paladin) 34 25} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 33 27} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 32 25} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 38 20} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 38 21} {FACING nw}
# Make camp
[terrain]
x,y=33,26
x,y=37,21
radius=1
terrain=Ce
[/terrain]
[terrain]
x,y=33,26
x,y=37,21
terrain=Ke
[/terrain]
@ -524,8 +544,8 @@
[modify_side]
side=3
{QUANTITY gold 100 150 200}
income=20
{QUANTITY gold 50 75 100}
{QUANTITY income 12 15 18}
hidden=no
[/modify_side]
@ -542,69 +562,24 @@
# Dela joins the party
[event]
name=side 4 turn 11
name=side 4 turn 13
# Find a good location with no adjacent enemies for Dela to set up camp at
[store_locations]
x=20-25
y=2-3
[not]
[filter_adjacent_location]
[filter][/filter]
[/filter_adjacent_location]
[/not]
variable=possible_camp_locs
[/store_locations]
[if]
[variable]
name=possible_camp_locs.length
greater_than=0
[/variable]
# If such locations were found, pick one randomly...
[then]
{VARIABLE_OP camp_loc_i rand "0..$($possible_camp_locs.length - 1)"}
[/then]
# ...but if not, then just pick any non-occupied location
[else]
[store_locations]
x=20-25
y=2-3
[not]
[filter][/filter]
[/not]
variable=possible_camp_locs
[/store_locations]
{VARIABLE_OP camp_loc_i rand "0..$($possible_camp_locs.length - 1)"}
[/else]
[/if]
# Fake move Dela in, set up camp, have some dialog.
# She doesn't bring anyone with her.
{INCIDENTAL_MUSIC legends_of_the_north.ogg}
{INCIDENTAL_MUSIC northern_mountains.ogg}
[move_unit_fake]
type=Frontier Baroness
x=23,$possible_camp_locs[$camp_loc_i].x
y=1,$possible_camp_locs[$camp_loc_i].y
x=41,40,39,38,37,36
y= 6, 6, 6, 6, 7, 7
side=4
[/move_unit_fake]
[unit]
side=4
x=$possible_camp_locs[$camp_loc_i].x
y=$possible_camp_locs[$camp_loc_i].y
x,y=36,7
animate=no
moves=0
facing=sw # We don't know where she'll come in, but sw seems a good general facing
facing=sw
# wmllint: recognize Dela Keshar
{CHARACTER_STATS_DELA_KESHAR}
@ -612,26 +587,22 @@
# Make camp
[terrain]
x=$possible_camp_locs[$camp_loc_i].x
y=$possible_camp_locs[$camp_loc_i].y
x,y=36,7
radius=1
terrain=Ce
[/terrain]
[terrain]
x=$possible_camp_locs[$camp_loc_i].x
y=$possible_camp_locs[$camp_loc_i].y
x,y=36,7
terrain=Ke
[/terrain]
[redraw][/redraw]
{CLEAR_VARIABLE possible_camp_locs,camp_loc_i,camp_hexes}
[modify_side]
side=4
{QUANTITY gold 150 200 250}
income=20
{QUANTITY gold 160 200 240}
{QUANTITY income 16 20 24}
hidden=no
[/modify_side]
@ -649,9 +620,10 @@
speaker=Dela Keshar
message= _ "Did you not think I would keep my word? Attack him, men! Do not let the traitor escape!"
[/message]
{VARIABLE dela_arrived 1}
[/event]
# in case you do manage to defeat Dela
[event]
name=last breath
[filter]
@ -667,6 +639,58 @@
speaker=Malin Keshar
message= _ "You brought this on yourself..."
[/message]
[if]
[not]
[have_unit]
id=Sir Cadaeus,Darken Volk
[/have_unit]
[/not]
[then]
[kill]
id=Dela Keshar
animate=yes
[/kill]
[fire_event]
name=alternate victory
[/fire_event]
[/then]
[/if]
[/event]
[event]
name=last breath
[filter]
id=Sir Cadaeus
[/filter]
[message]
speaker=Sir Cadaeus
message= _ "For the Light I fall..."
[/message]
[if]
[not]
[have_unit]
id=Dela Keshar,Darken Volk
[/have_unit]
[/not]
[and]
[variable]
name=dela_arrived
numerical_equals=1
[/variable]
[/and]
[then]
[kill]
id=Sir Cadaeus
animate=yes
[/kill]
[fire_event]
name=alternate victory
[/fire_event]
[/then]
[/if]
[/event]
[event]
@ -690,6 +714,11 @@
animate=yes
[/kill]
{PLACE_IMAGE items/book5.png $x1 $y1}
{VARIABLE bookX $x1}
{VARIABLE bookY $y1}
[message]
speaker=Malin Keshar
message= _ "I have already been cursed many times over. One more time is nothing..."
@ -704,7 +733,7 @@
side=1
[objective]
condition=win
description= _ "Bring the book back to Malins castle"
description= _ "Bring the book back to Malins camp"
[/objective]
[objective]
condition=lose
@ -763,10 +792,24 @@
image="misc/book-icon.png"
[/unit_overlay]
[message]
speaker=unit
message= _ "I have the book!"
[/message]
[if]
[have_unit]
x,y=$x1,$y1
id=Malin Keshar
[/have_unit]
[then]
[message]
speaker=Malin Keshar
message= _ "I have the book."
[/message]
[/then]
[else]
[message]
speaker=Malin Keshar
message= _ "My minions have captured the book."
[/message]
[/else]
[/if]
{VARIABLE bookX -1}
{VARIABLE bookY -1}
@ -780,12 +823,36 @@
x=$bookX
y=$bookY
side=1
type=Ghost,Wraith,Spectre,Shadow,Nightgaunt,Vampire Bat,Blood Bat,Dread Bat
type=Ghost,Wraith,Spectre,Shadow,Nightgaunt
[/filter]
[message]
speaker=Malin Keshar
message= _ "I am sorry, master, but this book is too heavy for me."
[/message]
[allow_undo][/allow_undo]
[/event]
[event]
name=moveto
first_time_only=no
[filter]
x=$bookX
y=$bookY
side=1
type=Vampire Bat,Blood Bat,Dread Bat
[/filter]
[message]
speaker=unit
message= _ "I am sorry, master, but this book is too heavy for me."
# po: this is just a squeaking sound a bat might make
message= _ "Neep! Neep!"
[/message]
[message]
speaker=Malin Keshar
message= _ "Its impossible for a bat to carry a book that heavy."
[/message]
[allow_undo][/allow_undo]
@ -797,19 +864,19 @@
[unit]
type=Paladin
side=3
x,y=33,26
x,y=37,21
id=Telemon
name= _ "Telemon the Slayer"
canrecruit=yes
animate=yes
facing=nw
[/unit]
{GENERIC_UNIT 3 (Mage of Light) 34 25} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 33 25} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 32 25} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 32 26} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 33 27} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 34 26} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 36 20} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 37 20} {FACING nw}
{GENERIC_UNIT 3 (Paladin) 36 21} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 37 22} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 38 20} {FACING nw}
{GENERIC_UNIT 3 (Mage of Light) 38 21} {FACING nw}
[message]
speaker=Telemon
@ -821,7 +888,7 @@
[/message]
[/event]
# Victory Condition
# Victory Conditions
[event]
name=moveto
[filter]
@ -830,8 +897,8 @@
[filter_location]
terrain=C*,K*
[and]
x,y=5,17
radius=2
x,y=5,13
radius=1
[/and]
[/filter_location]
[/filter]
@ -841,7 +908,7 @@
image="misc/book-icon.png"
[/remove_unit_overlay]
{MOVE_UNIT (id=Malin Keshar) 1 12}
{MOVE_UNIT (id=Malin Keshar) 1 8}
[message]
speaker=Malin Keshar
@ -870,10 +937,35 @@
[/endlevel]
[/event]
[event]
name=alternate victory
[message]
speaker=Malin Keshar
message= _ "So, they are all dead. The paladin, Darken Volk, Dela..."
[/message]
[message]
speaker=Malin Keshar
message= _ "All that I have fought for, everyone who I have tried to protect, everything is gone. Everyone is dead. Is this truly all that I am left with?"
[/message]
[message]
speaker=Malin Keshar
message= _ "... nothing at all..."
[/message]
[endlevel]
result=victory
bonus=yes
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/event]
[event]
name=victory
{CLEAR_VARIABLE bookX,bookY}
{CLEAR_VARIABLE bookX,bookY,dela_arrived}
[/event]
{HERODEATH_MALIN}