Tweak Delfador's Memoirs difficulty (#5382)
* DM: tweak difficulty this should be equivalent to the following commits in my other repository:3427219b45 (diff-f2f73b177895cba8d63b07c163e862b8fdd9da442fc060ae5d6b871ae321c867)
bb211951c1 (diff-f2f73b177895cba8d63b07c163e862b8fdd9da442fc060ae5d6b871ae321c867)
20e2a751f1 (diff-f2f73b177895cba8d63b07c163e862b8fdd9da442fc060ae5d6b871ae321c867)
This commit is contained in:
parent
2a8baa9590
commit
3118f7cecf
6 changed files with 375 additions and 59 deletions
|
@ -4,7 +4,7 @@
|
|||
name=_ "This Valley Belongs to Me"
|
||||
{MEMOIRS_MAP 02_This_Valley_Belongs_to_Me.map}
|
||||
next_scenario=03_The_Road_to_Weldyn
|
||||
turns=24
|
||||
{TURNS 26 25 24}
|
||||
{DEFAULT_SCHEDULE}
|
||||
|
||||
{INTRO_AND_SCENARIO_MUSIC traveling_minstrels.ogg knolls.ogg}
|
||||
|
@ -31,12 +31,14 @@
|
|||
{METHOR}
|
||||
x,y=21,16
|
||||
[/unit]
|
||||
# 100 is the default when left unspecified:
|
||||
{GOLD 120 110 100}
|
||||
[/side]
|
||||
[event]
|
||||
name=prestart
|
||||
{MODIFY_UNIT (side=1) facing nw}
|
||||
[/event]
|
||||
{STARTING_VILLAGES 1 12}
|
||||
{STARTING_VILLAGES 1 {ON_DIFFICULTY 16 14 12}}
|
||||
|
||||
[side]
|
||||
side=2
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
name=_ "The Road to Weldyn"
|
||||
{MEMOIRS_MAP 03_The_Road_to_Weldyn.map}
|
||||
next_scenario=04_Leollyn
|
||||
turns=24
|
||||
{TURNS 26 25 24}
|
||||
{DEFAULT_SCHEDULE}
|
||||
|
||||
{SCENARIO_MUSIC wanderer.ogg} # No story text, so no intro music
|
||||
|
@ -27,8 +27,10 @@
|
|||
[leader]
|
||||
{YOUNG_DELFADOR}
|
||||
[/leader]
|
||||
# 100 is the default when left unspecified:
|
||||
{GOLD 120 110 100}
|
||||
[/side]
|
||||
{STARTING_VILLAGES 1 10}
|
||||
{STARTING_VILLAGES 1 {ON_DIFFICULTY 12 11 10}}
|
||||
|
||||
[side]
|
||||
side=2
|
||||
|
@ -39,7 +41,7 @@
|
|||
recruit=Orcish Grunt,Troll Whelp,Wolf Rider
|
||||
#endif
|
||||
{GOLD 150 200 250}
|
||||
{INCOME 0 2 2}
|
||||
{INCOME 0 1 2}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Pillagers"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -52,13 +54,13 @@
|
|||
# make them more aggressive at night
|
||||
[ai]
|
||||
time_of_day=dusk,first_watch,second_watch
|
||||
aggression=0.7
|
||||
caution=0.25
|
||||
aggression={ON_DIFFICULTY 0.5 0.6 0.7}
|
||||
caution={ON_DIFFICULTY 0.27 0.26 0.25}
|
||||
[/ai]
|
||||
[ai]
|
||||
time_of_day=morning,afternoon
|
||||
aggression=0.0
|
||||
caution=0.50
|
||||
aggression={ON_DIFFICULTY 0.2 0.1 0.0}
|
||||
caution={ON_DIFFICULTY 0.51 0.52 0.53}
|
||||
[/ai]
|
||||
[/side]
|
||||
# wmllint: validate-on
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
name=_ "Leollyn"
|
||||
{MEMOIRS_MAP 04_Leollyn.map}
|
||||
next_scenario=05_Council_in_Weldyn
|
||||
turns=24
|
||||
{TURNS 26 25 24}
|
||||
{DEFAULT_SCHEDULE}
|
||||
|
||||
{SCENARIO_MUSIC loyalists.ogg} # No story text, so no intro music
|
||||
|
@ -27,6 +27,8 @@
|
|||
[leader]
|
||||
{YOUNG_DELFADOR}
|
||||
[/leader]
|
||||
# 100 is the default when left unspecified:
|
||||
{GOLD 120 110 100}
|
||||
[/side]
|
||||
[event]
|
||||
name=prestart
|
||||
|
@ -56,7 +58,7 @@
|
|||
side=2
|
||||
controller=ai
|
||||
recruit=Wolf Rider, Orcish Assassin, Orcish Archer
|
||||
{GOLD 200 200 300}
|
||||
{GOLD 150 225 300}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Pillagers"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -71,13 +73,13 @@
|
|||
# there are a lot of close villages
|
||||
villages_per_scout=6
|
||||
# attack Delfador more heavily than Leollyn
|
||||
leader_value=2.0
|
||||
leader_value={ON_DIFFICULTY 1.8 1.9 2.0}
|
||||
[goal]
|
||||
name=target
|
||||
[criteria]
|
||||
id=Delfador
|
||||
[/criteria]
|
||||
value=3.0
|
||||
value={ON_DIFFICULTY 2.2 2.6 3.0}
|
||||
[/goal]
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -86,8 +88,8 @@
|
|||
side=3
|
||||
controller=ai
|
||||
recruit=Red Mage,White Mage
|
||||
gold=0
|
||||
income=8
|
||||
{GOLD 20 10 0}
|
||||
{INCOME 10 9 8}
|
||||
team_name=allies
|
||||
user_team_name= _ "Loyalists"
|
||||
{FLAG_VARIANT loyalist}
|
||||
|
@ -100,7 +102,10 @@
|
|||
{UNIT 3 Spearman 4 18 (ai_special=guardian)} {FACING se}
|
||||
[ai]
|
||||
recruitment_pattern=mixed fighter,mixed fighter,healer
|
||||
aggression=0.0
|
||||
aggression={ON_DIFFICULTY 0.2 0.1 0.0}
|
||||
caution={ON_DIFFICULTY 0.9 0.8 0.7}
|
||||
grouping=defensive
|
||||
support_villages=yes
|
||||
[/ai]
|
||||
[/side]
|
||||
# wmllint: validate-on
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
name=_ "The Swamps of Illuven"
|
||||
{MEMOIRS_MAP 06_The_Swamps_of_Illuven.map}
|
||||
next_scenario=07_Night_in_the_Swamp
|
||||
turns=28
|
||||
{TURNS 32 30 28}
|
||||
victory_when_enemies_defeated=no
|
||||
{DEFAULT_SCHEDULE}
|
||||
|
||||
|
@ -32,18 +32,20 @@
|
|||
{LIONEL}
|
||||
placement=leader
|
||||
[/unit]
|
||||
# 100 is the default when left unspecified:
|
||||
{GOLD 120 110 100}
|
||||
[/side]
|
||||
[event]
|
||||
name=prestart
|
||||
{MODIFY_UNIT (side=1) facing ne}
|
||||
[/event]
|
||||
{STARTING_VILLAGES 1 4}
|
||||
{STARTING_VILLAGES 1 {ON_DIFFICULTY 6 5 4}}
|
||||
|
||||
[side]
|
||||
side=2
|
||||
controller=ai
|
||||
recruit=Thief,Poacher,Thug
|
||||
{GOLD 80 100 150}
|
||||
{GOLD 50 100 150}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Bandits"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -57,13 +59,13 @@
|
|||
villages_per_scout=15
|
||||
[/ai]
|
||||
[/side]
|
||||
{STARTING_VILLAGES 2 4}
|
||||
{STARTING_VILLAGES 2 {ON_DIFFICULTY 2 3 4}}
|
||||
|
||||
[side]
|
||||
side=3
|
||||
controller=ai
|
||||
recruit=Footpad,Poacher,Thug
|
||||
{GOLD 80 100 150}
|
||||
{GOLD 50 100 150}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Bandits"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -77,7 +79,7 @@
|
|||
villages_per_scout=10
|
||||
[/ai]
|
||||
[/side]
|
||||
{STARTING_VILLAGES 3 4}
|
||||
{STARTING_VILLAGES 3 {ON_DIFFICULTY 2 3 4}}
|
||||
# wmllint: validate-on
|
||||
|
||||
# reward for the player who defeats Garrath without paying him
|
||||
|
@ -131,20 +133,62 @@
|
|||
side=1
|
||||
variable=fee
|
||||
[/store_gold]
|
||||
{VARIABLE_OP fee multiply 8}
|
||||
{VARIABLE_OP fee multiply {ON_DIFFICULTY 6 7 8}}
|
||||
{VARIABLE_OP fee divide 10}
|
||||
{VARIABLE_OP fee round 0}
|
||||
{VARIABLE garrath_hostile yes}
|
||||
{VARIABLE times_garrath_paid 0}
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Greetings, strangers! This swamp is dangerous... You wanna cross it, you’ll need protection — cost you only $fee gold!"
|
||||
[option]
|
||||
label=_"Thanks very much. Here’s the gold..."
|
||||
[command]
|
||||
{VARIABLE_OP fee multiply -1}
|
||||
[gold]
|
||||
side=1
|
||||
amount=-$fee
|
||||
[/gold]
|
||||
# take his gold:
|
||||
[remove_item]
|
||||
x=4
|
||||
y=3
|
||||
[/remove_item]
|
||||
#ifdef EASY
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"You know, you really ought to be more careful before handing over money to suspicious strangers like me. But, since I'm feeling nice at the moment, I think I will actually keep my word and offer you some protection."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Harold
|
||||
message=_"Hey, what's your problem, Garrath? I thought we had a deal!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Yeah, well, I changed my mind."
|
||||
[/message]
|
||||
[modify_side]
|
||||
side=2
|
||||
team_name=allies
|
||||
[/modify_side]
|
||||
{VARIABLE garrath_hostile no}
|
||||
{VARIABLE times_garrath_paid 1}
|
||||
[gold]
|
||||
side=2
|
||||
amount=$fee
|
||||
[/gold]
|
||||
# we are already inside an "ifdef EASY" block, so no need to vary this on difficulty:
|
||||
{CAPTURE_VILLAGES 2 4 3 4}
|
||||
[redraw]
|
||||
[/redraw]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"...I'm not entirely sure what just happened here, but I guess I should be grateful?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Lionel
|
||||
message=_"While it appears we lucked out this time, I fear for the travelers for whom this man does NOT keep his word..."
|
||||
[/message]
|
||||
#else
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"It’s been a pleasure doing business with you... Bye!"
|
||||
|
@ -152,8 +196,7 @@
|
|||
[kill]
|
||||
side=2
|
||||
[/kill]
|
||||
# take his gold too
|
||||
{REMOVE_IMAGE 4 3}
|
||||
# (the gold-taking that was previously done here is now done above)
|
||||
[delay]
|
||||
time=500
|
||||
[/delay]
|
||||
|
@ -169,11 +212,258 @@
|
|||
speaker=Lionel
|
||||
message=_"Well, at least we only have to deal with one of them now..."
|
||||
[/message]
|
||||
#endif
|
||||
# give the remaining enemy a boost, for balance
|
||||
[gold]
|
||||
side=3
|
||||
amount=40
|
||||
amount={ON_DIFFICULTY 32 36 40}
|
||||
[/gold]
|
||||
# (maybe also give them an income, but I can't decide on a good amount)
|
||||
#ifdef EASY
|
||||
[event]
|
||||
name=capture
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
[/filter]
|
||||
[if]
|
||||
[have_location]
|
||||
x,y=$x1,$y1
|
||||
owner_side=2
|
||||
[/have_location]
|
||||
[or]
|
||||
[variable]
|
||||
name=owner_side
|
||||
equals=2
|
||||
[/variable]
|
||||
[/or]
|
||||
[then]
|
||||
[if]
|
||||
[variable]
|
||||
name=garrath_hostile
|
||||
boolean_equals=no
|
||||
[/variable]
|
||||
[then]
|
||||
[if]
|
||||
[variable]
|
||||
name=times_garrath_paid
|
||||
less_than_equal_to=1
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Hey, that was one of OUR villages! Deal's off; we're no longer protecting you!"
|
||||
[/message]
|
||||
# Need to conditionalize here to ensure Garrath's reply makes sense:
|
||||
[if]
|
||||
[have_unit]
|
||||
id=Harold
|
||||
[/have_unit]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Harold
|
||||
message=_"So... does that mean that OUR deal is back on now, Garrath?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Fine, I guess..."
|
||||
[/message]
|
||||
[/then]
|
||||
[/if]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"Wait, I'm sorry! I didn't realize you were so attached to that village! Please give me a chance to make it up to you!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Well, I guess a little extra payment could persuade me to forgive you..."
|
||||
[/message]
|
||||
[store_gold]
|
||||
variable=gold
|
||||
side=1
|
||||
[/store_gold]
|
||||
[if]
|
||||
[variable]
|
||||
name=gold
|
||||
less_than=20
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
# If debugging, feel free to edit the variable $gold into this message to see how much you have left:
|
||||
message=_"I'm afraid I don't have much gold left..."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Oh well, too bad for you!"
|
||||
[/message]
|
||||
[modify_side]
|
||||
side=2
|
||||
team_name=enemies
|
||||
[/modify_side]
|
||||
{VARIABLE garrath_hostile yes}
|
||||
[/then]
|
||||
[else]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"Well..."
|
||||
[option]
|
||||
label=_"Here's 20 more gold."
|
||||
[command]
|
||||
[gold]
|
||||
side=1
|
||||
amount=-20
|
||||
[/gold]
|
||||
[gold]
|
||||
side=2
|
||||
amount=20
|
||||
[/gold]
|
||||
{VARIABLE_OP times_garrath_paid add 1}
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Pleasure doing business with you! Just don't let it happen again!"
|
||||
[/message]
|
||||
# If Harold is dead, dialogue will still make sense with this omitted:
|
||||
[message]
|
||||
speaker=Harold
|
||||
message=_"Sheesh, Garrath, won't you make up your mind already?!"
|
||||
[/message]
|
||||
# (nothing else to do; Garrath stays an ally)
|
||||
[/command]
|
||||
[/option]
|
||||
[option]
|
||||
label=_"Nope, I'm not giving you any more gold."
|
||||
[command]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Suit yourself. Men, attack!"
|
||||
[/message]
|
||||
[modify_side]
|
||||
side=2
|
||||
team_name=enemies
|
||||
[/modify_side]
|
||||
{VARIABLE garrath_hostile yes}
|
||||
[/command]
|
||||
[/option]
|
||||
[/message]
|
||||
[/else]
|
||||
[/if] # gold
|
||||
{CLEAR_VARIABLE gold}
|
||||
[/then]
|
||||
[elseif]
|
||||
[variable]
|
||||
name=times_garrath_paid
|
||||
# This should be redundant with the previous condition, but I'm writing it like this
|
||||
# to be more explicit about what exactly I'm doing, and to leave room for future
|
||||
# editors to potentially add more cases in the future:
|
||||
greater_than_equal_to=2
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Hey! You captured one of my villages again! I thought I told you to stop doing that!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"Sorry! It's a hard habit to break! Perhaps I can pay you again to make up for it?"
|
||||
# (possible future direction: actually let him do so, but at a higher price than before. For now, though, we won't.)
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Nope, I'm through with your games! Men, attack!"
|
||||
[/message]
|
||||
[modify_side]
|
||||
side=2
|
||||
team_name=enemies
|
||||
[/modify_side]
|
||||
{VARIABLE garrath_hostile yes}
|
||||
[message]
|
||||
speaker=Delfador
|
||||
message=_"Oh well, I guess I should have listened when he said not to let it happen again..."
|
||||
[/message]
|
||||
[/then]
|
||||
[/elseif]
|
||||
[/if] # times_garrath_paid
|
||||
[/then]
|
||||
[else]
|
||||
# case where he is already hostile:
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Stop stealing my villages!"
|
||||
[/message]
|
||||
[/else]
|
||||
[/if] # garrath_hostile
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=side 1 turn refresh
|
||||
first_time_only=no
|
||||
[store_gold]
|
||||
variable=gold
|
||||
side=1
|
||||
[/store_gold]
|
||||
[if]
|
||||
[variable]
|
||||
name=gold
|
||||
less_than=0
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=Garrath
|
||||
message=_"Hm, it looks like you don't have any gold left. We're not interested in you anymore; bye!"
|
||||
[/message]
|
||||
[kill]
|
||||
side=2
|
||||
[/kill]
|
||||
[message]
|
||||
speaker=Harold
|
||||
message=_"What a fickle one, that Garrath..."
|
||||
[/message]
|
||||
[/then]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE gold}
|
||||
[/event]
|
||||
|
||||
# A little bit of extra balance to make up for the fact that Harold now has an extra enemy:
|
||||
[event]
|
||||
name=last breath
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
[filter_second]
|
||||
side=3
|
||||
[/filter_second]
|
||||
[message]
|
||||
speaker=Harold
|
||||
message=_"I'll be taking back that money that your men “borrowed” from me now, Garrath!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Split the actual gold-giving part of this off from the previous one so that it can happen multiple times:
|
||||
[event]
|
||||
name=die
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=2
|
||||
[/filter]
|
||||
[filter_second]
|
||||
side=3
|
||||
[/filter_second]
|
||||
{RANDOM $unit.level..$unit.cost}
|
||||
[gold]
|
||||
side=3
|
||||
amount=$random
|
||||
[/gold]
|
||||
[floating_text]
|
||||
x,y=$x2,$y2
|
||||
# wmllint: markcheck off
|
||||
text="<span color='#BCB088'>+$random|g</span>"
|
||||
# wmllint: markcheck on
|
||||
[/floating_text]
|
||||
[/event]
|
||||
#endif
|
||||
[/command]
|
||||
[/option]
|
||||
[option]
|
||||
|
@ -205,7 +495,7 @@
|
|||
[/sound]
|
||||
[gold]
|
||||
side=1
|
||||
amount=100
|
||||
amount={ON_DIFFICULTY 120 110 100}
|
||||
[/gold]
|
||||
[message]
|
||||
speaker=unit
|
||||
|
@ -218,5 +508,11 @@
|
|||
{CLEAR_VARIABLE fee}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=victory
|
||||
# need to clear these out here instead of in the previous event so that they can be used in inner events:
|
||||
{CLEAR_VARIABLE garrath_hostile}
|
||||
{CLEAR_VARIABLE times_garrath_paid}
|
||||
[/event]
|
||||
{MEMOIRS_DEATHS}
|
||||
[/scenario]
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
name= _ "The Return of Trouble"
|
||||
{MEMOIRS_MAP 13_The_Return_of_Trouble.map}
|
||||
next_scenario=14_Shadows_in_the_Dark
|
||||
{TURNS 24 27 30}
|
||||
# I think this was backwards originally; this is a "defeat all enemies" map, not a defensive map:
|
||||
{TURNS 30 27 24}
|
||||
{DEFAULT_SCHEDULE}
|
||||
disallow_recall=yes
|
||||
|
||||
|
@ -34,7 +35,8 @@
|
|||
side=1
|
||||
controller=human
|
||||
# recruit handled in {KALENZ_TAKES_CONTROL}
|
||||
{GOLD 320 310 380}
|
||||
{GOLD 350 320 380}
|
||||
{INCOME 5 3 1}
|
||||
save_id=Player
|
||||
team_name=allies
|
||||
user_team_name= _ "Elves"
|
||||
|
@ -47,6 +49,8 @@
|
|||
[/leader]
|
||||
[/side]
|
||||
|
||||
{STARTING_VILLAGES 1 {ON_DIFFICULTY 5 4 3}}
|
||||
|
||||
### Protagonist switching ###
|
||||
[event]
|
||||
name=prestart
|
||||
|
@ -65,8 +69,8 @@
|
|||
#ifdef HARD
|
||||
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman
|
||||
#endif
|
||||
{GOLD 150 230 300}
|
||||
{INCOME 4 8 12}
|
||||
{GOLD 140 220 300}
|
||||
{INCOME 2 7 12}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Pillagers"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -82,8 +86,8 @@
|
|||
[/ai]
|
||||
[ai]
|
||||
time_of_day=dusk,first_watch,second_watch
|
||||
aggression=0.75
|
||||
caution=0.0
|
||||
aggression={ON_DIFFICULTY 0.71 0.73 0.75}
|
||||
caution={ON_DIFFICULTY 0.2 0.1 0.0}
|
||||
grouping=no
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -100,8 +104,8 @@
|
|||
#ifdef HARD
|
||||
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman
|
||||
#endif
|
||||
{GOLD 250 300 380}
|
||||
{INCOME 4 8 12}
|
||||
{GOLD 220 300 380}
|
||||
{INCOME 2 7 12}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Pillagers"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -117,8 +121,8 @@
|
|||
[/ai]
|
||||
[ai]
|
||||
time_of_day=dusk,first_watch,second_watch
|
||||
aggression=0.75
|
||||
caution=0.0
|
||||
aggression={ON_DIFFICULTY 0.71 0.73 0.75}
|
||||
caution={ON_DIFFICULTY 0.2 0.1 0.0}
|
||||
grouping=no
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -135,8 +139,8 @@
|
|||
#ifdef HARD
|
||||
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman
|
||||
#endif
|
||||
{GOLD 250 300 380}
|
||||
{INCOME 4 8 12}
|
||||
{GOLD 220 300 380}
|
||||
{INCOME 2 7 12}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Pillagers"
|
||||
{FLAG_VARIANT6 ragged}
|
||||
|
@ -152,8 +156,8 @@
|
|||
[/ai]
|
||||
[ai]
|
||||
time_of_day=dusk,first_watch,second_watch
|
||||
aggression=0.75
|
||||
caution=0.0
|
||||
aggression={ON_DIFFICULTY 0.71 0.73 0.75}
|
||||
caution={ON_DIFFICULTY 0.2 0.1 0.0}
|
||||
grouping=no
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -162,7 +166,7 @@
|
|||
side=5
|
||||
controller=ai
|
||||
recruit={ELVES}
|
||||
{GOLD 250 250 290}
|
||||
{GOLD 270 250 290}
|
||||
team_name=allies
|
||||
user_team_name= _ "Elves"
|
||||
{FLAG_VARIANT wood-elvish}
|
||||
|
@ -175,6 +179,8 @@
|
|||
[/side]
|
||||
# wmllint: validate-on
|
||||
|
||||
{STARTING_VILLAGES 5 {ON_DIFFICULTY 8 7 6}}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[objectives]
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
name=_ "The Portal of Doom"
|
||||
{MEMOIRS_MAP 18_The_Portal_of_Doom.map}
|
||||
next_scenario=19_Showdown_in_the_Northern_Swamp
|
||||
turns=40
|
||||
{TURNS 44 42 40}
|
||||
victory_when_enemies_defeated=no
|
||||
{DEFAULT_SCHEDULE}
|
||||
|
||||
|
@ -34,7 +34,8 @@
|
|||
side=1
|
||||
controller=human
|
||||
recruit={LOYALISTS}
|
||||
{GOLD 200 180 160}
|
||||
{GOLD 220 190 160}
|
||||
{INCOME 3 2 1}
|
||||
save_id=Player
|
||||
team_name=allies
|
||||
user_team_name= _ "Loyalists"
|
||||
|
@ -66,7 +67,7 @@
|
|||
#ifdef HARD
|
||||
recruit=Skeleton, Skeleton Archer, Revenant, Draug, Banebow, Bone Shooter, Deathblade
|
||||
#endif
|
||||
{GOLD 200 200 250}
|
||||
{GOLD 150 200 250}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Undead"
|
||||
{FLAG_VARIANT undead}
|
||||
|
@ -78,18 +79,20 @@
|
|||
[/leader]
|
||||
[ai]
|
||||
aggression=0.0
|
||||
# recruitment_pattern=scout, mixed fighter, archer
|
||||
#ifdef CUSTOMIZED_AI
|
||||
recruitment_pattern=scout, mixed fighter, archer
|
||||
# there are a lot of close villages
|
||||
# villages_per_scout=6
|
||||
villages_per_scout=6
|
||||
#endif
|
||||
|
||||
# attack Delfador heavily
|
||||
leader_value=2.0
|
||||
leader_value={ON_DIFFICULTY 1.9 2.0 2.1}
|
||||
[goal]
|
||||
name=target
|
||||
[criteria]
|
||||
id=Delfador
|
||||
[/criteria]
|
||||
value=3.0
|
||||
value={ON_DIFFICULTY 2.9 3.0 3.1}
|
||||
[/goal]
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -106,7 +109,7 @@
|
|||
#ifdef HARD
|
||||
recruit=Ghost, Vampire Bat, Shadow, Nightgaunt, Spectre, Blood Bat, Vampire Bat, Wraith
|
||||
#endif
|
||||
{GOLD 200 200 250}
|
||||
{GOLD 150 200 250}
|
||||
team_name=enemies
|
||||
user_team_name= _ "Undead"
|
||||
{FLAG_VARIANT undead}
|
||||
|
@ -118,18 +121,20 @@
|
|||
[/leader]
|
||||
[ai]
|
||||
aggression=0.0
|
||||
# recruitment_pattern=scout, mixed fighter, archer
|
||||
#ifdef CUSTOMIZED_AI
|
||||
recruitment_pattern=scout, mixed fighter, archer
|
||||
# there are a lot of close villages
|
||||
# villages_per_scout=6
|
||||
villages_per_scout=6
|
||||
#endif
|
||||
|
||||
# attack Delfador heavily
|
||||
leader_value=2.0
|
||||
# attack Delfador heavily
|
||||
leader_value={ON_DIFFICULTY 1.9 2.0 2.1}
|
||||
[goal]
|
||||
name=target
|
||||
[criteria]
|
||||
id=Delfador
|
||||
[/criteria]
|
||||
value=3.0
|
||||
value={ON_DIFFICULTY 2.9 3.0 3.1}
|
||||
[/goal]
|
||||
[/ai]
|
||||
[/side]
|
||||
|
@ -158,7 +163,7 @@
|
|||
[criteria]
|
||||
id=Delfador
|
||||
[/criteria]
|
||||
value=10
|
||||
value={ON_DIFFICULTY 8 9 10}
|
||||
[/goal]
|
||||
[/ai]
|
||||
{FLAG_VARIANT undead}
|
||||
|
@ -242,7 +247,7 @@
|
|||
[modify_side]
|
||||
side=4
|
||||
hidden=no
|
||||
{INCOME 10 20 30}
|
||||
{INCOME 6 18 30}
|
||||
[/modify_side]
|
||||
[message]
|
||||
speaker=Iliah-Malal
|
||||
|
@ -259,7 +264,7 @@
|
|||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 9
|
||||
name={ON_DIFFICULTY (turn 11) (turn 10) (turn 9)}
|
||||
[fire_event]
|
||||
name=iliah-malal
|
||||
[/fire_event]
|
||||
|
|
Loading…
Add table
Reference in a new issue