TSG S8b: gameplay revision

This commit is contained in:
nemaara 2018-11-03 15:22:56 -04:00 committed by pentarctagon
parent 97b6ccb67d
commit 964e3258a1

View file

@ -5,9 +5,10 @@
name= _ "The Tides of War"
next_scenario=09b_Bandit_Epilogue
{SCENARIO_MUSIC knalgan_theme.ogg}
{EXTRA_SCENARIO_MUSIC battle.ogg}
{SCENARIO_MUSIC battle.ogg}
{EXTRA_SCENARIO_MUSIC the_city_falls.ogg}
{EXTRA_SCENARIO_MUSIC siege_of_laurelmor.ogg}
{EXTRA_SCENARIO_MUSIC vengeful.ogg}
map_data="{campaigns/The_South_Guard/maps/08b_The_Tides_of_War.map}"
@ -15,10 +16,10 @@
#enddef
{campaigns/The_South_Guard/utils/sg_deaths.cfg}
{DEFAULT_SCHEDULE_DAWN}
{DEFAULT_SCHEDULE_SECOND_WATCH}
victory_when_enemies_defeated=yes
turns=60
turns=-1
{TSG_BIGMAP {JOURNEY_08B_NEW} }
@ -37,7 +38,7 @@
controller=human
{CUSTOM_SG_FLAG}
gold=200
{GOLD 225 200 175}
{INCOME 4 2 0}
fog=no
@ -54,13 +55,14 @@
type=Ancient Lich
id="Mal M'Brin"
name= _ "Mal MBrin"
profile=portraits/mal-mbrin.png
team_name=The_Undead_Hordes
user_team_name=_"Undead"
controller=ai
{GOLD 400 700 900}
{INCOME 20 30 40}
{GOLD 200 250 300}
{INCOME 20 25 30}
canrecruit=yes
[ai]
@ -74,12 +76,44 @@
value=6.0
[/goal]
[/ai]
recruit=Wraith,Shadow,Revenant,Draug,Bone Shooter,Blood Bat,Chocobone,Dark Sorcerer,Necrophage
recruit=Revenant,Draug,Bone Shooter,Chocobone,Dark Sorcerer
{FLAG_VARIANT undead}
[/side]
{STARTING_VILLAGES 2 5}
[side]
side=3
type=Lich
id="Mal Tera"
name= _ "Mal Tera"
team_name=The_Undead_Hordes
user_team_name=_"Undead"
controller=ai
{GOLD 125 150 175}
{INCOME 12 15 18}
canrecruit=yes
[ai]
recruitment_pattern=scout,fighter,fighter,archer,scout,fighter,archer,mixed fighter
aggression=1.0
caution=0.0
[goal]
[criteria]
id=Deoran
[/criteria]
value=6.0
[/goal]
[/ai]
recruit=Blood Bat,Soulless,Necrophage
{FLAG_VARIANT undead}
[/side]
{STARTING_VILLAGES 3 5}
[event]
name=prestart
@ -135,83 +169,97 @@
[value]
turn=6
{MODIFY_TERRAIN Ce 30 17}
{MODIFY_TERRAIN Ce 24 12}
{VARIABLE defenses some}
[/value]
[value]
turn=7
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 30 17 () (_"Provincial Guard")} {GUARDIAN}
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 24 12 () (_"Provincial Guard")}
{VARIABLE provincial_guard some}
[/value]
[value]
turn=8
{MODIFY_TERRAIN Ce 27 17}
{MODIFY_TERRAIN Ce 22 12}
{MODIFY_TERRAIN Ce 23 4}
[/value]
[value]
turn=9
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 27 17 () (_"Provincial Guard")} {GUARDIAN}
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 22 12 () (_"Provincial Guard")}
{NAMED_GENERIC_UNIT 1 (Bowman) 26 10 () (_"Provincial Guard")}
[/value]
[value]
turn=10
{MODIFY_TERRAIN Re^Vct 16 9}
{MODIFY_TERRAIN Re^Vct 16 11}
{MODIFY_TERRAIN Ha^Vhha 23 10}
[/value]
[value]
turn=11
{MODIFY_TERRAIN Re^Vct 17 14}
{MODIFY_TERRAIN Re^Vct 19 15}
{MODIFY_TERRAIN Aa^Vha 22 6}
{ILLUMINATING_CAMPFIRE 25 12}
[/value]
[value]
turn=12
{MODIFY_TERRAIN Ch 20 11}
{MODIFY_TERRAIN Ch 22 10}
#ifdef HARD
{NAMED_GENERIC_UNIT 1 (Merman Fighter) 7 16 () (_"Merman Guard")}
#else
{NAMED_GENERIC_UNIT 1 (Merman Warrior) 7 16 () (_"Merman Guard")}
#endif
{NAMED_GENERIC_UNIT 1 (Merman Warrior) 9 16 () (_"Merman Guard")}
[/value]
[value]
turn=13
{MODIFY_TERRAIN Ce 25 17}
{MODIFY_TERRAIN Gd 26 16}
{NAMED_GENERIC_UNIT 1 (Lieutenant) 25 17 (Nilaf) (_"Nilaf")} {GUARDIAN}
{MODIFY_TERRAIN Chs 8 17}
{MODIFY_TERRAIN Chs 9 17}
{NAMED_GENERIC_UNIT 1 (Lieutenant) 14 9 (Nilaf) (_"Nilaf")}
[/value]
[value]
turn=14
{MODIFY_TERRAIN Ce 23 17}
{MODIFY_TERRAIN Gd 24 16}
{NAMED_GENERIC_UNIT 1 (Spearman) 23 17 () (_"Provincial Guard")} {GUARDIAN}
{MODIFY_TERRAIN Ce 21 4}
#ifdef EASY
{NAMED_GENERIC_UNIT 1 (Knight) 18 3 () (_"Provincial Guard")}
#else
{NAMED_GENERIC_UNIT 1 (Horseman) 18 3 () (_"Provincial Guard")}
#endif
{NAMED_GENERIC_UNIT 1 (Spearman) 15 5 () (_"Provincial Guard")}
{NAMED_GENERIC_UNIT 1 (Bowman) 15 10 () (_"Provincial Guard")}
[/value]
[value]
turn=15
{MODIFY_TERRAIN Ce 14 17}
{NAMED_GENERIC_UNIT 1 (Bowman) 14 17 () (_"Provincial Guard")} {GUARDIAN}
{MODIFY_TERRAIN Ce 25 9}
#ifdef HARD
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 25 9 () (_"Provincial Guard")}
#else
{NAMED_GENERIC_UNIT 1 (Shock Trooper) 25 9 () (_"Provincial Guard")}
#endif
{NAMED_GENERIC_UNIT 1 (Merman Fighter) 9 17 () (_"Provincial Guard")}
{NAMED_GENERIC_UNIT 1 (Merman Netcaster) 8 15 () (_"Provincial Guard")}
[/value]
[value]
turn=16
{MODIFY_TERRAIN Ce 34 17}
{NAMED_GENERIC_UNIT 1 (Heavy Infantryman) 34 17 () (_"Provincial Guard")} {GUARDIAN}
{ILLUMINATING_CAMPFIRE 11 12}
{NAMED_GENERIC_UNIT 1 (Merman Hoplite) 8 17 () (_"Provincial Guard")}
{NAMED_GENERIC_UNIT 1 (Shock Trooper) 13 7 () (_"Provincial Guard")}
{VARIABLE provincial_guard full}
[/value]
[value]
turn=17
{ILLUMINATING_CAMPFIRE 20 16}
{ILLUMINATING_CAMPFIRE 10 7}
{ILLUMINATING_CAMPFIRE 22 2}
{MODIFY_TERRAIN Cea 21 13}
{MODIFY_TERRAIN Cea 25 13}
{MODIFY_TERRAIN Sm^Vhs 10 15}
[/value]
[value]
turn=18
{ILLUMINATING_CAMPFIRE 11 14}
[/value]
[value]
turn=19
{ILLUMINATING_CAMPFIRE 26 16}
[/value]
[value]
turn=20
{ILLUMINATING_CAMPFIRE 35 17}
[/value]
[value]
turn=21
{MODIFY_TERRAIN Ce 23 21}
[/value]
[value]
turn=22
{MODIFY_TERRAIN Ce 26 21}
{ILLUMINATING_CAMPFIRE 22 9}
{MODIFY_TERRAIN Ce 24 3}
{MODIFY_TERRAIN Cme 11 16}
{MODIFY_TERRAIN Cme 12 15}
{MODIFY_TERRAIN Wo 16 12}
{MODIFY_TERRAIN Wo 17 12}
{MODIFY_TERRAIN Wo 17 11}
{MODIFY_TERRAIN Wo 18 10}
{MODIFY_TERRAIN Wo 19 10}
{VARIABLE defenses full}
[/value]
[/set_variables]
@ -235,19 +283,19 @@
[/do]
[/foreach]
# The player gets 20 extra starting gold for each turn past 22
# The player gets 20 extra starting gold for each turn past 18
[if]
[variable]
name=pebbles_defense_length
greater_than=22
greater_than=18
[/variable]
[then]
{VARIABLE turns_past_22 $pebbles_defense_length}
{VARIABLE_OP turns_past_22 sub 22}
{VARIABLE turns_past_18 $pebbles_defense_length}
{VARIABLE_OP turns_past_18 sub 18}
{VARIABLE extra_starting_gold 20}
{VARIABLE_OP extra_starting_gold multiply $turns_past_22}
{VARIABLE_OP extra_starting_gold multiply $turns_past_18}
[gold]
side=1
@ -257,7 +305,7 @@
[/if]
{CLEAR_VARIABLE pebbles_defense_benefits,illuminated_locations}
{CLEAR_VARIABLE turns_past_22,extra_starting_gold}
{CLEAR_VARIABLE turns_past_18,extra_starting_gold}
[/event]
[event]
@ -287,6 +335,42 @@
{VARIABLE village_radius 20}
[/then]
[/if]
# A few undead spawns at start to prevent you from zerging side 3 immediately
#ifdef EASY
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 9 22}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 11 22}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 10 20}
{LOYAL_UNDEAD_UNIT 3 (Ghoul) 11 19}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 12 20}
{LOYAL_UNDEAD_UNIT 2 (Skeleton) 21 28}
{LOYAL_UNDEAD_UNIT 2 (Walking Corpse) 19 30}
{LOYAL_UNDEAD_UNIT 2 (Walking Corpse) 23 33}
{LOYAL_UNDEAD_UNIT 2 (Skeleton Archer) 18 26}
#endif
#ifdef NORMAL
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 9 22}
{LOYAL_UNDEAD_UNIT 3 (Soulless) 11 22}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 10 20}
{LOYAL_UNDEAD_UNIT 3 (Ghoul) 11 19}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 12 20}
{LOYAL_UNDEAD_UNIT 2 (Revenant) 21 28}
{LOYAL_UNDEAD_UNIT 2 (Soulless) 19 30}
{LOYAL_UNDEAD_UNIT 2 (Skeleton) 23 33}
{LOYAL_UNDEAD_UNIT 2 (Skeleton Archer) 18 26}
#endif
#ifdef HARD
{LOYAL_UNDEAD_UNIT 3 (Ghoul) 9 22}
{LOYAL_UNDEAD_UNIT 3 (Soulless) 11 22}
{LOYAL_UNDEAD_UNIT 3 (Soulless) 10 20}
{LOYAL_UNDEAD_UNIT 3 (Ghoul) 11 19}
{LOYAL_UNDEAD_UNIT 3 (Walking Corpse) 12 20}
{LOYAL_UNDEAD_UNIT 2 (Revenant) 21 28}
{LOYAL_UNDEAD_UNIT 2 (Soulless) 19 30}
{LOYAL_UNDEAD_UNIT 2 (Skeleton) 23 33}
{LOYAL_UNDEAD_UNIT 2 (Bone Shooter) 18 26}
#endif
[/event]
{STARTING_VILLAGES 1 $village_radius}
@ -296,15 +380,15 @@
name=start
[recall]
id=Minister Hylas
x,y=21,11
x,y=17,7
[/recall]
[recall]
id=Jarek
x,y=21,12
x,y=17,8
[/recall]
[recall]
id=Moreth
x,y=22,12
x,y=18,8
[/recall]
{MODIFY_UNIT (id=Minister Hylas) overlays "misc/loyal-icon.png"}
@ -385,7 +469,7 @@
[if]
[variable]
name=pebbles_defense_length
less_than=24
less_than=18
[/variable]
[then]
[message]
@ -393,12 +477,12 @@
message= _ "The Council of Westin has summoned some aid from our allies to the north!"
[/message]
# wmllint: local spelling Mefel
{NAMED_LOYAL_UNIT 1 (Silver Mage) 11 1 (Minister Mefel) (_"Minister Mefel")}
{NAMED_LOYAL_UNIT 1 (Silver Mage) 10 3 (Minister Mefel) (_"Minister Mefel")}
[message]
speaker=Minister Mefel
message= _ "We come to battle the unholy ones at your side. Hylas, I have made all possible haste, but the others are not as swift as I. It will take more time for them to arrive."
[/message]
{VARIABLE council_arrive_turn 25}
{VARIABLE council_arrive_turn 19}
{VARIABLE_OP council_arrive_turn sub $pebbles_defense_length}
[/then]
@ -408,7 +492,7 @@
message= _ "The Council of Westin has summoned many of our brethren from our allies to the north!"
[/message]
{NAMED_LOYAL_UNIT 1 (Silver Mage) 11 1 (Minister Mefel) (_"Minister Mefel")}
{NAMED_LOYAL_UNIT 1 (Silver Mage) 10 3 (Minister Mefel) (_"Minister Mefel")}
[fire_event]
name=mages arrive
[/fire_event]
@ -453,6 +537,99 @@
{CLEAR_VARIABLE pebbles_defense_length,defenses,provincial_guard,village_radius}
[/event]
[event]
name=side 2 turn 1
# po: fleshbag refers to humans, meaning literally a "chunk of meat" here
# po: "pesky fly" refers to Sir Gerrick
[message]
speaker="Mal M'Brin"
message= _ "So, the fleshbags have managed to mount a defense. It would seem that the pesky fly turned out to be more than a minor annoyance after all."
[/message]
[message]
speaker="Mal Tera"
message= _ "What shall we do, master?"
[/message]
[message]
speaker="Mal M'Brin"
message= _ "Slay them all! Even if we sustain heavy losses here, the city's inhabitants will be more than enough to replenish our ranks."
[/message]
[/event]
# if you start losing units, enemies gain gold
[event]
name=die
first_time_only=no
[filter]
side=1
[/filter]
[gold]
side=2,3
#ifdef EASY
amount=9
#endif
#ifdef NORMAL
amount=12
#endif
#ifdef HARD
amount=15
#endif
[/gold]
[fire_event]
name=allied_unit_death
[/fire_event]
[/event]
[event]
name=allied_unit_death
first_time_only=yes
[message]
speaker="Mal M'Brin"
message= _ "For every man that falls, a new warrior shall soon join the ranks of the dead!"
[/message]
[message]
speaker=Deoran
message= _ "Hold fast, men of the South Guard! No matter how daunting the evil that opposes us, we must weather this darkness and defend our homes!"
[/message]
[message]
speaker="Mal M'Brin"
message= _ "Fool boy, you overestimate the strength of these decrepit peasants that you call soldiers. The rivers will run red with your blood! The smoke and ashes from your ruined homes will blot out the sky, and from the swamps and the black earth, your bones will rise again to serve me!"
[/message]
[message]
speaker=narrator
message= _ "Every unit you lose will give the undead some gold. Protect your troops and sustain as few losses as possible!"
image=wesnoth-icon.png
[/message]
[/event]
# extra dialogue
[event]
name=turn 6
[message]
speaker="Mal M'Brin"
message= _ "The shroud of darkness descends once more. Night seeps through the cracks and crannies in the humans' defenses, plaguing their minds and bodies with dreadful fear. As surely as the sanctity of the psyche is shattered, so is the physical form, and all that is left is unthinking, unfeeling servitude."
[/message]
[message]
speaker=Deoran
message= _ "We do not fear your unholy power, lich. We will not succumb to your dark magics and we will not be turned into your undead slaves."
[/message]
[message]
speaker="Mal M'Brin"
message= _ "Believe what you will, human. We shall see if you survive the night."
[/message]
[/event]
[event]
name=turn 8
[message]
speaker=Deoran
message= _ "Dawn breaks over the horizon! We have weathered the night and can now begin our counterattack against the undead!"
[/message]
[/event]
[event]
name=new turn
[filter_condition]
@ -481,10 +658,10 @@
name=mages arrive
{NAMED_LOYAL_UNIT 1 (Arch Mage) 10 1 (Minister Romand) (_"Minister Romand")}
{NAMED_LOYAL_UNIT 1 (Red Mage) 12 1 (Minister Alanafel) (_"Minister Alanafel")}
{NAMED_LOYAL_UNIT 1 (Red Mage) 9 1 (Minister Alanafel) (_"Minister Alanafel")}
# Using the simplest macro here, because there is none combining the
# loyal trait with random_gender.
{UNIT 1 (White Mage) 9 1 (
{UNIT 1 (White Mage) 8 1 (
generate_name=yes
random_traits=yes
random_gender=yes
@ -493,7 +670,7 @@
[/modifications]
overlays="misc/loyal-icon.png"
)}
{UNIT 1 (White Mage) 13 1 (
{UNIT 1 (White Mage) 9 2 (
generate_name=yes
random_traits=yes
random_gender=yes
@ -504,6 +681,50 @@
)}
[/event]
[event]
name=last breath
[filter]
id="Mal Tera"
[/filter]
[message]
speaker="Mal Tera"
message= _ "The shadows... they beckon..."
[/message]
[kill]
id="Mal Tera"
animate=yes
fire_event=yes
[/kill]
[message]
speaker="Mal M'Brin"
message= _ "So, you have defeated my lackey. A great accomplishment, for ones so pitiful."
[/message]
[message]
speaker=Deoran
message= _ "What is truly pitiful is the plight you have put yourself in, once wise sage of the Elves. You have fallen to the black arts, twisted and corrupted by its use. Though you and your undead have ravaged our lands with your profane sorceries, I feel nothing but pity for the shambling shell you have become. Perhaps I can take solace in putting you out of your misery."
[/message]
[message]
speaker="Mal M'Brin"
message= _ "How little you understand. Such pompous words do not befit such an ignorant boy. Your foolish babble means nothing in the face of my insurmountable power! Rise, my warriors!"
[/message]
[gold]
side=2
#ifdef EASY
amount=50
#endif
#ifdef NORMAL
amount=100
#endif
#ifdef HARD
amount=150
#endif
[/gold]
[/event]
[event]
name=last breath
[filter]
@ -543,6 +764,23 @@
id="Mal M'Brin"
[/filter]
# very unlikely that you defeat Mebrin without destroying Mal Tera, but just in case you do, Mal Tera gets one line of text here
[message]
speaker="Mal Tera"
message= _ "The master is slain! With him gone... my soul... is unbound from... this body..."
[/message]
[kill]
id="Mal Tera"
animate=yes
[/kill]
[kill]
side=2,3
animate=no
[/kill]
[message]
speaker="Deoran"
message= _ "At long last, it is done."