Merge pull request #729 from GregoryLundberg/GL_HttT_errors

HttT Errors
This commit is contained in:
Lari Nieminen 2016-08-13 01:20:33 +03:00 committed by GitHub
commit 12f7107047
33 changed files with 766 additions and 501 deletions

View file

@ -584,3 +584,7 @@
[/message]
[/event]
[/scenario]
#undef AVOID_CHANTAL
#undef HIGH_PRIORITY_TARGETS
#undef EBESIEGED_RECRUITMENT

View file

@ -25,9 +25,11 @@
#ifdef HARD
[objective]
{ALTERNATIVE_OBJECTIVE_CAPTION}
description= _ "Defeat the enemy leader"+{OBJECTIVE_FOOTNOTE _"(special bonus)"}
description= _ "Defeat the enemy leader"+{EARLY_FINISH_BONUS_FOOTNOTE}+{OBJECTIVE_FOOTNOTE _"(special bonus)"}
condition=win
[/objective]
#else
{ALTERNATIVE_OBJECTIVE_BONUS ( _ "Defeat the enemy leader")}
#endif
[objective]
description= _ "Death of Konrad"
@ -43,7 +45,6 @@
[/objective]
[gold_carryover]
bonus=no
carryover_percentage=40
[/gold_carryover]
[/objectives]
@ -192,7 +193,7 @@
[/message]
[message]
speaker=Delfador
message= _ "Yes, we will sail to the Isle of Alduin, my home Konrad, and the home of many magi."
message= _ "Yes, we will sail to the Isle of Alduin, my home, Konrad, and the home of many magi."
[/message]
[message]
speaker=Kaylan
@ -338,6 +339,7 @@
facing=sw
[modifications]
{TRAIT_LOYAL}
{TRAIT_INTELLIGENT}
[/modifications]
{IS_LOYAL}
[/unit]

View file

@ -352,6 +352,7 @@
[/allow_recruit]
[/then]
[/if]
{CLEAR_VARIABLE received_mages}
[kill]
id=Seimus

View file

@ -120,7 +120,7 @@
#ifdef HARD
[terrain]
x=4-6
y=40
y=40-41
terrain=Ww
[/terrain]
#endif
@ -309,16 +309,16 @@
[event]
name=moveto
[remove_item]
x,y=$x1,$y1
[/remove_item]
[filter]
side=1
x=19
y=23
[/filter]
[remove_item]
x,y=$x1,$y1
[/remove_item]
[unit]
side=1
x=19
@ -382,16 +382,16 @@
[event]
name=moveto
[remove_item]
x,y=$x1,$y1
[/remove_item]
[filter]
side=1
x=11
y=33
[/filter]
[remove_item]
x,y=$x1,$y1
[/remove_item]
[unit]
side=1
x=11
@ -456,16 +456,16 @@
[event]
name=moveto
[remove_item]
x,y=$x1,$y1
[/remove_item]
[filter]
side=1
x=7
y=35
[/filter]
[remove_item]
x,y=$x1,$y1
[/remove_item]
[unit]
side=1
x=7
@ -504,16 +504,16 @@
[event]
name=moveto
[remove_item]
x,y=$x1,$y1
[/remove_item]
[filter]
x=5
y=38
side=1
[/filter]
[remove_item]
x,y=$x1,$y1
[/remove_item]
[unit]
side=1
x=5
@ -564,16 +564,16 @@
[event]
name=moveto
[remove_item]
x,y=$x1,$y1
[/remove_item]
[filter]
side=1
x=3
y=10
[/filter]
[remove_item]
x,y=$x1,$y1
[/remove_item]
[unit]
side=1
x=3

View file

@ -22,11 +22,7 @@
condition=win
show_turn_counter=yes
[/objective]
[objective]
{ALTERNATIVE_OBJECTIVE_CAPTION}
description= _ "Defeat all enemy leaders"+{OBJECTIVE_FOOTNOTE _"(special bonus)"}
condition=win
[/objective]
{ALTERNATIVE_OBJECTIVE ( _ "Defeat all enemy leaders")}
[objective]
description= _ "Death of Konrad"
condition=lose
@ -390,6 +386,7 @@
[/else]
#endif
[/if]
{CLEAR_VARIABLE random}
[/event]
[event]
@ -474,6 +471,7 @@
message= _ "You regain your lost troops and $isle_damned_starting_gold gold!"
image=wesnoth-icon.png
[/message]
{CLEAR_VARIABLE isle_damned_starting_gold}
[allow_recruit]
side=1
@ -535,6 +533,7 @@
message= _ "You regain your lost troops and $isle_damned_starting_gold gold!"
image=wesnoth-icon.png
[/message]
{CLEAR_VARIABLE isle_damned_starting_gold}
[allow_recruit]
side=1
@ -556,3 +555,9 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef EMPTY_TEMPLE_TRAP
#undef MOREMIRMU_TRAP
#undef XAKAE_TRAP
#undef ISLE_GALLEON_ARRIVE
#undef RESTORE_RECALL_LIST

View file

@ -144,8 +144,8 @@
#endif
[time_area]
x=13-22,23 ,24 ,25-26
y=0-5 ,0-3,0-1,0-2
x= 11, 12, 13, 14, 15, 16-22, 23, 24, 25-26
y= 0-1, 0-2, 0-6, 0-5, 0-6, 0-5, 0-3, 0-1, 0-2
{UNDERGROUND}
[/time_area]
@ -155,13 +155,41 @@
{PLACE_IMAGE scenery/rock1.png 13 12}
{PLACE_IMAGE scenery/rock2.png 25 28}
#define ADVISOR
[role]
type=Elvish Champion,Elvish Marshal,Elvish Captain,Elvish Hero,Knight,Elvish Outrider,Elvish Rider,Paladin,Mage,White Mage,Red Mage
role=Advisor
[auto_recall][/auto_recall]
type="Elvish Sylph,Great Mage," +
"Elvish Marshal,Elvish Champion,Elvish Avenger,Elvish Sharpshooter,Elvish Shyde,Elvish Enchantress,Elvish Outrider," +
"Paladin,Grand Knight," +
"Mage of Light,Arch Mage,Silver Mage," +
"Merman Triton,Merman Hoplite,Merman Javelineer,Merman Entangler,Mermaid Diviner,Mermaid Siren," +
"Highwayman,Fugitive,Huntsman,Ranger," +
"Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Elvish Rider," +
"Knight,Lancer," +
"White Mage,Red Mage," +
"Merman Warrior,Merman Spearman,Merman Netcaster,Mermaid Priestess,Mermaid Enchantress," +
"Bandit,Outlaw,Trapper," +
"Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout," +
"Horseman," +
"Mage," +
"Merman Fighter,Merman Hunter,Mermaid Initiate," +
"Thug,Footpad,Poacher"
[else]
[unit]
side=1
type=Elvish Fighter
role=Advisor
placement=leader
[/unit]
[/else]
[/role]
[recall]
role=Advisor
[/recall]
#enddef
{ADVISOR}
[/event]
[event]
@ -265,6 +293,7 @@
speaker=Reglok
message= _ "Greetings, friend. We are from the Elensefar Thieves Guild. We would like to help you against the orcs!"
[/message]
{ADVISOR}
[message]
role=Advisor
message= _ "Thieves, hmmm? Who says we can trust such as you?"
@ -492,8 +521,8 @@
#create terrain
[terrain]
terrain=Wwf # wmllint: ignore
x=7-8
y=30-32
x=8,7-8
y=30,31-32
[/terrain]
#dialog
[message]
@ -618,7 +647,7 @@
[message]
speaker=Konrad
message= _ "Oh, and you want me to get this scepter?"
message= _ "Oh, and you want me to get this Sceptre?"
[/message]
[message]
@ -646,6 +675,7 @@
message= _ "We cannot go to Wesmere, for Ashevieres orcs have the approaches ringed about with steel; Kalenz and I barely escaped, and Chantal cannot get out. Until we are stronger, we must go where the orcs are not."
[/message]
{CLEAR_VARIABLE thieves_ford}
[endlevel]
result=victory
bonus=yes
@ -719,3 +749,5 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef ADVISOR

View file

@ -321,48 +321,58 @@
# variables, thus always having the same ratio of different
# types.
[unit]
x,y=$ambush_location.x,$ambush_location.y
type=$random_ambusher_type_table[$random_ambusher_type_i].type
side={SIDE}
facing=sw
role=ambusher
random_traits=yes
[if]
[not]
[have_unit]
x,y=$ambush_location.x,$ambush_location.y
[/have_unit]
[/not]
[then]
[unit]
x,y=$ambush_location.x,$ambush_location.y
type=$random_ambusher_type_table[$random_ambusher_type_i].type
side={SIDE}
facing=sw
role=ambusher
random_traits=yes
[modifications]
{TRAIT_LOYAL}
[/modifications]
{IS_LOYAL}
[/unit]
[modifications]
{TRAIT_LOYAL}
[/modifications]
{IS_LOYAL}
[/unit]
[object]
silent=yes
[object]
silent=yes
[filter]
x,y=$ambush_location.x,$ambush_location.y
[/filter]
[filter]
x,y=$ambush_location.x,$ambush_location.y
[/filter]
[effect]
apply_to=new_ability
[effect]
apply_to=new_ability
[abilities]
[hides]
id=orc_ambush
affect_self=yes
[abilities]
[hides]
id=orc_ambush
affect_self=yes
[filter_self]
role=ambusher
[filter_self]
role=ambusher
[filter_location]
terrain=Hh,Mm
[/filter_location]
[/filter_self]
[/hides]
[/abilities]
[/effect]
[/object]
[filter_location]
terrain=Hh,Mm
[/filter_location]
[/filter_self]
[/hides]
[/abilities]
[/effect]
[/object]
[/then]
[/if]
[/command]
[/random_placement]
{CLEAR_VARIABLE ambush_location}
#enddef
@ -372,28 +382,26 @@
{ORC_AMBUSH_AREA 2 5-35 1-7 5}
{ORC_AMBUSH_AREA 2 9-24 8-15 5}
{ORC_AMBUSH_AREA 3 1-17 17-24 9}
{ORC_AMBUSH_AREA 3 18-26 16-23 5}
{ORC_AMBUSH_AREA 3 18-25 16-23 5}
{ORC_AMBUSH_AREA 3 26-40 16-23 5}
#endif
#ifdef NORMAL
{ORC_AMBUSH_AREA 2 5-35 1-7 6}
{ORC_AMBUSH_AREA 2 9-24 8-15 6}
{ORC_AMBUSH_AREA 3 1-17 17-24 10}
{ORC_AMBUSH_AREA 3 18-26 16-23 6}
{ORC_AMBUSH_AREA 3 18-25 16-23 6}
{ORC_AMBUSH_AREA 3 26-40 16-23 6}
#endif
#ifdef HARD
{ORC_AMBUSH_AREA 2 5-35 1-7 7}
{ORC_AMBUSH_AREA 2 9-24 8-15 7}
{ORC_AMBUSH_AREA 3 1-17 17-24 11}
{ORC_AMBUSH_AREA 3 18-26 16-23 7}
{ORC_AMBUSH_AREA 3 18-25 16-23 7}
{ORC_AMBUSH_AREA 3 26-40 16-23 7}
#endif
{CLEAR_VARIABLE possible_ambush_locations}
{CLEAR_VARIABLE random_ambusher_type_table}
{CLEAR_VARIABLE random_ambusher_type_i}
{CLEAR_VARIABLE ambusher}
[/event]
[event]
@ -537,3 +545,6 @@ SE — Fort Tahn"
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef CROSSROADS_AI_PARAMS
#undef ORC_AMBUSH_AREA

View file

@ -20,7 +20,7 @@
[objectives]
side=1
[objective]
description= _ "Force Lisars surrender (reduce her hitpoints to 0 or lower)"
description= _ "Force Lisars surrender"+{OBJECTIVE_FOOTNOTE ( _ "(reduce her hitpoints to 0 or lower)")}
condition=win
[/objective]
[objective]
@ -150,12 +150,40 @@
id=Kalenz
[/recall]
[role]
type=Elvish Champion,Elvish Marshal,Elvish Captain,Elvish Hero,Knight,Elvish Outrider,Elvish Rider,Paladin,Mage,White Mage,Red Mage
role=Advisor
[auto_recall][/auto_recall]
type="Elvish Sylph,Great Mage," +
"Elvish Marshal,Elvish Champion,Elvish Avenger,Elvish Sharpshooter,Elvish Shyde,Elvish Enchantress,Elvish Outrider," +
"Paladin,Grand Knight," +
"Mage of Light,Arch Mage,Silver Mage," +
"Merman Triton,Merman Hoplite,Merman Javelineer,Merman Entangler,Mermaid Diviner,Mermaid Siren," +
"Highwayman,Fugitive,Huntsman,Ranger," +
"Assassin," +
"Elvish Captain,Elvish Hero,Elvish Ranger,Elvish Marksman,Elvish Druid,Elvish Sorceress,Elvish Rider," +
"Knight,Lancer," +
"White Mage,Red Mage," +
"Merman Warrior,Merman Spearman,Merman Netcaster,Mermaid Priestess,Mermaid Enchantress," +
"Bandit,Outlaw,Trapper," +
"Rogue," +
"Elvish Fighter,Elvish Archer,Elvish Shaman,Elvish Scout," +
"Horseman," +
"Mage," +
"Merman Fighter,Merman Hunter,Mermaid Initiate," +
"Thug,Footpad,Poacher," +
"Thief"
[else]
[unit]
side=1
type=Elvish Fighter
role=Advisor
placement=leader
[/unit]
[/else]
[/role]
[recall]
role=Advisor
[/recall]
[/event]
[event]
@ -414,3 +442,5 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef SECOND_WAVE

View file

@ -458,7 +458,10 @@
[/kill]
[/then]
[/if]
{CLEAR_VARIABLE moremirmu}
[/event]
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef VOD_AI_PARMS

View file

@ -246,7 +246,10 @@
[/event]
[event]
name=enemies defeated
name=die
[filter]
id=Robryn
[/filter]
[message]
speaker=Konrad
message= _ "We have defeated them! Now what do we do?"
@ -266,147 +269,145 @@
message= _ "With these gryphon eggs we should be able to breed gryphons that will serve us. When they are large enough to carry mounts, we can hire gryphon riders!"
[/message]
[/then]
[else]
[if]
[and]
[variable]
name=gryphon_disposition
greater_than_equal_to=2
[/variable]
[have_unit]
[elseif]
[and]
[variable]
name=gryphon_disposition
greater_than_equal_to=2
[/variable]
[have_unit]
side=3
[/have_unit]
[/and]
[then]
[message]
speaker=Konrad
message= _ "It is a shame we could not get those gryphon eggs. I am glad we did not slaughter any gryphons. They are magnificent animals (looks back at the mountain). Still..."
[/message]
[message]
speaker=Konrad
message= _ "Whoa!!"
[/message]
#
# Wake up all the sleeping gryphons
#
[store_unit]
variable=gryphon_store
[filter]
side=3
[/have_unit]
[/and]
[then]
[message]
speaker=Konrad
message= _ "It is a shame we could not get those gryphon eggs. I am glad we did not slaughter any gryphons. They are magnificent animals (looks back at the mountain). Still..."
[/message]
[message]
speaker=Konrad
message= _ "Whoa!!"
[/message]
#
# Wake up all the sleeping gryphons
#
[store_unit]
variable=gryphon_store
[filter]
side=3
[/filter]
[/store_unit]
[foreach]
array=gryphon_store
[do]
{VARIABLE this_item.type Gryphon}
[unstore_unit]
variable=this_item
[/unstore_unit]
[/filter]
[/store_unit]
[foreach]
array=gryphon_store
[do]
{VARIABLE this_item.type Gryphon}
[unstore_unit]
variable=this_item
[/unstore_unit]
[/do]
[/foreach]
{CLEAR_VARIABLE gryphon_store}
#
# Figure out where Konrad is standing
#
[store_unit]
variable=konrad_store
[filter]
id=Konrad
[/filter]
[/store_unit]
[if]
[variable]
name=konrad_store.x
greater_than=13
[/variable]
[then]
{VARIABLE destination_x 24}
[/then]
[else]
{VARIABLE destination_x 1}
[/else]
[/if]
[if]
[variable]
name=konrad_store.y
greater_than=16
[/variable]
[then]
{VARIABLE destination_y 39}
[/then]
[else]
{VARIABLE destination_y 1}
[/else]
[/if]
#
# Put some more gryphons up there and view the mountain
#
{NAMED_LOYAL_UNIT 3 (Gryphon) 13 14 (Graik) ( _ "Graik")}
{NAMED_LOYAL_UNIT 3 (Gryphon) 13 18 (Griak) ( _ "Griak")}
[scroll_to]
x,y=13,16
[/scroll_to]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "Indeed, the majestic beasts were now circling the mountains peak. Several glared in Konrads direction, their eagle eyes fixed on him at an incredible distance."
[/message]
[sound]
name=gryphon-shriek-1.ogg
[/sound]
[store_unit]
variable=gryphon_store
[filter]
{CLEAR_VARIABLE gryphon_store}
#
# Figure out where Konrad is standing
#
[store_unit]
variable=konrad_store
[filter]
id=Konrad
[/filter]
[/store_unit]
[if]
[variable]
name=konrad_store.x
greater_than=13
[/variable]
[then]
{VARIABLE destination_x 24}
[/then]
[else]
{VARIABLE destination_x 1}
[/else]
[/if]
[if]
[variable]
name=konrad_store.y
greater_than=16
[/variable]
[then]
{VARIABLE destination_y 39}
[/then]
[else]
{VARIABLE destination_y 1}
[/else]
[/if]
#
# Put some more gryphons up there and view the mountain
#
{NAMED_LOYAL_UNIT 3 (Gryphon) 13 14 (Graik) ( _ "Graik")}
{NAMED_LOYAL_UNIT 3 (Gryphon) 13 18 (Griak) ( _ "Griak")}
[scroll_to]
x,y=13,16
[/scroll_to]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "Indeed, the majestic beasts were now circling the mountains peak. Several glared in Konrads direction, their eagle eyes fixed on him at an incredible distance."
[/message]
[sound]
name=gryphon-shriek-1.ogg
[/sound]
[store_unit]
variable=gryphon_store
[filter]
side=3
[/filter]
[/store_unit]
[foreach]
array=gryphon_store
[do]
{VARIABLE temp_x $this_item.x}
{VARIABLE temp_y $this_item.y}
{VARIABLE range_x ("$temp_x|, $destination_x")}
{VARIABLE range_y ("$temp_y|, $destination_y")}
[kill]
x=$temp_x
y=$temp_y
[/kill]
[move_unit_fake]
type=Gryphon
side=3
[/filter]
[/store_unit]
[foreach]
array=gryphon_store
[do]
{VARIABLE temp_x $this_item.x}
{VARIABLE temp_y $this_item.y}
{VARIABLE range_x ("$temp_x|, $destination_x")}
{VARIABLE range_y ("$temp_y|, $destination_y")}
[kill]
x=$temp_x
y=$temp_y
[/kill]
[move_unit_fake]
type=Gryphon
side=3
x=$range_x
y=$range_y
[/move_unit_fake]
[/do]
[/foreach]
{CLEAR_VARIABLE konrad_store}
{CLEAR_VARIABLE gryphon_store}
{CLEAR_VARIABLE temp_x}
{CLEAR_VARIABLE temp_y}
{CLEAR_VARIABLE range_x}
{CLEAR_VARIABLE range_y}
{CLEAR_VARIABLE destination_x}
{CLEAR_VARIABLE destination_y}
[message]
speaker=Delfador
message= _ "Amazing! I have never before heard of such behavior in gryphons."
[/message]
[message]
speaker=Konrad
message= _ "What does it mean?"
[/message]
[message]
speaker=Delfador
message= _ "I do not know. Come now, the show is over."
[/message]
[/then]
[else]
[message]
speaker=Konrad
message= _ "It is a shame we could not get those gryphon eggs — they would surely have given us an advantage sometime. Still, we must continue."
[/message]
[/else]
[/if]
x=$range_x
y=$range_y
[/move_unit_fake]
[/do]
[/foreach]
{CLEAR_VARIABLE konrad_store}
{CLEAR_VARIABLE gryphon_store}
{CLEAR_VARIABLE temp_x}
{CLEAR_VARIABLE temp_y}
{CLEAR_VARIABLE range_x}
{CLEAR_VARIABLE range_y}
{CLEAR_VARIABLE destination_x}
{CLEAR_VARIABLE destination_y}
[message]
speaker=Delfador
message= _ "Amazing! I have never before heard of such behavior in gryphons."
[/message]
[message]
speaker=Konrad
message= _ "What does it mean?"
[/message]
[message]
speaker=Delfador
message= _ "I do not know. Come now, the show is over."
[/message]
[/then]
[/elseif]
[else]
[message]
speaker=Konrad
message= _ "It is a shame we could not get those gryphon eggs — they would surely have given us an advantage sometime. Still, we must continue."
[/message]
[/else]
[/if]
[message]
@ -414,6 +415,7 @@
message= _ "Let us continue onward!"
[/message]
{CLEAR_VARIABLE gryphon_disposition}
[endlevel]
result=victory
bonus=yes

View file

@ -7,6 +7,7 @@
{DEFAULT_SCHEDULE}
victory_when_enemies_defeated=no
next_scenario=12_Northern_Winter
{SCENARIO_MUSIC "loyalists.ogg"}
@ -302,11 +303,11 @@
#if the players marches over to Li'sar's keep, reinforcements appear
[event]
name=moveto
[filter_second]
[filter]
side=1
x=0-16
y=23,34
[/filter_second]
y=23-34
[/filter]
{FORD_GUARD 1 29}
{FORD_GUARD 1 29}
{FORD_GUARD 1 29}
@ -322,13 +323,16 @@
#getting closer --> more reinforcements
[event]
name=moveto
[filter_second]
[filter]
side=1
x=2-9
y=24,30
[/filter_second]
y=24-30
[/filter]
[message]
speaker=second_unit
side=2
[not]
id="Li'sar"
[/not]
message= _ "Stop! You shall not pass! Quick, reinforcements, protect the Princess!"
[/message]
{FORD_GUARD 1 27}
@ -455,6 +459,7 @@
[/then]
[/if]
{CLEAR_VARIABLE lisar_still_here}
[endlevel]
result=victory
bonus=yes
@ -464,3 +469,6 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef FORD_GUARD
#undef SEA_CREATURE

View file

@ -5,12 +5,14 @@
map_data="{campaigns/Heir_To_The_Throne/maps/12_Northern_Winter.map}"
{TURNS 50 40 40}
# when changing the turn limits, also change this event accordingly
[event]
name=prestart
[store_turns]
variable=turn_limit
[/store_turns]
[set_variable]
name=turn_limit
{QUANTITY value 50 40 40}
add=1
[/set_variable]
[/event]
@ -142,11 +144,30 @@
[role]
role=human-advisor
type=Knight,Paladin,White Mage,Mage of Light,Red Mage,Arch Mage,Great Mage,Horseman
[auto_recall][/auto_recall]
type="Thief," +
"Poacher,Footpad,Thug," +
"Mage," +
"Horseman," +
"Rogue," +
"Trapper,Outlaw,Bandit," +
"Red Mage,White Mage," +
"Lancer,Knight," +
"Assassin," +
"Ranger,Huntsman,Fugitive,Highwayman," +
"Silver Mage,Arch Mage,Mage of Light," +
"Grand Knight,Paladin," +
"Great Mage"
[else]
[unit]
side=1
type=Thief
role=human-advisor
placement=leader
[/unit]
[/else]
[/role]
[recall]
role=human-advisor
[/recall]
[recall]
id=Delfador
[/recall]
@ -335,7 +356,7 @@
[/do]
[/while]
{CLEAR_VARIABLE non_snowy_locs}
{CLEAR_VARIABLE non_snowy_locs,i,num_of_falling_snow,random,terrain,turns_left}
[/event]
[/event]
@ -379,7 +400,7 @@
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "Konrad finally decided he could not wait until the gryphons grew to maturity — Delfadors insistence that the scepter must be recovered was too compelling. And so after many days of rest, the party set out once again for the dwarven kingdom..."
message= _ "Konrad finally decided he could not wait until the gryphons grew to maturity — Delfadors insistence that the Sceptre must be recovered was too compelling. And so after many days of rest, the party set out once again for the dwarven kingdom..."
[/message]
[/then]
[else]
@ -391,11 +412,12 @@
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "Eventually Delfadors insistence that the scepter must be recovered proved too compelling, even when it meant dismantling the camp without the spring having yet fully arrived. And so after many days of rest, the party set out once again for the dwarven kingdom..."
message= _ "Eventually Delfadors insistence that the Sceptre must be recovered proved too compelling, even when it meant dismantling the camp without the spring having yet fully arrived. And so after many days of rest, the party set out once again for the dwarven kingdom..."
[/message]
[/else]
[/if]
{CLEAR_VARIABLE turn_limit}
[endlevel]
result=victory
bonus=yes

View file

@ -173,13 +173,25 @@
[recall]
id=Haldiel
[/recall]
[role]
type=Elvish Outrider,Elvish Rider,Elvish Scout,Lancer,Paladin,Grand Knight,Knight,Horseman
[role] #If Haldiel was just recalled, this will select him.
role=Rider
[auto_recall][/auto_recall]
type="Elvish Outrider," +
"Paladin,Grand Knight," +
"Elvish Rider," +
"Knight,Lancer," +
"Elvish Scout," +
"Horseman"
[else]
[unit]
side=1
type=Horseman
role=Rider
placement=leader
[/unit]
[/else]
[/role]
[recall]
role=Rider
[/recall]
[redraw]
[/redraw]
@ -552,10 +564,6 @@
speaker=Konrad
message= _ "Pray that we live to see sunlight again."
[/message]
[set_variable]
name=killed_enemies
value=false
[/set_variable]
[endlevel]
result=victory
bonus=yes
@ -582,10 +590,6 @@
speaker=Konrad
message= _ "Pray that we live to see sunlight again."
[/message]
[set_variable]
name=killed_enemies
value=false
[/set_variable]
[endlevel]
result=victory
bonus=yes
@ -679,3 +683,5 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef LISAR_GUARD_DOORS

View file

@ -670,6 +670,7 @@
[/then]
[/if]
{CLEAR_VARIABLE get_gryphons}
[endlevel]
result=victory
bonus=no

View file

@ -636,3 +636,5 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef MORE_UNITS

View file

@ -7,7 +7,7 @@
{DEEP_UNDERGROUND}
next_scenario=17_Scepter_of_Fire
next_scenario=17_Sceptre_of_Fire
{SCENARIO_MUSIC "underground.ogg"} # More in start event
@ -442,3 +442,6 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef HASTY_TROLL
#undef HASTY_GOBLIN_KNIGHT

View file

@ -1,6 +1,6 @@
#textdomain wesnoth-httt
[scenario]
id=17_Scepter_of_Fire
id=17_Sceptre_of_Fire
name= _ "The Sceptre of Fire"
next_scenario=18_A_Choice_Must_Be_Made
scenario_generation=cave
@ -94,9 +94,9 @@
{SOF_TERRAIN_MASK}
#
# Except on hard, you only have to face 3 enemies
# instead of 4. This part randomly kills one of the
# 4 leaders.
# Except on hard, you only have to face 4 enemies
# instead of 5. This part randomly kills 1 or 2 of the
# 6 leaders.
#
#ifdef HARD
#else
@ -105,12 +105,20 @@
[kill]
side=$side_kill
[/kill]
[modify_side]
side=$side_kill
hidden=yes
[/modify_side]
#endif
{VARIABLE_OP side_kill rand "2..3"}
{ERASE_CASTLE $side_kill Uu}
[kill]
side=$side_kill
[/kill]
[modify_side]
side=$side_kill
hidden=yes
[/modify_side]
{CLEAR_VARIABLE side_kill}
# just making sure that the starting castle is big enough that
@ -223,19 +231,19 @@
[store_locations]
terrain=Xu,Qxu,Ql
[and]
x=$scepter_x
y=$scepter_y
x=$sceptre_x
y=$sceptre_y
radius=3
[/and]
[or]
x=$scepter_x
y=$scepter_y
x=$sceptre_x
y=$sceptre_y
radius=1
[/or]
variable=scepter_vicinity
variable=sceptre_vicinity
[/store_locations]
[foreach]
array=scepter_vicinity
array=sceptre_vicinity
[do]
[terrain]
x=$this_item.x
@ -244,9 +252,10 @@
[/terrain]
[/do]
[/foreach]
{CLEAR_VARIABLE sceptre_vicinity}
[terrain]
x=$scepter_x
y=$scepter_y
x=$sceptre_x
y=$sceptre_y
terrain=Uu^Ii
[/terrain]
@ -297,7 +306,7 @@
name=moveto
[filter]
[filter_location]
x,y=$scepter_x,$scepter_y
x,y=$sceptre_x,$sceptre_y
radius=6
[/filter_location]
side=1
@ -345,7 +354,7 @@
[event]
name=victory
{CLEAR_VARIABLE concentrating,moved_too_close}
{CLEAR_VARIABLE concentrating,moved_too_close,lava_body,lava_count,sceptre_x,sceptre_y}
[/event]
[event]
@ -364,18 +373,18 @@
local H = wesnoth.require "lua/helper.lua"
local W = H.set_wml_action_metatable {}
local delf = wesnoth.get_units { id = 'Delfador' }[1]
local sceptre_x, sceptre_y = wesnoth.get_variable('scepter_x'), wesnoth.get_variable('scepter_y')
local sceptre_x, sceptre_y = wesnoth.get_variable('sceptre_x'), wesnoth.get_variable('sceptre_y')
local path = wesnoth.find_path(delf, sceptre_x, sceptre_y, {ignore_units = true, viewing_side = 0}) -- # wmllint: noconvert
_ = wesnoth.textdomain 'wesnoth-httt'
local dirs = { _"I sense the path to the sceptre is to the east of me.",
_"I sense the path to the sceptre is to the south-east of me.",
_"I sense the path to the sceptre is to the south of me.",
_"I sense the path to the sceptre is to the south-west of me.",
_"I sense the path to the sceptre is to the west of me.",
_"I sense the path to the sceptre is to the north-west of me.",
_"I sense the path to the sceptre is to the north of me.",
_"I sense the path to the sceptre is to the north-east of me." }
local dirs = { _"I sense the path to the Sceptre is to the east of me.",
_"I sense the path to the Sceptre is to the south-east of me.",
_"I sense the path to the Sceptre is to the south of me.",
_"I sense the path to the Sceptre is to the south-west of me.",
_"I sense the path to the Sceptre is to the west of me.",
_"I sense the path to the Sceptre is to the north-west of me.",
_"I sense the path to the Sceptre is to the north of me.",
_"I sense the path to the Sceptre is to the north-east of me." }
local goal = { x = path[6][1], y = path[6][2] }
@ -436,7 +445,7 @@
[chamber]
id=player
x=15-35
y=68
y=65
size=8
jagged=50
[items]
@ -561,11 +570,11 @@
{PASSAGE_NORMAL mini_2 2 5 2}
[items]
#
# These macros handle the placement and attainment of the scepter,
# These macros handle the placement and attainment of the sceptre,
# including ending the level in victory.
# I moved them to the utils file to make the chamber WML more readable
#
# The scepter will always be in mini chamber 3, but the location of this
# The sceptre will always be in mini chamber 3, but the location of this
# particular chamber is highly variable
#
{PLACE_SCEPTRE}

View file

@ -167,11 +167,11 @@
[if]
[variable]
name=scepter
name=sceptre
equals="Konrad"
[/variable]
#if Konrad got the Sceptre
#if Konrad got the sceptre
[then]
[message]
speaker="Li'sar"
@ -203,7 +203,7 @@
[/message]
[/then]
#if Li'sar got the Sceptre
#if Li'sar got the sceptre
[else]
[message]
speaker="Li'sar"

View file

@ -26,7 +26,7 @@
[/objective]
[objective]
{BONUS_OBJECTIVE_CAPTION}
description= _ "Defeat all Death Knights first"+{EARLY_FINISH_BONUS_FOOTNOTE}
description= _ "Defeat all Death Knights first"
condition=win
[/objective]
[objective]
@ -306,28 +306,6 @@
name=dk_kill_count
numerical_equals=4
[/variable]
[else]
[if]
[variable]
name=dk_kill_count
numerical_equals=3
[/variable]
[then]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "A final blow destroys the lich, releasing a small shock wave of energy outwards. The last of his minions silently falls like a puppet with its strings cut. A cloud of dust billows outwards as the remnants of the lichs once-mortal body disintegrate for the last time."
[/message]
[/then]
[else]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "A final blow destroys the lich, releasing a small shock wave of energy outwards. His minions fall like puppets with their strings cut. A cloud of dust billows out as the remnants of the lichs once-mortal body disintegrate for the last time."
[/message]
[/else]
[/if]
[/else]
[then]
[message]
speaker=narrator
@ -335,6 +313,26 @@
message= _ "A final blow destroys the lich, releasing a small shock wave of energy outwards. A giant cloud of dust billows out as the remnants of the lichs once-mortal body disintegrate for the last time."
[/message]
[/then]
[elseif]
[variable]
name=dk_kill_count
numerical_equals=3
[/variable]
[then]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "A final blow destroys the lich, releasing a small shock wave of energy outwards. The last of his minions silently falls like a puppet with its strings cut. A cloud of dust billows outwards as the remnants of the lichs once-mortal body disintegrate for the last time."
[/message]
[/then]
[/elseif]
[else]
[message]
speaker=narrator
image="wesnoth-icon.png"
message= _ "A final blow destroys the lich, releasing a small shock wave of energy outwards. His minions fall like puppets with their strings cut. A cloud of dust billows out as the remnants of the lichs once-mortal body disintegrate for the last time."
[/message]
[/else]
[/if]
[message]
speaker=Delfador
@ -389,6 +387,7 @@
{CLEAR_VARIABLE temp_armor_x}
{CLEAR_VARIABLE temp_armor_y}
{CLEAR_VARIABLE armor_taken}
{CLEAR_VARIABLE armored_knight,dk_kill_count}
[endlevel]
result=victory
bonus=yes
@ -396,3 +395,6 @@
[/endlevel]
[/event]
[/scenario]
#undef SWAMP_DREAD_AI_PARAMS
#undef ENDOWED_KNIGHT

View file

@ -65,12 +65,33 @@
[event]
name=prestart
[objectives]
side=1
[objective]
[show_if]
[not]
{CHECK_VARIABLE waterfall_sighted yes}
[/not]
[/show_if]
description= _ "Make it to the end of the river"
condition=win
[/objective]
[objective]
[show_if]
{CHECK_VARIABLE waterfall_sighted yes}
[/show_if]
description= _ "Reach the cave"
condition=win
[/objective]
[objective]
[show_if]
{CHECK_VARIABLE sergeant_sighted yes}
[/show_if]
{BONUS_OBJECTIVE_CAPTION}
description= _ "Rescue the sergeant"
condition=win
[/objective]
[objective]
description= _ "Death of Konrad"
condition=lose
@ -189,6 +210,7 @@
id="Li'sar"
[/recall]
{VARIABLE sergeant_sighted no}
{VARIABLE waterfall_sighted no}
{OBJ_TRIDENT_STORM 17 11 cot_stormtrident}
{PLACE_IMAGE items/gohere.png 55 3}
@ -503,6 +525,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
message= _ "Weve found $random gold in the drake nest."
image=items/gold-coins-medium.png
[/message]
{CLEAR_VARIABLE random}
# Remove the current location from the array
[for]
@ -527,6 +550,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
[/if]
[/do]
[/for]
{CLEAR_VARIABLE i}
[/event]
[event]
@ -607,46 +631,44 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
[/then]
[else]
[if]
[then]
#ifdef EASY
{VARIABLE_OP spawn_level rand "1,2"}
{VARIABLE_OP spawn_level rand "1,2"}
#else
{VARIABLE_OP spawn_level rand "1,2,2,3"}
{VARIABLE_OP spawn_level rand "1,2,2,3"}
#endif
[switch]
variable=spawn_level
[switch]
variable=spawn_level
[case]
value=1
[case]
value=1
{VARIABLE_OP spawn_type rand "Drake Fighter,Drake Burner,Drake Glider"}
{VARIABLE_OP spawn_type rand "Drake Fighter,Drake Burner,Drake Glider"}
{GENERIC_UNIT 2 $spawn_type $this_item.x $this_item.y}
[+unit]
ai_special=guardian
[/unit]
[/case]
{GENERIC_UNIT 2 $spawn_type $this_item.x $this_item.y}
[+unit]
ai_special=guardian
[/unit]
{CLEAR_VARIABLE spawn_type}
[/case]
[case]
value=2
[case]
value=2
{VARIABLE_OP this_item.spawn_type rand "Drake Warrior,Drake Flare,Fire Drake,Sky Drake"}
{VARIABLE_OP this_item.spawn_type rand "Drake Warrior,Drake Flare,Fire Drake,Sky Drake"}
{VARIABLE this_item.delayed_spawning_on_turn "$($turn_number + 1)"}
[/case]
{VARIABLE this_item.delayed_spawning_on_turn "$($turn_number + 1)"}
[/case]
[case]
value=3
[case]
value=3
{VARIABLE_OP this_item.spawn_type rand "Drake Blademaster,Drake Flameheart,Inferno Drake,Drake Enforcer,Drake Warden,Hurricane Drake"}
{VARIABLE_OP this_item.spawn_type rand "Drake Blademaster,Drake Flameheart,Inferno Drake,Drake Enforcer,Drake Warden,Hurricane Drake"}
{VARIABLE this_item.delayed_spawning_on_turn "$($turn_number + 2)"}
[/case]
[/switch]
[/then]
[/if]
{VARIABLE this_item.delayed_spawning_on_turn "$($turn_number + 2)"}
[/case]
[/switch]
{CLEAR_VARIABLE spawn_level}
[/else]
[/if]
[/then]
@ -659,9 +681,16 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
name=moveto
[filter]
side=1
x=40-50
y=11-20
[/filter]
[filter_condition]
[have_location]
x,y=$x1,$y1
[and]
x,y=45,16
radius=7
[/and]
[/have_location]
[/filter_condition]
[modify_side]
side=4
share_view=yes
@ -670,21 +699,25 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
speaker=unit
message= _ "I see someone at the top of the furthermost cliff!"
[/message]
[remove_shroud]
side=1
x=43-47
y=14-17
[/remove_shroud]
[lift_fog]
[filter_side]
side=1
[/filter_side]
x,y=45,16
radius=2
[/lift_fog]
[scroll_to]
x=45
y=16
[/scroll_to]
[message]
speaker=unit
scroll=no
message= _ "It is a young human sergeant, barely more than a boy. He appears badly hurt but still alive."
[/message]
[message]
speaker=unit
scroll=no
message= _ "I wonder why the drakes havent finished him by now? It is strange that there are not any drakes in that area."
[/message]
#define SERPENT X Y
@ -706,6 +739,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
#undef SERPENT
[message]
type=Water Serpent
scroll=no
message= _ "Grrroar" # wmllint: no spellcheck
[/message]
[scroll_to_unit]
@ -713,6 +747,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
[/scroll_to_unit]
[message]
speaker=unit
scroll=no
message= _ "Well... that answers the question."
[/message]
[message]
@ -751,41 +786,8 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
speaker=Delfador
message= _ "Fair enough..."
[/message]
[objectives]
side=1
[objective]
description= _ "Make it to the end of the river"
condition=win
[/objective]
[objective]
{BONUS_OBJECTIVE_CAPTION}
description= _ "Rescue the sergeant"
condition=win
[/objective]
[objective]
description= _ "Death of Konrad"
condition=lose
[/objective]
[objective]
description= _ "Death of Delfador"
condition=lose
[/objective]
[objective]
description= _ "Death of Lisar"
condition=lose
[/objective]
[objective]
description= _ "Death of Kalenz"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
{VARIABLE sergeant_sighted yes}
[show_objectives][/show_objectives]
[/event]
[event]
@ -838,6 +840,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
speaker=Konrad
message= _ "Follow us when you think you are capable and beware of monsters. We have fought many already, and there are sure to be more ahead."
[/message]
{VARIABLE sergeant_sighted no}
[/event]
[event]
@ -859,6 +862,14 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
{WATERFALL_MASK 55 3}
[role]
role=merman-advisor
reassign=no
search_recall_list=no
type="Merman Triton,Merman Hoplite,Merman Javelineer,Merman Entangler,Mermaid Diviner,Mermaid Siren," +
"Merman Warrior,Merman Spearman,Merman Netcaster,Mermaid Priestess,Mermaid Enchantress," +
"Merman Fighter,Merman Hunter,Mermaid Initiate"
[/role]
[message]
role=merman-advisor
message= _ "Even we merfolk cannot swim that. The road east is blocked."
@ -877,36 +888,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
message= _ "Unfortunately, we have no other options. Onward into the cave!"
[/message]
[objectives]
side=1
[objective]
description= _ "Reach the cave"
condition=win
[/objective]
[objective]
description= _ "Death of Konrad"
condition=lose
[/objective]
[objective]
description= _ "Death of Delfador"
condition=lose
[/objective]
[objective]
description= _ "Death of Lisar"
condition=lose
[/objective]
[objective]
description= _ "Death of Kalenz"
condition=lose
[/objective]
{TURNS_RUN_OUT}
[gold_carryover]
bonus=yes
carryover_percentage=40
[/gold_carryover]
[/objectives]
[show_objectives][/show_objectives]
{PLACE_IMAGE items/gohere.png 37 1}
[/event]
@ -951,6 +933,7 @@ Soooo... It is you who sent your subordinates to attack us. Now when weve des
speaker=Konrad
message= _ "Everybody inside..."
[/message]
{CLEAR_VARIABLE sergeant_sighted,waterfall_sighted,drake_bases}
[endlevel]
result=victory
bonus=yes

View file

@ -261,11 +261,6 @@
[event]
name=prestart
#
# Variable cleanup from last scenario
#
{CLEAR_VARIABLE armored_knight}
#
# Add a bunch of strong guardians to discourage you from
# attacking the leaders These are full-fledged war camps,
@ -707,15 +702,43 @@
x=75-79
y=17-19
[/filter]
[message]
speaker="El'rien"
# wmllint: local spelling Emetria
message= _ "Greetings, Elf-friend! Welcome to Emetria, my hold in Lintanir. You must take shelter here until the battle passes. If you stay with me here for a little while, we will all be safe."
[/message]
[message]
speaker=Konrad
message= _ "Thank you, Lord Elrien. The hospitality of the North Elves is as generous as that of your kin in the south! My men will help you hold out against our enemies."
[/message]
[if]
[have_unit]
id="El'rien"
[/have_unit]
[then]
[message]
speaker="El'rien"
# wmllint: local spelling Emetria
message= _ "Greetings, Elf-friend! Welcome to Emetria, my hold in Lintanir. You must take shelter here until the battle passes. If you stay with me here for a little while, we will all be safe."
[/message]
[message]
speaker=Konrad
message= _ "Thank you, Lord Elrien. The hospitality of the North Elves is as generous as that of your kin in the south! My men will help you hold out against our enemies."
[/message]
[/then]
[elseif]
[have_unit]
side=4
[/have_unit]
[then]
[message]
side=4
message= _ "Welcome to Emetria. You must take shelter here until the battle passes. If you stay for a while, we will all be safe."
[/message]
[message]
speaker=Konrad
message= _ "Thank you. The hospitality of the North Elves is as generous as that of your kin in the south! My men will help you hold out against our enemies."
[/message]
[/then]
[/elseif]
[else]
[message]
speaker=Konrad
message= _ "There is nobody here! We can take shelter here, but must hold out against our enemies alone."
[/message]
[/else]
[/if]
[/event]
# Once you make it far enough, TELL THE PLAYER!
@ -793,18 +816,50 @@
[event]
name=victory
[message]
speaker="El'rien"
message= _ "Elf-friends, you have made it to safety!"
[/message]
[message]
speaker=Kalenz
message= _ "Elrien, we have the Sceptre of Fire with us! We must escort them to Elensiria!"
[/message]
[message]
speaker="El'rien"
message= _ "Indeed. We will escort you to our capital, where we will make Council."
[/message]
[if]
[have_unit]
id="El'rien"
[/have_unit]
[then]
[message]
speaker="El'rien"
message= _ "Elf-friends, you have made it to safety!"
[/message]
[message]
speaker=Kalenz
message= _ "Elrien, we have the Sceptre of Fire with us! We must escort them to Elensiria!"
[/message]
[message]
speaker="El'rien"
message= _ "Indeed. We will escort you to our capital, where we will make Council."
[/message]
[/then]
[elseif]
[have_unit]
side=4
[/have_unit]
[then]
[message]
speaker=Kalenz
message= _ "Where is your leader? Where is Elrien?"
[/message]
[message]
side=4
message= _ "Alas, he has fallen just this day! We were told of your coming, Lord Kalenz. Council has already been called. You must hurry, but we cannot afford the men to escort you."
[/message]
[message]
speaker=Kalenz
message= _ "This is grave news. We will carry word to Elensiria. Hold fast! We will send reinforcements."
[/message]
[/then]
[/elseif]
[else]
[message]
speaker=Kalenz
message= _ "Where is Elrien? Where are his men? Things are moving quicker than we feared. Hurry, we must reach Elensiria."
[/message]
[/else]
[/if]
[/event]
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}

View file

@ -153,22 +153,15 @@
[ai]
{ATTACK_DEPTH 6 5 4}
[avoid]
x=1-41,42-50
y=1-35,7-35
[not]
x=41,42,43-44,45-46,47-48,49-50
y=3,2,1-3,1-4,1-5,1-6
[/not]
[/avoid]
[/ai]
{FLAG_VARIANT wood-elvish}
[/side]
[side]
side=6
no_leader=yes
controller=ai
canrecruit=no
team_name=elves
user_team_name=_"Rebels"
[/side]
[event]
name=start
[recall]
@ -190,15 +183,84 @@
[event]
name=moveto
[filter]
x=43-50
y=1-5
x=41,42,43-44,45-46,47-48,49-50
y=3,2,1-3,1-4,1-5,1-6
id=Konrad
[/filter]
[message]
speaker=Bona-Melodia
message= _ "Get that vile creature!"
[/message]
[if]
[have_unit]
id=Bona-Melodia
[/have_unit]
[then]
[message]
speaker=Bona-Melodia
message= _ "Get that vile creature!"
[/message]
[message]
speaker=Kalenz
message= _ "Hold!"
[/message]
[message]
speaker=Bona-Melodia
message= _ "Milord Kalenz! My apologies. I mistook him for one of those foul lizardmen. How came you to be traveling such paths?"
[/message]
[message]
speaker=Kalenz
message= _ "Change is coming to the human lands. We rush to Elensiria seeking assistance, and the perils of the Longlier presented the quickest route."
[/message]
[message]
speaker=Bona-Melodia
message= _ "Uradredia has already called a meeting of the Council of Lintanir. You must hurry, for they gather even now."
[/message]
[message]
speaker=Kalenz
message= _ "Then there is little time! Fare well."
[/message]
[/then]
[elseif]
[have_unit]
side=5
[/have_unit]
[then]
[message]
speaker=Kalenz
message= _ "What is this? Where is your leader?"
[/message]
[message]
side=5
message= _ "We were beset by many foul lizardmen. Alas, Bona-Melodia has fallen."
[/message]
[message]
speaker=Kalenz
message= _ "This bodes ill for Lintanir. We rush to Elensiria on other matters but will carry word of what has transpired here."
[/message]
[message]
side=5
message= _ "Lord Uradredia has called a meeting of the Council of Lintanir. Rumor is there are greater needs than ours."
[/message]
[message]
speaker=Kalenz
message= _ "Then we must hurry. Stand fast, we will send reinforcements."
[/message]
[/then]
[/elseif]
[else]
[message]
speaker=Kalenz
message= _ "What is this? Where are the guardians? I see signs of battle everywhere: Saurian footprints, Elvish blood. This bodes ill for Lintanir. We must hurry onward to Elensiria. Quickly, before we, too, are beset."
[/message]
[/else]
[/if]
[endlevel]
result=victory

View file

@ -172,7 +172,7 @@
[/message]
[if]
[variable]
name=scepter
name=sceptre
equals="Konrad"
[/variable]
[then]
@ -305,6 +305,7 @@
speaker=Parandra
message= _ "Yes, rest. Your soldiers will be tended to and refreshed. We have made sure you will leave our protection with the resources to finish your journey."
[/message]
{CLEAR_VARIABLE sceptre}
[endlevel]
result=victory
bonus=no

View file

@ -197,6 +197,11 @@
[filter]
id=Josephus
[/filter]
[filter_condition]
[have_unit]
id=Malatus
[/have_unit]
[/filter_condition]
[message]
speaker=Malatus
message= _ "These intruders are stronger than we expected. Call in the reinforcements!"
@ -217,6 +222,36 @@
[/message]
[/event]
[event]
name=die
[filter]
id=Malatus
[/filter]
[filter_condition]
[have_unit]
id=Josephus
[/have_unit]
[/filter_condition]
[message]
speaker=Josephus
message= _ "These intruders are stronger than we expected. Call in the reinforcements!"
[/message]
{NAMED_LOYAL_UNIT 4 (Halberdier) 33 37 (Dacayan) ( _ "Dacayan")}
{LOYAL_UNIT 4 (Halberdier) 32 37}
{LOYAL_UNIT 4 (Halberdier) 34 37}
#a little attempt at comic relief
[message]
speaker=Dacayan
message= _ "The Queen has sent us to aid you in capturing these rebels."
[/message]
[message]
speaker=Josephus
message= _ "We have changed the plan. Now we are killing them."
[/message]
[/event]
[event]
name=turn 18
[message]

View file

@ -524,3 +524,5 @@
{campaigns/Heir_To_The_Throne/utils/deaths.cfg}
[/scenario]
#undef BONUS_VICTORY

View file

@ -17,6 +17,8 @@
{EXTRA_SCENARIO_MUSIC "suspense.ogg"}
{EXTRA_SCENARIO_MUSIC "the_city_falls.ogg"}
{HTTT_TRACK {JOURNEY_24_NEW} }
[event]
name=prestart
[objectives]
@ -212,6 +214,7 @@
{NAMED_LOYAL_UNIT 1 (Grand Knight) 39 8 (Sir Alric) (_ "Sir Alric")}
[/then]
[/if]
{CLEAR_VARIABLE clan_alric,clan_bayar,clan_daryn,clan_ruga}
[/event]
[event]
@ -248,7 +251,7 @@
[/message]
[message]
speaker=Delfador
message= _ "How long must the people endure your rule? Give the throne to your daughter. She is the rightful heir. We even hold the scepter to prove it!"
message= _ "How long must the people endure your rule? Give the throne to your daughter. She is the rightful heir. We even hold the Sceptre to prove it!"
[/message]
[message]
speaker=Asheviere

View file

@ -71,7 +71,7 @@
# - if you examine a certain area of wall in Plunging Into the Darkness, you open a cave that releases a Giant Spider -- and a chest full of gold
# - if you bring a merman to a section of deep water in The Lost General, you can rescue a trapped dwarf
# - if you keep your ally leader alive in The Lost General, he allows you to recruit Dwarvish Guardsmen
# - if you develop a merman up to L3 and then bring a mer to the start of the River Longlier, you will unlock a bonus scenario > not finished yet
# - if you bring a merman to the start of the River Longlier, you will unlock a series of two bonus scenarios
# - if you visit the Elvish great tree living on the Plains of Snow, you are given a magical flaming sword
# - if you kill one of the Death Knights in the Swamp of Dread, it will drop a strong piece of armor
# - if you kill all 4 of the Death Knights in the Swamp of Dread, it severely weakens the Lich, dropping its HP by half

View file

@ -52,7 +52,7 @@
[/attack_anim]
{WEAPON_SPECIAL_INITIATIVE_EVENTS}
[variation]
variation_id=scepter
variation_id=sceptre
hide_help=yes
id=Battle Princess
name= _ "female^Battle Princess"
@ -90,7 +90,7 @@
number=4
[/attack]
[attack]
name=scepter of fire
name=sceptre of fire
#the sceptre of fire always has the 're' writing, this is intentional!
description= _"sceptre of fire"
type=fire
@ -104,7 +104,7 @@
[/attack]
[attack_anim]
[filter_attack]
name=scepter of fire
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY 22 -22}

View file

@ -94,13 +94,13 @@
[variation]
{HTTT_COMMANDER -scepter}
variation_id=scepter
variation_id=sceptre
hide_help=yes
cost=60
{LEADING_ANIM "units/konrad-commander-scepter-leading.png" "units/konrad-commander-scepter.png" 17,-22}
description= _ "The rank of Commander is held by those who lead battle groups into combat. Possessing leadership skills, they give lower-level units in adjacent hexes improved performance in combat. Commanders are best skilled with the sword, although they also carry a bow to use when necessary. If the Commander is lost, so is the battle."+{SPECIAL_NOTES}+{SPECIAL_NOTES_LEADERSHIP}+{SPECIAL_NOTES_MAGICAL}
[attack]
name=scepter of fire
name=sceptre of fire
#the sceptre of fire always has the 're' writing, this is intentional!
description= _"sceptre of fire"
type=fire
@ -114,7 +114,7 @@
[/attack]
{DEFENSE_ANIM_FILTERED "units/konrad-commander-scepter-defend.png" "units/konrad-commander-scepter.png" {SOUND_LIST:HUMAN_HIT} (
[filter_second_attack]
name=scepter of fire
name=sceptre of fire
[/filter_second_attack]
)}
{DEFENSE_ANIM_FILTERED "units/konrad-commander-bow-defend.png" "units/konrad-commander-bow.png" {SOUND_LIST:HUMAN_HIT} (
@ -124,7 +124,7 @@
)}
[attack_anim]
[filter_attack]
name=scepter of fire
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY 16 -24}
start_time=-300

View file

@ -51,12 +51,12 @@
description= _ "Young and brash, Fighters attack with a sword, and are vulnerable to more seasoned enemies. However they have the potential to become great warriors one day."
[variation]
{HTTT_FIGHTER}
variation_id=scepter
variation_id=sceptre
hide_help=yes
cost=38
description= _ "Young and brash, Fighters attack with a sword, and are vulnerable to more seasoned enemies. However they have the potential to become great warriors one day."+{SPECIAL_NOTES}+{SPECIAL_NOTES_MAGICAL}
[attack]
name=scepter of fire
name=sceptre of fire
#the sceptre of fire always has the 're' writing, this is intentional!
description= _"sceptre of fire"
type=fire
@ -70,7 +70,7 @@
[/attack]
[attack_anim]
[filter_attack]
name=scepter of fire
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY 0 0}
sound_start_time=-300

View file

@ -107,14 +107,14 @@
{DEFENSE_ANIM_RANGE "units/konrad-lord-bow-defend.png" "units/konrad-lord-bow.png" {SOUND_LIST:HUMAN_HIT} ranged}
[variation]
{HTTT_LORD -scepter}
variation_id=scepter
variation_id=sceptre
hide_help=yes
cost=85
{LEADING_ANIM "units/konrad-lord-scepter-leading.png" "units/konrad-lord-scepter.png" -16,-21}
description= _ "The noble leaders of many troops, Lords are especially strong in melee combat, and also possess skill with the bow. Like Commanders, Lords possess leadership skills, and improve the fighting ability of all adjacent lower-level units."+{SPECIAL_NOTES}+{SPECIAL_NOTES_LEADERSHIP}+{SPECIAL_NOTES_MAGICAL}
{DEFENSE_ANIM_FILTERED "units/konrad-lord-scepter-defend.png" "units/konrad-lord-scepter.png" {SOUND_LIST:HUMAN_HIT} (
[filter_second_attack]
name=scepter of fire
name=sceptre of fire
[/filter_second_attack]
)}
{DEFENSE_ANIM_FILTERED "units/konrad-lord-bow-defend.png" "units/konrad-lord-bow.png" {SOUND_LIST:HUMAN_HIT} (
@ -123,7 +123,7 @@
[/filter_second_attack]
)}
[attack]
name=scepter of fire
name=sceptre of fire
#the sceptre of fire always has the 're' writing, this is intentional!
description= _"sceptre of fire"
type=fire
@ -137,7 +137,7 @@
[/attack]
[attack_anim]
[filter_attack]
name=scepter of fire
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY -16 -21}
start_time=-300

View file

@ -51,7 +51,7 @@
[/attack_anim]
{WEAPON_SPECIAL_INITIATIVE_EVENTS}
[variation]
variation_id=scepter
variation_id=sceptre
hide_help=yes
id=Princess
name= _ "female^Princess"
@ -88,7 +88,7 @@
number=4
[/attack]
[attack]
name=scepter of fire
name=sceptre of fire
#the sceptre of fire always has the 're' writing, this is intentional!
description= _"sceptre of fire"
type=fire
@ -102,7 +102,7 @@
[/attack]
[attack_anim]
[filter_attack]
name=scepter of fire
name=sceptre of fire
[/filter_attack]
{MISSILE_FRAME_FIREBALL_XY -15 -20}

View file

@ -58,6 +58,10 @@
{PLACE_IMAGE items/flame-sword.png ({X}) ({Y})}
{VARIABLE sword_taken 0}
[event]
name=victory
{CLEAR_VARIABLE sword_taken}
[/event]
[/event]
[event]
name=moveto
@ -300,7 +304,7 @@ fire: +10%"
[event]
same_location_as_previous=yes
store_location_as=scepter
store_location_as=sceptre
name=moveto
first_time_only=no
[filter]
@ -309,7 +313,7 @@ fire: +10%"
y=32
[/filter]
[object]
id=object_scepter
id=object_sceptre
name= _ "Sceptre of Fire"
image=items/sceptre-of-fire.png
duration=forever
@ -320,7 +324,7 @@ fire: +10%"
[/filter]
[effect]
apply_to=variation
name=scepter
name=sceptre
[/effect]
[/object]
[/event]
@ -334,7 +338,7 @@ fire: +10%"
id=Konrad
[/filter]
[set_variable]
name=scepter
name=sceptre
value="Konrad"
[/set_variable]
@ -368,7 +372,7 @@ fire: +10%"
id="Li'sar"
[/filter]
[set_variable]
name=scepter
name=sceptre
value="Li'sar"
[/set_variable]
@ -439,13 +443,14 @@ fire: +10%"
{VARIABLE_OP max_x add 1}
{VARIABLE max_y $side_store.y}
{VARIABLE_OP max_y add 1}
{VARIABLE x_range ("$min_x|-|$max_x")}
{VARIABLE y_range ("$min_y|-|$max_y")}
{VARIABLE x_range ("$min_x|-$max_x")}
{VARIABLE y_range ("$min_y|-$max_y")}
[terrain]
x=$x_range
y=$y_range
terrain={TERRAIN}
[/terrain]
{CLEAR_VARIABLE side_store,min_x,min_y,max_x,max_y,x_range,y_range}
#enddef
#textdomain wesnoth-help
@ -478,9 +483,9 @@ fire: +10%"
[/filter_adjacent_location]
[/filter_adjacent_location]
[not]
# don't start near the cave floor around the scepter
x=$scepter_x
y=$scepter_y
# don't start near the cave floor around the sceptre
x=$sceptre_x
y=$sceptre_y
radius=5
[/not]
[not]
@ -503,15 +508,16 @@ fire: +10%"
{CLEAR_VARIABLE lava_body}
{VARIABLE lava_body.x $potential_locs[$random].x}
{VARIABLE lava_body.y $potential_locs[$random].y}
{CLEAR_VARIABLE random}
[terrain]
x=$lava_body.x
y=$lava_body.y
terrain=Ql
[/terrain]
{CLEAR_VARIABLE potential_locs}
{CLEAR_VARIABLE randrange}
[/then]
[/if]
{CLEAR_VARIABLE potential_locs}
#enddef
#define EXPAND_LAVA
@ -555,8 +561,8 @@ fire: +10%"
radius=1
[/not]
[not]
# don't go anywhere near the cave floor around the scepter
x,y=$scepter_x,$scepter_y
# don't go anywhere near the cave floor around the sceptre
x,y=$sceptre_x,$sceptre_y
radius=4
[filter_radius]
terrain=U*,Re
@ -644,28 +650,3 @@ fire: +10%"
equals={VALUE}
[/variable]
#enddef
#define UNDEAD_GUARDIAN TYPE X Y
[unit]
side=3
type={TYPE}
x={X}
y={Y}
[object]
silent=yes
[filter]
side=3
[/filter]
[effect]
apply_to=movement_costs
replace=true
[movement_costs]
swamp_water={UNREACHABLE}
deep_water={UNREACHABLE}
shallow_water={UNREACHABLE}
forest={UNREACHABLE}
[/movement_costs]
[/effect]
[/object]
[/unit]
#enddef