The Morning After: All tent villages can now yield elves.
Added a few more elves to outlying villages. Cleaned up all remaining event issues (stables encounter). Across the Harsh Sands: cleaned up comments, removed Dust Devil's dance (as it's not working yet). Added myself as campaign maintainer in the credits (ahem). Fixed an issue with the death events (allied deaths triggered on mud crawler demise).
This commit is contained in:
parent
a8a0a0c775
commit
5137b24ed9
5 changed files with 388 additions and 394 deletions
|
@ -35,6 +35,12 @@ FEEDBACK IN FORUMS WILL BE GREATLY APPRECIATED."
|
|||
name = "Asa Swain"
|
||||
[/entry]
|
||||
[/about]
|
||||
[about]
|
||||
title= _ "Campaign Maintenance"
|
||||
[entry]
|
||||
name = "Jan Rietema (Rhuvaen)"
|
||||
[/entry]
|
||||
[/about]
|
||||
[about]
|
||||
title= _ "Artwork and Graphics Design"
|
||||
[entry]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
#Scenario 1: The Morning After
|
||||
# Scenario 1: The Morning After
|
||||
|
||||
[scenario]
|
||||
#textdomain wesnoth-utbs
|
||||
|
@ -12,7 +12,7 @@
|
|||
|
||||
next_scenario=2_HarshSands
|
||||
|
||||
#don't display snapshot of map in saved games
|
||||
# don't display snapshot of map in saved games
|
||||
snapshot="no"
|
||||
|
||||
{TURNS 34 32 30}
|
||||
|
@ -57,7 +57,6 @@
|
|||
[/part]
|
||||
[/story]
|
||||
|
||||
#Elves
|
||||
[side]
|
||||
side=1
|
||||
description=Kaleh
|
||||
|
@ -75,7 +74,7 @@
|
|||
shroud=yes
|
||||
fog=no
|
||||
|
||||
#Start with Kaleh and Nym
|
||||
# Start with Kaleh and Nym
|
||||
|
||||
[unit]
|
||||
type=Nym Hunter
|
||||
|
@ -93,7 +92,7 @@
|
|||
[/unit]
|
||||
[/side]
|
||||
|
||||
#Monster side, mostly mudcrawlers
|
||||
# Monster side, mostly mudcrawlers
|
||||
[side]
|
||||
no_leader=yes
|
||||
side=2
|
||||
|
@ -101,15 +100,15 @@
|
|||
shroud=no
|
||||
fog=no
|
||||
team_name=evil
|
||||
|
||||
#Monsters are very aggressive
|
||||
[ai]
|
||||
aggression=1.0
|
||||
caution=0.0
|
||||
# weak ai
|
||||
{ATTACK_DEPTH 1 2 3}
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
#Undead side, doesn't start with a leader
|
||||
# Undead side, doesn't start with a leader
|
||||
[side]
|
||||
no_leader=yes
|
||||
side=3
|
||||
|
@ -131,7 +130,6 @@
|
|||
#endif
|
||||
|
||||
[ai]
|
||||
#!***This is used to force ai to recruit something else than bats and ghosts***
|
||||
recruitment_ignore_bad_movement=yes
|
||||
|
||||
#ifdef HARD
|
||||
|
@ -142,13 +140,19 @@
|
|||
|
||||
aggression=0.80
|
||||
caution=0.10
|
||||
|
||||
# AI will attack a weak unit with a max of 4,5,6 units
|
||||
# depending on the difficulty (default=5)
|
||||
{ATTACK_DEPTH 4 5 6}
|
||||
{ATTACK_DEPTH 2 3 4}
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
|
||||
# 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}
|
||||
#enddef
|
||||
|
||||
# prestart events:
|
||||
# set starting scenario objectives
|
||||
# teleport starting characters
|
||||
|
@ -171,20 +175,35 @@
|
|||
[/objective]
|
||||
[/objectives]
|
||||
|
||||
#There are 3 mudcrawler encounter spots, in the NW and SW corner and in the barracks.
|
||||
#Depending on which way you circle around the village, you will
|
||||
#encounter the NW or barracks first.
|
||||
# There are 3 mudcrawler encounter spots, in the NW and SW corner and in the barracks.
|
||||
# Depending on which way you circle around the village, you will
|
||||
# encounter the NW or barracks first.
|
||||
|
||||
#At start seen a mudcrawler is false
|
||||
# At start seen a mudcrawler is false
|
||||
{VARIABLE seen_mudcrawler 0}
|
||||
|
||||
# Grasslands dialogue has happened
|
||||
{VARIABLE grasslands_dialogue 0}
|
||||
|
||||
#!***Scraped $mudcrawlers_killed -> can be done by have_unit check***
|
||||
|
||||
#Can't end scenario until all elves have been rescued and counter=5
|
||||
# Can't end scenario until all elves have been rescued and counter=5
|
||||
{VARIABLE rescued_elves 0}
|
||||
|
||||
# Elves in outlying villages - preset array index
|
||||
{VARIABLE abandoned_villages 0}
|
||||
{VARIABLE village_events 0}
|
||||
|
||||
# possible village encounters
|
||||
{VILLAGE_EVENT "Desert Scout" "Lrea"}
|
||||
{VILLAGE_EVENT "Desert Archer" "Danu"}
|
||||
{VILLAGE_EVENT "Desert Hunter" "Hamuil"}
|
||||
{VILLAGE_EVENT "Desert Scout" "Vemuil"}
|
||||
{VILLAGE_EVENT "Desert Archer" "Frea"}
|
||||
{VILLAGE_EVENT "Desert Fighter" "Piyru"}
|
||||
{VILLAGE_EVENT "Desert Hunter" "Anioh"}
|
||||
{VILLAGE_EVENT "Desert Scout" "Taliu"}
|
||||
[/event]
|
||||
|
||||
#Dialogue at start of scenario
|
||||
# Dialogue at start of scenario
|
||||
[event]
|
||||
name=start
|
||||
|
||||
|
@ -260,12 +279,120 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
#!*** Following two events use the same code with only speaking unit change, lets extract it to a macro***
|
||||
#!*** Or two to be exact, this way it will be useful in barracks encounter***
|
||||
|
||||
# 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
|
||||
[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]
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=vill.length
|
||||
less_than=1
|
||||
[/variable]
|
||||
[then]
|
||||
[if]
|
||||
[variable]
|
||||
name=unit.side
|
||||
numerical_equals=1
|
||||
[/variable]
|
||||
|
||||
[then]
|
||||
{RANDOM 1..10}
|
||||
|
||||
[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}
|
||||
|
||||
{VARIABLE unit_type $villager[$random].type}
|
||||
{VARIABLE unit_name $villager[$random].name}
|
||||
|
||||
{CREATE_UNIT 1 $unit_type $x1 $y1 $unit_name (user_description=_"$unit_name"
|
||||
moves=0)}
|
||||
|
||||
{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]
|
||||
|
||||
[/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]
|
||||
[/if]
|
||||
[/then]
|
||||
[else]
|
||||
[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]
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE vill}
|
||||
[/event]
|
||||
|
||||
#define MUDCRAWLER_TALK SPEAKER
|
||||
#Hasn't completed #1 encounter, do it now
|
||||
#!***If (hasn't seen mudcrawler) then (perform what-the-hell-is-that routine)***
|
||||
# Hasn't completed #1 encounter, do it now
|
||||
# If (hasn't seen mudcrawler) then (perform what-the-hell-is-that routine)
|
||||
|
||||
{VARIABLE seen_mudcrawler 1}
|
||||
|
||||
|
@ -289,8 +416,8 @@
|
|||
|
||||
#define MUDCRAWLER_WARCRY
|
||||
|
||||
#Has completed encounter #1 in SW corner, do #2 encounter
|
||||
#!***else (Seen mudcrawler, do let's-kick-their-ass performance)***
|
||||
# Has completed encounter #1 in SW corner, do #2 encounter
|
||||
# else (Seen mudcrawler, do let's-kick-their-ass performance)
|
||||
[message]
|
||||
description=Kaleh
|
||||
message= _ "There are more of our people fighting the mud monsters!"
|
||||
|
@ -333,13 +460,10 @@
|
|||
{ADD rescued_elves 1}
|
||||
|
||||
{CREATE_UNIT 1 "Desert Fighter" 24 25 "Vecnu" (user_description=_"Vecnu"
|
||||
random_traits="yes"
|
||||
description="Vecnu")}
|
||||
{CREATE_UNIT 1 "Desert Archer" 24 27 "Eranor" (user_description=_"Eranor"
|
||||
random_traits="yes")}
|
||||
description="Vecnu")}
|
||||
{CREATE_UNIT 1 "Desert Archer" 24 27 "Eranor" (user_description=_"Eranor")}
|
||||
{CREATE_UNIT 1 "Desert Archer" 21 25 "Seela" (user_description=_"Seela"
|
||||
gender="female"
|
||||
random_traits="yes")}
|
||||
gender="female")}
|
||||
|
||||
{CREATE_UNIT 2 "Giant Mudcrawler" 20 24 "" ()}
|
||||
|
||||
|
@ -379,13 +503,10 @@
|
|||
[/set_variable]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Hunter" 24 34 "Eloshi" (user_description=_"Eloshi"
|
||||
random_traits="yes"
|
||||
description="Eloshi")}
|
||||
{CREATE_UNIT 1 "Desert Archer" 19 33 "Illuvia" (user_description=_"Illuvia"
|
||||
random_traits="yes"
|
||||
gender="female")}
|
||||
{CREATE_UNIT 1 "Desert Hunter" 21 35 "Raynor" (user_description=_"Raynor"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Hunter" 21 35 "Raynor" (user_description=_"Raynor")}
|
||||
|
||||
{CREATE_UNIT 2 "Giant Mudcrawler" 25 34 "" ()}
|
||||
{CREATE_UNIT 2 "Small Mudcrawler" 21 36 "" ()}
|
||||
|
@ -405,10 +526,10 @@
|
|||
{MUDCRAWLER_ROUTINE Eloshi}
|
||||
[/event]
|
||||
|
||||
#Training ground encounter
|
||||
#Easy: 2 giant mudcrawler, 3 small mudcrawlers
|
||||
#Medium: 3 giant mudcrawlers, 2 small mudcrawlers
|
||||
#Hard: 4 giant mudcrawlers, 1 small mudcrawlers
|
||||
# Training ground encounter
|
||||
# Easy: 2 giant mudcrawler, 3 small mudcrawlers
|
||||
# Medium: 3 giant mudcrawlers, 2 small mudcrawlers
|
||||
# Hard: 4 giant mudcrawlers, 1 small mudcrawlers
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
|
@ -456,7 +577,7 @@
|
|||
[object]
|
||||
id=Garak_mod
|
||||
[effect]
|
||||
#!***The unit type restriction does not work, given the bonus for life***
|
||||
# !***The unit type restriction does not work, given the bonus for life***
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_damage=1
|
||||
|
@ -467,11 +588,9 @@
|
|||
{IS_HERO}
|
||||
[/unit]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Fighter" 36 33 "Jorazan" (user_description=_"Jorazan"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 36 33 "Jorazan" (user_description=_"Jorazan")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 35 35 "Zyara" (user_description=_"Zyara"
|
||||
random_traits="yes"
|
||||
gender="female")}
|
||||
gender="female")}
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
|
@ -493,7 +612,7 @@
|
|||
[/else]
|
||||
[/if]
|
||||
|
||||
#Garak's speech when they kill the Giant Mudcrawler
|
||||
# Garak's speech when they kill the Giant Mudcrawler
|
||||
|
||||
[event]
|
||||
name=die
|
||||
|
@ -523,7 +642,7 @@
|
|||
[/event]
|
||||
[/event]
|
||||
|
||||
#Approaching bridge dialogue
|
||||
# Approaching bridge dialogue
|
||||
[event]
|
||||
name=moveto
|
||||
|
||||
|
@ -550,7 +669,7 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
#Finding druids
|
||||
# Finding druids
|
||||
[event]
|
||||
name=moveto
|
||||
|
||||
|
@ -590,10 +709,8 @@
|
|||
{IS_HERO}
|
||||
[/unit]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Shaman" 30 27 "Ryoko" (user_description=_"Ryoko"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Shaman" 32 27 "Yuni" (user_description=_"Yuni"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Shaman" 30 27 "Ryoko" (user_description=_"Ryoko")}
|
||||
{CREATE_UNIT 1 "Desert Shaman" 32 27 "Yuni" (user_description=_"Yuni")}
|
||||
|
||||
[message]
|
||||
speaker=Zhul
|
||||
|
@ -634,23 +751,20 @@
|
|||
decription="Deep One"
|
||||
user_description=_"Deep One"
|
||||
unit_description= _ "The Deep Ones are gigantic aquatic monsters that lurk in the dark places of the world. Rarely do they come to the surface, and when they do the best way to survive an encounter with these monsters is to remain ashore. They can grab their opponents with strong tentacles, or spit a poisonous black ink from a distance."
|
||||
#!***Scraped Deep One custom unit -> a wimpy clone of Cuttle Fish***
|
||||
# !***Scraped Deep One custom unit -> a wimpy clone of Cuttle Fish***
|
||||
[modifications]
|
||||
[trait]
|
||||
id=Deep_one
|
||||
[effect]
|
||||
#!***Lowered number of attacks***
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_attacks=-4
|
||||
[/effect]
|
||||
[effect]
|
||||
#!***Lowered hp***
|
||||
apply_to=hitpoints
|
||||
increase_total=-27
|
||||
[/effect]
|
||||
[effect]
|
||||
#!***Lowered? shallow water def***
|
||||
apply_to=defense
|
||||
replace=yes
|
||||
[defense]
|
||||
|
@ -686,10 +800,9 @@
|
|||
[/event]
|
||||
[/event]
|
||||
|
||||
#Grasslands dialogue, when Kaleh and Nym approach the eastern fields
|
||||
|
||||
#!***Macro scrapped -> due to translation issues, thanks to Vladimir for pointing that one out***
|
||||
#!***Macro scrapped -> due to translation issues, thanks to Vladimir for pointing that one out***
|
||||
# Grasslands dialogue, when Kaleh and Nym approach the eastern fields
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
|
@ -699,161 +812,142 @@
|
|||
[/filter]
|
||||
|
||||
{ADD rescued_elves 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]
|
||||
|
||||
#Stables Encounters
|
||||
#These happen when the player moves to the two village hexes.
|
||||
#Depending on the order, the long dialogue happens at the first stable
|
||||
#they encounter, and then a short dialogue happens at the second.
|
||||
[/event]
|
||||
|
||||
#First stables encounter
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
x=43
|
||||
y=29
|
||||
side=1
|
||||
[/filter]
|
||||
|
||||
# only show this if the villages haven't been captured yet
|
||||
[if]
|
||||
[have_unit]
|
||||
description=Nisa
|
||||
[/have_unit]
|
||||
|
||||
[then]
|
||||
[message]
|
||||
description=Nisa
|
||||
message= _ "Hey Naru, the rocks have stopped falling. You can come out now!"
|
||||
[/message]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Scout" 43 28 "Naru" (user_description=_"Naru"
|
||||
random_traits="yes"
|
||||
description="Naru")}
|
||||
|
||||
[message]
|
||||
description="Naru"
|
||||
message= _ "Oh, thank Eloh, I thought they would never stop."
|
||||
[/message]
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[message]
|
||||
description=Nym
|
||||
message= _ "I think I see movement in the stables. Is anyone there?"
|
||||
[/message]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Scout" 43 28 "Naru" (user_description=_"Naru"
|
||||
random_traits="yes"
|
||||
description="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]
|
||||
[/else]
|
||||
[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
|
||||
|
||||
#Second stables encounter
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
x=43
|
||||
y=32
|
||||
side=1
|
||||
[/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]
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=unit.side
|
||||
equals=1
|
||||
[/variable]
|
||||
[then]
|
||||
[if]
|
||||
[have_unit]
|
||||
description=Naru
|
||||
[/have_unit]
|
||||
|
||||
[then]
|
||||
[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=Naru
|
||||
message= _ "Hey Nisa, the rocks have stopped falling. You can come out now!"
|
||||
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}
|
||||
{CREATE_UNIT 1 "Desert Scout" $x1 $y1 "Naru" (user_description=_"Naru"
|
||||
description="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]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Scout" 43 31 "Nisa" (user_description=_"Nisa"
|
||||
random_traits="yes"
|
||||
description="Nisa")}
|
||||
|
||||
description="Nisa"
|
||||
gender="female")}
|
||||
[message]
|
||||
description=Nisa
|
||||
message= _ "Oh, thank Eloh, I thought they would never stop."
|
||||
description=Nisa
|
||||
message= _ "Oh, thank Eloh, I thought they would never stop."
|
||||
[/message]
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[message]
|
||||
description=Nym
|
||||
message= _ "I think I see movement in the stables. Is anyone there?"
|
||||
[/message]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Scout" 43 31 "Nisa" (user_description=_"Nisa"
|
||||
random_traits="yes"
|
||||
description="Nisa")}
|
||||
|
||||
[message]
|
||||
description=Nisa
|
||||
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=Nisa
|
||||
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]
|
||||
[/else]
|
||||
[/else]
|
||||
[/if]
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
[/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]
|
||||
|
||||
#Undead leader shows up on dusk of the first long night, turn 11
|
||||
|
||||
# if hard difficulty, create a necromancer instead of dark sorcerer
|
||||
# Undead leader shows up on dusk of the first long night, turn 11
|
||||
|
||||
#!***Another space-waste, #ifdef can be used inside [unit]. Upkeep is full by default.***
|
||||
#define DARKSORCERER_INTRO
|
||||
|
||||
[unit]
|
||||
|
@ -933,8 +1027,7 @@
|
|||
|
||||
[event]
|
||||
name=turn 11
|
||||
|
||||
#!***If Xanthos does not exist and undead gold is unmodified it means he never showed up****
|
||||
# If Xanthos does not exist and undead gold is unmodified it means he never showed up
|
||||
[store_side]
|
||||
side=3
|
||||
variable=temp
|
||||
|
@ -1033,8 +1126,11 @@
|
|||
[/if]
|
||||
[/event]
|
||||
|
||||
#This event prevents player from running to dark sorcerer's base before he shows up on turn 11. If the player approaches his base before turn 11 he appears and attacks. Either way the unit moving into the area also comments on the plight of those elves who lived out in the open sands.
|
||||
#!***To be honest I don't belive this scenario is possible, but levaing it anyway.***
|
||||
# This event prevents player from running to dark sorcerer's base
|
||||
# before he shows up on turn 11. If the player approaches his base
|
||||
# before turn 11 he appears and attacks. Either way the unit moving
|
||||
# into the area also comments on the plight of those elves who
|
||||
# lived out in the open sands.
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
|
@ -1043,7 +1139,6 @@
|
|||
side=1
|
||||
[/filter]
|
||||
|
||||
#!***No other checks this time. If necro was killed this event was fired before that happened.***
|
||||
[if]
|
||||
[not]
|
||||
[have_unit]
|
||||
|
@ -1062,7 +1157,7 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
#Elvish hunting party shows up on turn 18 (changed to 16)
|
||||
# Elvish hunting party shows up on turn 18 (changed to 16)
|
||||
|
||||
[event]
|
||||
name=turn 16
|
||||
|
@ -1073,17 +1168,12 @@
|
|||
[/remove_shroud]
|
||||
|
||||
{CREATE_UNIT 1 "Desert Hunter" 29 2 "Pythos" (user_description=_"Pythos"
|
||||
description="Pythos"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 28 2 "Shea" (user_description=_"Shea"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 29 1 "Narn" (user_description=_"Narn"
|
||||
random_traits="yes")}
|
||||
{CREATE_UNIT 1 "Desert Scout" 27 2 "Jokli" (user_description=_"Jokli"
|
||||
random_traits="yes")}
|
||||
description="Pythos")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 28 2 "Shea" (user_description=_"Shea")}
|
||||
{CREATE_UNIT 1 "Desert Fighter" 29 1 "Narn" (user_description=_"Narn")}
|
||||
{CREATE_UNIT 1 "Desert Scout" 27 2 "Jokli" (user_description=_"Jokli")}
|
||||
{CREATE_UNIT 1 "Desert Archer" 28 1 "Lyia" (user_description=_"Lyia"
|
||||
random_traits="yes"
|
||||
gender="female")}
|
||||
gender="female")}
|
||||
|
||||
[message]
|
||||
description=Pythos
|
||||
|
@ -1106,83 +1196,6 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
#!***This is basicaly one event doing the same thing at four different places.***
|
||||
#!***Turning it into a macro invoked four times saves space again***
|
||||
#Desert Village events
|
||||
#Some of the outer villages have elves hiding in them. If the player
|
||||
#reaches them before the undead do, they can rescue the elves.
|
||||
|
||||
#Village coordinates:
|
||||
#57,35
|
||||
#51,43
|
||||
#26,7
|
||||
#17,10
|
||||
|
||||
#define VILLAGE_EVENT X Y TYPE_FOUND NAME_FOUND
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
[/filter]
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=unit.side
|
||||
numerical_equals=1
|
||||
[/variable]
|
||||
|
||||
[then]
|
||||
{RANDOM 1..10}
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=random
|
||||
less_than_equal_to=6
|
||||
[/variable]
|
||||
|
||||
[then]
|
||||
[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]
|
||||
|
||||
{CREATE_UNIT 1 {TYPE_FOUND} $x1 $y1 {NAME_FOUND} (user_description=_{NAME_FOUND}
|
||||
random_traits="yes")}
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "The encampment is empty. I wonder what happened to the inhabitants?"
|
||||
[/message]
|
||||
[/else]
|
||||
[/if]
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[event]
|
||||
name=capture
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
side=1
|
||||
[/filter]
|
||||
[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]
|
||||
[/event]
|
||||
[/else]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
#enddef
|
||||
|
||||
{VILLAGE_EVENT 57 35 "Desert Scout" "Lrea"}
|
||||
{VILLAGE_EVENT 51 43 "Desert Scout" "Danu"}
|
||||
{VILLAGE_EVENT 26 7 "Desert Hunter" "Hamm"}
|
||||
{VILLAGE_EVENT 17 10 "Desert Archer" "Frea"}
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
|
@ -1273,8 +1286,7 @@
|
|||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
|
||||
#Clear variables
|
||||
#Prestart variables
|
||||
# Clear variables
|
||||
{CLEAR_VARIABLE seen_mudcrawler}
|
||||
{CLEAR_VARIABLE rescued_elves}
|
||||
[/event]
|
||||
|
@ -1292,5 +1304,4 @@
|
|||
|
||||
{@campaigns/Under_the_Burning_Suns/utils/deaths.cfg}
|
||||
|
||||
#!***Unlinked -> Elyssa does not feature in this scenario***
|
||||
[/scenario]
|
||||
|
|
|
@ -780,40 +780,42 @@
|
|||
message=_"It's a dust devil, but I have never seen one so small before."
|
||||
[/message]
|
||||
|
||||
[store_locations]
|
||||
variable=move
|
||||
x=$x1
|
||||
y=$y1
|
||||
radius=1
|
||||
[filter_radius]
|
||||
[not]
|
||||
[filter]
|
||||
side=1,2,3,4
|
||||
[/filter]
|
||||
[/not]
|
||||
[/filter_radius]
|
||||
[/store_locations]
|
||||
# this isn't working yet - but takes ages to filter
|
||||
# so I'm commenting it out for 1.3.8
|
||||
#[store_locations]
|
||||
# variable=move
|
||||
# x=$x1
|
||||
# y=$y1
|
||||
# radius=1
|
||||
# [filter_radius]
|
||||
# [not]
|
||||
# [filter]
|
||||
# side=1,2,3,4
|
||||
# [/filter]
|
||||
# [/not]
|
||||
# [/filter_radius]
|
||||
#[/store_locations]
|
||||
|
||||
{VARIABLE i 0}
|
||||
[while]
|
||||
[variable]
|
||||
name=i
|
||||
less_than=4
|
||||
[/variable]
|
||||
[do]
|
||||
{RANDOM 1..move.length}
|
||||
{VARIABLE moves[$i].x $move[$random].x}
|
||||
{VARIABLE moves[$i].y $move[$random].y}
|
||||
[/do]
|
||||
[/while]
|
||||
#{VARIABLE i 0}
|
||||
#[while]
|
||||
# [variable]
|
||||
# name=i
|
||||
# less_than=4
|
||||
# [/variable]
|
||||
# [do]
|
||||
# {RANDOM 1..move.length}
|
||||
# {VARIABLE moves[$i].x $move[$random].x}
|
||||
# {VARIABLE moves[$i].y $move[$random].y}
|
||||
# [/do]
|
||||
#[/while]
|
||||
#{CLEAR_VARIABLE move}
|
||||
|
||||
[move_unit_fake]
|
||||
type=Dust Devil
|
||||
side=1
|
||||
x=$moves[0].x,$x1,$moves[1].x,$x1,$moves[2].x,$x1,$moves[3].x,$x1
|
||||
y=$moves[0].y,$y1,$moves[1].y,$y1,$moves[2].y,$y1,$moves[3].y,$y1
|
||||
[/move_unit_fake]
|
||||
#[move_unit_fake]
|
||||
# type=Dust Devil
|
||||
# side=1
|
||||
# x=$moves[0].x,$x1,$moves[1].x,$x1,$moves[2].x,$x1,$moves[3].x,$x1
|
||||
# y=$moves[0].y,$y1,$moves[1].y,$y1,$moves[2].y,$y1,$moves[3].y,$y1
|
||||
#[/move_unit_fake]
|
||||
|
||||
#{CLEAR_VARIABLE moves}
|
||||
|
||||
|
@ -2512,8 +2514,7 @@
|
|||
[/not]
|
||||
[not]
|
||||
# prevent AI units from being depleted
|
||||
# by hydration before the player shows
|
||||
# up
|
||||
# by hydration before the player shows up
|
||||
ai_special=guardian
|
||||
[/not]
|
||||
[filter_location]
|
||||
|
|
|
@ -2,8 +2,6 @@
|
|||
# This file contains message to display when heroes die
|
||||
# It is used until Scenario 6, when player get troll/dwarf ally hero
|
||||
|
||||
#!***Conditionalised -> allows scraping of deaths3.cfg***
|
||||
|
||||
#ifdef ALL_LOSE
|
||||
|
||||
# Kaleh death
|
||||
|
@ -75,8 +73,6 @@
|
|||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
#!***Conditionalised -> Keeps event from featuring in first scenario***
|
||||
|
||||
#ifdef ELYSSA_FEATURING
|
||||
# Elyssa death
|
||||
[event]
|
||||
|
@ -98,7 +94,6 @@
|
|||
[/event]
|
||||
#endif
|
||||
|
||||
#!***Moved to -> allows scraping of death2.cfg***
|
||||
#ifdef ALLY_FEATURING
|
||||
# Dwarf/Troll ally death
|
||||
[event]
|
||||
|
@ -193,9 +188,47 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
#endif
|
||||
# Dwarf/Troll ally death
|
||||
[event]
|
||||
name=die
|
||||
|
||||
#!***Moved to -> allows scraping of death3.cfg***
|
||||
[filter]
|
||||
description=$ally_name
|
||||
[/filter]
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=ally_race
|
||||
equals=Dwarf
|
||||
[/variable]
|
||||
|
||||
[then]
|
||||
[message]
|
||||
description=$ally_name
|
||||
message= _ "By Moradin, I have fallen!"
|
||||
[/message]
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[message]
|
||||
description=$ally_name
|
||||
message= _ "No, $ally_name can't die now!"
|
||||
[/message]
|
||||
[/else]
|
||||
[/if]
|
||||
|
||||
[set_variable]
|
||||
name=allies_killed
|
||||
add=1
|
||||
[/set_variable]
|
||||
|
||||
[set_variable]
|
||||
name=ally_dead
|
||||
value=1
|
||||
[/set_variable]
|
||||
[/event]
|
||||
|
||||
#endif
|
||||
|
||||
#else
|
||||
|
||||
|
@ -262,44 +295,4 @@
|
|||
[/set_variable]
|
||||
[/event]
|
||||
|
||||
# Dwarf/Troll ally death
|
||||
[event]
|
||||
name=die
|
||||
|
||||
[filter]
|
||||
description=$ally_name
|
||||
[/filter]
|
||||
|
||||
[if]
|
||||
[variable]
|
||||
name=ally_race
|
||||
equals=Dwarf
|
||||
[/variable]
|
||||
|
||||
[then]
|
||||
[message]
|
||||
description=$ally_name
|
||||
message= _ "By Moradin, I have fallen!"
|
||||
[/message]
|
||||
[/then]
|
||||
|
||||
[else]
|
||||
[message]
|
||||
description=$ally_name
|
||||
message= _ "No, $ally_name can't die now!"
|
||||
[/message]
|
||||
[/else]
|
||||
[/if]
|
||||
|
||||
[set_variable]
|
||||
name=allies_killed
|
||||
add=1
|
||||
[/set_variable]
|
||||
|
||||
[set_variable]
|
||||
name=ally_dead
|
||||
value=1
|
||||
[/set_variable]
|
||||
[/event]
|
||||
|
||||
#endif
|
||||
|
|
|
@ -18,23 +18,6 @@
|
|||
{TERRAIN_BASE_PROB Ryd dark_tile2 33}
|
||||
{TERRAIN_BASE Ryd dark_tile3}
|
||||
|
||||
#!***Scraped -> Core terrain, doesnt need redefinition
|
||||
# the sand crater terrain
|
||||
#![terrain]
|
||||
#!char=x
|
||||
#!string=Dd^Dc
|
||||
#![/terrain]
|
||||
|
||||
#!***Scraped -> Core terrain, doesn't need redefinition
|
||||
# the sand rubble terrain
|
||||
#![terrain]
|
||||
#!char=z
|
||||
#!string=Dd^Dr
|
||||
#![/terrain]
|
||||
|
||||
#!***Scraped -> not used anymore***
|
||||
# the oasis terrain
|
||||
|
||||
# custom lava terrain
|
||||
# similar to normal lava except that I allow units to walk across lava
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue