Merge pull request #703 from GregoryLundberg/GL_TSG_fixes

TSG Bug fixes
This commit is contained in:
Lari Nieminen 2016-09-02 21:55:31 +03:00 committed by GitHub
commit f7d06f67c5
12 changed files with 646 additions and 419 deletions

View file

@ -15,6 +15,7 @@
{DEFAULT_SCHEDULE}
victory_when_enemies_defeated=no
{TURNS 40 32 24}
# Scenario Introduction - Summer
@ -102,10 +103,22 @@
[objectives]
side=1
[objective]
[show_if]
[not]
[have_unit]
id=Sir Gerrick
[/have_unit]
[/not]
[/show_if]
description= _ "Investigate the river fort"
condition=win
[/objective]
[objective]
[show_if]
[have_unit]
id=Urza Mathin
[/have_unit]
[/show_if]
description= _ "Defeat Urza Mathin"
condition=win
[/objective]
@ -113,6 +126,15 @@
description= _ "Death of Deoran"
condition=lose
[/objective]
[objective]
[show_if]
[have_unit]
id=Sir Gerrick
[/have_unit]
[/show_if]
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
{TURNS_RUN_OUT}
@ -132,6 +154,10 @@
# Add a useful village on 'trivial' difficulty'.
#ifdef EASY
{MODIFY_TERRAIN Gg^Vh 13 23}
[capture_village]
side=2
x,y=13,23
[/capture_village]
#endif
# Modify the size of the keep of the enemy on 'simple' and 'easy' difficulties.
@ -198,7 +224,7 @@
[message]
speaker=Moreth
message= _ "You should head to the river fort! Sir Gerrick will want to know that reinforcements have arrived!"
message= _ "Someone should head to the river fort! Sir Gerrick will want to know that reinforcements have arrived!"
[/message]
{HIGHLIGHT_IMAGE 13 10 items/gohere.png ()}
@ -261,6 +287,11 @@
message= _ "I will open the citadels armory. We have a supply of spears and bows, and lacked only a leader to bring us to battle with them!"
[/message]
[allow_recruit]
side=1
type=Spearman, Bowman
[/allow_recruit]
#ifdef EASY
[message]
speaker=narrator
@ -275,53 +306,71 @@
[/message]
#endif
[objectives]
side=1
[objective]
description= _ "Defeat Urza Mathin"
condition=win
[/objective]
[objective]
description= _ "Death of Deoran"
condition=lose
[/objective]
[objective]
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
[if]
[have_unit]
id=Urza Mathin
[/have_unit]
[then]
[show_objectives][/show_objectives]
#ifdef EASY
[message]
speaker=narrator
image=items/gohere.png
message= _ "Head back to the encampment where you started and recruit some troops!"
[/message]
[if]
[not]
[have_unit]
x,y=20,4
id=Deoran
[/have_unit]
[/not]
[then]
{HIGHLIGHT_IMAGE 20 4 items/gohere.png ()}
{HIGHLIGHT_IMAGE 20 4 items/gohere.png ()}
[message]
speaker=narrator
image=items/gohere.png
message= _ "Head back to the encampment where you started and recruit some troops!"
[/message]
[event]
name=moveto
[filter]
x,y=20,4
id=Deoran
[/filter]
[fire_event]
name=encamped
[/fire_event]
[/event]
[/then]
[else]
[fire_event]
name=encamped
[/fire_event]
[/else]
[/if]
#endif
[allow_recruit]
side=1
type=Spearman, Bowman
[/allow_recruit]
[/then]
[else]
[fire_event]
name=victory dance
[/fire_event]
[/else]
[/if]
[/event]
# You return to the encampment and recruit troops.
#ifdef EASY
[event]
name=moveto
[filter]
name=encamped
[remove_item]
x,y=20,4
[/filter]
[/remove_item]
[scroll_to]
x,y=20,4
[/scroll_to]
[message]
speaker=narrator
@ -343,10 +392,6 @@
message= _ "The best army will have a mix of units to deal with the different enemies that you will encounter. For now, concentrate on creating a small corps of experienced Bowmen."
image=wesnoth-icon.png
[/message]
[remove_item]
x,y=20,4
[/remove_item]
[/event]
#endif
@ -582,12 +627,12 @@
[event]
name=turn 5
[if]
[have_unit]
id=Sir Gerrick
[/have_unit]
[not]
[have_unit]
id=Sir Gerrick
[/have_unit]
[/not]
[then]
[/then]
[else]
{HIGHLIGHT_IMAGE 13 10 items/gohere.png ()}
[message]
@ -595,7 +640,7 @@
image=items/gohere.png
message= _ "Remember, Moreth told you that you should go meet Sir Gerrick at the river fort. Move Deoran there and find out what Sir Gerrick has to say!"
[/message]
[/else]
[/then]
[/if]
[/event]
@ -632,6 +677,11 @@
[/if]
[/event]
[event]
name=victory
{CLEAR_VARIABLE leader_attacked}
[/event]
#endif
# Victory - The bandits are defeated.
@ -652,9 +702,27 @@
animate=yes
[/kill]
[if]
[have_unit]
id=Sir Gerrick
[/have_unit]
[then]
[fire_event]
name=victory dance
[/fire_event]
[/then]
[else]
[show_objectives][/show_objectives]
[/else]
[/if]
[/event]
[event]
name=victory dance
[message]
speaker=Sir Gerrick
message= _ "He is dead! Congratulations, commander. We thought we would never see reinforcements — Did Sir Loris send you from Westin?"
message= _ "Urza Mathin is dead! Congratulations, commander. We thought we would never see reinforcements — Did Sir Loris send word of our plight?"
[/message]
[message]
@ -673,8 +741,6 @@
message= _ "This is worse than even my darkest fears. We must ride to Westin at once, and hope that Sir Loris is there and well! Come men! Ride for Westin!"
[/message]
{CLEAR_VARIABLE leader_attacked}
[endlevel]
result=victory
bonus=yes

View file

@ -20,7 +20,8 @@
{DEFAULT_SCHEDULE_SECOND_WATCH}
{TURNS 40 32 28}
victory_when_enemies_defeated=no
turns=9
# Scenario Introduction - Not all is right in Westin.
@ -94,6 +95,8 @@
[side]
side=3
no_leader=yes
color=2
hidden=yes
team_name=bandits
user_team_name=_"Bandits"
@ -123,6 +126,10 @@
# Add a useful village on 'trivial' difficulty.
#ifdef EASY
{MODIFY_TERRAIN Gg^Vh 26 20}
[capture_village]
side=2
x,y=26,20
[/capture_village]
#endif
# Modify the size of the keep of the enemy on 'simple' and 'easy' difficulties.
@ -193,7 +200,37 @@
[objectives]
side=1
[objective]
description= _ "Take the Citadel at Westin by the end of the ninth turn"
[show_if]
[variable]
name=citadel_secured
boolean_not_equals=yes
[/variable]
[/show_if]
description= _ "Occupy the Citadel of Westin"
condition=win
[/objective]
[objective]
[show_if]
[variable]
name=citadel_secured
boolean_equals=yes
[/variable]
[not]
[have_unit]
id=Minister Hylas
[/have_unit]
[/not]
[/show_if]
description= _ "Bring Deoran to the Citadel of Westin"
condition=win
[/objective]
[objective]
[show_if]
[have_unit]
id=Minister Hylas
[/have_unit]
[/show_if]
description= _ "Kill Urza Nalmath, the bandit leader"
condition=win
[/objective]
[objective]
@ -204,6 +241,15 @@
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
[objective]
[show_if]
[have_unit]
id=Minister Hylas
[/have_unit]
[/show_if]
description= _ "Death of Minister Hylas"
condition=lose
[/objective]
{TURNS_RUN_OUT}
@ -224,6 +270,11 @@
[/filter]
{VARIABLE citadel_secured "yes"}
[modify_turns]
{QUANTITY add 31 23 19}
[/modify_turns]
# check if it is Deoran. If not, tell him to go to Westin
[if]
[have_unit]
@ -241,28 +292,7 @@
speaker=Sir Gerrick
message= _ "Now, Deoran, take your post of command at the Citadel of Westin."
[/message]
[objectives]
side=1
[objective]
description= _ "Bring Deoran to the Citadel of Westin"
condition=win
[/objective]
[objective]
description= _ "Death of Deoran"
condition=lose
[/objective]
[objective]
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
[show_objectives][/show_objectives]
[/then]
[/if]
[/event]
@ -328,64 +358,51 @@
message= _ "We will do our best to hold the city — you lead your men across the river and kill the bandit leader!"
[/message]
[objectives]
side=1
[objective]
description= _ "Kill Urza Nalmath, the bandit leader"
condition=win
[/objective]
[objective]
description= _ "Death of Deoran"
condition=lose
[/objective]
[objective]
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
[objective]
description= _ "Death of Minister Hylas"
condition=lose
[/objective]
[if]
[have_unit]
id=Urza Nalmath
[/have_unit]
[then]
[show_objectives][/show_objectives]
{TURNS_RUN_OUT}
[set_recruit]
side=2
{QUANTITY recruit (Walking Corpse)
(Walking Corpse,Skeleton,Vampire Bat)
(Skeleton,Skeleton Archer,Vampire Bat,Blood Bat)}
[/set_recruit]
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
# update the [ai] params so that the recruitment_pattern matches the new
# recruits
[modify_side]
side=2
[set_recruit]
side=2
{QUANTITY recruit (Walking Corpse)
(Walking Corpse,Skeleton,Vampire Bat)
(Skeleton,Skeleton Archer,Vampire Bat,Blood Bat)}
[/set_recruit]
[ai]
{URZA_NALMATH_AI_PARAMS}
# update the [ai] params so that the recruitment_pattern matches the new
# recruits
[modify_side]
side=2
{QUANTITY recruitment_pattern (fighter)
(fighter,fighter,scout,fighter)
(fighter,archer,fighter,archer,scout)}
[/ai]
[/modify_side]
[ai]
{URZA_NALMATH_AI_PARAMS}
{QUANTITY recruitment_pattern (fighter)
(fighter,fighter,scout,fighter)
(fighter,archer,fighter,archer,scout)}
[/ai]
[/modify_side]
[gold]
side=2
{QUANTITY amount 15 30 60}
[/gold]
[gold]
side=2
{QUANTITY amount 15 30 60}
[/gold]
[/then]
[else]
[fire_event]
name=victory dance
[/fire_event]
[/else]
[/if]
[/event]
# Deoran is too late.
[event]
name=turn 9
name=turn 8
[if]
[variable]
name=citadel_secured
@ -394,13 +411,15 @@
[then]
[message]
speaker=Sir Gerrick
message= _ "They are almost to the great hall! Hurry, Deoran! You must reach the citadel or all will be lost!"
message= _ "They are almost to the great hall! Hurry, Deoran! We must reach the citadel or all will be lost!"
[/message]
#ifdef EASY
{HIGHLIGHT_IMAGE 22 16 items/gohere.png ()}
[message]
speaker=narrator
message= _ "You must move Deoran here by the end of the next turn, or Westin will fall and you will be defeated!"
message= _ "You must move someone here by the end of the next turn, or Westin will fall and you will be defeated!"
image=wesnoth-icon.png
[/message]
#endif
@ -409,7 +428,7 @@
[/event]
[event]
name=turn 10
name=side 1 turn 9 end
[if]
[variable]
name=citadel_secured
@ -521,6 +540,7 @@
{RANDOM $random_string}
{PLACE_IMAGE $random $x1 $y1}
{CLEAR_VARIABLE random,random_string}
{MODIFY_TERRAIN Gg $x1 $y1}
@ -569,6 +589,21 @@
[/else]
[/if]
[if]
[have_unit]
id=Minister Hylas
[/have_unit]
[then]
[fire_event]
name=victory dance
[/fire_event]
[/then]
[/if]
[/event]
[event]
name=victory dance
[message]
speaker=Minister Hylas
message= _ "Just before the bandit raids began, an ambassador came to Sir Loris from the elves of the Aethenwood west of here. He asked that a knight be sent to discuss a new threat to Wesnoth."
@ -609,3 +644,5 @@
[/endlevel]
[/event]
[/scenario]
#undef URZA_NALMATH_AI_PARAMS

View file

@ -248,7 +248,7 @@
[event]
name=last breath
[filter]
speaker=Urza Fastik
id=Urza Fastik
[/filter]
[message]
@ -263,7 +263,8 @@
[role]
role=second
type=Spearman,Swordsman,Pikeman,Javelineer,Bowman,Longbowman,Cavalryman,Dragoon
type="Peasant,Spearman,Bowman,Cavalryman,Swordsman,Pikeman,Javelineer,Longbowman,Dragoon,Royal Guard,Halberdier,Master Bowman,Cavalier"
search_recall_list=no
[/role]
[message]

View file

@ -119,7 +119,7 @@
{GOLD 30 40 80}
team_name=undead
user_team_name=_"Undead"
user_team_name=_"Bandits"
controller=ai
canrecruit=yes
@ -228,10 +228,28 @@
[objectives]
side=1
[objective]
[show_if]
[not]
[variable]
name=undead_defeated
equals=yes
[/variable]
[variable]
name=bandits_defeated
equals=yes
[/variable]
[/not]
[/show_if]
description= _ "Cleanse the Vale of Tears"
condition=win
[/objective]
[objective]
[show_if]
[variable]
name=mebrin_found
not_equals=yes
[/variable]
[/show_if]
description= _ "Move Ethiliel to Mebrins village"
condition=win
[/objective]
@ -278,19 +296,35 @@
# only comment on pierce damage being useless if the player didn't
# actually kill the skeleton with it
[if]
[filter_condition]
[variable]
name=second_unit.hitpoints
greater_than=0
[/variable]
[/filter_condition]
[then]
[message]
speaker=unit
message= _ "Our weapons are useless against these skeletons! They have nothing for our shafts to pierce but air!"
[/message]
[/then]
[/if]
[message]
speaker=unit
message= _ "Our weapons are useless against these skeletons! They have nothing for our shafts to pierce but air!"
[/message]
[/event]
[event]
name=attack_end
[filter]
side=1
[/filter]
[filter_second]
side=2
[/filter_second]
[filter_condition]
[have_unit]
side=2
[/have_unit]
[/filter_condition]
[message]
speaker=Deoran
@ -313,6 +347,9 @@
[filter]
side=1
[not]
id=Deoran,Sir Gerrick,Minister Hylas,Ethiliel
[/not]
[/filter]
[message]
@ -330,6 +367,16 @@
message= _ "You shall not die in vain! My bodyguard will avenge you!"
[/message]
[fire_event]
name=bodyguard
[/fire_event]
[/event]
[event]
name=bodyguard
{VARIABLE have_bodyguard yes}
[message]
speaker=Sir Gerrick
message= _ "You have a bodyguard?!"
@ -361,10 +408,6 @@
[while]
[variable]
name=number
less_than=$bodyguard_loc.length
[/variable]
[variable]
name=number
#ifdef EASY
less_than=4
#endif
@ -380,15 +423,23 @@
{VARIABLE guard_x $ethiliel_loc.x}
{VARIABLE guard_y $ethiliel_loc.y}
[set_variable]
name=guard_x
value=$bodyguard_loc[$number].x
[/set_variable]
[if]
[variable]
name=number
less_than=$bodyguard_loc.length
[/variable]
[then]
[set_variable]
name=guard_x
value=$bodyguard_loc[$number].x
[/set_variable]
[set_variable]
name=guard_y
value=$bodyguard_loc[$number].y
[/set_variable]
[set_variable]
name=guard_y
value=$bodyguard_loc[$number].y
[/set_variable]
[/then]
[/if]
[unit]
role=Elvish Bodyguard
@ -408,6 +459,7 @@
[/while]
{CLEAR_VARIABLE bodyguard_loc,ethiliel_loc,number}
{CLEAR_VARIABLE guard_x,guard_y}
[message]
role=Elvish Bodyguard
@ -634,4 +686,28 @@
[/then]
[/if]
[/event]
[event]
name=victory
[if]
[variable]
name=have_bodyguard
boolean_not_equals=yes
[/variable]
[then]
[message]
speaker=Ethiliel
message= _ "Come, my bodyguard! We must make haste to follow the trail and find Mebrin."
[/message]
[fire_event]
name=bodyguard
[/fire_event]
[/then]
[/if]
{CLEAR_VARIABLE mebrin_found,undead_defeated,bandits_defeated,have_bodyguard}
[/event]
[/scenario]

View file

@ -324,36 +324,6 @@
[/message]
[/event]
# This event prevents the AI-controlled Urza from moving before he's
# sighted. Should be removed if there is no problem with his sighted event
# when he's allowed to move
[event]
name=turn refresh
first_time_only=no
[if]
[variable]
name=side_number
equals=2
[/variable]
[variable]
name=side_with_bandits
not_equals=no
[/variable]
[variable]
name=side_with_bandits
not_equals=yes
[/variable]
[then]
{MODIFY_UNIT (id=Urza Afalas) moves 0}
[/then]
[/if]
[/event]
# the adventurers see the Lich, or the Lich moves in their vision area
[event]
name=sighted
@ -369,24 +339,11 @@
x,y=$x1,$y1
[/scroll_to]
[delay]
time=500
[/delay]
[message]
speaker=second_unit
scroll=no
message= _ "We found the lich!"
[/message]
[fire_event]
name=sighted
[primary_unit]
id=Urza Afalas
[/primary_unit]
[secondary_unit]
id=$second_unit.id
[/secondary_unit]
[/fire_event]
[/event]
# The adventurers locate the bandits: a choice must be made
@ -394,21 +351,30 @@
name=moveto
[filter]
id=Urza Afalas
[filter_vision]
side=1
[/filter_vision]
side=1
[/filter]
[filter_condition]
[have_location]
x=39-40,41
y=20-21,21
[filter_vision]
side=1
[/filter_vision]
[/have_location]
[/filter_condition]
[fire_event]
name=sighted
[primary_unit]
id=Urza Afalas
[/primary_unit]
[secondary_unit]
id=Deoran
[/secondary_unit]
[/fire_event]
[if]
[variable]
name=found_urza_afalas
boolean_not_equals=yes
[/variable]
[then]
[message]
speaker=unit
message= _ "I think I see something moving in the fog... it looks like an encampment!"
[/message]
[/then]
[/if]
[/event]
[event]
@ -420,10 +386,7 @@
side=1
[/filter_second]
[message]
speaker=second_unit
message= _ "I think I see something moving in the fog... it looks like an encampment!"
[/message]
{VARIABLE found_urza_afalas "yes"}
[remove_shroud]
[filter_side]
@ -614,6 +577,7 @@
id=Urza Afalas
[/filter]
side=1
moves=$this_unit.max_moves
profile=portraits/urza-afalas.png
canrecruit=no
{IS_HERO}
@ -622,7 +586,18 @@
[/modifications]
[/modify_unit]
{MODIFY_UNIT side=2 side 1}
[modify_unit]
[filter]
side=2
[/filter]
side=1
moves=$this_unit.max_moves
[/modify_unit]
[modify_side]
side=2
hidden=yes
[/modify_side]
[redraw]
side=1
@ -738,23 +713,21 @@
result=defeat
[/endlevel]
[/then]
[elseif]
[have_unit]
id="Mal M'Brin"
[/have_unit]
[then]
[message]
speaker=Urza Afalas
message= _ "Fools! That lich will be the death of us all! You have sealed our doom!"
[/message]
[/then]
[/elseif]
[else]
[if]
[have_unit]
id="Mal M'Brin"
[/have_unit]
[then]
[message]
speaker=Urza Afalas
message= _ "Fools! That lich will be the death of us all! You have sealed our doom!"
[/message]
[/then]
[else]
[fire_event]
name=bandits_and_lich_defeated
[/fire_event]
[/else]
[/if]
[fire_event]
name=bandits_and_lich_defeated
[/fire_event]
[/else]
[/if]
[/event]
@ -843,6 +816,8 @@
image=portraits/deoran-sad.png
message= _ "Then we shall retreat towards Westin and prepare for the oncoming battle. I pray our only chance at victory was not lost today."
[/message]
{CLEAR_VARIABLE side_with_bandits,has_mermen}
{CLEAR_VARIABLE found_urza_afalas}
[endlevel]
result=victory
next_scenario=06b_The_Long_March
@ -850,23 +825,21 @@
{NEW_GOLD_CARRYOVER 40}
[/endlevel]
[/then]
[elseif]
[have_unit]
id=Urza Afalas
[/have_unit]
[then]
[message]
speaker=Sir Gerrick
message= _ "Now, on with those bandits!"
[/message]
[/then]
[/elseif]
[else]
[if]
[have_unit]
id=Urza Afalas
[/have_unit]
[then]
[message]
speaker=Sir Gerrick
message= _ "Now, on with those bandits!"
[/message]
[/then]
[else]
[fire_event]
name=bandits_and_lich_defeated
[/fire_event]
[/else]
[/if]
[fire_event]
name=bandits_and_lich_defeated
[/fire_event]
[/else]
[/if]
[/event]
@ -908,10 +881,28 @@
speaker=Ethiliel
message= _ "Indeed I will. My kinsfolk will protect you and your message!"
[/message]
[if]
[variable]
name=has_mermen
equals="yes"
[/variable]
[then]
[message]
speaker=Ethiliel
message= _ "Your mer followers had best join Sir Gerrick, as well, Deoran. They may prove far more useful in the rivers and swamps to the north than in the caverns which lie ahead."
[/message]
[message]
speaker=Deoran
message= _ "Very well. I release them to aid Sir Gerrick, and then to return to their homes."
[/message]
[/then]
[/if]
[message]
speaker=Sir Gerrick
message= _ "Fare well, Deoran! I will be there to greet you when you return to Kerlath Province."
[/message]
{CLEAR_VARIABLE side_with_bandits}
{CLEAR_VARIABLE found_urza_afalas}
[endlevel]
result=victory
next_scenario=06a_Tidings_Good_and_Ill

View file

@ -52,6 +52,7 @@
team_name=Various_Baddies
user_team_name=_"Enemies"
no_leader=yes
hidden=yes
controller=ai
@ -156,6 +157,7 @@
x,y=16,23
[/recall]
{MODIFY_UNIT (id=Sir Gerrick) overlays ""}
{MODIFY_UNIT (id=Sir Gerrick) canrecruit yes}
{MODIFY_UNIT (id=Sir Gerrick) ellipse ""}
@ -164,6 +166,19 @@
recruit=Elvish Fighter,Elvish Shaman
[/set_recruit]
[if]
[variable]
name=has_mermen
equals="yes"
[/variable]
[then]
[allow_recruit]
side=1
type=Merman Hunter
[/allow_recruit]
[/then]
[/if]
[unit]
type=Elvish Ranger
id=Eliomir
@ -191,8 +206,8 @@
[remove_shroud]
side=1
x=8-10
y=0-2
x=8-10,9
y=0-1,2
[/remove_shroud]
{HIGHLIGHT_IMAGE 9 1 items/gohere.png ()}
@ -208,6 +223,19 @@
description= _ "Move Sir Gerrick to the north end of the woods"
condition=win
[/objective]
[objective]
description= _ "Defeat the Queen Xeila"
condition=win
[show_if]
[variable]
name=naga_queen_sighted
boolean_equals=yes
[/variable]
[have_unit]
id=Queen Xeila
[/have_unit]
[/show_if]
[/objective]
[objective]
description= _ "Death of Sir Gerrick"
condition=lose
@ -220,8 +248,7 @@
[/gold_carryover]
[note]
# wmllint: local spelling Unrecalled
description= _ "Unrecalled units will be available for Deoran."
description= _ "Recalled units will be unavailable to Deoran."
[/note]
[/objectives]
[/event]
@ -281,32 +308,7 @@
{VARIABLE naga_queen_sighted yes}
[objectives]
side=1
[objective]
description= _ "Move Sir Gerrick to the north end of the woods"
condition=win
[/objective]
[objective]
description= _ "Defeat the Queen Xeila"
condition=win
[show_if]
[have_unit]
id=Queen Xeila
[/have_unit]
[/show_if]
[/objective]
[objective]
description= _ "Death of Sir Gerrick"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
carryover_percentage=0
[/gold_carryover]
[/objectives]
[show_objectives][/show_objectives]
[/event]
[event]
@ -365,7 +367,7 @@
message= _ "Ho! Me see elves. Elves tasty? Me take elves to eat."
[/message]
[message]
race=elf
speaker=second_unit
# wmllint: local spelling Mr.
message= _ "Err, Mr. Ogre, we are not very tasty."
[/message]
@ -459,6 +461,17 @@
# The next scenario is again led by Deoran, so store away Gerrick and
# his troops, except those remaining on the recall list.
[heal_unit]
[filter]
side=1
[/filter]
amount=full
animate=no
moves=full
restore_attacks=yes
restore_status=yes
[/heal_unit]
[store_unit]
[filter]
id=Sir Gerrick
@ -470,6 +483,7 @@
{VARIABLE stored_Sir_Gerrick.canrecruit no}
{VARIABLE stored_Sir_Gerrick.ellipse misc/ellipse-hero}
{VARIABLE stored_Sir_Gerrick.overlays misc/hero-icon.png}
[store_unit]
variable=stored_Sir_Gerrick_army
@ -483,11 +497,9 @@
# Reinstate Deoran as the leader and unstore Hylas, Ethiliel and
# troops so they're all again recallable in the next scenario.
{VARIABLE stored_Deoran.x 16}
{VARIABLE stored_Deoran.y 23}
[unstore_unit]
variable=stored_Deoran
x,y=recall,recall
[/unstore_unit]
[unstore_unit]
@ -512,10 +524,12 @@
gold=$stored_Deoran_side.gold
[/modify_side]
{CLEAR_VARIABLE stored_Deoran_side}
{CLEAR_VARIABLE stored_Deoran}
{CLEAR_VARIABLE stored_Ethiliel}
{CLEAR_VARIABLE stored_Hylas}
{CLEAR_VARIABLE stored_elvish_bodyguards}
{CLEAR_VARIABLE has_mermen,naga_queen_sighted}
[endlevel]
result=victory

View file

@ -206,22 +206,20 @@
{VARIABLE new_path_hex.y $new_road_branches.y}
[/then]
[else]
[if]
[variable]
name=new_road_branches.length
greater_than=1
[/variable]
[elseif]
[variable]
name=new_road_branches.length
greater_than=1
[/variable]
[then]
{RANDOM 1..$new_road_branches.length}
{VARIABLE_OP random sub 1}
[then]
{RANDOM 1..$new_road_branches.length}
{VARIABLE_OP random sub 1}
{VARIABLE new_path_hex.x $new_road_branches[$random].x}
{VARIABLE new_path_hex.y $new_road_branches[$random].y}
[/then]
[/if]
[/else]
{VARIABLE new_path_hex.x $new_road_branches[$random].x}
{VARIABLE new_path_hex.y $new_road_branches[$random].y}
[/then]
[/elseif]
[/if]
#[item]
@ -750,68 +748,60 @@ _f, _f, Re, _f
[/message]
[/then]
[else]
[if]
[variable]
name=secret_path_unrevealed.length
less_than=20
[/variable]
[elseif]
[variable]
name=secret_path_unrevealed.length
less_than=20
[/variable]
[variable]
name=urza_dialogue
equals=2
[/variable]
[variable]
name=urza_dialogue
equals=2
[/variable]
[then]
[message]
speaker=Urza Afalas
message= _ "Were almost there!"
[/message]
[/then]
[then]
[message]
speaker=Urza Afalas
message= _ "Were almost there!"
[/message]
[/then]
[/elseif]
[elseif]
[variable]
name=secret_path_unrevealed.length
less_than=30
[/variable]
[else]
[if]
[variable]
name=secret_path_unrevealed.length
less_than=30
[/variable]
[variable]
name=urza_dialogue
equals=1
[/variable]
[variable]
name=urza_dialogue
equals=1
[/variable]
[then]
[message]
speaker=Urza Afalas
message= _ "Come on! Hurry!"
[/message]
[/then]
[/elseif]
[elseif]
[variable]
name=secret_path_unrevealed.length
less_than=40
[/variable]
[then]
[message]
speaker=Urza Afalas
message= _ "Come on! Hurry!"
[/message]
[/then]
[variable]
name=urza_dialogue
equals=0
[/variable]
[else]
[if]
[variable]
name=secret_path_unrevealed.length
less_than=40
[/variable]
[variable]
name=urza_dialogue
equals=0
[/variable]
[then]
[message]
speaker=Urza Afalas
message= _ "Keep moving!"
[/message]
[/then]
[/if]
[/else]
[/if]
[/else]
[/if]
[/else]
[then]
[message]
speaker=Urza Afalas
message= _ "Keep moving!"
[/message]
[/then]
[/elseif]
[/if]
{VARIABLE_OP urza_dialogue add 1}
@ -1186,6 +1176,7 @@ _f, _f, Re, _f
[/message]
{CLEAR_VARIABLE secret_path}
{CLEAR_VARIABLE first_undead_spawn_turn,ford_mask_x,num_of_ambushers,quick_spawn_types,random,urza_moves,urza_dialogue,previous_path_hex,new_path_hex,secret_path_unrevealed}
[endlevel]
result=victory

View file

@ -187,6 +187,7 @@
user_team_name=_"South Guard"
controller=ai
color=purple
hidden=yes
fog=yes
share_view=yes
@ -213,8 +214,6 @@
[event]
name=prestart
{CLEAR_VARIABLE stored_Deoran_side}
[unit]
side=2
type=Eyestalk
@ -261,7 +260,7 @@
[set_recruit]
side=1
recruit=Bowman,Spearman,Cavalryman,Elvish Shaman,Elvish Fighter
recruit=Bowman,Spearman,Cavalryman,Elvish Shaman,Elvish Fighter,Peasant
[/set_recruit]
[recall]
@ -404,6 +403,11 @@
[modify_side]
side=5
gold=$stored_side_4.gold
hidden=no
[/modify_side]
[modify_side]
side=4
hidden=yes
[/modify_side]
# Note: the order of storing the villages, flipping the
@ -442,13 +446,13 @@
speaker=Grek
message= _ "We already planned to kill the undead ourselves... First we kill dwarves though! Now we have dwarvish thunder fire and many trolls ready for fighting. They come too and help you smash them undead."
[/message]
{HIGHLIGHT_IMAGE 17 24 items/bomb.png ()}
[message]
speaker=Grek
scroll=no
message= _ "Go here and light the thunder fire and it will blast a back door into the lichs lair!"
[/message]
{HIGHLIGHT_IMAGE 17 24 items/bomb.png ()}
{VARIABLE bomb_status ready}
{VARIABLE troll_allies yes}
#enddef
@ -802,6 +806,7 @@
{CLEAR_VARIABLE troll_allies}
{CLEAR_VARIABLE stored_side_1}
{CLEAR_VARIABLE late_payment_for_troll_help}
{CLEAR_VARIABLE troll_help_cost}
[endlevel]
result=victory
@ -810,3 +815,5 @@
[/endlevel]
[/event]
[/scenario]
#undef TROLL_HELP

View file

@ -209,9 +209,13 @@
variable=stored_Deoran
[/store_unit]
{MODIFY_UNIT (id=Sir Gerrick) overlays ""}
{MODIFY_UNIT (id=Sir Gerrick) canrecruit yes}
{MODIFY_UNIT (id=Sir Gerrick) ellipse ""}
{MODIFY_UNIT (id=Urza Afalas) overlays "misc/loyal-icon.png"}
{MODIFY_UNIT (id=Urza Afalas) ellipse ""}
[message]
speaker=Lt. Illan
message= _ "We are yours to command, Sir Gerrick. Our men are not the great warriors that you and Deoran are, but we will hold our lines staunchly, until the bitter end."
@ -227,6 +231,7 @@
[gold_carryover]
carryover_percentage=0
[/gold_carryover]
{HAS_NO_TURN_LIMIT}
[/objectives]
[message]
@ -310,6 +315,7 @@
gold=$pebbles_starting_gold
[/modify_side]
{CLEAR_VARIABLE pebbles_starting_gold}
{CLEAR_VARIABLE stored_Deoran}
[endlevel]
result=victory

View file

@ -192,30 +192,53 @@
id=Deoran
[/filter]
[message]
speaker="Plynry"
message= _ "Halt! Who comes to the border of Wesnoth?"
[/message]
[if]
[have_unit]
side=3
[/have_unit]
[then]
[role]
role=GarrisonCommander
id=Plynry
search_recall_list=no
[else]
[role]
role=GarrisonCommander
side=3
search_recall_list=no
type="Master Bowman,Royal Guard,Halberdier," +
"Longbowman,Swordsman,Pikeman,Javelineer," +
"Bowman,Spearman"
[/role]
[/else]
[/role]
[message]
speaker="Deoran"
message= _ "It is I, Deoran, commander of the South Guard, and my men."
[/message]
[message]
role=GarrisonCommander
message= _ "Halt! Who comes to the border of Wesnoth?"
[/message]
[message]
speaker="Plynry"
message= _ "Deoran? You had been thought lost long since. But I see by your mens gear and drill that they are of the South Guard indeed. Pass."
[/message]
[message]
speaker="Deoran"
message= _ "It is I, Deoran, commander of the South Guard, and my men."
[/message]
[message]
speaker="Deoran"
message= _ "We, and our elvish allies, have won a great battle against a lich."
[/message]
[message]
role=GarrisonCommander
message= _ "Deoran? You had been thought lost long since. But I see by your mens gear and drill that they are of the South Guard indeed. Pass."
[/message]
[message]
speaker="Plynry"
message= _ "Elvish allies? I think you had best make haste to Westin. There are rumors of trouble with the elves of the Aethenwood."
[/message]
[message]
speaker="Deoran"
message= _ "We, and our elvish allies, have won a great battle against a lich."
[/message]
[message]
role=GarrisonCommander
message= _ "Elvish allies? I think you had best make haste to Westin. There are rumors of trouble with the elves of the Aethenwood."
[/message]
[/then]
[/if]
# Unstore Sir Gerrick and his troops back so that everyone will be happily
# reunited at the beginning of the next scenario.
@ -240,6 +263,7 @@
[/foreach]
{CLEAR_VARIABLE stored_Sir_Gerrick_army}
{CLEAR_VARIABLE stored_Sir_Gerrick}
[endlevel]
result=victory

View file

@ -235,6 +235,7 @@
[/if]
{CLEAR_VARIABLE pebbles_defense_benefits,illuminated_locations}
{CLEAR_VARIABLE turns_past_22,extra_starting_gold}
[/event]
[event]
@ -284,6 +285,9 @@
x,y=22,12
[/recall]
{MODIFY_UNIT (id=Minister Hylas) overlays "misc/loyal-icon.png"}
{MODIFY_UNIT (id=Minister Hylas) ellipse ""}
[message]
speaker=Deoran
message= _ "Look! The undead army has broken through Sir Gerricks lines! Alas, he is lost!"
@ -309,42 +313,38 @@
message= _ "But in the narrow window his valiant stand gave us, we have roused some of the provincial guard and reinforced our defenses!"
[/message]
[/then]
[else]
[if]
[variable]
name=provincial_guard
equals=full
[/variable]
[variable]
name=defenses
equals=some
[/variable]
[then]
[message]
speaker=Deoran
message= _ "But in the narrow window his valiant stand gave us, we have roused the whole provincial guard and reinforced our defenses!"
[/message]
[/then]
[else]
[if]
[variable]
name=provincial_guard
equals=full
[/variable]
[variable]
name=defenses
equals=full
[/variable]
[then]
[message]
speaker=Deoran
message= _ "But in the narrow window his valiant stand gave us, we have roused the whole provincial guard and fully embattled the city!"
[/message]
[/then]
[/if]
[/else]
[/if]
[/else]
[elseif]
[variable]
name=provincial_guard
equals=full
[/variable]
[variable]
name=defenses
equals=some
[/variable]
[then]
[message]
speaker=Deoran
message= _ "But in the narrow window his valiant stand gave us, we have roused the whole provincial guard and reinforced our defenses!"
[/message]
[/then]
[/elseif]
[elseif]
[variable]
name=provincial_guard
equals=full
[/variable]
[variable]
name=defenses
equals=full
[/variable]
[then]
[message]
speaker=Deoran
message= _ "But in the narrow window his valiant stand gave us, we have roused the whole provincial guard and fully embattled the city!"
[/message]
[/then]
[/elseif]
[/if]
[message]
@ -380,8 +380,8 @@
{NAMED_LOYAL_UNIT 1 (Silver Mage) 11 1 (Minister Mefel) (_"Minister Mefel")}
{NAMED_LOYAL_UNIT 1 (Arch Mage) 10 1 (Minister Romand) (_"Minister Romand")}
{NAMED_LOYAL_UNIT 1 (Red Mage) 12 1 (Minister Alanafel) (_"Minister Alanafel")}
{GENERIC_UNIT 1 (White Mage) 9 1}
{GENERIC_UNIT 1 (White Mage) 13 1}
{LOYAL_UNIT 1 (White Mage) 9 1}
{LOYAL_UNIT 1 (White Mage) 13 1}
[message]
speaker=Minister Mefel
message= _ "We have heard your summons, and we shall send these dark foes back to the abyss that spawned them!"
@ -441,6 +441,7 @@
[/objectives]
[/else]
[/if]
{CLEAR_VARIABLE pebbles_defense_length,defenses,provincial_guard,village_radius}
[/event]
[event]
@ -459,8 +460,8 @@
[then]
{NAMED_LOYAL_UNIT 1 (Arch Mage) 10 1 (Minister Romand) (_"Minister Romand")}
{NAMED_LOYAL_UNIT 1 (Red Mage) 12 1 (Minister Alanafel) (_"Minister Alanafel")}
{GENERIC_UNIT 1 (White Mage) 9 1}
{GENERIC_UNIT 1 (White Mage) 13 1}
{LOYAL_UNIT 1 (White Mage) 9 1}
{LOYAL_UNIT 1 (White Mage) 13 1}
[message]
speaker=Minister Romand
message= _ "We have heard your summons, and we shall send these dark foes back to the abyss that spawned them!"
@ -496,6 +497,7 @@
id="Mal M'Brin"
[/filter]
{CLEAR_VARIABLE council_arrive_turn}
[endlevel]
result=victory
carryover_report=no
@ -544,3 +546,5 @@
[/message]
[/event]
[/scenario]
#undef ILLUMINATING_CAMPFIRE

View file

@ -103,20 +103,19 @@
[recall]
id=Sir Gerrick
[/recall]
[remove_unit_overlay]
id=Sir Gerrick
image=misc/hero-icon.png
[/remove_unit_overlay]
[recall]
id=Ethiliel
[/recall]
[recall]
id=Minister Hylas
[/recall]
[remove_unit_overlay]
id=Minister Hylas
image=misc/hero-icon.png
[/remove_unit_overlay]
[modify_unit]
[filter]
id=Sir Gerrick,Minister Hylas
[/filter]
ellipse=""
overlays="misc/loyal-icon.png"
[/modify_unit]
[message]
speaker=Sir Gerrick
@ -265,6 +264,7 @@
[/objective]
{IS_LAST_SCENARIO}
{HAS_NO_TURN_LIMIT}
[/objectives]
[/event]
@ -318,6 +318,7 @@
[/message]
{CLEAR_VARIABLE new_elf}
{CLEAR_VARIABLE number_of_elves,how_many_elves,unit_type}
[/event]
[event]
@ -391,4 +392,13 @@
linger_mode=no
[/endlevel]
[/event]
[event]
name=attacker hits,defender hits
[message]
speaker=Ethiliel
message= _ "Take care, Deoran! My people are upset. Killing one will only draw more."
[/message]
[/event]
[/scenario]