Reindent the mainline content to uniiform whitespace.

This commit is contained in:
Eric S. Raymond 2008-01-24 00:16:42 +00:00
parent ab20cd39e1
commit b1b2435d40
202 changed files with 8005 additions and 8179 deletions

View file

@ -34,13 +34,13 @@
[about]
title = _ "Campaign Design"
[entry]
name = "Josh Parsons"
name = "Josh Parsons"
[/entry]
[/about]
[about]
title = _ "Adaptation for mainline"
[entry]
name = "Eric S. Raymond"
name = "Eric S. Raymond"
[/entry]
[/about]

View file

@ -81,101 +81,101 @@ Elves can move fast and safely among the trees. Pick off the enemy grunts with y
y="18"
[/unit]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[story]
[part]
background=maps/wesnoth.png
music=revelation.ogg
story= _ "The arrival of humans and orcs sent shockwaves through the settled peoples of the Great Continent. Elves, dwarves, and others who had reached equilibrium with one another and become accustomed for centuries to at most small-scale clashes - little more, in truth, than armed squabbles - found themselves required to gird for warfare of unaccustomed intensity."
[/part]
[part]
background=maps/wesnoth.png
music=elf-land.ogg
story= _ "Perhaps most affected were the elves. Eldest and wisest of the Speaking Peoples, their first encounters with humans went less well than either side might have wished. "
[/part]
[part]
background=maps/wesnoth.png
story= _ "But humans, though crude and thrusting, at least had in them a spark of song and grace which elves could recognize as kindred to their own nature. Not so with orcs."
[/part]
[part]
background=maps/wesnoth.png
music="elf-land.ogg"
story= _ "For a score of years after Haldric's people landed, orcs remained scarce more than a rumor to trouble the green fastnesses of the elves. That was, until the day that an elvish noble of ancient line, Erlornas by name, encountered the new foe."
delay="0"
show_title="no"
[image]
x="929"
y="146"
file="items/gohere.png"
delay="500"
[/image]
[/part]
[part]
music="frantic.ogg"
story=_"The orcs were sighted at the northern marches of the great forest of Wesmere."
delay="0"
show_title="no"
[/part]
[part]
music="elf-land.ogg"
[image]
x="551"
y="363"
file="units/elves-wood/lord.png~TC(1,magenta)"
delay="1000"
[/image]
background="map.jpg"
delay="0"
show_title="yes"
[image]
x="534"
y="295"
file="units/orcs/warrior.png~TC(2,magenta)"
delay="1000"
[/image]
[image]
x="546"
y="366"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="567"
y="360"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="588"
y="354"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="572"
y="346"
file="misc/cross.png"
delay="500"
[/image]
[/part]
[part]
background=maps/wesnoth.png
music=revelation.ogg
story= _ "The arrival of humans and orcs sent shockwaves through the settled peoples of the Great Continent. Elves, dwarves, and others who had reached equilibrium with one another and become accustomed for centuries to at most small-scale clashes - little more, in truth, than armed squabbles - found themselves required to gird for warfare of unaccustomed intensity."
[/part]
[part]
background=maps/wesnoth.png
music=elf-land.ogg
story= _ "Perhaps most affected were the elves. Eldest and wisest of the Speaking Peoples, their first encounters with humans went less well than either side might have wished. "
[/part]
[part]
background=maps/wesnoth.png
story= _ "But humans, though crude and thrusting, at least had in them a spark of song and grace which elves could recognize as kindred to their own nature. Not so with orcs."
[/part]
[part]
background=maps/wesnoth.png
music="elf-land.ogg"
story= _ "For a score of years after Haldric's people landed, orcs remained scarce more than a rumor to trouble the green fastnesses of the elves. That was, until the day that an elvish noble of ancient line, Erlornas by name, encountered the new foe."
delay="0"
show_title="no"
[image]
x="929"
y="146"
file="items/gohere.png"
delay="500"
[/image]
[/part]
[part]
music="frantic.ogg"
story=_"The orcs were sighted at the northern marches of the great forest of Wesmere."
delay="0"
show_title="no"
[/part]
[part]
music="elf-land.ogg"
[image]
x="551"
y="363"
file="units/elves-wood/lord.png~TC(1,magenta)"
delay="1000"
[/image]
background="map.jpg"
delay="0"
show_title="yes"
[image]
x="534"
y="295"
file="units/orcs/warrior.png~TC(2,magenta)"
delay="1000"
[/image]
[image]
x="546"
y="366"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="567"
y="360"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="588"
y="354"
file="misc/cross.png"
delay="500"
[/image]
[image]
x="572"
y="346"
file="misc/cross.png"
delay="500"
[/image]
[/part]
[/story]
[event]

View file

@ -56,11 +56,11 @@
{STARTING_VILLAGES 2 6}
[story]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "The backtrail of the orcs was easy to trace -- a swathe of ugly trampled ground through the violated forest. Erlornas and his followers pursued them north and west."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "The backtrail of the orcs was easy to trace -- a swathe of ugly trampled ground through the violated forest. Erlornas and his followers pursued them north and west."
[/part]
[/story]
[event]
@ -84,22 +84,22 @@ Assassins are hard to hit, and their poison is insidious. Stay close to the vill
[/objective]
[/objectives]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -41,16 +41,16 @@
[/side]
[story]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "As they fared further north the green forest thinned, fading into barren and scrubby country. Gradually the message of the treestumps and dead wood around them became clear. This had been forest once. The orcs had killed it."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "The orcish trail stood out less against the desolation, but the craft of elvish trackers was more than equal to following. They pursued with grimmer purpose now."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "As they fared further north the green forest thinned, fading into barren and scrubby country. Gradually the message of the treestumps and dead wood around them became clear. This had been forest once. The orcs had killed it."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "The orcish trail stood out less against the desolation, but the craft of elvish trackers was more than equal to following. They pursued with grimmer purpose now."
[/part]
[/story]
[event]
@ -74,22 +74,22 @@ There are no villages in this scenario - you must use healers instead. Use hit a
[/objective]
[/objectives]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -8,7 +8,7 @@
#define AVOID_CAVEDOORS
# The edges of the cave passages and mountains on both troll lairs.
# Keep the trolls from landing these, so they have to come
# Keep the trolls from landing these, so they have to come
# out one at a time through the center hex. Players
# can use these to get in, solving what would otherwise
# be an imbalance heavily favoring the trolls.
@ -33,16 +33,16 @@
side="2"
canrecruit="1"
#ifdef HARD
gold="50"
recruit="Troll, Troll Rocklobber"
gold="50"
recruit="Troll, Troll Rocklobber"
#endif
#ifdef NORMAL
gold="40"
recruit="Troll Whelp,Troll"
gold="40"
recruit="Troll Whelp,Troll"
#endif
#ifdef EASY
gold="30"
recruit="Troll Whelp,"
gold="30"
recruit="Troll Whelp,"
#endif
team_name="baddies"
controller="ai"
@ -60,7 +60,7 @@
turns="4,5,6,10,11,12,16,17,18,22,23,24"
grouping="offensive"
attack_depth="5"
{AVOID_CAVEDOORS}
{AVOID_CAVEDOORS}
[/ai]
[ai]
aggression="-0.1"
@ -76,16 +76,16 @@
side="3"
canrecruit="1"
#ifdef HARD
gold="50"
recruit="Troll, Troll Rocklobber"
gold="50"
recruit="Troll, Troll Rocklobber"
#endif
#ifdef NORMAL
gold="40"
recruit="Troll Whelp, Troll"
gold="40"
recruit="Troll Whelp, Troll"
#endif
#ifdef EASY
gold="30"
recruit="Troll Whelp"
gold="30"
recruit="Troll Whelp"
#endif
team_name="baddies"
controller="ai"
@ -135,22 +135,22 @@ Trolls are very dangerous if they can attack as a group. Use the cave-mouths as
[/objective]
[/objectives]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -116,22 +116,22 @@ This enemy is too strong for you to defeat alone. Use mounted units, and Linaera
y="18"
[/unit]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -63,22 +63,22 @@ Undead are resistant to physical attack. Use mages to attack the undead, and elv
[/objective]
[/objectives]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -26,13 +26,13 @@
gold="100"
income="0"
#ifdef EASY
recruit="Elvish Archer, Elvish Fighter, Elvish Scout, Elvish Shaman"
recruit="Elvish Archer, Elvish Fighter, Elvish Scout, Elvish Shaman"
#endif
#ifdef NORMAL
recruit="Elvish Archer, Elvish Fighter, Elvish Scout, Elvish Shaman"
recruit="Elvish Archer, Elvish Fighter, Elvish Scout, Elvish Shaman"
#endif
#ifdef HARD
recruit="Elvish Scout,Elvish Fighter,Elvish Archer,Elvish Shaman"
recruit="Elvish Scout,Elvish Fighter,Elvish Archer,Elvish Shaman"
#endif
recruit="Elvish Archer, Elvish Fighter, Elvish Scout, Elvish Shaman"
fog="no"
@ -49,19 +49,19 @@
side="2"
canrecruit="1"
#ifdef EASY
gold="200"
income="0"
recruit="Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
gold="200"
income="0"
recruit="Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
#endif
#ifdef NORMAL
gold="250"
income="5"
recruit="Goblin Knight, Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
gold="250"
income="5"
recruit="Goblin Knight, Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
#endif
#ifdef HARD
gold="300"
income="5"
recruit="Goblin Knight, Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
gold="300"
income="5"
recruit="Goblin Knight, Orcish Archer, Orcish Assassin, Orcish Crossbowman, Orcish Grunt, Orcish Warrior, Troll, Troll Whelp, Wolf Rider"
#endif
team_name="baddies"
controller="ai"
@ -105,22 +105,22 @@ Your enemy is well defended against attacks from the south. Use rangers to sneak
[/objective]
[/objectives]
#ifdef EASY
[set_variable]
name="difficulty"
value="0"
[/set_variable]
[set_variable]
name="difficulty"
value="0"
[/set_variable]
#endif
#ifdef NORMAL
[set_variable]
name="difficulty"
value="1"
[/set_variable]
[set_variable]
name="difficulty"
value="1"
[/set_variable]
#endif
#ifdef HARD
[set_variable]
name="difficulty"
value="2"
[/set_variable]
[set_variable]
name="difficulty"
value="2"
[/set_variable]
#endif
[/event]
[event]

View file

@ -1054,7 +1054,6 @@
[/message]
#enddef
#define DIALOGUE_FAEA_SASS1
[message]
speaker=Mal Keshar

View file

@ -113,7 +113,6 @@
{PLACE_IMAGE scenery/signpost.png 27 13}
{PLACE_IMAGE scenery/signpost.png 23 20}
# Place starting units for Drogan and Malin
{UNIT (Spearman) (Kerith) ( _ "Kerith") 1 30 11}
{UNIT (Bowman) (Owain) ( _ "Owain") 1 31 12}

View file

@ -110,40 +110,40 @@
{VARIABLE_OP number_of_guards random 0..2}
{REPEAT $number_of_guards (
[store_locations]
[filter_adjacent_location]
x,y={X},{Y}
[/filter_adjacent_location]
[store_locations]
[filter_adjacent_location]
x,y={X},{Y}
[/filter_adjacent_location]
[not]
[filter]
[/filter]
[/not]
[not]
[filter]
[/filter]
[/not]
variable=possible_guard_locations
[/store_locations]
variable=possible_guard_locations
[/store_locations]
{IF_VAR possible_guard_locations.length greater_than 0 (
[then]
{VARIABLE_OP random_location_index random 0..$possible_guard_locations.length}
{IF_VAR possible_guard_locations.length greater_than 0 (
[then]
{VARIABLE_OP random_location_index random 0..$possible_guard_locations.length}
[move_unit_fake]
side={SIDE}
type={TYPE}
x={X},$possible_guard_locations[$random_location_index].x
y={Y},$possible_guard_locations[$random_location_index].y
[/move_unit_fake]
[move_unit_fake]
side={SIDE}
type={TYPE}
x={X},$possible_guard_locations[$random_location_index].x
y={Y},$possible_guard_locations[$random_location_index].y
[/move_unit_fake]
[unit]
description={DESCRIPTION}
user_description={UDESCRIPTION}
type={TYPE}
side={SIDE}
x,y=$possible_guard_locations[$random_location_index].x,$possible_guard_locations[$random_location_index].y
random_traits=yes
[/unit]
[/then]
)}
[unit]
description={DESCRIPTION}
user_description={UDESCRIPTION}
type={TYPE}
side={SIDE}
x,y=$possible_guard_locations[$random_location_index].x,$possible_guard_locations[$random_location_index].y
random_traits=yes
[/unit]
[/then]
)}
)}
{CLEAR_VARIABLE number_of_guards}
@ -169,15 +169,15 @@
[/filter]
{IF_VAR village_$x1,$y1|_cleared not_equals yes (
[then]
{RANDOM_GUARDS (Goblin Spearman) Villager (_ "Villager") 2 $x1 $y1}
[then]
{RANDOM_GUARDS (Goblin Spearman) Villager (_ "Villager") 2 $x1 $y1}
{VARIABLE village_$x1,$y1|_cleared yes}
[/then]
{VARIABLE village_$x1,$y1|_cleared yes}
[/then]
[else]
[allow_undo][/allow_undo]
[/else]
[else]
[allow_undo][/allow_undo]
[/else]
)}
[/event]
@ -259,9 +259,9 @@
[/store_villages]
{FOREACH villages i}
{VARIABLE_OP village_var format "village_$villages[$i].x,$villages[$i].y|_cleared"}
{VARIABLE_OP village_var format "village_$villages[$i].x,$villages[$i].y|_cleared"}
{CLEAR_VARIABLE $village_var}
{CLEAR_VARIABLE $village_var}
{NEXT i}
{CLEAR_VARIABLE villages}

View file

@ -16,7 +16,7 @@
[time_area]
x=12-24,12-21,12-20,14-18,16-18
y=19-20,18,17,16,15
{DEFAULT_SCHEDULE}
{DEFAULT_SCHEDULE}
[/time_area]
[side]
@ -250,6 +250,6 @@
{CLEAR_VARIABLE free_ghost_turn}
{CLEAR_VARIABLE ghost_was_freed}
[/event]
{@campaigns/Descent_Into_Darkness/utils/global-events.cfg}
[/scenario]

View file

@ -251,7 +251,7 @@
y=7,6,5-7,5-6
[/have_unit]
[then]
{DIALOGUE_ASF_FOUNDENTRANCE}
{DIALOGUE_ASF_FOUNDENTRANCE}
[endlevel]
bonus=no
result=continue
@ -275,7 +275,7 @@
y=7,6,5-7,5-6
[/have_unit]
[then]
{DIALOGUE_ASF_FOUNDENTRANCE}
{DIALOGUE_ASF_FOUNDENTRANCE}
[endlevel]
bonus=no
result=continue

View file

@ -275,6 +275,6 @@
kill=yes
[/store_unit]
[/event]
{@campaigns/Descent_Into_Darkness/utils/global-events.cfg}
[/scenario]

View file

@ -335,6 +335,6 @@
[/then]
[/if]
[/event]
{@campaigns/Descent_Into_Darkness/utils/global-events.cfg}
[/scenario]

View file

@ -24,7 +24,7 @@
recruit=Walking Corpse,Vampire Bat,Ghost,Ghoul,Skeleton Archer,Skeleton,Dark Adept
gold=200
save_id=Malin Keshar
profile=portraits/malinlich.png
profile=portraits/malinlich.png
[/side]
{STARTING_VILLAGES 1 6}
@ -43,8 +43,8 @@
[/ai]
fog=no
shroud=no
#After I have greatly reduced the number of villages in this scenario
#it might be a good idea to give our foolish hero some income
#After I have greatly reduced the number of villages in this scenario
#it might be a good idea to give our foolish hero some income
{INCOME 5 7 9}
[/side]

View file

@ -5,10 +5,10 @@
race=undead
image="units/ghast.png"
{TRAIT_FEARLESS_MUSTHAVE}
# [advancefrom]
# unit=Necrophage
# experience=60
# [/advancefrom]
# [advancefrom]
# unit=Necrophage
# experience=60
# [/advancefrom]
hitpoints=65
movement_type=undeadfoot
movement=5

View file

@ -153,23 +153,23 @@
{VARIABLE random_ambusher_type_table[3].type "Wraith"}
{VARIABLE random_ambusher_type_table[4].type "Necrophage"}
#ifdef NORMAL
{VARIABLE random_ambusher_type_table[5].type "Banebow"}
#endif
#ifdef NORMAL
{VARIABLE random_ambusher_type_table[5].type "Banebow"}
#endif
#ifdef HARD
{VARIABLE random_ambusher_type_table[5].type "Banebow"}
{VARIABLE random_ambusher_type_table[6].type "Spectre"}
{VARIABLE random_ambusher_type_table[7].type "Nightgaunt"}
#endif
#ifdef HARD
{VARIABLE random_ambusher_type_table[5].type "Banebow"}
{VARIABLE random_ambusher_type_table[6].type "Spectre"}
{VARIABLE random_ambusher_type_table[7].type "Nightgaunt"}
#endif
{VARIABLE random_ambusher_type_i 0}
# With this macro we place a set number of ambushers (from the above list) to a
# given rectangular area. We do this in blocks so that we can guarantee that
# every major area has at least some ambushers: if we randomized the ambush
# locations across all possible locations at once, the RNG could theoretically
# clump all the ambushers into a single corner of the map.
# With this macro we place a set number of ambushers (from the above list) to a
# given rectangular area. We do this in blocks so that we can guarantee that
# every major area has at least some ambushers: if we randomized the ambush
# locations across all possible locations at once, the RNG could theoretically
# clump all the ambushers into a single corner of the map.
#define UNDEAD_AMBUSH_AREA SIDE X Y NUMBER
[store_locations]
@ -283,7 +283,7 @@
[/while]
#enddef
# Only the number of ambushers differs by difficulty here.
# Only the number of ambushers differs by difficulty here.
#ifdef EASY
{UNDEAD_AMBUSH_AREA 2 1-27 1-32 25}
@ -337,12 +337,12 @@
[/filter]
{MODIFY_UNIT (
side=2
role=ambusher
side=2
role=ambusher
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
) role not_ambusher}
[redraw][/redraw]

View file

@ -222,93 +222,93 @@
# you can win either by waiting till the turns run out or by defeating the enemies,
# so what happens next is macroified here so it doesn't need to be manually repeated
#define MESSENGER_AND_CHOICE
[unit]
type=Spectre
side=7
description=Messenger of Doom
user_description= _ "Messenger of Doom"
x=43
y=1
[/unit]
{MOVE_UNIT (description=Messenger of Doom) 39 4}
[message]
description=Messenger of Doom
message= _ "I come bearing a message from my leader."
[/message]
[message]
description=Dacyn
message= _ "Very well, you may read it. It might tell us something useful."
[/message]
[message]
description=Messenger of Doom
message= _ "He says: 'Well done; you have defeated some of my less powerful captains, and a small fraction of my horde. Were I to bring the whole might of my Dread Legions to bear I could crush you like an insect. But I seek a victory that will reveal the true extent of my personal power. Unlike the Great General Gweddry I do not seek to hide behind the armored skirts of my soldiers! You, O commander Gweddry, are a coward! The bards may sing that you defeated my captains, but in reality you did nothing but cower far behind the lines in safety while others braver than you fought and died in your name.'"
[/message]
[message]
description=Gweddry
message= _ "What is the point of this message? Does it consist of anything more than insults?"
[/message]
[message]
description=Messenger of Doom
message= _ "The point is that you did not defeat my Lord's minions, it was others doing the work for you! The mighty Gweddry himself would last but a few moments in actual combat. And my master seeks to prove this. He challenges you, Gweddry, to a contest, a battle."
[/message]
[message]
description=Gweddry
message= _ "What are his terms? I won't accept anything obviously weighted towards his victory!"
[/message]
[message]
description=Messenger of Doom
message= _ "That only proves you are a coward. Nevertheless, these are his terms: You pick your six best warriors and he will pick his six best. Then you will fight, to the death; until either you or he is destroyed!"
[/message]
[message]
description=Owaec
message= _ "Gweddry, I don't think you should accept. He is bound to bring more than six Undead to the battle; he will bring an army!"
[/message]
[message]
description=Dacyn
message= _ "Well, I think you should accept. There is a small chance that it will be a fair fight, and otherwise we will definitely have to face his whole undead army."
[/message]
[message]
description=Messenger of Doom
message= _ "I will simplify your choice. Accept, coward, or face the onslaught of my lord's hordes at dawn tomorrow!"
[/message]
[message]
description=Gweddry
message= _ "Hmm..."
[option]
message= _ "I will accept this challenge. By your own master's terms, that proves I am no coward."
[command]
[store_unit]
[filter]
description=Konrad
[/filter]
variable=konrad
kill=yes
[/store_unit]
[endlevel]
result=victory
next_scenario=Duel
[/endlevel]
[/command]
[/option]
[option]
message= _ "I will not accept a fight in which he will obviously cheat! I refuse!"
[command]
[store_unit]
[filter]
description=Konrad
[/filter]
variable=konrad
kill=yes
[/store_unit]
[endlevel]
result=victory
next_scenario=Reject
[/endlevel]
[/command]
[/option]
[/message]
#enddef
#define MESSENGER_AND_CHOICE
[unit]
type=Spectre
side=7
description=Messenger of Doom
user_description= _ "Messenger of Doom"
x=43
y=1
[/unit]
{MOVE_UNIT (description=Messenger of Doom) 39 4}
[message]
description=Messenger of Doom
message= _ "I come bearing a message from my leader."
[/message]
[message]
description=Dacyn
message= _ "Very well, you may read it. It might tell us something useful."
[/message]
[message]
description=Messenger of Doom
message= _ "He says: 'Well done; you have defeated some of my less powerful captains, and a small fraction of my horde. Were I to bring the whole might of my Dread Legions to bear I could crush you like an insect. But I seek a victory that will reveal the true extent of my personal power. Unlike the Great General Gweddry I do not seek to hide behind the armored skirts of my soldiers! You, O commander Gweddry, are a coward! The bards may sing that you defeated my captains, but in reality you did nothing but cower far behind the lines in safety while others braver than you fought and died in your name.'"
[/message]
[message]
description=Gweddry
message= _ "What is the point of this message? Does it consist of anything more than insults?"
[/message]
[message]
description=Messenger of Doom
message= _ "The point is that you did not defeat my Lord's minions, it was others doing the work for you! The mighty Gweddry himself would last but a few moments in actual combat. And my master seeks to prove this. He challenges you, Gweddry, to a contest, a battle."
[/message]
[message]
description=Gweddry
message= _ "What are his terms? I won't accept anything obviously weighted towards his victory!"
[/message]
[message]
description=Messenger of Doom
message= _ "That only proves you are a coward. Nevertheless, these are his terms: You pick your six best warriors and he will pick his six best. Then you will fight, to the death; until either you or he is destroyed!"
[/message]
[message]
description=Owaec
message= _ "Gweddry, I don't think you should accept. He is bound to bring more than six Undead to the battle; he will bring an army!"
[/message]
[message]
description=Dacyn
message= _ "Well, I think you should accept. There is a small chance that it will be a fair fight, and otherwise we will definitely have to face his whole undead army."
[/message]
[message]
description=Messenger of Doom
message= _ "I will simplify your choice. Accept, coward, or face the onslaught of my lord's hordes at dawn tomorrow!"
[/message]
[message]
description=Gweddry
message= _ "Hmm..."
[option]
message= _ "I will accept this challenge. By your own master's terms, that proves I am no coward."
[command]
[store_unit]
[filter]
description=Konrad
[/filter]
variable=konrad
kill=yes
[/store_unit]
[endlevel]
result=victory
next_scenario=Duel
[/endlevel]
[/command]
[/option]
[option]
message= _ "I will not accept a fight in which he will obviously cheat! I refuse!"
[command]
[store_unit]
[filter]
description=Konrad
[/filter]
variable=konrad
kill=yes
[/store_unit]
[endlevel]
result=victory
next_scenario=Reject
[/endlevel]
[/command]
[/option]
[/message]
#enddef
[event]
name=time over

View file

@ -231,11 +231,11 @@
{VARIABLE random_ambusher_type_i 0}
# With this macro we place a set number of ambushers (from the above list) to a
# given rectangular area. We do this in blocks so that we can guarantee that
# every major area has at least some ambushers: if we randomized the ambush
# locations across all possible locations at once, the RNG could theoretically
# clump all the ambushers into a single corner of the map.
# With this macro we place a set number of ambushers (from the above list) to a
# given rectangular area. We do this in blocks so that we can guarantee that
# every major area has at least some ambushers: if we randomized the ambush
# locations across all possible locations at once, the RNG could theoretically
# clump all the ambushers into a single corner of the map.
#define ORC_AMBUSH_AREA SIDE X Y NUMBER
# Any hill that's completely surrounded by other hills, mountains or
@ -353,7 +353,7 @@
[/while]
#enddef
# Only the number of ambushers differs by difficulty here.
# Only the number of ambushers differs by difficulty here.
#ifdef EASY
{ORC_AMBUSH_AREA 2 5-35 1-7 5}
@ -424,12 +424,12 @@
[/filter]
{MODIFY_UNIT (
side=2,3
role=ambusher
side=2,3
role=ambusher
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
[filter_adjacent]
x,y=$x1,$y1
[/filter_adjacent]
) role not_ambusher}
[redraw][/redraw]

View file

@ -463,9 +463,9 @@
[/event]
#
# When any side 1 unit reaches a possible exit, we find out if it
# is the correct one. We don't know who will reach the exit,
# so the dialog must be general for anyone.
# When any side 1 unit reaches a possible exit, we find out if it
# is the correct one. We don't know who will reach the exit,
# so the dialog must be general for anyone.
# If the unit is Konrad, the victory event is handled separately.
#
[event]

View file

@ -187,11 +187,11 @@
variable=scepter_vicinity
[/store_locations]
{FOREACH scepter_vicinity i}
[terrain]
x=$scepter_vicinity[$i].x
y=$scepter_vicinity[$i].y
letter=Uu
[/terrain]
[terrain]
x=$scepter_vicinity[$i].x
y=$scepter_vicinity[$i].y
letter=Uu
[/terrain]
{NEXT i}
[terrain]
x=$scepter_x

View file

@ -480,9 +480,9 @@ Soooo... It is you who sent your subordinates to attack us. Now when we've destr
[store_locations]
terrain=*^V* # wmllint: ignore
[and]
x=34
y=7
radius=10
x=34
y=7
radius=10
[/and]
variable=temp_starting_villages_area
[/store_locations]

View file

@ -183,5 +183,4 @@
result=victory
[/endlevel]
[/event]
[/scenario]

View file

@ -56,7 +56,7 @@
side=1
canrecruit=1
controller=human
[/side]
[/side]
{STARTING_VILLAGES 1 7}

View file

@ -201,14 +201,14 @@
[/attack]
{DEFENSE_ANIM_RANGE "konrad-lord-scepter-sword-defend.png" "konrad-lord-scepter-attack-w1.png" {SOUND_LIST:HUMAN_HIT} melee}
{DEFENSE_ANIM_FILTERED "konrad-commander-scepter-defend.png" "konrad-commander-scepter.png" {SOUND_LIST:HUMAN_HIT} (
[secondary_attack_filter]
name=scepter of fire
[/secondary_attack_filter]
[secondary_attack_filter]
name=scepter of fire
[/secondary_attack_filter]
)}
{DEFENSE_ANIM_FILTERED "konrad-commander-bow-defend.png" "konrad-commander-bow.png" {SOUND_LIST:HUMAN_HIT} (
[secondary_attack_filter]
name=bow
[/secondary_attack_filter]
[secondary_attack_filter]
name=bow
[/secondary_attack_filter]
)}
[attack_anim]
[attack_filter]

View file

@ -200,14 +200,14 @@
die_sound={SOUND_LIST:HUMAN_DIE}
{DEFENSE_ANIM_RANGE "konrad-lord-scepter-sword-defend.png" "konrad-lord-scepter-attack-w1.png" {SOUND_LIST:HUMAN_HIT} melee}
{DEFENSE_ANIM_FILTERED "konrad-lord-scepter-defend.png" "konrad-lord-scepter.png" {SOUND_LIST:HUMAN_HIT} (
[secondary_attack_filter]
name=scepter of fire
[/secondary_attack_filter]
[secondary_attack_filter]
name=scepter of fire
[/secondary_attack_filter]
)}
{DEFENSE_ANIM_FILTERED "konrad-lord-bow-defend.png" "konrad-lord-bow.png" {SOUND_LIST:HUMAN_HIT} (
[secondary_attack_filter]
name=bow
[/secondary_attack_filter]
[secondary_attack_filter]
name=bow
[/secondary_attack_filter]
)}
[attack]
name=sword

View file

@ -78,31 +78,31 @@
type=blade
[/effect]
# [effect]
# apply_to=new_animation
# [attack_anim]
# [attack_filter]
# name=flaming sword
# [/attack_filter]
#
# start_time=-200
#
# [if]
# hits=yes
# [frame]
# duration=350
# sound=fire.wav
# [/frame]
# [/if]
# [else]
# hits=no
# [frame]
# duration=350
# sound={SOUND_LIST:MISS}
# [/frame]
# [/else]
# [/attack_anim]
# [/effect]
# [effect]
# apply_to=new_animation
# [attack_anim]
# [attack_filter]
# name=flaming sword
# [/attack_filter]
#
# start_time=-200
#
# [if]
# hits=yes
# [frame]
# duration=350
# sound=fire.wav
# [/frame]
# [/if]
# [else]
# hits=no
# [frame]
# duration=350
# sound={SOUND_LIST:MISS}
# [/frame]
# [/else]
# [/attack_anim]
# [/effect]
[/object]
[/command]
[/option]
@ -286,7 +286,7 @@ fire: +10%")}
[terrain_mask]
x,y=1,1
mask="
mask="
usage=mask
_f, _f, _f, _f, _f, _f, Re, _f, _f, _f, _f, _f, _f, _f, _f, Re, _f, Re, _f, Re, _f, Re, _f, Re, Re, _f, Uh, Re, _f, _f, Re, _f, _f, Re, _f, _f, Uh, _f, _f, _f, _f, _f, _f, _f, _f, Re, _f, _f, Re, _f
@ -572,10 +572,10 @@ _f, _f, _f, _f, _f, _f, Re, _f, _f, _f, _f, _f,
terrain=Xu
[filter_adjacent_location]
terrain=U*, Re
[filter_adjacent_location]
terrain=U*, Re
count=4-5
[/filter_adjacent_location]
[filter_adjacent_location]
terrain=U*, Re
count=4-5
[/filter_adjacent_location]
[/filter_adjacent_location]
[not]
# don't start near the cave floor around the scepter

View file

@ -139,7 +139,6 @@
{SEEKER 2 45 (Bowman)}
{SEEKER 3 47 (Bowman)}
# Here we approximate the vision area extending around all units and
# initialize the loop variables, both of which we need when randomly
# placing the guards below
@ -160,7 +159,6 @@
{VARIABLE guards 1}
{VARIABLE loops 0}
# This loop which places most of the guards works like this:
#
# - generate a new guard (at 1,1, no real location for it yet)
@ -276,78 +274,59 @@
[/store_locations]
{IF_VAR new_guard_locations.length greater_than 0 (
[then]
{VARIABLE_OP random_i random "1..$new_guard_locations.length"}
{VARIABLE_OP random_i add -1}
{VARIABLE stored_guard.x $new_guard_locations[$random_i].x}
{VARIABLE stored_guard.y $new_guard_locations[$random_i].y}
[unstore_unit]
variable=stored_guard
[/unstore_unit]
[store_locations]
[and]
x,y=$stored_guard.x,$stored_guard.y
radius=2
[/and]
[not]
find_in=total_vision_area
radius=7
[filter_radius]
terrain=Gg,R*,Re^Gvs,*^V*,C*
[/filter_radius]
[/not]
[not]
terrain=Gs^Fp,Hh,Ww,Wo,Ss,Ds
[/not]
variable=new_assistant_guard_locations
[/store_locations]
{IF_VAR new_assistant_guard_locations.length greater_than 0 (
[then]
{VARIABLE_OP random_i random "1..$new_guard_locations.length"}
{VARIABLE_OP random_i random "1..$new_assistant_guard_locations.length"}
{VARIABLE_OP random_i add -1}
{VARIABLE stored_guard.x $new_guard_locations[$random_i].x}
{VARIABLE stored_guard.y $new_guard_locations[$random_i].y}
{VARIABLE_OP assistant_guard_type random "Shock Trooper,Shock Trooper,Iron Mauler,Javelineer,Swordsman,Pikeman"}
[unstore_unit]
variable=stored_guard
[/unstore_unit]
[unit]
type=$assistant_guard_type
side=2
x,y=$new_assistant_guard_locations[$random_i].x,$new_assistant_guard_locations[$random_i].y
generate_description=yes
random_traits=yes
ai_special=guardian
[/unit]
[store_locations]
[and]
x,y=$stored_guard.x,$stored_guard.y
radius=2
[/and]
[not]
find_in=total_vision_area
radius=7
[filter_radius]
terrain=Gg,R*,Re^Gvs,*^V*,C*
[/filter_radius]
[/not]
[not]
terrain=Gs^Fp,Hh,Ww,Wo,Ss,Ds
[/not]
variable=new_assistant_guard_locations
[/store_locations]
{IF_VAR new_assistant_guard_locations.length greater_than 0 (
[then]
{VARIABLE_OP random_i random "1..$new_assistant_guard_locations.length"}
{VARIABLE_OP random_i add -1}
{VARIABLE_OP assistant_guard_type random "Shock Trooper,Shock Trooper,Iron Mauler,Javelineer,Swordsman,Pikeman"}
[unit]
type=$assistant_guard_type
side=2
x,y=$new_assistant_guard_locations[$random_i].x,$new_assistant_guard_locations[$random_i].y
generate_description=yes
random_traits=yes
ai_special=guardian
[/unit]
[store_locations]
[and]
x,y=$new_assistant_guard_locations[$random_i].x,$new_assistant_guard_locations[$random_i].y
radius=6
[filter_radius]
terrain=Gg,R*,Re^Gvs,*^V*,C*
[/filter_radius]
[/and]
[or]
find_in=total_vision_area
[/or]
variable=total_vision_area
[/store_locations]
[/then]
)}
[store_locations]
[and]
x,y=$stored_guard.x,$stored_guard.y
radius=$guard_vision_range
x,y=$new_assistant_guard_locations[$random_i].x,$new_assistant_guard_locations[$random_i].y
radius=6
[filter_radius]
terrain=Gg,R*,Re^Gvs,*^V*,C*
@ -360,9 +339,28 @@
variable=total_vision_area
[/store_locations]
{VARIABLE_OP guards add 1}
[/then]
)}
[store_locations]
[and]
x,y=$stored_guard.x,$stored_guard.y
radius=$guard_vision_range
[filter_radius]
terrain=Gg,R*,Re^Gvs,*^V*,C*
[/filter_radius]
[/and]
[or]
find_in=total_vision_area
[/or]
variable=total_vision_area
[/store_locations]
{VARIABLE_OP guards add 1}
[/then]
)}
{VARIABLE_OP loops add 1}

View file

@ -766,7 +766,7 @@
#
[terrain_mask]
x,y=15,11
mask="
mask="
usage=mask
Re , Mm^Xm , Re , Ww , Rr , Ww^Bw| , Rr , Rr , Gs^Fp , Mm^Xm , Gs^Fp
@ -792,7 +792,6 @@ Uu , Uu , Chr , Uh , Re , Uu
y=12-20
[/kill]
[redraw][/redraw]
[scroll_to]
x,y=20,16
[/scroll_to]

View file

@ -290,10 +290,10 @@ Defeat:
side=1
x=6
y=11
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
[message]
@ -469,10 +469,10 @@ Defeat:
side=1
x=6
y=11
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
[message]
@ -547,10 +547,10 @@ Defeat:
description=Camerin
profile=portraits/Camerin.jpg
user_description= _ "Camerin"
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
side=1
x=1
y=1

View file

@ -160,7 +160,6 @@ Defeat:
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
[message]

View file

@ -89,181 +89,180 @@
x=33
y=6
[/hide_unit]
[/event]
[/event]
#define TEMPTATION_OF_TALLIN
[message]
description=Malifor
message= _ "But my my, what do we have here - Tallin."
[/message]
[message]
description=Malifor
message= _ "But my my, what do we have here - Tallin."
[/message]
[message]
role=Supporter
[message]
role=Supporter
message= _ "He knows your name, Tallin. I don't like the looks of this."
[/message]
message= _ "He knows your name, Tallin. I don't like the looks of this."
[/message]
[message]
description=Malifor
message= _ "Oh yes, I know you, Tallin. I have been watching you for a long time. You are a perfect candidate to become one of my immortal generals."
[/message]
[message]
description=Malifor
message= _ "Oh yes, I know you, Tallin. I have been watching you for a long time. You are a perfect candidate to become one of my immortal generals."
[/message]
[message]
description=Tallin
message= _ "....!"
[/message]
[message]
description=Tallin
message= _ "....!"
[/message]
[message]
description=Malifor
message= _ "Look around you Tallin, see all the power, see all of the wealth, the glory, the pleasure that the realm of death has to offer. Think of the great empire of Knalga; it can be yours. Come share it with me!"
[/message]
[message]
description=Malifor
message= _ "Look around you Tallin, see all the power, see all of the wealth, the glory, the pleasure that the realm of death has to offer. Think of the great empire of Knalga; it can be yours. Come share it with me!"
[/message]
[message]
role=Supporter
[message]
role=Supporter
message= _ "Tallin, are you OK?!"
[/message]
message= _ "Tallin, are you OK?!"
[/message]
[message]
description=Malifor
message= _ "It's very easy, Tallin, see that little vermin by your side? Take out your knife...... cut his throat .......feel his hot blood pump over your hands..... sacrifice him to death!"
[message]
description=Malifor
message= _ "It's very easy, Tallin, see that little vermin by your side? Take out your knife...... cut his throat .......feel his hot blood pump over your hands..... sacrifice him to death!"
[option]
message= _ "......die.... you..... little.....dwarf.....vermin!"
[command]
[message]
role=Supporter
[option]
message= _ "......die.... you..... little.....dwarf.....vermin!"
[command]
[message]
role=Supporter
message= _ "Tallin! No!"
[/message]
message= _ "Tallin! No!"
[/message]
[message]
description=Hamel
message= _ "Tallin, what are you doing?"
[/message]
[message]
description=Hamel
message= _ "Tallin, what are you doing?"
[/message]
[message]
[message]
description=Tallin
message= _ ".....Death!..... Blood!...."
[/message]
{MODIFY_UNIT description=Tallin profile portraits/Tallin-Evil.jpg}
[sound]
name=dagger-swish.wav
[/sound]
[delay]
time=50
[/delay]
[sound]
name=dwarf-hit-3.ogg
[/sound]
[message]
description=Hamel
message= _ "Ahhh! Treacherous human! Kill him, men!"
[/message]
[message]
description=Malifor
message= _ "HAHAHAHAHAHAHA!"
[/message]
[sound]
name=fire.wav
[/sound]
[sound]
name=ugg.wav
[/sound]
[colour_adjust]
red=100
green=100
blue=100
[/colour_adjust]
[delay]
time=10
[/delay]
[colour_adjust]
red=0
green=0
blue=0
[/colour_adjust]
[teleport]
[filter]
description=Tallin
message= _ ".....Death!..... Blood!...."
[/message]
[/filter]
x=34
y=6
[/teleport]
{MODIFY_UNIT description=Tallin profile portraits/Tallin-Evil.jpg}
[message]
description=Hamel
message= _ "What the! Where did he go?"
[/message]
[sound]
name=dagger-swish.wav
[/sound]
[message]
description=Malifor
message= _ "Right here with me, fools! He is mine now."
[/message]
[delay]
time=50
[/delay]
[disallow_recruit]
side=1
type=Dwarvish Fighter,Dwarvish Thunderer,Peasant,Thug,Poacher,Woodsman,Footpad
[/disallow_recruit]
[sound]
name=dwarf-hit-3.ogg
[/sound]
[store_unit]
[filter]
role=Supporter
[/filter]
variable=betrayed_friend
[/store_unit]
[message]
description=Hamel
message= _ "Ahhh! Treacherous human! Kill him, men!"
[/message]
[set_variable]
name=turned_evil
value=1
[/set_variable]
[message]
description=Malifor
message= _ "HAHAHAHAHAHAHA!"
[/message]
[sound]
name=fire.wav
[/sound]
[sound]
name=ugg.wav
[/sound]
[colour_adjust]
red=100
green=100
blue=100
[/colour_adjust]
[delay]
time=10
[/delay]
[colour_adjust]
red=0
green=0
blue=0
[/colour_adjust]
[teleport]
[filter]
description=Tallin
[/filter]
x=34
y=6
[/teleport]
[message]
description=Hamel
message= _ "What the! Where did he go?"
[/message]
[message]
description=Malifor
message= _ "Right here with me, fools! He is mine now."
[/message]
[disallow_recruit]
side=1
type=Dwarvish Fighter,Dwarvish Thunderer,Peasant,Thug,Poacher,Woodsman,Footpad
[/disallow_recruit]
[store_unit]
[filter]
role=Supporter
[/filter]
variable=betrayed_friend
[/store_unit]
[set_variable]
name=turned_evil
value=1
[/set_variable]
[endlevel]
[endlevel]
# Disable this option in 1.4.
# result=victory
# bonus=no
# next_scenario=compelled
result=defeat
[/endlevel]
[/command]
[/option]
result=defeat
[/endlevel]
[/command]
[/option]
[option]
message= _ " *Shakes head* I reject your evil. Attack, men! Let us rid the good green world of this rotting filth!"
[command]
[message]
description=Hamel
message= _ "Aye! That's the way of it, lad! For the murdered dwarves of Knalga! Attack!"
[/message]
[option]
message= _ " *Shakes head* I reject your evil. Attack, men! Let us rid the good green world of this rotting filth!"
[command]
[message]
description=Hamel
message= _ "Aye! That's the way of it, lad! For the murdered dwarves of Knalga! Attack!"
[/message]
[message]
description=Malifor
message= _ "You fool! You will pay for your folly with your life."
[/message]
[message]
description=Malifor
message= _ "You fool! You will pay for your folly with your life."
[/message]
[message]
description=Tallin
message= _ "Yeah, right, buddy."
[/message]
[/command]
[/option]
[/message]
[message]
description=Tallin
message= _ "Yeah, right, buddy."
[/message]
[/command]
[/option]
[/message]
#enddef
[event]
name=start
[event]
name=start
{SUPPORTER}
[recall]
@ -767,7 +766,7 @@
description=Malifor
message= _ "HAHAHAHAHAHA! Such vast threats from one so small? HAHAHAHA!"
[/message]
{TEMPTATION_OF_TALLIN}
[objectives]
@ -830,78 +829,73 @@
[event]
name=victory
[if]
[variable]
name=turned_evil
numerical_equals=0
[/variable]
[if]
[variable]
name=turned_evil
numerical_equals=0
[/variable]
[then]
[then]
[message]
description=Tallin
message= _ "We have finally secured the mines. But what should we do about that foul lich? He is a menace to all that lives, and must be ended."
[/message]
[message]
description=Tallin
message= _ "We have finally secured the mines. But what should we do about that foul lich? He is a menace to all that lives, and must be ended."
[/message]
[message]
description=Hamel
message= _ "Aye! We'll have to lay both his skeletons and himself to final rest before these caves will be fit for dwarvenkind again."
[/message]
[message]
description=Hamel
message= _ "Aye! We'll have to lay both his skeletons and himself to final rest before these caves will be fit for dwarvenkind again."
[/message]
[message]
description=Tallin
message= _ "But I'm sore vexed. We need better weapons, Luck and spirit can carry us only so far."
[/message]
[message]
description=Tallin
message= _ "But I'm sore vexed. We need better weapons, Luck and spirit can carry us only so far."
[/message]
[message]
description=Hamel
message= _ "Aye. We must do both. I'm thinking it might be best if I muster my folk to start on the weapon-making while you and your followers pursue yon lich. By the time you've laid him to final rest and return here, we'll ha' made a good start on the work."
[/message]
[message]
description=Hamel
message= _ "Aye. We must do both. I'm thinking it might be best if I muster my folk to start on the weapon-making while you and your followers pursue yon lich. By the time you've laid him to final rest and return here, we'll ha' made a good start on the work."
[/message]
[message]
description=Tallin
message= _ "So it shall be."
[/message]
[message]
description=Tallin
message= _ "So it shall be."
[/message]
[role]
type=Dwarvish Steelclad,Dwarvish Fighter,Dwarvish Dragonguard,Dwarvish Thunderguard,Dwarvish Thunderer
role=follower
[/role]
[role]
type=Dwarvish Steelclad,Dwarvish Fighter,Dwarvish Dragonguard,Dwarvish Thunderguard,Dwarvish Thunderer
role=follower
[/role]
[message]
role=follower
message= _ "With all respect, Lord Hamel, some o' us would like to fare forth with Tallin. He's lucky, he is - or he makes his own luck."
[/message]
[message]
role=follower
message= _ "With all respect, Lord Hamel, some o' us would like to fare forth with Tallin. He's lucky, he is - or he makes his own luck."
[/message]
[message]
description=Hamel
message= _ "And so it shall be. You've my leave and welcome. Try to keep the lad safe..."
[/message]
[message]
description=Hamel
message= _ "And so it shall be. You've my leave and welcome. Try to keep the lad safe..."
[/message]
[message]
role=follower
message= _ "Thank you, Lord Hamel."
[/message]
[message]
role=follower
message= _ "Thank you, Lord Hamel."
[/message]
[kill]
description=Hamel
[/kill]
[kill]
description=Hamel
[/kill]
[disallow_recruit]
side=1
type=Dwarvish Fighter,Dwarvish Thunderer
[/disallow_recruit]
[endlevel]
result=victory
bonues=yes
[/endlevel]
[/then]
[/if]
[disallow_recruit]
side=1
type=Dwarvish Fighter,Dwarvish Thunderer
[/disallow_recruit]
[endlevel]
result=victory
bonues=yes
[/endlevel]
[/then]
[/if]
[/event]
[event]

View file

@ -607,17 +607,15 @@
y=7
[/filter]
[if]
description=Tallin
[then]
[set_variable]
name=tallin_gotta_stick
value=1
[/set_variable]
[/then]
[/if]
[if]
description=Tallin
[then]
[set_variable]
name=tallin_gotta_stick
value=1
[/set_variable]
[/then]
[/if]
[removeitem]
x=3
@ -694,7 +692,6 @@
[/effect]
[/object]
[message]
speaker=unit
message= _ "Wow! This thing is... incredible!"
@ -1464,20 +1461,20 @@
y=39
[/removeitem]
[unit]
type=White Mage
gender=female
description=Sister Theta
user_description= _ "Sister Theta"
profile=portraits/Sister_Theta.jpg
side=1
x=$keep.x
y=$keep.y
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/unit]
[unit]
type=White Mage
gender=female
description=Sister Theta
user_description= _ "Sister Theta"
profile=portraits/Sister_Theta.jpg
side=1
x=$keep.x
y=$keep.y
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/unit]
[message]
description=Sister Theta
@ -1601,10 +1598,10 @@
profile=portraits/Father_Marcus.jpg
x=9
y=39
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[message]
@ -1747,10 +1744,10 @@
x=3
y=39
hitpoints=1
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[/unit]
[message]
@ -1955,10 +1952,10 @@
side=1
x=2
y=33
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[message]
@ -2189,7 +2186,7 @@
[/filter]
[filter_second]
type=Thug,Poacher,Bandit,Highwayman,Bowman,Master Bowman,Longbowman,Elvish Druid,Elvish Shyde,Footpad,Outlaw,Fugitive
type=Thug,Poacher,Bandit,Highwayman,Bowman,Master Bowman,Longbowman,Elvish Druid,Elvish Shyde,Footpad,Outlaw,Fugitive
[/filter_second]
[message]
@ -3122,10 +3119,10 @@
side=1
x=6
y=11
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[/unit]
[unit]
@ -3135,10 +3132,10 @@
side=1
x=8
y=11
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
[unit]
@ -3148,10 +3145,10 @@
side=1
x=9
y=12
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[message]

View file

@ -188,7 +188,7 @@
{GOLD4 20 30 35 40}
recruit=Troll Whelp
team_name=trolls
[ai]
[ai]
recruitment_pattern=fighter
[/ai]
[/side]
@ -202,7 +202,7 @@
{GOLD4 20 30 35 40}
recruit=Troll Whelp
team_name=trolls
[ai]
[ai]
recruitment_pattern=fighter
[/ai]
[/side]
@ -210,7 +210,7 @@
[event]
name=start
{MODIFY_UNIT description=Tallin alignment chaotic}
{MODIFY_UNIT description=Tallin alignment chaotic}
[unit]
type=Giant Spider

View file

@ -291,7 +291,6 @@
find_vacant=yes
[/unstore_unit]
{CLEAR_VARIABLE typechange}
[/event]
[side]
@ -361,49 +360,43 @@
[event]
name=start
[if]
[variable]
name=tallin_gotta_stick
numerical_equals=1
[/variable]
[if]
[variable]
name=tallin_gotta_stick
numerical_equals=1
[/variable]
[then]
[object]
silent=yes
[filter]
description=Tallin
[/filter]
duration=forever
[effect]
apply_to=movement
increase=2
[/effect]
[effect]
apply_to=attack
range=melee
increase_damage=2
[/effect]
[effect]
apply_to=hitpoints
increase_total=10
heal_full=yes
[/effect]
[effect]
apply_to=max_experience
increase=-20%
[/effect]
[/object]
[/then]
[/if]
{CLEAR_VARIABLE tallin_gotta_stick}
[then]
[object]
silent=yes
[filter]
description=Tallin
[/filter]
duration=forever
[effect]
apply_to=movement
increase=2
[/effect]
[effect]
apply_to=attack
range=melee
increase_damage=2
[/effect]
[effect]
apply_to=hitpoints
increase_total=10
heal_full=yes
[/effect]
[effect]
apply_to=max_experience
increase=-20%
[/effect]
[/object]
[/then]
[/if]
{CLEAR_VARIABLE tallin_gotta_stick}
[role]
type=Halberdier, Royal Guard, Master Bowman, Pikeman, Swordsman, Longbowman, Javelineer, Spearman, Bowman, Peasant

View file

@ -370,7 +370,7 @@
type=Troll
side=3
hitpoints=36
experience=14
experience=14
x=29
y=9
[/unit]
@ -379,43 +379,43 @@
type=Dwarvish Ulfserker
side=2
hitpoints=12
experience=40
experience=40
x=28
y=8
[/unit]
[unit]
[unit]
type=Dwarvish Ulfserker
side=2
hitpoints=34
experience=8
experience=8
x=24
y=7
[/unit]
[unit]
[unit]
type=Dwarvish Ulfserker
side=2
hitpoints=28
experience=18
experience=18
x=24
y=4
[/unit]
[unit]
[unit]
type=Dwarvish Ulfserker
side=2
hitpoints=30
experience=16
experience=16
x=23
y=2
[/unit]
[unit]
[unit]
type=Dwarvish Ulfserker
side=2
hitpoints=12
experience=16
experience=16
x=30
y=7
[/unit]
@ -424,7 +424,7 @@
type=Young Ogre
side=3
hitpoints=6
experience=31
experience=31
x=28
y=7
[/unit]
@ -433,7 +433,7 @@
type=Young Ogre
side=3
hitpoints=12
experience=12
experience=12
x=20
y=7
[/unit]
@ -442,7 +442,7 @@
type=Ogre
side=3
hitpoints=27
experience=8
experience=8
x=23
y=3
[/unit]
@ -451,7 +451,7 @@
type=Dwarvish Ulfserker
side=2
hitpoints=9
experience=41
experience=41
x=25
y=5
[/unit]

View file

@ -115,7 +115,7 @@
description=Camerin
user_description= _ "Camerin"
canrecruit=1
profile=portraits/Camerin.jpg
profile=portraits/Camerin.jpg
side=3
{GOLD4 700 800 900 1000}
recruit=Thug,Trapper,Peasant,Dwarvish Steelclad,Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Thunderguard,Dwarvish Guardsman,Dwarvish Stalwart,Poacher,Footpad,Outlaw
@ -604,7 +604,7 @@
side=3
description=Father Marcus
user_description= _ "Father Marcus"
profile=portraits/Father_Marcus.jpg
profile=portraits/Father_Marcus.jpg
x=18
y=4
[/unit]
@ -622,7 +622,7 @@
gender=female
description=Sister Theta
user_description= _ "Sister Theta"
profile=portraits/Sister_Theta.jpg
profile=portraits/Sister_Theta.jpg
x=19
y=5
side=3

View file

@ -220,7 +220,7 @@
[side]
type=Orcish Warlord
description=Atul
user_description= _ "Atul"
user_description= _ "Atul"
canrecruit=1
side=2
{GOLD4 200 300 400 500}
@ -269,10 +269,10 @@
x=15
y=2
side=1
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_HEALTHY}
[/modifications]
[/unit]
[unit]
@ -283,9 +283,9 @@
side=1
x=15
y=2
[modifications]
{TRAIT_LOYAL}
[/modifications]
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
[unit]
@ -296,9 +296,9 @@
side=1
x=15
y=2
[modifications]
{TRAIT_LOYAL}
[/modifications]
[modifications]
{TRAIT_LOYAL}
[/modifications]
[/unit]
{WARLORD 10 13}
@ -428,10 +428,10 @@
profile=portraits/Anita.jpg
x=11
y=14
[modifications]
{TRAIT_LOYAL}
{TRAIT_DEXTEROUS}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_DEXTEROUS}
[/modifications]
[/unit]
[message]

View file

@ -54,11 +54,10 @@
y=15
letter=Uu
[/terrain]
[/event]
[/event]
[event]
name=start
[event]
name=start
[unit]
type=Troll Warrior

View file

@ -618,7 +618,7 @@
[/event]
[event]
name=start
name=start
{SUPPORTER}
[recall]
@ -828,7 +828,7 @@
[unit]
description=Hidel
type=Elvish Marshal
profile=portraits/Hidel.jpg
profile=portraits/Hidel.jpg
user_description= _ "Hidel"
x=28
y=15
@ -1110,10 +1110,10 @@
user_description= _ "Singe"
x=3
y=14
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/unit]
[move_unit_fake]
@ -1132,10 +1132,10 @@
description=Halk
x=3
y=15
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[/unit]
{CLEAR_VARIABLE gettinghelp}

View file

@ -23,8 +23,6 @@
next_scenario=get_gold
{STARTING_VILLAGES 1 6}
[side]
type=Lieutenant
description=Tallin
@ -146,21 +144,18 @@
letter=Mm
[/terrain]
[gold]
side=1
amount=200
[/gold]
[gold]
side=1
amount=200
[/gold]
[/then]
[/if]
[/event]
[/event]
[event]
name=start
{SUPPORTER}
{SUPPORTER}
[recall]
role=Supporter
@ -202,7 +197,6 @@
description="Ro'Sothian"
[/recall]
[unit]
type=Orcish Sovereign
description=Rakshas
@ -491,7 +485,7 @@
description= _ "Death of Ro'Sothian"
condition=lose
[/objective]
[objective]
[objective]
description= _ "Turns run out"
condition=lose
[/objective]

View file

@ -316,7 +316,7 @@
kill=yes
[/store_unit]
[set_variable]
[set_variable]
name=Anita_in_command.side
value=9
[/set_variable]
@ -333,21 +333,20 @@
value=1
[/set_variable]
[unstore_unit]
[unstore_unit]
variable=Anita_in_command
find_vacant=yes
[/unstore_unit]
[/unstore_unit]
{CLEAR_VARIABLE Anita_in_command}
[/then]
[/if]
[/event]
[/event]
[event]
name=start
{SUPPORTER}
{SUPPORTER}
[recall]
role=Supporter
@ -699,7 +698,6 @@
side=3
[/unit]
[message]
speaker=narrator
message= _ "After making haste through the forest for most of a watch, the party arrived at the battle scene."

View file

@ -57,7 +57,7 @@
type=Orcish Sovereign
description=Rakshas
user_description= _ "Rakshas"
profile=portraits/Rakshas.jpg
profile=portraits/Rakshas.jpg
canrecruit=1
side=2
recruit=Orcish Warrior,Orcish Slayer,Troll,Troll Rocklobber,Orcish Crossbowman
@ -226,7 +226,7 @@
type=Dwarvish Lord
description=Hamel
user_description= _ "Hamel"
profile=portraits/Hamel.jpg
profile=portraits/Hamel.jpg
canrecruit=1
side=8
{GOLD4 2500 2500 2000 1500}

View file

@ -275,10 +275,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
@ -331,10 +331,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
description=Sister Theta
@ -384,10 +384,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
@ -425,10 +425,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
description=Sister Theta
@ -465,10 +465,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
description=Sister Theta
@ -524,10 +524,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
description=Father Marcus
@ -572,10 +572,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_QUICK}
[/modifications]
[/modifications]
[/unit]
[message]
description=Sister Theta
@ -630,10 +630,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]
@ -675,10 +675,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]
@ -715,10 +715,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]
@ -759,10 +759,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]
@ -803,10 +803,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[/then]
[/if]
@ -838,10 +838,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]
@ -882,10 +882,10 @@
side=1
x=$keep.x
y=$keep.y
[modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_RESILIENT}
[/modifications]
[/modifications]
[/unit]
[message]

View file

@ -40,7 +40,6 @@
[event]
name=prestart
# Alanin and Krawg are taking a break
[store_unit]
@ -75,7 +74,6 @@
variable=resource_return_locations
[/store_locations]
# Here we need to randomize the coal and gold locations by
# hand, because the map generator can otherwise sometimes place
# them inside cavewall.
@ -186,7 +184,6 @@
{CLEAR_VARIABLE possible_coal_2_locations}
{CLEAR_VARIABLE possible_gold_locations}
# Here we overlay a mask containing a rather random pattern of
# suitable terrains on the map, because the map generator itself
# only places the very basic terrains (floor, walls, etc)

View file

@ -69,7 +69,6 @@
name=prestart
[unhide_unit][/unhide_unit]
[modify_side]
side=1
gold=0
@ -285,12 +284,12 @@
side=1
[/kill]
{FOREACH dwarves i}
{VARIABLE dwarves[$i].x "recall"}
{VARIABLE dwarves[$i].y "recall"}
{VARIABLE dwarves[$i].x "recall"}
{VARIABLE dwarves[$i].y "recall"}
[unstore_unit]
variable=dwarves[$i]
[/unstore_unit]
[unstore_unit]
variable=dwarves[$i]
[/unstore_unit]
{NEXT i}
{CLEAR_VARIABLE dwarves}
[modify_side]

View file

@ -186,17 +186,17 @@
[message]
description="Kapou'e"
message= _ "Oh, I just thought I would take a bracing winter stroll and visit my father's old friend. How could I not, given his impressive list of recent accomplishments."
[/message]
[/message]
[message]
[message]
description="Shan Taum"
message= _ "Accomplishments?"
[/message]
[message]
description="Kapou'e"
message= _ "Well let's see, first he betrays the trust of his sworn sovereign and becomes no less then a bootlicking spy for the humans. Then goes on to engineer the death of half of the Great Council and in doing so makes himself directly responsible for the deaths of hundreds of our brethren. And best of all, he is directly responsible for a bloody civil war right at the time when his people are on the edge of total extermination!"
[message]
description="Kapou'e"
message= _ "Well let's see, first he betrays the trust of his sworn sovereign and becomes no less then a bootlicking spy for the humans. Then goes on to engineer the death of half of the Great Council and in doing so makes himself directly responsible for the deaths of hundreds of our brethren. And best of all, he is directly responsible for a bloody civil war right at the time when his people are on the edge of total extermination!"
[/message]
[message]
@ -266,7 +266,7 @@
name=turn 3
[role]
side=1
side=1
type=Orcish Warlord, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Grunt, Orcish Crossbowman, Orcish Archer
role=Helper
[/role]

View file

@ -102,16 +102,16 @@
[/event]
[story]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "In the first few years after the founding of the Northern Alliance, the dwarves of Knalga and the human population of Dwarven Doors were fully preoccupied with rebuilding what had been broken by the long orcish occupation. But soon enough they prospered once again. The dwarves begin mining their past for inspiration in ways to rebuild Knalga so it would be even greater than before, and began also reaching out for contact with their scattered kinfolk."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "But the threat from hostile orcs, wild men, and remnant undead was not yet ended. The dwarves kept strong guards on the approaches to Knalga. In the year 550 after the founding of Wesnoth, the captain of the East Gate received a warning that a small band of rogue orcs had been sighted."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "In the first few years after the founding of the Northern Alliance, the dwarves of Knalga and the human population of Dwarven Doors were fully preoccupied with rebuilding what had been broken by the long orcish occupation. But soon enough they prospered once again. The dwarves begin mining their past for inspiration in ways to rebuild Knalga so it would be even greater than before, and began also reaching out for contact with their scattered kinfolk."
[/part]
[part]
background=maps/wesnoth.png
music=northerners.ogg
story= _ "But the threat from hostile orcs, wild men, and remnant undead was not yet ended. The dwarves kept strong guards on the approaches to Knalga. In the year 550 after the founding of Wesnoth, the captain of the East Gate received a warning that a small band of rogue orcs had been sighted."
[/part]
[/story]
[event]
@ -143,5 +143,5 @@ and kill or scatter these invaders."
[endlevel]
result=victory
[/endlevel]
[/event]
[/event]
[/scenario]

View file

@ -46,10 +46,10 @@
[/side]
[story]
[part]
background=maps/wesnoth.png
story= _ "Following the victory against the orcs, Aiglondur was summoned to the audience hall of Hamel, lord of Knalga and Lord Companion of the Northern Alliance. Beside the dais stood a stranger in the robes of the Order of Loremasters..."
[/part]
[part]
background=maps/wesnoth.png
story= _ "Following the victory against the orcs, Aiglondur was summoned to the audience hall of Hamel, lord of Knalga and Lord Companion of the Northern Alliance. Beside the dais stood a stranger in the robes of the Order of Loremasters..."
[/part]
[/story]
[event]
@ -59,7 +59,7 @@
# That one is in the next scenario.
[unit]
type=Dwarvish Witness
description="Angarthing_dummy"
description="Angarthing_dummy"
user_description= _ "Angarthing"
profile=portraits/angarthing.png
side=1
@ -92,11 +92,11 @@
{PLACE_IMAGE "items/brazier-lit1.png" 8 12}
{PLACE_IMAGE "items/brazier-lit1.png" 14 12}
{PLACE_IMAGE "items/brazier-lit1.png" 11 14}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 7 11}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 7 11}
[message]
description="Hamel"
message=_"Aiglondur, what ye ha' found is disturbing, for all it
message=_"Aiglondur, what ye ha' found is disturbing, for all it
seems a small thing. I make known to ye Angarthing, loremaster in training,
who recognized the mark on it."
[/message]
@ -207,5 +207,5 @@ who recognized the mark on it."
[endlevel]
result=continue_no_save
[/endlevel]
[/event]
[/event]
[/scenario]

View file

@ -30,7 +30,7 @@
fog="no"
shroud="no"
recruit="Dwarvish Fighter, Dwarvish Thunderer, Dwarvish Guardsman"
{GOLD 100 80 60} # BALANCE
{GOLD 100 80 60} # BALANCE
[/side]
{STARTING_VILLAGES 1 3}
@ -58,7 +58,7 @@
grouping=offensive
{ATTACK_DEPTH 3 4 5}
[/ai]
{GOLD 240 200 160} # BALANCE
{GOLD 240 200 160} # BALANCE
[/side]
#ifdef HARD
@ -83,7 +83,7 @@
{TRAIT_INTELLIGENT}
[/modifications]
{GOLD 280 300 340} # BALANCE
{INCOME 5 7 9}
{INCOME 5 7 9}
team_name=bandits
controller=ai
@ -112,10 +112,10 @@
[/side]
[story]
[part]
background=maps/wesnoth.png
story= _ "Angarthing and Aiglondur and the dwarvish troop traveled swiftly to the east through the settled lands of the Northern Alliance. Soon enough they came to the wilder march country, where raids by large bands of hostile orcs and men were all too common."
[/part]
[part]
background=maps/wesnoth.png
story= _ "Angarthing and Aiglondur and the dwarvish troop traveled swiftly to the east through the settled lands of the Northern Alliance. Soon enough they came to the wilder march country, where raids by large bands of hostile orcs and men were all too common."
[/part]
[/story]
{@campaigns/The_Hammer_of_Thursagan/utils/herodeaths.cfg}
@ -125,8 +125,8 @@
[unit]
type=Dwarvish Witness
description="Angarthing"
user_description= _ "Angarthing"
description="Angarthing"
user_description= _ "Angarthing"
profile=portraits/angarthing.png
side=1
[modifications]
@ -202,19 +202,19 @@
[/event]
[event]
name=die
[filter]
description=Marth Tak
[/filter]
name=die
[filter]
description=Marth Tak
[/filter]
[message]
description=Angarthing
message= _ "We have failed our duty to the Alliance."
[/message]
[message]
description=Angarthing
message= _ "We have failed our duty to the Alliance."
[/message]
[endlevel]
result=defeat
[/endlevel]
[endlevel]
result=defeat
[/endlevel]
[/event]
[event]
@ -239,10 +239,9 @@
[/message]
[message]
description="Marth Tak"
message=_"East, eh? You won't find many friends in that direction. Travel safely."
description="Marth Tak"
message=_"East, eh? You won't find many friends in that direction. Travel safely."
[/message]
[/if]
[/event]
[/scenario]

View file

@ -23,7 +23,7 @@
fog="no"
shroud="no"
recruit="Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman"
{GOLD 100 80 60} # BALANCE
{GOLD 100 80 60} # BALANCE
[/side]
[side]
@ -64,10 +64,10 @@
{@campaigns/The_Hammer_of_Thursagan/utils/macros.cfg}
[story]
[part]
background=maps/wesnoth.png
story= _ "Aiglondur and his troop, some still shaking their heads dubiously at the very notion of fighting alongside orcs rather than against them, continued east to the easternmost edge of the Northern Alliance's lands."
[/part]
[part]
background=maps/wesnoth.png
story= _ "Aiglondur and his troop, some still shaking their heads dubiously at the very notion of fighting alongside orcs rather than against them, continued east to the easternmost edge of the Northern Alliance's lands."
[/part]
[/story]
#ifdef NORMAL
@ -83,7 +83,7 @@
[filter]
description=Gronk
[/filter]
[message]
[message]
speaker=second_unit
message="Hey! That troll was sitting on some treasure!"
[/message]
@ -100,9 +100,9 @@
name="start"
[recall]
description="Angarthing"
description="Angarthing"
x,y=2,9
[/recall]
[/recall]
[message]
description="Gronk"

View file

@ -22,10 +22,10 @@
[/label]
[story]
[part]
background=maps/wesnoth.png
story= _ "The Alliance's road ended at the troll bridge. East of it lay only the wildlands."
[/part]
[part]
background=maps/wesnoth.png
story= _ "The Alliance's road ended at the troll bridge. East of it lay only the wildlands."
[/part]
[/story]
[side]
@ -39,7 +39,7 @@
fog="no"
shroud="no"
recruit="Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman"
{GOLD 100 80 60} # BALANCE
{GOLD 100 80 60} # BALANCE
[/side]
[side]
@ -144,12 +144,12 @@
[event]
name=capture
first_time_only=no
[if]
[variable]
name=unit.side
numerical_equals=5
[/variable]
[then]
[if]
[variable]
name=unit.side
numerical_equals=5
[/variable]
[then]
{CLEAR cleared_$x1|,$y1|_village}
[/then]
[else]
@ -159,123 +159,123 @@
not_equals=yes
[/variable]
[then]
# Compute the number of indigs that will pop up
[if]
[variable]
name=unit.side
numerical_equals=1
[/variable]
[then]
# The bandit villagers hate dwarves...
[set_variable]
name=indigs
random=0..2
[/set_variable]
[/then]
[else]
# ...but they hate orcs much worse.
[set_variable]
name=indigs
random=2..5
[/set_variable]
[/else]
[/if]
# Now place the indigs
[while]
[variable]
name=indigs
greater_than=0
[/variable]
[do]
[store_locations]
[filter_adjacent_location]
x,y=$x1,$y1
[/filter_adjacent_location]
# Compute the number of indigs that will pop up
[if]
[variable]
name=unit.side
numerical_equals=1
[/variable]
[then]
# The bandit villagers hate dwarves...
[set_variable]
name=indigs
random=0..2
[/set_variable]
[/then]
[else]
# ...but they hate orcs much worse.
[set_variable]
name=indigs
random=2..5
[/set_variable]
[/else]
[/if]
# Now place the indigs
[while]
[variable]
name=indigs
greater_than=0
[/variable]
[do]
[store_locations]
[filter_adjacent_location]
x,y=$x1,$y1
[/filter_adjacent_location]
[not]
[filter]
[/filter]
[/not]
[not]
[filter]
[/filter]
[/not]
variable=possible_indig_locations
[/store_locations]
variable=possible_indig_locations
[/store_locations]
[if]
[variable]
name=possible_indig_locations.length
greater_than=0
[/variable]
[then]
{VARIABLE_OP random_location_index random 1..$possible_indig_locations.length}
[set_variable]
name=random_location_index
add=-1
[/set_variable]
{RANDOM (Footpad,Thief,Thug)}
[unit]
type=$random
side=5
x,y=$possible_indig_locations[$random_location_index].x,$possible_indig_locations[$random_location_index].y
generate_description=yes
random_traits=yes
[/unit]
[/then]
[/if]
[set_variable]
name=indigs
add=-1
[/set_variable]
[/do]
[/while]
{CLEAR_VARIABLE indigs}
# Perform appropriate notifications
[if]
[variable]
name=possible_indig_locations.length
greater_than=0
[/variable]
[then]
[set_variable]
name=cleared_$x1|,$y1|_village
value=yes
[/set_variable]
[message]
speaker=unit
message= _ "The villagers are attacking us!"
[/message]
[if]
[variable]
name=indigs_sighted
equals=0
[/variable]
[then]
[message]
speaker=Aiglondur
message= _ "Aye, it's still bandit country, right enough."
[/message]
[/then]
[/if]
[set_variable]
name=indigs_sighted
add=1
[/set_variable]
[/then]
[else]
[if]
[variable]
name=indigs_sighted
greater_than=0
[/variable]
[then]
[message]
speaker=unit
message= _ "No bandits in this village."
[/message]
[/then]
[/if]
[/else]
[/if]
{CLEAR_VARIABLE possible_indig_locations}
[if]
[variable]
name=possible_indig_locations.length
greater_than=0
[/variable]
[then]
{VARIABLE_OP random_location_index random 1..$possible_indig_locations.length}
[set_variable]
name=random_location_index
add=-1
[/set_variable]
{RANDOM (Footpad,Thief,Thug)}
[unit]
type=$random
side=5
x,y=$possible_indig_locations[$random_location_index].x,$possible_indig_locations[$random_location_index].y
generate_description=yes
random_traits=yes
[/unit]
[/then]
[/if]
[set_variable]
name=indigs
add=-1
[/set_variable]
[/do]
[/while]
{CLEAR_VARIABLE indigs}
# Perform appropriate notifications
[if]
[variable]
name=possible_indig_locations.length
greater_than=0
[/variable]
[then]
[set_variable]
name=cleared_$x1|,$y1|_village
value=yes
[/set_variable]
[message]
speaker=unit
message= _ "The villagers are attacking us!"
[/message]
[if]
[variable]
name=indigs_sighted
equals=0
[/variable]
[then]
[message]
speaker=Aiglondur
message= _ "Aye, it's still bandit country, right enough."
[/message]
[/then]
[/if]
[set_variable]
name=indigs_sighted
add=1
[/set_variable]
[/then]
[else]
[if]
[variable]
name=indigs_sighted
greater_than=0
[/variable]
[then]
[message]
speaker=unit
message= _ "No bandits in this village."
[/message]
[/then]
[/if]
[/else]
[/if]
{CLEAR_VARIABLE possible_indig_locations}
[/then]
[/if]
[/else]
@ -284,25 +284,25 @@
[event]
name="prestart"
[role]
type=Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Fighter,Dwarvish Thunderer
[not]
description=Aiglondur
[/not]
role=Scout
[/role]
[role]
type=Dwarvish Steelclad,Dwarvish Thunderguard,Dwarvish Fighter,Dwarvish Thunderer
[not]
description=Aiglondur
[/not]
role=Scout
[/role]
[/event]
[event]
name="start"
[recall]
description="Angarthing"
[/recall]
description="Angarthing"
[/recall]
[recall]
role=Scout
[/recall]
role=Scout
[/recall]
[set_variable]
name=indigs_sighted

View file

@ -30,7 +30,7 @@
fog="no"
shroud=yes
recruit="Dwarvish Fighter, Dwarvish Thunderer,Dwarvish Guardsman"
{GOLD 100 80 60} # BALANCE
{GOLD 100 80 60} # BALANCE
[/side]
[side]
@ -41,7 +41,7 @@
canrecruit=1
team_name=wildthings
recruit=Gryphon
{GOLD 60 80 100} # BALANCE
{GOLD 60 80 100} # BALANCE
[ai]
{ATTACK_DEPTH 1 3 5}
passive_leader=yes
@ -107,8 +107,8 @@
{PLACE_IMAGE (scenery/signpost.png) 30 11}
[recall]
description="Angarthing"
[/recall]
description="Angarthing"
[/recall]
[message]
description="Angarthing"
@ -183,10 +183,10 @@
profile=portraits/ratheln.png
user_description= _ "Ratheln"
side=1
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
[modifications]
{TRAIT_LOYAL}
{TRAIT_STRONG}
[/modifications]
x=19
y=11
[/unit]

View file

@ -29,8 +29,8 @@
[side]
type=Dwarvish Steelclad
description=Masked Dwarf
user_description= _ "Masked Dwarf"
profile=portraits/maskeddwarf.png
user_description= _ "Masked Dwarf"
profile=portraits/maskeddwarf.png
side=2
canrecruit=1
team_name=evil
@ -54,23 +54,23 @@
{@campaigns/The_Hammer_of_Thursagan/utils/macros.cfg}
[event]
name="start"
name="start"
# The recruitment algorithm in the AI doesn't want to create Ulfserkers.
# We only want a limited number of these anyway, for flavor; they are
# way too dangerous in swarms. So we'll create them explicitly here.
#define MASKED_ULFSERKER X Y NAME
[unit]
type=Dwarvish Ulfserker
side=2
x,y={X},{Y}
description={NAME}
user_description=Masked Dwarf
[/unit]
#define MASKED_ULFSERKER X Y NAME
[unit]
type=Dwarvish Ulfserker
side=2
x,y={X},{Y}
description={NAME}
user_description=Masked Dwarf
[/unit]
#enddef
{MASKED_ULFSERKER 38 12 Ulfserker1}
{MASKED_ULFSERKER 39 14 Ulfserker2}
#ifdef NORMAL
#ifdef NORMAL
{MASKED_ULFSERKER 40 12 Ulfserker3}
#endif
#ifdef HARD
@ -148,18 +148,18 @@
# The Masked Dwarves are nameless, it's a part of their charm...
[event]
name=recruit
first_time_only=no
name=recruit
first_time_only=no
[filter]
side=2
[/filter]
{MODIFY_UNIT x,y=$x1,$y1 user_description _"Masked Dwarf"}
{MODIFY_UNIT x,y=$x1,$y1 user_description _"Masked Dwarf"}
[/event]
[event]
name=capture
first_time_only=yes
name=capture
first_time_only=yes
[filter]
side=1
[/filter]
@ -195,21 +195,21 @@
[/message]
#define PLACE_BURNED_VILLAGE X Y
{VARIABLE_OP random_string format "scenery/village-human-burned1.png,scenery/village-human-burned2.png,scenery/village-human-burned3.png,scenery/village-human-burned4.png"}
{RANDOM $random_string}
{PLACE_IMAGE $random {X} {Y}}
{VARIABLE_OP random_string format "scenery/village-human-burned1.png,scenery/village-human-burned2.png,scenery/village-human-burned3.png,scenery/village-human-burned4.png"}
{RANDOM $random_string}
{PLACE_IMAGE $random {X} {Y}}
#enddef
{PLACE_BURNED_VILLAGE 36 8}
{PLACE_BURNED_VILLAGE 33 13}
{PLACE_BURNED_VILLAGE 33 32}
{PLACE_BURNED_VILLAGE 26 13}
{PLACE_BURNED_VILLAGE 30 16}
{PLACE_BURNED_VILLAGE 36 8}
{PLACE_BURNED_VILLAGE 33 13}
{PLACE_BURNED_VILLAGE 33 32}
{PLACE_BURNED_VILLAGE 26 13}
{PLACE_BURNED_VILLAGE 30 16}
[modify_side]
[modify_side]
side=1
fog=no
[/modify_side]
[/modify_side]
[message]
speaker="Masked Dwarf"
message=_"Fellow dwarves, hail! We're looking for a human refugee, one named Ollin. Have you seen him? Our master demands his life."
@ -310,8 +310,7 @@ deed? I am a witness."
message=_"They were seeking captives. To what purpose, I cannot say. But I doubt it was any good one."
[/message]
[kill]
description=Ollin
description=Ollin
[/kill]
[/event]
[/scenario]

View file

@ -93,7 +93,7 @@
{GOLD 90 120 150} # BALANCE
{INCOME 10 5 3} # BALANCE
[ai]
{NO_SCOUTS}
{NO_SCOUTS}
grouping=offensive
passive_leader=yes
recruitment_pattern=fighter
@ -105,7 +105,7 @@
[/side]
[event]
name="start"
name="start"
{PLACE_IMAGE "scenery/signpost.png" 40 17}
[recall]

View file

@ -6,7 +6,7 @@
victory_when_enemies_defeated=yes
# The map should be thematically something like a reflection of the one
# for "At The East Gate", but on a larger scale. The player's
# for "At The East Gate", but on a larger scale. The player's
# encampment should be at the west edge. Kal Kartha will be
# represented by an underground keep (the West Gate) set into
# high mountains at the east edge of the map.
@ -29,7 +29,7 @@
fog="no"
shroud="no"
recruit="Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman,Mage"
{GOLD 140 120 100} # BALANCE
{GOLD 140 120 100} # BALANCE
[/side]
[side]
@ -51,7 +51,7 @@
recruitment_pattern=fighter,fighter,mixed fighter
{ATTACK_DEPTH 4 5 5}
[/ai]
{GOLD 280 240 200} # BALANCE
{GOLD 280 240 200} # BALANCE
[/side]
{STARTING_VILLAGES 2 5}
@ -85,7 +85,7 @@
x,y=44,15 # wants to take the Kal Karthans' keep.
[/leader_goal]
[target]
side=2 # wants to kill Kal Karthans
side=2 # wants to kill Kal Karthans
value=4.0
[/target]
[/ai]
@ -117,7 +117,7 @@
x,y=44,15 # wants to take the Kal Karthans' keep.
[/leader_goal]
[target]
side=2 # wants to kill Kal Karthans
side=2 # wants to kill Kal Karthans
value=4.0
[/target]
[/ai]
@ -148,7 +148,7 @@
x,y=44,15 # wants to take the Kal Karthans' keep.
[/leader_goal]
[target]
side=2 # wants to kill Kal Karthans
side=2 # wants to kill Kal Karthans
value=4.0
[/target]
[/ai]
@ -170,8 +170,8 @@
name="start"
[recall]
description="Angarthing"
[/recall]
description="Angarthing"
[/recall]
[recall]
description="Ratheln"
@ -243,7 +243,7 @@
[/event]
[event]
name="victory"
name="victory"
[message]
speaker=Dulcatulos

View file

@ -8,10 +8,10 @@
# This scenario will take place on a throneroom map which is, effectively,
# all castle. It should have two keep hexes on it, one near the front
# for our heroes and one at the rear for Karrag. Features of the
# map must include an indication of a doorway in the cave wall near the
# rear dais. The throneroom map should in general look like a distorted
# map must include an indication of a doorway in the cave wall near the
# rear dais. The throneroom map should in general look like a distorted
# mirror image of Hamel's, but with the braziers unlit.
#
#
# Aiglondur, Angarthing, and a few of their veteran followers face Karrag,
# flanked by several of his followers. Dulcatulos escorts our heroes.
# Karrag's group should have black team disks and Dulcatulos a blue one.
@ -34,7 +34,7 @@
fog="no"
shroud="no"
recruit="Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman,Mage"
{GOLD 140 120 100} # BALANCE
{GOLD 140 120 100} # BALANCE
[/side]
[side]
@ -57,7 +57,7 @@
recruitment_pattern=fighter,fighter,mixed fighter
{ATTACK_DEPTH 4 5 5}
[/ai]
{GOLD 280 240 200} # BALANCE
{GOLD 280 240 200} # BALANCE
[/side]
[side]
@ -82,17 +82,16 @@
{PLACE_IMAGE "items/brazier.png" 9 14}
{PLACE_IMAGE "items/brazier.png" 14 13}
{PLACE_IMAGE "items/brazier.png" 17 14}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 18 11}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 18 11}
[recall]
description="Angarthing"
[/recall]
description="Angarthing"
[/recall]
[recall]
description="Ratheln"
[/recall]
[unit]
type=Dwarvish Steelclad
description=Dulcatulos
@ -102,8 +101,8 @@
x,y=10,9
[/unit]
{RECALL_VETERAN (Dwarvish Dragonguard) 11 11}
{RECALL_VETERAN (Dwarvish Lord) 11 12}
{RECALL_VETERAN (Dwarvish Dragonguard) 11 11}
{RECALL_VETERAN (Dwarvish Lord) 11 12}
#define REMOVE_KEEP X Y
[terrain]
@ -115,9 +114,9 @@
{REMOVE_KEEP 10 11}
{REMOVE_KEEP 16 11}
# Karrag's throne guards
# Karrag's throne guards
{MODIFY_UNIT description="Karrag" facing sw}
{MODIFY_UNIT description="Karrag" facing sw}
[unit]
type=Dwarvish Steelclad
@ -231,8 +230,8 @@
name=lich-hit-1.ogg
[/sound]
{MODIFY_UNIT description=Karrag type "Lich"}
[redraw]
[/redraw]
[redraw]
[/redraw]
[message]
description= _ "Dulcatulos"
@ -273,14 +272,14 @@
[/objectives]
[/event]
[message]
speaker=narrator
message=_"Neither side can recruit or recall. You must win with the troops you have."
image=wesnoth-icon.png
[/message]
[message]
speaker=narrator
message=_"Neither side can recruit or recall. You must win with the troops you have."
image=wesnoth-icon.png
[/message]
[event]
name="die"
name="die"
[filter]
description=Karrag
[/filter]
@ -324,5 +323,4 @@
result=defeat
[/endlevel]
[/event]
[/scenario]

View file

@ -49,13 +49,13 @@
{PLACE_IMAGE "items/brazier-lit1.png" 9 14}
{PLACE_IMAGE "items/brazier-lit1.png" 14 13}
{PLACE_IMAGE "items/brazier-lit1.png" 17 14}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 18 11}
{PLACE_IMAGE "scenery/dwarven-doors-closed.png" 18 11}
[recall]
description="Angarthing"
x,y=16,10
facing=sw
[/recall]
[/recall]
[recall]
description="Ratheln"
@ -74,16 +74,16 @@
facing=se
[/recall]
# The Kal Karthans. One has to be named Narithil for the dialogue.
# The Kal Karthans. One has to be named Narithil for the dialogue.
#define KAL_KARTHAN X Y TYPE NAME
[unit]
type={TYPE}
description={NAME}
user_description= _ {NAME} # wmllint: ignore
side=3
x,y={X},{Y}
[/unit]
[unit]
type={TYPE}
description={NAME}
user_description= _ {NAME} # wmllint: ignore
side=3
x,y={X},{Y}
[/unit]
#enddef
{KAL_KARTHAN 9 9 "Dwarvish Fighter" Glamcatsil}
@ -189,5 +189,4 @@ Tan-Malgar and his allies spread, and reached Tallin. You did the Alliance bett
result=continue
[/endlevel]
[/event]
[/scenario]

View file

@ -72,35 +72,35 @@
[/frame]
[/attack_anim]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=2
[specials]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=2
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_SLOW}
[/specials]
icon=attacks/bolas.png
{WEAPON_SPECIAL_SLOW}
[/specials]
icon=attacks/bolas.png
[/attack]
[attack_anim]
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/annalist-defend.png
sound=slowed.wav
[/frame]
)}
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/annalist-defend.png
sound=slowed.wav
[/frame]
)}
[/attack_anim]
[/unit]

View file

@ -19,9 +19,9 @@
{AMLA_DEFAULT}
unit_description= _ "Loremasters are the sages of the dwarvish race. Their counsel is greatly valued by war-leaders and chieftains, and they are viewed with awe by ordinary dwarves, for they alone have plumbed the deepest and most closely-held secrets of dwarven knowledge. It is said that where a loremaster stands, there is the soul of the dwarves. To the abilities of the Annalist they add a limited ability to heal."+{SPECIAL_NOTES}+{SPECIAL_NOTES_SLOW}+{SPECIAL_NOTES_UNPOISON}+{SPECIAL_NOTES_LEADERSHIP}+_ "SPECIAL_NOTES^ This unit can exert leadership on units of his own level."+{SPECIAL_NOTES_MAGICAL}+{SPECIAL_NOTES_HEALS}
[abilities]
{ABILITY_LEADERSHIP_LEVEL_4}
{ABILITY_UNPOISON}
{ABILITY_HEALS}
{ABILITY_LEADERSHIP_LEVEL_4}
{ABILITY_UNPOISON}
{ABILITY_HEALS}
[/abilities]
{DEFENSE_ANIM_RANGE "units/loremaster-defend.png" "units/loremaster.png" {SOUND_LIST:DWARF_HIT} melee}
{DEFENSE_ANIM_RANGE "units/loremaster-defend-ranged.png" "units/loremaster.png" {SOUND_LIST:DWARF_HIT} ranged}
@ -72,35 +72,35 @@
[/frame]
[/attack_anim]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=3
[specials]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=3
[specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_SLOW}
[/specials]
icon=attacks/bolas.png
{WEAPON_SPECIAL_SLOW}
[/specials]
icon=attacks/bolas.png
[/attack]
[attack_anim]
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/loremaster-defend-ranged.png
sound=slowed.wav
[/frame]
)}
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/loremaster-defend-ranged.png
sound=slowed.wav
[/frame]
)}
[/attack_anim]
[/unit]

View file

@ -76,35 +76,35 @@
[/frame]
[/attack_anim]
[attack]
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=1
[specials]
{WEAPON_SPECIAL_SLOW}
{WEAPON_SPECIAL_MAGICAL}
[/specials]
icon=attacks/bolas.png
name=bolas
description= _"bolas"
type=impact
range=ranged
damage=6
number=1
[specials]
{WEAPON_SPECIAL_SLOW}
{WEAPON_SPECIAL_MAGICAL}
[/specials]
icon=attacks/bolas.png
[/attack]
[attack_anim]
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/witness-defend.png
sound=slowed.wav
[/frame]
)}
[attack_filter]
name=bolas
[/attack_filter]
[missile_frame]
begin=-150
end=0
image=projectiles/bolas-n.png
image_diagonal=projectiles/bolas-ne.png
[/missile_frame]
{FRAME_ON_SLOW (
[frame]
begin=-100
end=0
image=units/witness-defend.png
sound=slowed.wav
[/frame]
)}
[/attack_anim]
[/unit]

View file

@ -12,9 +12,9 @@
message= _ "You retrieve $amount_gold pieces of gold."
image=wesnoth-icon.png
[/message]
{CLEAR_VARIABLE amount_gold}
[gold]
side={SIDE}
amount={AMOUNT}
@ -25,40 +25,40 @@
Mage,Red Mage,White Mage,Arch Mage,Great Mage,Mage of Light,Silver Mage #enddef
#define CONDITIONAL_MAGE_RECRUITING
[store_unit]
[filter]
side=1
type={MAGES}
[/filter]
variable=mage_test
[/store_unit]
[if]
[variable]
name=mage_disallow
boolean_equals=false
[/variable]
[variable]
name=mage_test.length
numerical_equals=0
[/variable]
[then]
[message]
speaker=narrator
message= _ "Without magic users from Master Perrin's academy in your party, you can no longer recruit new ones."
image=wesnoth-icon.png
[/message]
[disallow_recruit]
type=Mage
[/disallow_recruit]
{VARIABLE mage_disallow true}
[/then]
[/if]
{CLEAR_VARIABLE mage_test}
[store_unit]
[filter]
side=1
type={MAGES}
[/filter]
variable=mage_test
[/store_unit]
[if]
[variable]
name=mage_disallow
boolean_equals=false
[/variable]
[variable]
name=mage_test.length
numerical_equals=0
[/variable]
[then]
[message]
speaker=narrator
message= _ "Without magic users from Master Perrin's academy in your party, you can no longer recruit new ones."
image=wesnoth-icon.png
[/message]
[disallow_recruit]
type=Mage
[/disallow_recruit]
{VARIABLE mage_disallow true}
[/then]
[/if]
{CLEAR_VARIABLE mage_test}
#enddef
#
# Following macros implement the Staff of Righteous Flame
#
#
# Following macros implement the Staff of Righteous Flame
#
#define OBJ_STAFF_OF_RIGHTEOUS_FLAME X Y
{PLACE_IMAGE "scenery/temple1.png" {X} {Y}}
@ -100,7 +100,7 @@
#enddef
#define SET_RIGHTEOUS_FLAME_EVENT
# Set up a final-strike ability contingent on having the Staff of
# Set up a final-strike ability contingent on having the Staff of
# Righteous Flame -- gives a gaudy kill on all neighboring enemies.
[event]
name=die
@ -109,8 +109,8 @@
[filter]
type={MAGES}
[wml_filter]
[variables]
has_borf=yes
[variables]
has_borf=yes
[/variables]
[/wml_filter]
[/filter]
@ -202,22 +202,22 @@
[/store_unit]
{FOREACH finalstriketargets i}
[kill]
x,y=$finalstriketargets[$i].x,$finalstriketargets[$i].y
animate=yes
fire_event=yes
[/kill]
[kill]
x,y=$finalstriketargets[$i].x,$finalstriketargets[$i].y
animate=yes
fire_event=yes
[/kill]
{NEXT i}
{CLEAR_VARIABLE finalstriketargets}
[redraw] # Needed in case fog is active;
[redraw] # Needed in case fog is active;
[/redraw] # the deaths might change some hex visibilities.
[/event]
#enddef
#
# Following macros are about generating defenders on village captures
#
#
# Following macros are about generating defenders on village captures
#
#define INDIGENE_SIDE SIDE
[side]
@ -236,101 +236,100 @@
name=capture
first_time_only=no
{RANDOM 0..10}
[if]
[variable]
name=random
less_than=$trapdiff
[/variable]
[then]
[set_variable]
name=numban
{RANDOM 0..10}
[if]
[variable]
name=random
less_than=$trapdiff
[/variable]
[then]
[set_variable]
name=numban
#ifdef EASY
random=2..5
random=2..5
#endif
#ifdef NORMAL
random=1..4
random=1..4
#endif
#ifdef HARD
random=0..3
random=0..3
#endif
[/set_variable]
[set_variable]
name=numban
add=$trapdiff
[/set_variable]
[while]
[variable]
name=numban
greater_than=0
[/variable]
[do]
{RANDOM {UNITLIST}}
[unit]
type=$random
side={SIDE}
x=$x1
y=$y1
generate_description=yes
random_traits=yes
[/unit]
[set_variable]
name=numban
add=-2
[/set_variable]
[/do]
[/while]
{CLEAR_VARIABLE numban}
[message]
speaker=unit
message= _ "The villagers are attacking us!"
[/message]
[/set_variable]
[set_variable]
name=numban
add=$trapdiff
[/set_variable]
[while]
[variable]
name=numban
greater_than=0
[/variable]
[do]
{RANDOM {UNITLIST}}
[unit]
type=$random
side={SIDE}
x=$x1
y=$y1
generate_description=yes
random_traits=yes
[/unit]
[set_variable]
name=numban
add=-2
[/set_variable]
[/do]
[/while]
{CLEAR_VARIABLE numban}
[message]
speaker=unit
message= _ "The villagers are attacking us!"
[/message]
[set_variable]
name=indigs_sighted
add=1
[/set_variable]
[/then]
[else]
[/then]
[else]
[if]
[variable]
name=indigs_sighted
greater_than=0
[/variable]
[variable]
name=indigs_sighted
greater_than=0
[/variable]
[then]
[message]
speaker=unit
message= _ "No defenders in this village."
[/message]
[message]
speaker=unit
message= _ "No defenders in this village."
[/message]
[/then]
[/if]
[/else]
[/if]
[set_variable]
name=trapdiff
add=1
[/set_variable]
[/else]
[/if]
[set_variable]
name=trapdiff
add=1
[/set_variable]
[/event]
#enddef
#define RECALL_VETERAN TYPE X Y
[role]
type={TYPE}
[not]
description=Aiglondur
[/not]
[not]
description=Dulcatulos
[/not]
role=veteran
[/role]
[role]
type={TYPE}
[not]
description=Aiglondur
[/not]
[not]
description=Dulcatulos
[/not]
role=veteran
[/role]
[recall]
role=veteran
x,y={X},{Y}
[/recall]
[recall]
role=veteran
x,y={X},{Y}
[/recall]
#enddef
#define GIANT_SPIDER X Y
[unit]
type=Giant Spider
@ -338,7 +337,7 @@
y={Y}
side=2
ai_special=guardian
description=Giant Spider
description=Giant Spider
[/unit]
#enddef
@ -351,11 +350,10 @@
ai_special=guardian
random_traits=yes
generate_description=yes
user_description= _ "Masked Dwarf"
user_description= _ "Masked Dwarf"
[/unit]
#enddef
#define MASKED_SNIPER X Y
[unit]
type=Dwarvish Thunderguard
@ -365,11 +363,10 @@
ai_special=guardian
random_traits=yes
generate_description=yes
user_description= _ "Masked Dwarf"
user_description= _ "Masked Dwarf"
[/unit]
#enddef
#define MASKED_STALWART X Y
[unit]
type=Dwarvish Stalwart
@ -379,7 +376,7 @@
ai_special=guardian
random_traits=yes
generate_description=yes
user_description= _ "Masked Dwarf"
user_description= _ "Masked Dwarf"
[/unit]
#enddef
@ -393,36 +390,36 @@
[/unit]
#enddef
#define JAIL_SAGA ORATOR
#define JAIL_SAGA ORATOR
[set_variable]
name=saga_told
value=1
[/set_variable]
[message]
description={ORATOR}
message= _ "Finally! I see someone managed to see through the web of deception thrown up by that vile Karrag!"
[/message]
[set_variable]
name=saga_told
value=1
[/set_variable]
[message]
description=Aiglondur
message= _ "I thought Karrag's fight was against the so called 'dirtgrubbers'. Why would he keep you, a dwarf captive?"
[/message]
[message]
description={ORATOR}
message= _ "Finally! I see someone managed to see through the web of deception thrown up by that vile Karrag!"
[/message]
[message]
description={ORATOR}
message= _ "I guess Karrag thought I knew too much. When his masked henchmen started raiding, plundering and taking all sorts of prisoners - which were sent to these underlevels and never seen again - I began to inquire. I discovered many unsettling things indeed, but before I could capitalize on them I was arrested and thrown down here."
[/message]
[message]
description=Aiglondur
message= _ "I thought Karrag's fight was against the so called 'dirtgrubbers'. Why would he keep you, a dwarf captive?"
[/message]
[message]
description={ORATOR}
message= _ "I gather that he is involved in some sick ritual which requires the blood of living creatures. These cells seem to be the holding place where he keeps his victims. The 'dirtgrubbers' he seems to prefer sacrificing have long since been taken away. Now it is just us few dwarves that remain..."
[/message]
[message]
description={ORATOR}
message= _ "I guess Karrag thought I knew too much. When his masked henchmen started raiding, plundering and taking all sorts of prisoners - which were sent to these underlevels and never seen again - I began to inquire. I discovered many unsettling things indeed, but before I could capitalize on them I was arrested and thrown down here."
[/message]
[message]
description= _ "Angarthing"
message= _ "Freeing these prisoners is more of a blow to Karrag then we thought, for now he is unable to continue in his dirty sorcery."
[/message]
[message]
description={ORATOR}
message= _ "I gather that he is involved in some sick ritual which requires the blood of living creatures. These cells seem to be the holding place where he keeps his victims. The 'dirtgrubbers' he seems to prefer sacrificing have long since been taken away. Now it is just us few dwarves that remain..."
[/message]
[message]
description= _ "Angarthing"
message= _ "Freeing these prisoners is more of a blow to Karrag then we thought, for now he is unable to continue in his dirty sorcery."
[/message]
#enddef

View file

@ -120,10 +120,9 @@
[event]
name=prestart
# These names look unimaginative because "Lady Jessica" is
# the only character in BfW with a personal name that is a
# normal English name. I'm making the Wesfolk follow suit.
# These names look unimaginative because "Lady Jessica" is
# the only character in BfW with a personal name that is a
# normal English name. I'm making the Wesfolk follow suit.
#ifdef EASY
{GUARD_UNIT (Poacher) (Thomas) ( _ "Thomas") 2 11 20}
#else
@ -295,7 +294,7 @@
[allow_recruit]
side=1
type=Thief,Thug,Poacher,Footpad
[/allow_recruit]
[/allow_recruit]
[message]
description=Prince Haldric
message= _ "So what shall I call you?"
@ -314,7 +313,7 @@
{VARIABLE wesfolk_leader_store.description (Lady Outlaw)}
{VARIABLE wesfolk_leader_store.user_description ( _ "Lady Outlaw")}
{VARIABLE wesfolk_leader_store.canrecruit 0}
{VARIABLE wesfolk_leader_store.canrecruit 0}
{VARIABLE wesfolk_leader_store.side 1}
[unstore_unit]
@ -469,6 +468,5 @@
[/kill]
{CLEAR_VARIABLE wesfolk_leader_store}
[/event]
[/scenario]

View file

@ -72,7 +72,7 @@
recruit=Dark Adept, Necrophage, Ghost, Skeleton, Skeleton Archer, Blood Bat, Soulless, Giant Mudcrawler
#endif
#ifdef HARD
recruit=Dark Adept, Necrophage, Wraith, Shadow, Revenant, Deathblade, Bone Shooter, Blood Bat, Soulless
recruit=Dark Adept, Necrophage, Wraith, Shadow, Revenant, Deathblade, Bone Shooter, Blood Bat, Soulless
#endif
team_name=cult
[/side]
@ -99,7 +99,7 @@
recruit=Dark Adept, Necrophage, Ghost, Skeleton, Skeleton Archer, Blood Bat, Soulless, Giant Mudcrawler
#endif
#ifdef HARD
recruit=Dark Adept, Necrophage, Wraith, Shadow, Revenant, Deathblade, Bone Shooter, Blood Bat, Soulless
recruit=Dark Adept, Necrophage, Wraith, Shadow, Revenant, Deathblade, Bone Shooter, Blood Bat, Soulless
#endif
team_name=cult
[/side]

View file

@ -164,7 +164,7 @@
[/move_unit_fake]
[/else]
[/if]
[/else]
[/else]
[/if]
{VARIABLE lady_store.x 6}
@ -288,12 +288,9 @@
equals=Wesfolk Outcast
[/variable]
[then]
{VARIABLE lady_store.experience 0}
{VARIABLE lady_store.type (Outlaw Princess)}
[/then]
[/if]
[if]
@ -302,11 +299,8 @@
equals=Wesfolk Lady
[/variable]
[then]
{VARIABLE lady_store.type (Outlaw Princess)}
[/then]
[/if]
[if]
@ -315,16 +309,13 @@
equals=Wesfolk Leader
[/variable]
[then]
{VARIABLE lady_store.type (Outlaw Queen)}
[/then]
[/if]
{VARIABLE lady_store.description (Lady Jessica)}
{VARIABLE lady_store.user_description (_ "Lady Jessica")}
[unstore_unit]
variable=lady_store
[/unstore_unit]

View file

@ -278,7 +278,7 @@
[/message]
[message]
description=Prince Haldric
description=Prince Haldric
message= _ "That's horrible!"
[/message]

View file

@ -17,7 +17,7 @@
{campaigns/The_Rise_Of_Wesnoth/utils/trow-deaths.cfg}
{FALLEN_LICH_POINT_BIGMAP}
[side]
type=Noble Commander
description=Prince Haldric
@ -98,7 +98,7 @@
{STARTING_VILLAGES 3 6}
#define TURNED_TO_STONE
#define TURNED_TO_STONE
[status]
stone=on
[/status]

View file

@ -222,148 +222,148 @@
[/message]
[/event]
#define SAVED_BY_DIONLI
[move_unit_fake]
type=Elvish Shyde
side=2
x=31,30,29,28,28
y=8.8.9.8,7
[/move_unit_fake]
#define SAVED_BY_DIONLI
[move_unit_fake]
type=Elvish Shyde
side=2
x=31,30,29,28,28
y=8.8.9.8,7
[/move_unit_fake]
{HERO (Elvish Shyde) (Lord Dionli) ( _ "Lord Dionli") 2 28 7 ("portraits/dionli.png")}
{HERO (Elvish Shyde) (Lord Dionli) ( _ "Lord Dionli") 2 28 7 ("portraits/dionli.png")}
[message]
description=Lord Dionli
message= _ "What? What's going on here? Dwarves? Humans? Ships? Glimir, tell me."
[/message]
[message]
description=Glimir
message= _ "The stories are true. There must be dwarven colonists in the Brown Hills. We caught this band chopping wood near the bay. Then we saw lots of ships. Not like before, with that fellow from Southbay and his lone ship. It was always interesting when he stopped by."
[/message]
[message]
description=Glimir
message= _ "We thought we were being invaded. We, erm, put our differences aside with the dwarves, for the moment, and decided to deal with this first."
[/message]
[message]
description=Lord Dionli
message= _ "These are disturbing trends. Human, it is by luck alone that I am here to spare you. For on this day the Council of Lords is meeting in a forest not far from here."
[/message]
[message]
description=Prince Haldric
message= _ "I am Prince Haldric. We come in peace. May our peoples-"
[/message]
[message]
description=Lady Jessica
message= _ "Haldric."
[/message]
[message]
description=Lord Dionli
message= _ "As for you, dwarf, return to the Brown Hills. Then tell your people to prepare to return to the north."
[/message]
[message]
description=Dursil
message= _ "I'll return to the hills, but I can't promise that my people will go. Hmph!"
[/message]
[message]
description=Lord Dionli
message= _ "Haldric, is it? You are their leader? You and your advisers are to come with me. It will be safe for your passengers to disembark here."
[/message]
[message]
description=Lord Dionli
message= _ "What? What's going on here? Dwarves? Humans? Ships? Glimir, tell me."
[/message]
[message]
description=Glimir
message= _ "The stories are true. There must be dwarven colonists in the Brown Hills. We caught this band chopping wood near the bay. Then we saw lots of ships. Not like before, with that fellow from Southbay and his lone ship. It was always interesting when he stopped by."
[/message]
[message]
description=Glimir
message= _ "We thought we were being invaded. We, erm, put our differences aside with the dwarves, for the moment, and decided to deal with this first."
[/message]
[message]
description=Lord Dionli
message= _ "These are disturbing trends. Human, it is by luck alone that I am here to spare you. For on this day the Council of Lords is meeting in a forest not far from here."
[/message]
[message]
description=Prince Haldric
message= _ "I am Prince Haldric. We come in peace. May our peoples-"
[/message]
[message]
description=Lady Jessica
message= _ "Haldric."
[/message]
[message]
description=Lord Dionli
message= _ "As for you, dwarf, return to the Brown Hills. Then tell your people to prepare to return to the north."
[/message]
[message]
description=Dursil
message= _ "I'll return to the hills, but I can't promise that my people will go. Hmph!"
[/message]
[message]
description=Lord Dionli
message= _ "Haldric, is it? You are their leader? You and your advisers are to come with me. It will be safe for your passengers to disembark here."
[/message]
[move_unit_fake]
type=Blood Bat
side=4
x=1,2,3
y=15,15,15
[/move_unit_fake]
[move_unit_fake]
type=Blood Bat
side=4
x=1,2,3
y=15,15,15
[/move_unit_fake]
{UNDEAD_INTEL (Blood Bat) (Familiar) ( _ "Familiar") "portraits/familiar.png" 4 3 15}
{UNDEAD_INTEL (Blood Bat) (Familiar) ( _ "Familiar") "portraits/familiar.png" 4 3 15}
[kill]
description=Familiar
[/kill]
[kill]
description=Familiar
[/kill]
[move_unit_fake]
type=Blood Bat
side=4
x=3,3,2,1
y=15,14,13,13
[/move_unit_fake]
[move_unit_fake]
type=Blood Bat
side=4
x=3,3,2,1
y=15,14,13,13
[/move_unit_fake]
[message]
description=Lady Jessica
message= _ "(whispered) Maybe it'd be best if you didn't mention our little friend following us..."
[/message]
[message]
description=Lady Jessica
message= _ "(whispered) Maybe it'd be best if you didn't mention our little friend following us..."
[/message]
#ifdef EASY
[message]
description=Lord Typhon
message= _ "I must return to my people. You have kept your word, you may avail of my services in the future. The services of my people will remain at your disposal."
[/message]
[message]
description=Lord Typhon
message= _ "I must return to my people. You have kept your word, you may avail of my services in the future. The services of my people will remain at your disposal."
[/message]
#else
[disallow_recruit]
side=1
type=Merman Fighter
[/disallow_recruit]
[disallow_recruit]
side=1
type=Merman Fighter
[/disallow_recruit]
[message]
description=Lord Typhon
message= _ "I must return to my people. My warriors that fought by your side wish to remain with you. You have kept your word, and you may avail of my services in the future."
[/message]
[message]
description=Lord Typhon
message= _ "I must return to my people. My warriors that fought by your side wish to remain with you. You have kept your word, and you may avail of my services in the future."
[/message]
#endif
[kill]
description=Lord Typhon
[/kill]
[kill]
description=Lord Typhon
[/kill]
[message]
description=Prince Haldric
message= _ "May the currents carry you swiftly, my friend. (whispered) Jessica, send word that a third of the fleet is to return to the Green Isle, to look for more survivors. If they return tell them to keep returning until no more survivors are found."
[/message]
[message]
description=Prince Haldric
message= _ "(whispered) Man the ships with skeleton crews, and give them the remaining supplies. Pass the word to Lord Typhon. Make sure than no more than a third of the fleet is sent. We must not provide the orcs with a ready-made fleet. Make haste, return before it is time to meet with these, what are they? Ahh, elves."
[/message]
[message]
description=Prince Haldric
message= _ "This is the second Eldaric I get to say goodbye to. At least this time it is easier than the first."
[/message]
[message]
description=Prince Haldric
message= _ "May the currents carry you swiftly, my friend. (whispered) Jessica, send word that a third of the fleet is to return to the Green Isle, to look for more survivors. If they return tell them to keep returning until no more survivors are found."
[/message]
[message]
description=Prince Haldric
message= _ "(whispered) Man the ships with skeleton crews, and give them the remaining supplies. Pass the word to Lord Typhon. Make sure than no more than a third of the fleet is sent. We must not provide the orcs with a ready-made fleet. Make haste, return before it is time to meet with these, what are they? Ahh, elves."
[/message]
[message]
description=Prince Haldric
message= _ "This is the second Eldaric I get to say goodbye to. At least this time it is easier than the first."
[/message]
[set_variable]
name=num_done
value=0
[/set_variable]
[set_variable]
name=num_done
value=0
[/set_variable]
[set_variable]
name=a_beach
value=0
[/set_variable]
[set_variable]
name=a_beach
value=0
[/set_variable]
[set_variable]
name=cursed_isle
value=0
[/set_variable]
[set_variable]
name=cursed_isle
value=0
[/set_variable]
[set_variable]
name=the_dragon
value=0
[/set_variable]
[set_variable]
name=the_dragon
value=0
[/set_variable]
[set_variable]
name=troll_hole
value=0
[/set_variable]
[set_variable]
name=troll_hole
value=0
[/set_variable]
[set_variable]
name=last_done
value="none"
[/set_variable]
[set_variable]
name=last_done
value="none"
[/set_variable]
[endlevel]
#Bet I scared a few people there
result=continue
next_scenario=Elf_Lords
[/endlevel]
#enddef
[endlevel]
#Bet I scared a few people there
result=continue
next_scenario=Elf_Lords
[/endlevel]
#enddef
[event]
name=attack

View file

@ -148,7 +148,6 @@
[event]
name=prestart
{PLACE_IMAGE (scenery/fire1.png) 4 24}
{PLACE_IMAGE (scenery/fire2.png) 8 25}
{PLACE_IMAGE (scenery/fire3.png) 26 9}

View file

@ -21,7 +21,7 @@
usage=mixed fighter
unit_description= _ "Born in the Wesfolk aristocracy, she and her people were excluded from society by their lords, who betrayed their loyalty when a war against Haldric's people was being lost. This outcast still conserves her nobleness in her veins and in the battlefield she has earned valuable experience, which continues increasing with time, as does her natural leadership."+{SPECIAL_NOTES}+{SPECIAL_NOTES_DISTRACT}+{SPECIAL_NOTES_LEADERSHIP}
die_sound={SOUND_LIST:HUMAN_FEMALE_DIE}
{DEFENSE_ANIM "units/human-outlaws/outlaw+female-defend.png" "units/human-outlaws/outlaw+female.png" {SOUND_LIST:HUMAN_FEMALE_HIT} }
{DEFENSE_ANIM "units/human-outlaws/outlaw+female-defend.png" "units/human-outlaws/outlaw+female.png" {SOUND_LIST:HUMAN_FEMALE_HIT} }
[attack]
name=staff
description=_"staff"

View file

@ -121,38 +121,38 @@
[idle_anim]
{STANDARD_IDLE_FILTER}
start_time=0
[frame]
image="units/human-outlaws/footpad+female-idle-1.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-4.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-4.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-1.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-1.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-4.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-4.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-3.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-2.png"
[/frame]
[frame]
image="units/human-outlaws/footpad+female-idle-1.png"
[/frame]
[/idle_anim]
[/unit]

View file

@ -23,4 +23,4 @@ This unit negates enemy Zones of Control around itself for friendly units (but n
#enddef
#define SPECIAL_NOTES_DISTRACT
_"This unit is capable of distracting opponents, allowing friendly units to trespass their Zones of Control and move unhindered around them."#enddef
_"This unit is capable of distracting opponents, allowing friendly units to trespass their Zones of Control and move unhindered around them."#enddef

View file

@ -940,4 +940,3 @@
[/if]
[/story]
#enddef

View file

@ -210,5 +210,3 @@
file=story/tgi-stormvale.png
[/image]
#enddef

View file

@ -255,7 +255,7 @@
message= _ "I hope that's the last of the bandits! How many more of these foul undead must we fight?"
[/message]
# Deoran arrives at the elvish citadel
# Deoran arrives at the elvish citadel
[message]
speaker=Deoran

View file

@ -468,10 +468,10 @@
[/store_villages]
{FOREACH side_2_villages i}
[capture_village]
side=1
x,y=$side_2_villages[$i].x,$side_2_villages[$i].y
[/capture_village]
[capture_village]
side=1
x,y=$side_2_villages[$i].x,$side_2_villages[$i].y
[/capture_village]
{NEXT i}
{CLEAR_VARIABLE side_2_villages}

View file

@ -98,7 +98,6 @@
[event]
name=prestart
# Store away Deoran, his human troops, Ethiliel and her bodyguards, so
# that only Gerrick and the rest of the elves remain.
@ -154,7 +153,6 @@
variable=stored_Deoran_army
[/store_unit]
# Store Deoran's gold so it can be restored in Into the Depths and set
# Gerrick's gold to 100.
@ -168,7 +166,6 @@
gold=100
[/modify_side]
# Recall Gerrick and set him as the leader.
[recall]
@ -457,7 +454,6 @@
image=wesnoth-icon.png
[/message]
# The next scenario is again led by Deoran, so store away Gerrick and
# his troops, except those remaining on the recall list.
@ -481,7 +477,6 @@
kill=yes
[/store_unit]
# Reinstate Deoran as the leader and unstore Hylas, Ethiliel and
# troops so they're all again recallable in the next scenario.
@ -501,9 +496,9 @@
[/unstore_unit]
{FOREACH stored_Deoran_army i}
[unstore_unit]
variable=stored_Deoran_army[$i]
[/unstore_unit]
[unstore_unit]
variable=stored_Deoran_army[$i]
[/unstore_unit]
{NEXT i}
[endlevel]

View file

@ -85,13 +85,13 @@
[/side]
[side]
side=4
no_leader=yes
team_name=elves
gold=100
income=0
side=4
no_leader=yes
team_name=elves
gold=100
income=0
[/side]
#prestart
[event]
name=prestart
@ -103,11 +103,11 @@
#ifdef NORMAL
{SG_GUARD (Naga Fighter) (Wizzi) (_"Wizzi") 4 10 14}
#endif
#ifdef HARD
{SG_GUARD (Naga Warrior) (Wizzi) (_"Wizzi") 4 10 14}
#endif
#ifdef EASY
{GENERIC_UNIT 3 Ghost 24 25}
#else
@ -144,8 +144,6 @@
{GENERIC_UNIT 3 Ghost 29 37}
#endif
[recall]
description=Sir Gerrick
[/recall]
@ -337,12 +335,11 @@
#else
{GENERIC_UNIT 4 (Elvish Rider) 14 48}
#endif
[message]
race=elf
message= _ "Get them !"
[/message]
[message]
race=elf
message= _ "Get them !"
[/message]
[/event]
# Urza Afalas moves north - choice two.
@ -382,7 +379,6 @@
#else
{GENERIC_UNIT 4 (Elvish Druid) 10 43}
#endif
[/event]
# Urza Afalas moves north - choice two.
@ -422,7 +418,6 @@
#else
{GENERIC_UNIT 4 (Elvish Rider) 4 44}
#endif
[/event]
[event]
@ -460,7 +455,6 @@
#else
{GENERIC_UNIT 4 (Elvish Sorceress) 5 36}
#endif
[/event]
[event]
@ -511,7 +505,6 @@
#else
{GENERIC_UNIT 4 (Elvish Scout) 5 31}
#endif
[/event]
[event]
@ -554,31 +547,30 @@
#else
{GENERIC_UNIT 4 Poacher 5 31}
#endif
[message]
type=Trapper
message= _ "The elves payed us well to kill you."
[/message]
[message]
type=Poacher
message= _ "The elves payed us well to kill you."
[/message]
[message]
description=Urza Afalas
message= _ "You bastards!"
[/message]
[message]
type=Thief
message= _ "You would have done the same to us if you were in our place!"
[/message]
[message]
type=Rogue
message= _ "You would have done the same to us if you were in our place!"
[/message]
[message]
description=Urza Afalas
message= _ "I probably would have..."
[/message]
[message]
type=Trapper
message= _ "The elves payed us well to kill you."
[/message]
[message]
type=Poacher
message= _ "The elves payed us well to kill you."
[/message]
[message]
description=Urza Afalas
message= _ "You bastards!"
[/message]
[message]
type=Thief
message= _ "You would have done the same to us if you were in our place!"
[/message]
[message]
type=Rogue
message= _ "You would have done the same to us if you were in our place!"
[/message]
[message]
description=Urza Afalas
message= _ "I probably would have..."
[/message]
[/event]
[event]

View file

@ -398,7 +398,6 @@
[/filter]
[redraw][/redraw]
[message]
speaker=Grek
message= _ "Ha! Humans and elves! What are you doing in our caves, and why shouldn't we grind your bones and gnaw on your flesh?"
@ -415,18 +414,18 @@
[/message]
#ifdef EASY
{VARIABLE troll_help_cost 100}
{VARIABLE troll_help_cost 100}
#endif
#ifdef NORMAL
{VARIABLE troll_help_cost 150}
{VARIABLE troll_help_cost 150}
#endif
#ifdef HARD
{VARIABLE troll_help_cost 200}
{VARIABLE troll_help_cost 200}
#endif
# The help from the trolls can be received either on first sighting of them or
# later; so here's what the trolls do to help you wrapped inside a macro so that
# the WML doesn't need to be duplicated by hand
# The help from the trolls can be received either on first sighting of them or
# later; so here's what the trolls do to help you wrapped inside a macro so that
# the WML doesn't need to be duplicated by hand
#define TROLL_HELP
[gold]
@ -449,7 +448,6 @@
gold=$stored_side_4.gold
[/modify_side]
# Note: the order of storing the villages, flipping the
# units and recapturing the villages is important, because a
# side with no leader cannot own villages.
@ -462,10 +460,10 @@
{MODIFY_UNIT side=4 side 5}
{FOREACH side_4_villages i}
[capture_village]
x,y=$side_4_villages[$i].x,$side_4_villages[$i].y
side=5
[/capture_village]
[capture_village]
x,y=$side_4_villages[$i].x,$side_4_villages[$i].y
side=5
[/capture_village]
{NEXT i}
{CLEAR_VARIABLE stored_side_4}
@ -718,7 +716,6 @@
{SG_CHANGE_TERRAIN 18 24 Ww}
[redraw][/redraw]
[message]
speaker=unit
message= _ "I've broken through!"
@ -735,7 +732,6 @@
[/filter]
[redraw][/redraw]
[message]
speaker="Ethiliel"
message= _ "Mebrin! My teacher of old! Can that truly be you?"

View file

@ -141,7 +141,7 @@
user_description= _ "Plynry"
unrenamable=yes
[ai]
passive_leader=yes
passive_leader=yes
[/ai]
team_name=South_Guard
controller=ai
@ -241,17 +241,17 @@
description=Minister Hylas
[/recall]
[message]
[message]
side=2
canrecruit=0
image="portraits/Nicholas_Kerpan/human-poacher.png"
message= _ "Tharzo! That meddler who killed the Urza brothers approaches from the south. His men and horses look worn out."
[/message]
[/message]
[message]
[message]
speaker="Tharzo Kalain"
message= _ "The dark gods have put revenge in our laps. Destroy them all before they reach the border fort!"
[/message]
[/message]
[/event]
[event]
@ -263,32 +263,32 @@
description=Deoran
[/filter]
[message]
[message]
speaker="Plynry"
message= _ "Halt! Who comes to the border of Wesnoth?"
[/message]
[/message]
[message]
[message]
speaker="Deoran"
message= _ "It is I, Deoran, commander of the South Guard, and my men."
[/message]
[/message]
[message]
[message]
speaker="Plynry"
message= _ "Deoran? You had been thought lost long since. But I see by your men's gear and drill that they are of the South Guard indeed. Pass.."
[/message]
[/message]
[message]
[message]
speaker="Deoran"
message= _ "We, and our elvish allies, have won a great battle against a lich."
[/message]
[/message]
[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]
# Unstore Sir Gerrick and his troops back so that everyone will be happily
# Unstore Sir Gerrick and his troops back so that everyone will be happily
# reunited at the beginning of the next scenario.
{VARIABLE stored_Sir_Gerrick.x "recall"}
@ -299,12 +299,12 @@
[/unstore_unit]
{FOREACH stored_Sir_Gerrick_army i}
{VARIABLE stored_Sir_Gerrick_army[$i].x "recall"}
{VARIABLE stored_Sir_Gerrick_army[$i].y "recall"}
{VARIABLE stored_Sir_Gerrick_army[$i].x "recall"}
{VARIABLE stored_Sir_Gerrick_army[$i].y "recall"}
[unstore_unit]
variable=stored_Sir_Gerrick_army[$i]
[/unstore_unit]
[unstore_unit]
variable=stored_Sir_Gerrick_army[$i]
[/unstore_unit]
{NEXT i}
{CLEAR_VARIABLE stored_Sir_Gerrick_army}

View file

@ -313,4 +313,3 @@
[/frame]
[/attack_anim]
[/unit]

View file

@ -144,4 +144,3 @@
[/movement_anim]
{DEFENSE_ANIM "deoran/mounted-general-defend.png" "deoran/mounted-general.png" {SOUND_LIST:HORSE_HIT} }
[/unit]

View file

@ -37,7 +37,6 @@
append=yes
[/music]
{DUSK}
{FIRST_WATCH}
{SECOND_WATCH}

View file

@ -40,7 +40,6 @@
append=yes
[/music]
{DUSK}
{FIRST_WATCH}
{SECOND_WATCH}

View file

@ -32,18 +32,18 @@
[entry]
name = "Asa Swain"
[/entry]
[entry]
name= "Piotr Cychowski"
[/entry]
[entry]
name= "Piotr Cychowski"
[/entry]
[/about]
[about]
title= _ "Campaign Maintenance"
[entry]
name = "Jan Rietema (Rhuvaen)"
[/entry]
[entry]
name = "Piotr Cychowski (Mist)"
[/entry]
[entry]
name = "Piotr Cychowski (Mist)"
[/entry]
[/about]
[about]
title= _ "Artwork and Graphics Design"
@ -92,9 +92,9 @@
[entry]
name = "Ringcaat (Thorin N. Tatge)"
[/entry]
[entry]
name = "Zookeeper"
[/entry]
[entry]
name = "Zookeeper"
[/entry]
text=_"And special thanks to everyone else who I forgot to mention."
[/about]
[/campaign]

View file

@ -116,8 +116,8 @@
shroud=no
fog=no
team_name=evil
{GOLD 100 100 100}
{INCOME -2 -2 -2}
{GOLD 100 100 100}
{INCOME -2 -2 -2}
#ifdef EASY
recruit=Skeleton, Skeleton Archer, Vampire Bat, Ghoul, Dark Adept
#endif
@ -145,13 +145,12 @@
[/ai]
[/side]
# macro for setting up the village occupants
# macro for setting up the village occupants
#define VILLAGE_EVENT TYPE NAME
{VARIABLE villager[$village_events].type {TYPE}}
{VARIABLE villager[$village_events].name {NAME}}
{VARIABLE_OP village_events add 1}
{VARIABLE villager[$village_events].type {TYPE}}
{VARIABLE villager[$village_events].name {NAME}}
{VARIABLE_OP village_events add 1}
#enddef
# prestart events:
@ -202,7 +201,6 @@
{VILLAGE_EVENT "Desert Fighter" _"Piyru"}
{VILLAGE_EVENT "Desert Hunter" _"Anioh"}
{VILLAGE_EVENT "Desert Scout" _"Taliu"}
[/event]
# Dialogue at start of scenario
@ -281,137 +279,135 @@
[/message]
[/event]
# Desert Village event
# Some of the outer villages have elves hiding in them. If the player
# reaches them before the undead do, they can rescue the elves
# Desert Village event
# Some of the outer villages have elves hiding in them. If the player
# reaches them before the undead do, they can rescue the elves
[event]
name=capture
first_time_only=no
[filter]
side=1,3
#!-- Fixes bug 10418, reduces potential number of elves found in the desert to max four
[not]
x=40-60
y=1-12
[/not]
[filter_location]
terrain=Dd^Vdt
[/filter_location]
[/filter]
[event]
name=capture
first_time_only=no
[filter]
side=1,3
#!-- Fixes bug 10418, reduces potential number of elves found in the desert to max four
[not]
x=40-60
y=1-12
[/not]
[filter_location]
terrain=Dd^Vdt
[/filter_location]
[/filter]
# check to see if the village has been captured
# by the undead before
[store_locations]
variable=vill
x=$x1
y=$y1
find_in=abandoned
[/store_locations]
# check to see if the village has been captured
# by the undead before
[store_locations]
variable=vill
x=$x1
y=$y1
find_in=abandoned
[/store_locations]
[if]
[variable]
name=vill.length
less_than=1
[/variable]
[then]
[if]
[variable]
name=unit.side
numerical_equals=1
[/variable]
[variable]
name=vill.length
less_than=1
[/variable]
[then]
[if]
[variable]
name=unit.side
numerical_equals=1
[/variable]
[then]
{RANDOM 1..10}
[then]
{RANDOM 1..10}
[if]
[variable]
name=random
less_than_equal_to=6
[/variable]
[if]
[variable]
name=random
less_than_equal_to=6
[/variable]
[then]
# pick one village occupant at random
{RANDOM 1..$village_events}
{VARIABLE_OP random add -1}
[then]
# pick one village occupant at random
{RANDOM 1..$village_events}
{VARIABLE_OP random add -1}
{VARIABLE unit_type $villager[$random].type}
{VARIABLE unit_name $villager[$random].name}
{VARIABLE unit_type $villager[$random].type}
{VARIABLE unit_name $villager[$random].name}
[unit]
side=1
type=$unit_type
x=$x1
y=$y1
user_description=$unit_name
upkeep=full
animate=yes
moves="0"
[/unit]
[unit]
side=1
type=$unit_type
x=$x1
y=$y1
user_description=$unit_name
upkeep=full
animate=yes
moves="0"
[/unit]
{CLEAR_VARIABLE unit_type}
{CLEAR_VARIABLE unit_name}
{CLEAR_VARIABLE unit_type}
{CLEAR_VARIABLE unit_name}
# remove this village inhabitant from array
{VARIABLE next_i $random}
{VARIABLE_OP next_i add 1}
[while]
[variable]
name=next_i
less_than=$village_events
[/variable]
[do]
{VARIABLE villager[$random].type $villager[$next_i].type}
{VARIABLE villager[$random].name $villager[$next_i].name}
{VARIABLE_OP random add 1}
{VARIABLE_OP next_i add 1}
[/do]
[/while]
{CLEAR_VARIABLE villager[$village_events].type}
{CLEAR_VARIABLE villager[$village_events].name}
{CLEAR_VARIABLE next_i}
{VARIABLE_OP village_events add -1}
[message]
speaker=unit
message= _ "Oh good, some elves have survived in this outer settlement. They've agreed to help us search for other survivors."
[/message]
# remove this village inhabitant from array
{VARIABLE next_i $random}
{VARIABLE_OP next_i add 1}
[while]
[variable]
name=next_i
less_than=$village_events
[/variable]
[do]
{VARIABLE villager[$random].type $villager[$next_i].type}
{VARIABLE villager[$random].name $villager[$next_i].name}
{VARIABLE_OP random add 1}
{VARIABLE_OP next_i add 1}
[/do]
[/while]
{CLEAR_VARIABLE villager[$village_events].type}
{CLEAR_VARIABLE villager[$village_events].name}
{CLEAR_VARIABLE next_i}
{VARIABLE_OP village_events add -1}
[message]
speaker=unit
message= _ "Oh good, some elves have survived in this outer settlement. They've agreed to help us search for other survivors."
[/message]
[/then]
[/then]
[else]
[message]
speaker=unit
message= _ "The encampment is empty. I wonder what happened to the inhabitants?"
[/message]
[/else]
[/if]
[/then]
[else]
# captured by undead -> abandon it
{VARIABLE abandoned[$abandoned_villages].x $x1}
{VARIABLE abandoned[$abandoned_villages].y $y1}
{VARIABLE_OP abandoned_villages add 1}
[/else]
[else]
[message]
speaker=unit
message= _ "The encampment is empty. I wonder what happened to the inhabitants?"
[/message]
[/else]
[/if]
[/then]
[else]
# captured by undead -> abandon it
{VARIABLE abandoned[$abandoned_villages].x $x1}
{VARIABLE abandoned[$abandoned_villages].y $y1}
{VARIABLE_OP abandoned_villages add 1}
[/else]
[/if]
[/then]
[else]
[if]
[variable]
name=unit.side
equals=1
[/variable]
[then]
[message]
speaker=unit
message= _ "This encampment has been abandoned. There are signs of a struggle and a few bloodstains but nothing else. I fear for those elves who lived out here."
[/message]
[/then]
[/if]
[/else]
[/if]
[/then]
[else]
[if]
[variable]
name=unit.side
equals=1
[/variable]
[then]
[message]
speaker=unit
message= _ "This encampment has been abandoned. There are signs of a struggle and a few bloodstains but nothing else. I fear for those elves who lived out here."
[/message]
[/then]
[/if]
[/else]
[/if]
{CLEAR_VARIABLE vill}
[/event]
{CLEAR_VARIABLE vill}
[/event]
#define MUDCRAWLER_TALK SPEAKER
# Hasn't completed #1 encounter, do it now
@ -818,7 +814,6 @@
[/event]
[/event]
# Grasslands dialogue, when Kaleh and Nym approach the eastern fields
[event]
@ -833,133 +828,132 @@
# only show this if the villages haven't been captured yet
[if]
[variable]
name=grasslands_dialogue
less_than=1
[/variable]
[then]
{VARIABLE grasslands_dialogue 1}
[message]
description=Kaleh
message= _ "These fields seem strangely vacant. Where are the horses?"
[/message]
[message]
description=Nym
message= _ "Maybe they're hiding in the stables. Let's go check."
[/message]
[/then]
[variable]
name=grasslands_dialogue
less_than=1
[/variable]
[then]
{VARIABLE grasslands_dialogue 1}
[message]
description=Kaleh
message= _ "These fields seem strangely vacant. Where are the horses?"
[/message]
[message]
description=Nym
message= _ "Maybe they're hiding in the stables. Let's go check."
[/message]
[/then]
[/if]
[/event]
# Stables Encounters
# Now wrapped into one - also includes the grasslands dialogue
# if it hasn't been shown yet
# Stables Encounters
# Now wrapped into one - also includes the grasslands dialogue
# if it hasn't been shown yet
[event]
name=capture
first_time_only=no
[filter]
x=43,43
y=29,32
[/filter]
[event]
name=capture
first_time_only=no
[filter]
x=43,43
y=29,32
[/filter]
# check to see if the undead have captured it
[store_locations]
variable=vill
x=$x1
y=$y1
find_in=abandoned
[/store_locations]
# check to see if the undead have captured it
[store_locations]
variable=vill
x=$x1
y=$y1
find_in=abandoned
[/store_locations]
[if]
[variable]
name=unit.side
equals=1
[/variable]
[then]
[if]
[variable]
name=vill.length
less_than=1
[/variable]
[then]
[if]
[variable]
name=grasslands_dialogue
less_than=1
[/variable]
[then]
{VARIABLE grasslands_dialogue 1}
[message]
description=Kaleh
message= _ "These fields seem strangely vacant. Where are the horses?"
[/message]
[message]
description=Nym
message= _ "Maybe they're hiding in the stables. Let's go check."
[/message]
[message]
description=Nym
message= _ "I think I see movement in the stables. Is anyone there?"
[/message]
[/then]
[/if]
[if]
[variable]
name=grasslands_dialogue
less_than=2
[/variable]
[then]
# first stable encounter
{VARIABLE grasslands_dialogue 2}
{RANDOM_TRAIT_UNIT 1 "Desert Scout" $x1 $y1 "Naru" ( _ "Naru") ()}
[message]
description=Naru
message= _ "Is it safe to come out? I was so scared."
[/message]
[message]
description=Kaleh
message= _ "Where are all the other horses?"
[/message]
[message]
description=Naru
message= _ "A hunting party left just yesterday, so unless the rocks fell all over the land, many of the horses have probably survived. The few that remained here were scared by the falling rocks and fled into the night. It took all my skill to calm Yasi and keep him from running."
[/message]
[message]
description=Kaleh
message= _ "We'll need your help in checking to see if the outer settlements are okay. Who knows what kinds of damage they suffered in the night? And perhaps some of the people out in the desert have been able to round up some of the loose horses."
[/message]
[message]
description=Nym
message= _ "Well, let's hope that hunting party comes back soon."
[/message]
[/then]
[else]
# second stable encounter
[message]
description=Naru
message= _ "Hey Nisa, the rocks have stopped falling. You can come out now!"
[/message]
{RANDOM_TRAIT_UNIT 1 "Desert Scout" 43 31 "Nisa" ( _ "Nisa") (gender="female")}
[message]
description=Nisa
message= _ "Oh, thank Eloh, I thought they would never stop."
[/message]
[/else]
[/if]
[/then]
[variable]
name=unit.side
equals=1
[/variable]
[then]
[if]
[variable]
name=vill.length
less_than=1
[/variable]
[then]
[if]
[variable]
name=grasslands_dialogue
less_than=1
[/variable]
[then]
{VARIABLE grasslands_dialogue 1}
[message]
description=Kaleh
message= _ "These fields seem strangely vacant. Where are the horses?"
[/message]
[message]
description=Nym
message= _ "Maybe they're hiding in the stables. Let's go check."
[/message]
[message]
description=Nym
message= _ "I think I see movement in the stables. Is anyone there?"
[/message]
[/then]
[/if]
[if]
[variable]
name=grasslands_dialogue
less_than=2
[/variable]
[then]
# first stable encounter
{VARIABLE grasslands_dialogue 2}
{RANDOM_TRAIT_UNIT 1 "Desert Scout" $x1 $y1 "Naru" ( _ "Naru") ()}
[message]
description=Naru
message= _ "Is it safe to come out? I was so scared."
[/message]
[message]
description=Kaleh
message= _ "Where are all the other horses?"
[/message]
[message]
description=Naru
message= _ "A hunting party left just yesterday, so unless the rocks fell all over the land, many of the horses have probably survived. The few that remained here were scared by the falling rocks and fled into the night. It took all my skill to calm Yasi and keep him from running."
[/message]
[message]
description=Kaleh
message= _ "We'll need your help in checking to see if the outer settlements are okay. Who knows what kinds of damage they suffered in the night? And perhaps some of the people out in the desert have been able to round up some of the loose horses."
[/message]
[message]
description=Nym
message= _ "Well, let's hope that hunting party comes back soon."
[/message]
[/then]
[else]
# second stable encounter
[message]
description=Naru
message= _ "Hey Nisa, the rocks have stopped falling. You can come out now!"
[/message]
{RANDOM_TRAIT_UNIT 1 "Desert Scout" 43 31 "Nisa" ( _ "Nisa") (gender="female")}
[message]
description=Nisa
message= _ "Oh, thank Eloh, I thought they would never stop."
[/message]
[/else]
[/if]
[/then]
[/if]
[/then]
[else]
# the undead capture village - abandon it
# this just prevents the stables encounters from happening again on recapturing the villages
{VARIABLE abandoned[$abandoned_villages].x $x1}
{VARIABLE abandoned[$abandoned_villages].y $y1}
{VARIABLE_OP abandoned_villages add 1}
[/else]
[/if]
[/then]
[else]
# the undead capture village - abandon it
# this just prevents the stables encounters from happening again on recapturing the villages
{VARIABLE abandoned[$abandoned_villages].x $x1}
{VARIABLE abandoned[$abandoned_villages].y $y1}
{VARIABLE_OP abandoned_villages add 1}
[/else]
[/if]
[/event]
[/event]
# Undead leader shows up on dusk of the first long night, turn 11
@ -1083,13 +1077,13 @@
[/filter]
[sound]
name=wail-long.wav
name=wail-long.wav
[/sound]
[kill]
side=3
race=undead
animate=yes
side=3
race=undead
animate=yes
[/kill]
[message]
@ -1217,7 +1211,6 @@
[/message]
[/event]
[event]
name=victory
@ -1329,5 +1322,4 @@
{KALEH_DEATH}
{FRIEND_DEATH}
{GARAK_DEATH}
[/scenario]

View file

@ -5,7 +5,6 @@
# then killing the leader takes precedent over killing the champion, and
# the leader who died is the one who takes his revenge.
[scenario]
#textdomain wesnoth-utbs
@ -170,7 +169,7 @@
description=Possessed Garak
message= _ "Hahahaha! Your puny friend is no more. With his body I shall crush you all. Arise again my minions and feast in the slaughter!"
[/message]
#enddef
#define GARAK_DIALOGUE_PART_TWO
@ -758,16 +757,16 @@
# capture villages for side 1
# and store them for victory conditions / undead
# capture
#define SET_ELVEN_CAMP X Y
[capture_village]
#define SET_ELVEN_CAMP X Y
[capture_village]
side=1
x={X}
y={Y}
[/capture_village]
{VARIABLE elven_camp[$elven_camps].x {X}}
{VARIABLE elven_camp[$elven_camps].y {Y}}
{VARIABLE_OP elven_camps add 1}
#enddef
[/capture_village]
{VARIABLE elven_camp[$elven_camps].x {X}}
{VARIABLE elven_camp[$elven_camps].y {Y}}
{VARIABLE_OP elven_camps add 1}
#enddef
# Prestart functions:
# set starting scenario objectives
@ -897,7 +896,6 @@
name=village_counter
value=$elven_camps
[/set_variable]
[/event]
#Time Areas correspond with halo around campfires
@ -948,7 +946,6 @@
#print dialogue messages
{INTRO_DIALOGUE}
[/event]
# if deathblade Zur dies first then set variable revenge = 2
@ -1170,83 +1167,81 @@
#enddef
#define POSSESS_GARAK SIDE MINION
# one undead side possesses Garak
#
#store Garak's x,y location
[store_locations]
[filter]
description=Garak
[/filter]
variable=locs
[/store_locations]
[store_unit]
[filter]
description=Garak
[/filter]
variable=ElvishGarak
kill=no
[/store_unit]
# play some adequate sound
[kill]
description=Garak
animate=yes
fire_event=no
[/kill]
[kill]
side={SIDE}
canrecruit=1
animate=yes
fire_event=no
[/kill]
{UNIT_ (Corrupted Elf) (Possessed Garak) ( _ "Possessed Garak") {SIDE} $locs[0].x $locs[0].y}
[store_locations]
x=$locs[0].x
y=$locs[0].y
terrain=Dd^Vdt
find_in=elven_camp
variable=camps
[/store_locations]
# one undead side possesses Garak
#
#store Garak's x,y location
[store_locations]
[filter]
description=Garak
[/filter]
variable=locs
[/store_locations]
[if]
[variable]
name=camps.length
equals=1
[/variable]
[store_unit]
[filter]
description=Garak
[/filter]
variable=ElvishGarak
kill=no
[/store_unit]
[then]
#turn village into sand, Dd is the letter for sand
[terrain]
x=$camps[0].x
y=$camps[0].y
letter=Dd
[/terrain]
# play some adequate sound
{UNIT_ (Walking Corpse) () ("") {SIDE} $camps[0].x $camps[0].y}
[kill]
description=Garak
animate=yes
fire_event=no
[/kill]
{VARIABLE_OP village_counter add -1}
[kill]
side={SIDE}
canrecruit=1
animate=yes
fire_event=no
[/kill]
[/then]
[/if]
{GARAK_DIALOGUE_PART_ONE}
{CREATE_MINIONS ({MINIONS}) {SIDE} $locs[0].x $locs[0].y}
{GARAK_DIALOGUE_PART_TWO}
{CLEAR_VARIABLE camps}
{CLEAR_VARIABLE locs}
{SET_VARIABLE possessed_garak {SIDE}}
{UNIT_ (Corrupted Elf) (Possessed Garak) ( _ "Possessed Garak") {SIDE} $locs[0].x $locs[0].y}
[store_locations]
x=$locs[0].x
y=$locs[0].y
terrain=Dd^Vdt
find_in=elven_camp
variable=camps
[/store_locations]
[if]
[variable]
name=camps.length
equals=1
[/variable]
[then]
#turn village into sand, Dd is the letter for sand
[terrain]
x=$camps[0].x
y=$camps[0].y
letter=Dd
[/terrain]
{UNIT_ (Walking Corpse) () ("") {SIDE} $camps[0].x $camps[0].y}
{VARIABLE_OP village_counter add -1}
[/then]
[/if]
{GARAK_DIALOGUE_PART_ONE}
{CREATE_MINIONS ({MINIONS}) {SIDE} $locs[0].x $locs[0].y}
{GARAK_DIALOGUE_PART_TWO}
{CLEAR_VARIABLE camps}
{CLEAR_VARIABLE locs}
{SET_VARIABLE possessed_garak {SIDE}}
#enddef
@ -1285,7 +1280,6 @@
#death events, and Possessed Garak is created
{POSSESS_GARAK 3 "Soulless"}
[/then]
[/if]
@ -1313,9 +1307,8 @@
#Azkotep (skele) dies, Garak dies, both without triggering
#death events, and Possessed Garak is created
{POSSESS_GARAK 2 "Skeleton"}
{POSSESS_GARAK 2 "Skeleton"}
[/then]
[/if]
@ -1340,7 +1333,6 @@
[/message]
{POSSESS_GARAK 3 "Soulless"}
[/then]
[/if]
[/event]
@ -1465,9 +1457,8 @@
name=revenge
value=3
[/set_variable]
{POSSESS_GARAK 3 "Soulless"}
[/else]
[/if]
[/then]
@ -1549,9 +1540,8 @@
name=revenge
value=2
[/set_variable]
{POSSESS_GARAK 2 "Skeleton"}
[/else]
[/if]
[/then]
@ -1621,88 +1611,88 @@
y=0-30
side=2,3
[filter_location]
find_in=elven_camp
terrain=Dd^Vdt
find_in=elven_camp
terrain=Dd^Vdt
[/filter_location]
[/filter]
#turn village into sand, Dd is the letter for sand
[terrain]
x=$x1
y=$y1
letter=Dd
[/terrain]
#turn village into sand, Dd is the letter for sand
[terrain]
x=$x1
y=$y1
letter=Dd
[/terrain]
#NOTE: a walking dead is created from inhabitants of the
#elvish encampment
#NOTE: a walking dead is created from inhabitants of the
#elvish encampment
{UNIT_ (Walking Corpse) () ("") $side_number $x1 $y1}
{UNIT_ (Walking Corpse) () ("") $side_number $x1 $y1}
[if]
[variable]
name=village_counter
equals=12
[/variable]
[if]
[variable]
name=village_counter
equals=12
[/variable]
[then]
[message]
description=Nym
message= _ "They're raising the corpses of our slain people! What a horrible fate!"
[/message]
[then]
[message]
description=Nym
message= _ "They're raising the corpses of our slain people! What a horrible fate!"
[/message]
[message]
description=Elyssa
message= _ "Then we shall have to give them a proper cremation."
[/message]
[/then]
[/if]
[message]
description=Elyssa
message= _ "Then we shall have to give them a proper cremation."
[/message]
[/then]
[/if]
#amount of gold enemy plunders from each encampment based of diff
#amount of gold enemy plunders from each encampment based of diff
#ifdef EASY
[gold]
amount=10
side=$side_number
[/gold]
[gold]
amount=10
side=$side_number
[/gold]
#endif
#ifdef NORMAL
[gold]
amount=20
side=$side_number
[/gold]
[gold]
amount=20
side=$side_number
[/gold]
#endif
#ifdef HARD
[gold]
amount=30
side=$side_number
[/gold]
[gold]
amount=30
side=$side_number
[/gold]
#endif
[set_variable]
name=village_counter
add=-1
[/set_variable]
[set_variable]
name=village_counter
add=-1
[/set_variable]
{CLEAR_VARIABLE locs}
{CLEAR_VARIABLE locs}
[if]
[variable]
name=village_counter
less_than=6
[/variable]
[if]
[variable]
name=village_counter
less_than=6
[/variable]
[then]
[message]
description=Kaleh
message= _ "Too many of our people have been killed. We will surely be overwhelmed by the undead now. All is lost!"
[/message]
[then]
[message]
description=Kaleh
message= _ "Too many of our people have been killed. We will surely be overwhelmed by the undead now. All is lost!"
[/message]
[endlevel]
result=defeat
[/endlevel]
[/then]
[/if]
[endlevel]
result=defeat
[/endlevel]
[/then]
[/if]
[/event]
#time over event
@ -1726,5 +1716,4 @@
{ELYSSA_DEATH}
{@campaigns/Under_the_Burning_Suns/utils/global-events.cfg}
[/scenario]

View file

@ -17,88 +17,86 @@
#!-- Undead deploy champions (one each)
#!-- Number of tents saved from destruction affects unit limit later in campaign
#!-- Character Garak is removed from campaign at this stage
#!-- There is an orc raid in second half
#!-- There is an orc raid in second half
#!-- Thereis no timeflow, scenario takes place at night
#!-- Above gives us
[scenario]
#textdomain wesnoth-utbs
id="3_Stirring_in_the_Night_alt"
name= _ "A Stirring in the Night (development branch)"
label= _ "A Stirring in the Night (development branch)"
#textdomain wesnoth-utbs
id="3_Stirring_in_the_Night_alt"
name= _ "A Stirring in the Night (development branch)"
label= _ "A Stirring in the Night (development branch)"
map_data="{campaigns/Under_the_Burning_Suns/maps/03_A_Stirring_in_the_Night.map}"
map_data="{campaigns/Under_the_Burning_Suns/maps/03_A_Stirring_in_the_Night.map}"
#!-- This appends the module files for the scenario
{campaigns/Under_the_Burning_Suns/scenarios/scen3_alt}
#!-- This appends the module files for the scenario
{campaigns/Under_the_Burning_Suns/scenarios/scen3_alt}
[music]
name=frantic.ogg
[/music]
#!-- I shouldn't allow the branches to remerge, to many things would get broken at once, but who cares, it sucks anyway ;)
[music]
name=frantic.ogg
[/music]
#!-- I shouldn't allow the branches to remerge, to many things would get broken at once, but who cares, it sucks anyway ;)
next_scenario=4_Descending_into_Darkness
#don't display snapshot of map in saved games
snapshot="no"
#there is no turn limit for this scenario
turns="-1"
victory_when_enemies_defeated=no
next_scenario=4_Descending_into_Darkness
#don't display snapshot of map in saved games
snapshot="no"
#there is no turn limit for this scenario
turns="-1"
victory_when_enemies_defeated=no
{LONGDARK4}
{LONGDARK4}
#! -- Story leading to sceanario
{STORY_CHAPTER_3} #
#! -- Setting up sides
{SIDES_SETUP}#
#! -- standart macro
{STARTING_VILLAGES 1 30}#
#! -- setting up objectives,variables and map objects
#! -- sets variables : $ambush_turn, $sneak_up, $elven_camps, $killed_by_azkotep, $killed_by_ystara, $grak_challenged, $zur_challenged
{PRESTART}#
#! -- initial dialogue, placement of champions ^ probably should be moved to prestart
{SCENARIO_START}#
#! -- at the end of the initial dialogue kaleh raises a war cry, some elves will wake up and respond
{WAR_CRY}#
#! -- count (or store) dying elves and orcs, they will make a host for possesed Garak
#! -- sets variables : $azkotep_casaulties, $ystara_casaulties
#! -- affects variables : $killed_by_ystara, $killed_by_azkotep
{ELF_CORPSE}#
#! -- count destroyed tents, each lost makes future scenarios harder
#! -- includes defeat by loss of tents
#! -- affects variables : $elven_camps
{DESTROY_TENT}#
#! -- instead with providing AI with higher lvl units on medium and hard give it highly experienced lvl1's
#! -- Story leading to sceanario
{STORY_CHAPTER_3} #
#! -- Setting up sides
{SIDES_SETUP}#
#! -- standart macro
{STARTING_VILLAGES 1 30}#
#! -- setting up objectives,variables and map objects
#! -- sets variables : $ambush_turn, $sneak_up, $elven_camps, $killed_by_azkotep, $killed_by_ystara, $grak_challenged, $zur_challenged
{PRESTART}#
#! -- initial dialogue, placement of champions ^ probably should be moved to prestart
{SCENARIO_START}#
#! -- at the end of the initial dialogue kaleh raises a war cry, some elves will wake up and respond
{WAR_CRY}#
#! -- count (or store) dying elves and orcs, they will make a host for possesed Garak
#! -- sets variables : $azkotep_casaulties, $ystara_casaulties
#! -- affects variables : $killed_by_ystara, $killed_by_azkotep
{ELF_CORPSE}#
#! -- count destroyed tents, each lost makes future scenarios harder
#! -- includes defeat by loss of tents
#! -- affects variables : $elven_camps
{DESTROY_TENT}#
#! -- instead with providing AI with higher lvl units on medium and hard give it highly experienced lvl1's
#ifdef EASY
#else
{RECRUIT_TWEAK}#
{RECRUIT_TWEAK}#
#endif
#! -- if opposing champion wasn't attacked by the player yet Garak can issue a challenge
#! -- affects variables : $grak_challenged, $zur_challenged
{CHALLENGE}#
#! -- if challenge didn't happen by turn 12 and bad guy die garak gets possesed
#! -- sets variable : $ElvishGarak, $defiant_death
#! -- depends on variables : $grak_challenged, $zur_challenged, $azkotep_casaulties[], $ystara_casaulties[], $killed_by_azkotep, $killed_by_ystara
#! -- clears variables : $azkotep_casaulties[], $ystara_casaulties[], $killed_by_azkotep, $killed_by_ystara
{POSSESION}#
#! -- somewhere around turn 8 an orc raiding party makes an entrance
#! -- affects variables : $sneak_up
#! -- depends on variables : $ambush_turn
#! -- clears variables : $ambush_turn
{ORC_PARTY}#
#! -- handles evil guys deaths and victory events, lots of dialogue
#! -- includes glorious victory
#! -- includes normal victory
#! -- sets variables : $scen3 (for compatibility with classic branch)
#! -- depends on variables : $ElvishGarak, $defiant_death, $elven_camps
#! -- clears variables : $ElvishGarak, $grak_challenged, $zur_challenged, $defiant_death, $elven_camps
{CREEP_DEATH}
#! -- if opposing champion wasn't attacked by the player yet Garak can issue a challenge
#! -- affects variables : $grak_challenged, $zur_challenged
{CHALLENGE}#
#! -- if challenge didn't happen by turn 12 and bad guy die garak gets possesed
#! -- sets variable : $ElvishGarak, $defiant_death
#! -- depends on variables : $grak_challenged, $zur_challenged, $azkotep_casaulties[], $ystara_casaulties[], $killed_by_azkotep, $killed_by_ystara
#! -- clears variables : $azkotep_casaulties[], $ystara_casaulties[], $killed_by_azkotep, $killed_by_ystara
{POSSESION}#
#! -- somewhere around turn 8 an orc raiding party makes an entrance
#! -- affects variables : $sneak_up
#! -- depends on variables : $ambush_turn
#! -- clears variables : $ambush_turn
{ORC_PARTY}#
#! -- handles evil guys deaths and victory events, lots of dialogue
#! -- includes glorious victory
#! -- includes normal victory
#! -- sets variables : $scen3 (for compatibility with classic branch)
#! -- depends on variables : $ElvishGarak, $defiant_death, $elven_camps
#! -- clears variables : $ElvishGarak, $grak_challenged, $zur_challenged, $defiant_death, $elven_camps
{CREEP_DEATH}
#! -- and the good guys die
{KALEH_DEATH}#
#! -- and the good guys die
{KALEH_DEATH}#
{FRIEND_DEATH}#
{ELYSSA_DEATH}#
{FRIEND_DEATH}#
{ELYSSA_DEATH}#
[/scenario]

View file

@ -262,7 +262,7 @@
[/ai]
[/side]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# set starting scenario objectives
@ -1117,7 +1117,7 @@
y=$ring_y
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -1303,7 +1303,7 @@
y=16
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]

View file

@ -414,7 +414,7 @@
[/part]
[/story]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# set starting scenario objectives
@ -1346,7 +1346,7 @@
[/remove_shroud]
#dwarf/troll/elf dialogue
{CHECK_EXPLORER}
[message]
description=$explorer.description
@ -4277,7 +4277,7 @@
message= _ "Oh no, we took too long and enemy reinforcements have arrived. We'll surely be overwhelmed now!"
[/message]
[/event]
{@campaigns/Under_the_Burning_Suns/utils/kaleh-abilities.cfg}
{@campaigns/Under_the_Burning_Suns/utils/deaths.cfg}
{KALEH_DEATH}

View file

@ -179,7 +179,7 @@
[/part]
[/story]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# set starting scenario objectives
@ -509,18 +509,18 @@
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_LOYAL}
[object]
id=t3
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[object]
id=t3
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
@ -535,18 +535,18 @@
[modifications]
{TRAIT_RESILIENT}
{TRAIT_LOYAL}
[object]
id=t4
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[object]
id=t4
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
@ -1075,11 +1075,11 @@
[/set_variable]
[/then]
[/if]
{VARIABLE temp $heat_damage}
{VARIABLE_OP temp multiply -1}
{VARIABLE_OP lava_damage add $temp}
{CLEAR_VARIABLE temp}
{VARIABLE temp $heat_damage}
{VARIABLE_OP temp multiply -1}
{VARIABLE_OP lava_damage add $temp}
{CLEAR_VARIABLE temp}
[set_variable]
name=unitstats.hitpoints
@ -1152,9 +1152,9 @@
y=11-27
[filter]
side=1,3,4
[not]
description=Guardian Phoenix,Dust Devil
[/not]
[not]
description=Guardian Phoenix,Dust Devil
[/not]
[/filter]
variable=locs
[/store_locations]
@ -1847,18 +1847,18 @@
[modifications]
{TRAIT_INTELLIGENT}
{TRAIT_LOYAL}
[object]
id=t2
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[object]
id=t2
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
@ -1893,18 +1893,18 @@
[modifications]
{TRAIT_RESILIENT}
{TRAIT_LOYAL}
[object]
id=t1
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[object]
id=t1
silent=yes
[effect]
apply_to=movement_costs
replace=yes
[movement_costs]
cave=99
grassland=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
@ -2237,7 +2237,7 @@
y=17-21
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2298,7 +2298,7 @@
y=12-13
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2368,7 +2368,7 @@
y=20-25
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2391,7 +2391,7 @@
y=26
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2412,7 +2412,7 @@
y=28
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]

View file

@ -255,7 +255,7 @@
[/part]
[/story]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# set starting scenario objectives
@ -527,19 +527,19 @@
[modifications]
{TRAIT_STRONG}
{TRAIT_RESILIENT}
[object]
id=o1
silent=yes
[effect]
apply_to=movement_costs
replace=true
[movement_costs]
cave=99
grass=99
shallow_water=99
[/movement_costs]
[/effect]
[/object]
[object]
id=o1
silent=yes
[effect]
apply_to=movement_costs
replace=true
[movement_costs]
cave=99
grass=99
shallow_water=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
@ -554,19 +554,19 @@
[modifications]
{TRAIT_STRONG}
{TRAIT_RESILIENT}
[object]
id=o2
silent=yes
[effect]
apply_to=movement_costs
replace=true
[movement_costs]
cave=99
grass=99
shallow_water=99
[/movement_costs]
[/effect]
[/object]
[object]
id=o2
silent=yes
[effect]
apply_to=movement_costs
replace=true
[movement_costs]
cave=99
grass=99
shallow_water=99
[/movement_costs]
[/effect]
[/object]
[/modifications]
[/unit]
[/event]
@ -1590,7 +1590,7 @@
y=17
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2148,7 +2148,7 @@
x,y=45,21
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2268,7 +2268,7 @@
y=24
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]

View file

@ -763,7 +763,7 @@
description=Elyssa
[/not]
[not]
type=Dust Devil
type=Dust Devil
[/not]
side=1
[/filter]
@ -793,7 +793,7 @@
range=melee
set_type=fire
[set_specials]
{WEAPON_SPECIAL_MAGICAL}
{WEAPON_SPECIAL_MAGICAL}
[/set_specials]
[/effect]
[/object]
@ -832,7 +832,7 @@
[/option]
[/message]
[/event]
{@campaigns/Under_the_Burning_Suns/utils/kaleh-abilities.cfg}
{@campaigns/Under_the_Burning_Suns/utils/global-events.cfg}
[/scenario]

View file

@ -762,7 +762,7 @@
description=Elyssa
[/not]
[not]
type=Dust Devil
type=Dust Devil
[/not]
side=1
[/filter]
@ -828,7 +828,7 @@
[/option]
[/message]
[/event]
{@campaigns/Under_the_Burning_Suns/utils/kaleh-abilities.cfg}
{@campaigns/Under_the_Burning_Suns/utils/global-events.cfg}
[/scenario]

View file

@ -337,7 +337,7 @@
[/part]
[/story]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# insert items onto map
@ -1240,7 +1240,7 @@
y=45-53
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -1414,7 +1414,7 @@
y=43-48
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -1906,7 +1906,7 @@
y=49
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -1972,7 +1972,7 @@
y=50
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2052,7 +2052,7 @@
y=45-47,48
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2160,7 +2160,7 @@
y=41-45
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2240,7 +2240,7 @@
y=44
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2328,7 +2328,7 @@
y=43
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2471,7 +2471,7 @@
y=40-44
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2571,7 +2571,7 @@
x,y=8-14,40-45
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
message= _ "Wait a minute, I don't see any targets or practice dummies. Who are they supposed to be attacking?"
[/message]
@ -2885,7 +2885,7 @@
y=36-40
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2952,7 +2952,7 @@
y=36
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -2996,7 +2996,7 @@
y=27-34
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -3110,7 +3110,7 @@
y=28-30
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -3212,10 +3212,10 @@
y=32-37
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/filter]
@ -3337,10 +3337,10 @@
y=32-34
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/filter]
@ -3504,20 +3504,20 @@
y=19-24
side=1
[/remove_shroud]
[store_locations]
variable=cloaked
x=$x1
y=$y1
radius=1
[not]
terrain=Xu
[/not]
[not]
[filter]
side=1
[/filter]
[/not]
variable=cloaked
x=$x1
y=$y1
radius=1
[not]
terrain=Xu
[/not]
[not]
[filter]
side=1
[/filter]
[/not]
[/store_locations]
[unit]
@ -3628,10 +3628,10 @@
y=1-18
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/filter]
@ -3762,10 +3762,10 @@
# there, if the hex is empty teleport Kaleh there
[store_locations]
[filter_adjacent_location]
x={X_LOC}
y={Y_LOC}
[/filter_adjacent_location]
[filter_adjacent_location]
x={X_LOC}
y={Y_LOC}
[/filter_adjacent_location]
terrain=Uu, Re, Uu^Vu, Cud, Ke, Uh, Uu^Uf
[not]
[filter]
@ -4230,10 +4230,10 @@
x,y=17,21
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/filter]
@ -4285,7 +4285,7 @@
y=19-31
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[/filter]
@ -5973,10 +5973,10 @@
y=1-33
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/have_unit]
@ -5996,10 +5996,10 @@
y=1-33
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
message= _ "Look, the water is pouring out the side tunnel into the valley! That's a lot of water: it's even creating a small river. I sure wouldn't want to be downstream of that deluge right now."
[/message]
@ -6012,10 +6012,10 @@
y=18-33
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/have_unit]
@ -6035,10 +6035,10 @@
y=18-33
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
message= _ "Look, the water is pouring out the side tunnel into the valley! That's a lot of water: it's even creating a small river. I sure wouldn't want to be downstream of that deluge right now."
[/message]
@ -6061,10 +6061,10 @@
y=1-33
side=1
[not]
type=Dust Devil
type=Dust Devil
[/not]
[not]
type=Flesh Golem
type=Flesh Golem
[/not]
[/filter]

View file

@ -345,8 +345,8 @@
story= _ "Which brings me to the other alien concept I was trying to figure out: our goddess Eloh. What was her plan? Why did she want me to surrender to the humans? Do the humans worship her as well? The humans seem so brutish and vile, that I can't imagine them worshipping the same god. I thought Eloh was just our god, I don't remember Zhul mentioning any other races worshipping her after the Great Fall, though perhaps things have changed. Her commands don't make any sense; she doesn't seem at all like the goddess Zhul told me about. And what was Esanoo talking about? How did his master know about 'Yechnagoth' and 'Yanqui'? If Eloh won't help me, then I really need some answers. I pray to whatever gods may be left that I'm not leading my people into a trap..."
[/part]
[/story]
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
{@campaigns/Under_the_Burning_Suns/utils/dialog-macros.cfg}
# Prestart functions:
# increase cost of all units by 1
@ -796,15 +796,15 @@
description=Esanoo
message= _ "What? Huh?"
[/message]
[scroll_to]
x=46
y=39
x=46
y=39
[/scroll_to]
{RANDOM_TRAIT_UNIT 2 "Spearman" 45 42 "Human Scout" ( _ "Human Scout") ()}
{RANDOM_TRAIT_UNIT 2 "Javelineer" 47 42 "Human Scout" ( _ "Human Scout") ()}
[redraw]
[/redraw]
@ -3147,9 +3147,9 @@
y=26-30
side=1
[/filter]
{RANDOM_PLACEMENT_AREA 50 28 3}
{PLACE_UNITS_RANDOMLY 3 7 "Crab Man" "Angry Crab" ( _ "Angry Crab") ()}
{CLEAR_PLACEMENT_AREA}
@ -3173,9 +3173,9 @@
y=21-26
side=1
[/filter]
{RANDOM_PLACEMENT_AREA 41 23 3}
{PLACE_UNITS_RANDOMLY 3 7 "Crab Man" "Angry Crab" ( _ "Angry Crab") ()}
{CLEAR_PLACEMENT_AREA}
@ -3903,17 +3903,17 @@
[/if]
[store_unit]
variable=zhul_statue
kill=yes
[filter]
description=Zhul_statue
[/filter]
variable=zhul_statue
kill=yes
[filter]
description=Zhul_statue
[/filter]
[/store_unit]
{VARIABLE zhul_statue.status.stoned "off"}
{VARIABLE zhul_statue.description "Zhul"}
{VARIABLE zhul_statue.user_description _"Zhul"}
[unstore_unit]
variable=zhul_statue
variable=zhul_statue
[/unstore_unit]
[message]
@ -4065,7 +4065,6 @@
[/if]
[/event]
# Event 10: time over event
[event]

View file

@ -14,7 +14,7 @@
[/music]
next_scenario=11_Battle_for_Zocthanol_Isle
#no turn limit for this cutscene
turns="-1"

View file

@ -4,379 +4,379 @@
#! -- Perform the challenge, set the death events where required
#! -- internal variables : $garak_duel, $garak_x, $garak_y, $challenged
#define CHALLENGE
[event]
name=turn 2
[message]
speaker=Garak
message=_"These champions... I will challenge them. Zhul, bless my weapons with light of Eloh."
[/message]
[message]
speaker=Zhul
message=_"Garak, but the suns..."
[/message]
[message]
speaker=Kaleh
message=_"You will not do any such thing, anyone trying to fight these creeps singlehanded will surely die. We need you, we will not make it without you."
[/message]
[message]
speaker=Garak
message=_"I had dreams this night Kaleh, full of gloom and darkness, my journey will end here one way or another."
[/message]
[message]
speaker=Kaleh
message=_"No! That's not true, our future is what we make of it, stay behind for this fight and... "
[/message]
[message]
speaker=Garak
message=_"And what? You'll help me become a coward? I lived long, I'm not afraid of the end, just let me give it some meaning."
[/message]
[message]
speaker=Zhul
message=_"I bless you champion with the light that will come, I bless you with the memory and the promise. Break your bow champion, and let your sword shine in the dark."
[/message]
[object]
id=Garak_vow
silent=yes
[filter]
description=Garak
[/filter]
[effect]
apply_to=remove_attacks
range=ranged
[/effect]
[effect]
apply_to=new_ability
[abilities]
{ABILITY_STEADFAST}
[/abilities]
[/effect]
[effect]
#textdomain wesnoth
apply_to=attack
range=melee
[set_specials]
[berserk]
id=berserk
name= _ "berserk"
description= _ "Berserk:
[event]
name=turn 2
[message]
speaker=Garak
message=_"These champions... I will challenge them. Zhul, bless my weapons with light of Eloh."
[/message]
[message]
speaker=Zhul
message=_"Garak, but the suns..."
[/message]
[message]
speaker=Kaleh
message=_"You will not do any such thing, anyone trying to fight these creeps singlehanded will surely die. We need you, we will not make it without you."
[/message]
[message]
speaker=Garak
message=_"I had dreams this night Kaleh, full of gloom and darkness, my journey will end here one way or another."
[/message]
[message]
speaker=Kaleh
message=_"No! That's not true, our future is what we make of it, stay behind for this fight and... "
[/message]
[message]
speaker=Garak
message=_"And what? You'll help me become a coward? I lived long, I'm not afraid of the end, just let me give it some meaning."
[/message]
[message]
speaker=Zhul
message=_"I bless you champion with the light that will come, I bless you with the memory and the promise. Break your bow champion, and let your sword shine in the dark."
[/message]
[object]
id=Garak_vow
silent=yes
[filter]
description=Garak
[/filter]
[effect]
apply_to=remove_attacks
range=ranged
[/effect]
[effect]
apply_to=new_ability
[abilities]
{ABILITY_STEADFAST}
[/abilities]
[/effect]
[effect]
#textdomain wesnoth
apply_to=attack
range=melee
[set_specials]
[berserk]
id=berserk
name= _ "berserk"
description= _ "Berserk:
Whether used offensively or defensively, this attack presses the engagement until one of the combatants is slain, or 30 rounds of attacks have occurred."
value=30
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/berserk]
#ifdef HARD
#else
[chance_to_hit]
id=magical
name= _ "magical"
description= _ "Magical:
value=30
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/berserk]
#ifdef HARD
#else
[chance_to_hit]
id=magical
name= _ "magical"
description= _ "Magical:
This attack always has a 70% chance to hit regardless of the defensive ability of the unit being attacked."
value=70
cumulative=no
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/chance_to_hit]
[firststrike]
id=firststrike
name= _ "firststrike"
description= _ "First Strike:
value=70
cumulative=no
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/chance_to_hit]
[firststrike]
id=firststrike
name= _ "firststrike"
description= _ "First Strike:
This unit always strikes first with this attack, even if they are defending."
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/firststrike]
#endif
mode=append
[/set_specials]
[/effect]
#textdomain wesnoth-utbs
[effect]
apply_to=attack
range=melee
set_type=fire
[/effect]
[/object]
[/event]
[filter_opponent]
description=Zur
[or]
description=Grak
[/or]
[/filter_opponent]
[/firststrike]
#endif
mode=append
[/set_specials]
[/effect]
#textdomain wesnoth-utbs
[effect]
apply_to=attack
range=melee
set_type=fire
[/effect]
[/object]
[/event]
[event]
name=attack
first_time_only=no
[filter]
description=Garak
[or]
description=Grak
[/or]
[or]
description=Zur
[/or]
[/filter]
[filter_second]
description=Garak
[or]
description=Grak
[/or]
[or]
description=Zur
[/or]
[/filter_second]
[if]
[and]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[or]
[variable]
name=second_unit.description
equals=Zur
[/variable]
[/or]
[/and]
[and]
[variable]
name=unit.description
equals=Garak
[/variable]
[/and]
[then]
{VARIABLE challenged $second_unit.description}
[if]
[variable]
name=challenged
equals=Grak
[/variable]
[then]
[message]
description=Garak
message=_"You there! Creep! Stand an face me shade! I challenge you!"
[/message]
[if]
[variable]
name=zur_challenged
equals=0
[/variable]
[then]
[message]
description=Grak
message=_"Foolish mortal... For crossing my path I'll devour your soul and torment it for all eternity..."
[/message]
[/then]
[else]
[message]
description=Grak
message=_"So you destroyed Zur... Come mortal, lets cross our blades... It's time for you to take his place..."
[/message]
[/else]
[/if]
[/then]
[else]
[message]
description=Garak
message=_"You there! Pile of bones! I challenge you, stand and face me!"
[/message]
[if]
[variable]
name=grak_challenged
equals=0
[/variable]
[then]
[message]
description=Zur
message=_"Puny elf... Time to die..."
[/message]
[/then]
[else]
[message]
description=Zur
message=_"Grak was weak... But still you deserve respect... Meet my axe and take his place..."
[/message]
[/else]
[/if]
[/else]
[/if]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
description=Zur
[or]
description=Grak
[/or]
[/filter_second]
[message]
description=$challenged
message=_"And so it ends... Your champion is dead elves... Come join him..."
[/message]
[/event]
[event]
name=die
[filter]
description=$challenged
[/filter]
[if]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[then]
{VARIABLE grak_challenged 1}
[/then]
[else]
{VARIABLE zur_challenged 1}
[/else]
[/if]
{CLEAR_VARIABLE challenged}
[/event]
[/then]
[/if]
[if]
[and]
[variable]
name=unit.description
equals=Grak
[/variable]
[or]
[variable]
name=unit.description
equals=Zur
[/variable]
[/or]
[/and]
[and]
[variable]
name=second_unit.description
equals=Garak
[/variable]
[/and]
[then]
{VARIABLE challenged $unit.description}
[if]
[variable]
name=challenged
equals=Grak
[/variable]
[then]
[message]
description=Garak
message=_"You there! Creep! Stand an face me shade! I challenge you!"
[/message]
[if]
[variable]
name=zur_challenged
equals=0
[/variable]
[then]
[message]
description=Grak
message=_"Foolish mortal... For crossing my path I'll devour your soul and torment it for all eternity..."
[/message]
[/then]
[else]
[message]
description=Grak
message=_"So you destroyed Zur... Come mortal, lets cross our blades... It's time for you to take his place..."
[/message]
[/else]
[/if]
[/then]
[else]
[message]
description=Garak
message=_"You there! Pile of bones! I challenge you, stand and face me!"
[/message]
[if]
[variable]
name=grak_challenged
equals=0
[/variable]
[then]
[message]
description=Zur
message=_"Puny elf... Time to die..."
[/message]
[/then]
[else]
[message]
description=Zur
message=_"Grak was weak... But still you deserve respect... Meet my axe and take his place..."
[/message]
[/else]
[/if]
[/else]
[/if]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
description=Zur
[or]
description=Grak
[/or]
[/filter_second]
[message]
description=$challenged
message=_"And so it ends... Your champion is dead elves... Come join him..."
[/message]
[/event]
[event]
name=die
[filter]
description=$challenged
[/filter]
[if]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[then]
{VARIABLE grak_challenged 1}
[/then]
[else]
{VARIABLE zur_challenged 1}
[/else]
[/if]
{CLEAR_VARIABLE challenged}
[/event]
[/then]
[/if]
[/event]
[event]
name=attack
first_time_only=no
[filter]
description=Garak
[or]
description=Grak
[/or]
[or]
description=Zur
[/or]
[/filter]
[filter_second]
description=Garak
[or]
description=Grak
[/or]
[or]
description=Zur
[/or]
[/filter_second]
[if]
[and]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[or]
[variable]
name=second_unit.description
equals=Zur
[/variable]
[/or]
[/and]
[and]
[variable]
name=unit.description
equals=Garak
[/variable]
[/and]
[then]
{VARIABLE challenged $second_unit.description}
[if]
[variable]
name=challenged
equals=Grak
[/variable]
[then]
[message]
description=Garak
message=_"You there! Creep! Stand an face me shade! I challenge you!"
[/message]
[if]
[variable]
name=zur_challenged
equals=0
[/variable]
[then]
[message]
description=Grak
message=_"Foolish mortal... For crossing my path I'll devour your soul and torment it for all eternity..."
[/message]
[/then]
[else]
[message]
description=Grak
message=_"So you destroyed Zur... Come mortal, lets cross our blades... It's time for you to take his place..."
[/message]
[/else]
[/if]
[/then]
[else]
[message]
description=Garak
message=_"You there! Pile of bones! I challenge you, stand and face me!"
[/message]
[if]
[variable]
name=grak_challenged
equals=0
[/variable]
[then]
[message]
description=Zur
message=_"Puny elf... Time to die..."
[/message]
[/then]
[else]
[message]
description=Zur
message=_"Grak was weak... But still you deserve respect... Meet my axe and take his place..."
[/message]
[/else]
[/if]
[/else]
[/if]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
description=Zur
[or]
description=Grak
[/or]
[/filter_second]
[message]
description=$challenged
message=_"And so it ends... Your champion is dead elves... Come join him..."
[/message]
[/event]
[event]
name=die
[filter]
description=$challenged
[/filter]
[if]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[then]
{VARIABLE grak_challenged 1}
[/then]
[else]
{VARIABLE zur_challenged 1}
[/else]
[/if]
{CLEAR_VARIABLE challenged}
[/event]
[/then]
[/if]
[if]
[and]
[variable]
name=unit.description
equals=Grak
[/variable]
[or]
[variable]
name=unit.description
equals=Zur
[/variable]
[/or]
[/and]
[and]
[variable]
name=second_unit.description
equals=Garak
[/variable]
[/and]
[then]
{VARIABLE challenged $unit.description}
[if]
[variable]
name=challenged
equals=Grak
[/variable]
[then]
[message]
description=Garak
message=_"You there! Creep! Stand an face me shade! I challenge you!"
[/message]
[if]
[variable]
name=zur_challenged
equals=0
[/variable]
[then]
[message]
description=Grak
message=_"Foolish mortal... For crossing my path I'll devour your soul and torment it for all eternity..."
[/message]
[/then]
[else]
[message]
description=Grak
message=_"So you destroyed Zur... Come mortal, lets cross our blades... It's time for you to take his place..."
[/message]
[/else]
[/if]
[/then]
[else]
[message]
description=Garak
message=_"You there! Pile of bones! I challenge you, stand and face me!"
[/message]
[if]
[variable]
name=grak_challenged
equals=0
[/variable]
[then]
[message]
description=Zur
message=_"Puny elf... Time to die..."
[/message]
[/then]
[else]
[message]
description=Zur
message=_"Grak was weak... But still you deserve respect... Meet my axe and take his place..."
[/message]
[/else]
[/if]
[/else]
[/if]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
description=Zur
[or]
description=Grak
[/or]
[/filter_second]
[message]
description=$challenged
message=_"And so it ends... Your champion is dead elves... Come join him..."
[/message]
[/event]
[event]
name=die
[filter]
description=$challenged
[/filter]
[if]
[variable]
name=second_unit.description
equals=Grak
[/variable]
[then]
{VARIABLE grak_challenged 1}
[/then]
[else]
{VARIABLE zur_challenged 1}
[/else]
[/if]
{CLEAR_VARIABLE challenged}
[/event]
[/then]
[/if]
[/event]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
[not]
description=Grak
[/not]
[not]
description=Zur
[/not]
[/filter_second]
[message]
description=Kaleh
message=_"Where is Garak? Has anybody seen him?"
[/message]
[message]
description=Zhul
message=_"I've seen him jumping into deep darknes awhile ago pursuing agroup of enemies. Let's hope nothing happened to him."
[/message]
[/event]
[event]
name=die
[filter]
description=Garak
[/filter]
[filter_second]
[not]
description=Grak
[/not]
[not]
description=Zur
[/not]
[/filter_second]
[message]
description=Kaleh
message=_"Where is Garak? Has anybody seen him?"
[/message]
[message]
description=Zhul
message=_"I've seen him jumping into deep darknes awhile ago pursuing agroup of enemies. Let's hope nothing happened to him."
[/message]
[/event]
#enddef

Some files were not shown because too many files have changed in this diff Show more