LoW::19,21,22,23:
Redid the recruit list management of the last chapter. Fix for bug #19236
This commit is contained in:
parent
3bc6ea611d
commit
ffad005a95
4 changed files with 58 additions and 131 deletions
|
@ -29,8 +29,6 @@
|
||||||
|
|
||||||
{DEFAULT_SCHEDULE_DUSK}
|
{DEFAULT_SCHEDULE_DUSK}
|
||||||
|
|
||||||
# {LOW_PRESTART}
|
|
||||||
|
|
||||||
next_scenario=20_Council_Ruling
|
next_scenario=20_Council_Ruling
|
||||||
[story]
|
[story]
|
||||||
#ifdef MULTIPLAYER
|
#ifdef MULTIPLAYER
|
||||||
|
@ -107,9 +105,11 @@ Chapter Five"
|
||||||
[event]
|
[event]
|
||||||
name=prestart
|
name=prestart
|
||||||
|
|
||||||
|
#ifndef MULTIPLAYER
|
||||||
[kill]
|
[kill]
|
||||||
race=dwarf
|
race=dwarf
|
||||||
[/kill]
|
[/kill]
|
||||||
|
#endif
|
||||||
|
|
||||||
#TODO see if this recalls units wich are not recallable
|
#TODO see if this recalls units wich are not recallable
|
||||||
{RECALL_LOYALS}
|
{RECALL_LOYALS}
|
||||||
|
@ -180,18 +180,6 @@ Chapter Five"
|
||||||
[/side]
|
[/side]
|
||||||
{STARTING_VILLAGES 3 20}
|
{STARTING_VILLAGES 3 20}
|
||||||
|
|
||||||
[side]
|
|
||||||
side=4
|
|
||||||
persistent=yes
|
|
||||||
save_id=Landar
|
|
||||||
no_leader=yes
|
|
||||||
#ifndef MULTIPLAYER
|
|
||||||
hidden=yes
|
|
||||||
#else
|
|
||||||
{PLAYABLE}
|
|
||||||
#endif
|
|
||||||
[/side]
|
|
||||||
|
|
||||||
[event]
|
[event]
|
||||||
name=victory
|
name=victory
|
||||||
|
|
||||||
|
@ -204,49 +192,6 @@ Chapter Five"
|
||||||
id=Landar
|
id=Landar
|
||||||
message={WHISPER _"A shame we missed the opportunity to rid the forests of dwarves, as well."}
|
message={WHISPER _"A shame we missed the opportunity to rid the forests of dwarves, as well."}
|
||||||
[/message]
|
[/message]
|
||||||
|
|
||||||
# modify 2/3 of the non-loyal, non-shaman-line units to join Landar
|
|
||||||
{MODIFY_UNIT (id=Landar) side 4}
|
|
||||||
[store_unit]
|
|
||||||
#TODO spellcheck
|
|
||||||
variable=steal_wearer
|
|
||||||
kill=yes
|
|
||||||
[filter]
|
|
||||||
side=1
|
|
||||||
[not]
|
|
||||||
id=Kalenz
|
|
||||||
[/not]
|
|
||||||
[not]
|
|
||||||
id=Landar
|
|
||||||
[/not]
|
|
||||||
[not]
|
|
||||||
{FILTER_LOYALS}
|
|
||||||
[/not]
|
|
||||||
[/filter]
|
|
||||||
[/store_unit]
|
|
||||||
{FOREACH steal_wearer u}
|
|
||||||
{RANDOM (2,1,2)}
|
|
||||||
[if]
|
|
||||||
[variable]
|
|
||||||
name=random
|
|
||||||
numerical_equals=1
|
|
||||||
[/variable]
|
|
||||||
[then]
|
|
||||||
{VARIABLE steal_wearer[$u].role kalenz_loyal}
|
|
||||||
[unstore_unit]
|
|
||||||
variable=steal_wearer[$u]
|
|
||||||
[/unstore_unit]
|
|
||||||
[/then]
|
|
||||||
[else]
|
|
||||||
{VARIABLE steal_wearer[$u].side 4}
|
|
||||||
{VARIABLE steal_wearer[$u].role landar_loyal}
|
|
||||||
[unstore_unit]
|
|
||||||
variable=steal_wearer[$u]
|
|
||||||
[/unstore_unit]
|
|
||||||
[/else]
|
|
||||||
[/if]
|
|
||||||
{NEXT u}
|
|
||||||
{CLEAR_VARIABLE steal_wearer}
|
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
##### Scenario objectives #####
|
##### Scenario objectives #####
|
||||||
|
|
|
@ -30,7 +30,7 @@
|
||||||
|
|
||||||
{DEFAULT_SCHEDULE}
|
{DEFAULT_SCHEDULE}
|
||||||
|
|
||||||
# {LOW_PRESTART}
|
disallow_recall=yes
|
||||||
|
|
||||||
next_scenario=22_Northern_Battle
|
next_scenario=22_Northern_Battle
|
||||||
[story]
|
[story]
|
||||||
|
@ -61,8 +61,7 @@
|
||||||
team_name=player
|
team_name=player
|
||||||
user_team_name= _ "Player"
|
user_team_name= _ "Player"
|
||||||
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
||||||
#TODO differentiate the gold
|
{GOLD 160 130 100}
|
||||||
{GOLD 100 100 100}
|
|
||||||
[unit]
|
[unit]
|
||||||
{CLEODIL}
|
{CLEODIL}
|
||||||
extra_recruit=Elvish Shaman, Elvish Scout, Wose
|
extra_recruit=Elvish Shaman, Elvish Scout, Wose
|
||||||
|
@ -75,23 +74,6 @@
|
||||||
[event]
|
[event]
|
||||||
name=prestart
|
name=prestart
|
||||||
|
|
||||||
[store_unit]
|
|
||||||
kill=yes
|
|
||||||
variable=kalenz_loyals
|
|
||||||
[filter]
|
|
||||||
side=1
|
|
||||||
[not]
|
|
||||||
#wmllint: recognize Anduilas
|
|
||||||
id=Anduilas
|
|
||||||
[/not]
|
|
||||||
[not]
|
|
||||||
id=Kalenz
|
|
||||||
[/not]
|
|
||||||
[not]
|
|
||||||
id=Cleodil
|
|
||||||
[/not]
|
|
||||||
[/filter]
|
|
||||||
[/store_unit]
|
|
||||||
[recall]
|
[recall]
|
||||||
id=Anduilas
|
id=Anduilas
|
||||||
x=16
|
x=16
|
||||||
|
@ -110,19 +92,6 @@
|
||||||
[/message]
|
[/message]
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
[event]
|
|
||||||
name=victory
|
|
||||||
|
|
||||||
{FOREACH kalenz_loyals loyal_one}
|
|
||||||
[unstore_unit]
|
|
||||||
variable=kalenz_loyals[$loyal_one]
|
|
||||||
x,y=recall,recall
|
|
||||||
[/unstore_unit]
|
|
||||||
{NEXT loyal_one}
|
|
||||||
{CLEAR_VARIABLE loyal_one}
|
|
||||||
{CLEAR_VARIABLE kalenz_loyals}
|
|
||||||
[/event]
|
|
||||||
|
|
||||||
#### Betrayer's code ####
|
#### Betrayer's code ####
|
||||||
|
|
||||||
[event]
|
[event]
|
||||||
|
|
|
@ -32,8 +32,6 @@
|
||||||
{EXTRA_SCENARIO_MUSIC weight_of_revenge.ogg}
|
{EXTRA_SCENARIO_MUSIC weight_of_revenge.ogg}
|
||||||
{EXTRA_SCENARIO_MUSIC casualties_of_war.ogg}
|
{EXTRA_SCENARIO_MUSIC casualties_of_war.ogg}
|
||||||
|
|
||||||
# {LOW_PRESTART}
|
|
||||||
|
|
||||||
[story]
|
[story]
|
||||||
[part]
|
[part]
|
||||||
story= _ "It was clear to Kalenz and Cleodil that there would be no sanctuary for them while Landar lived. But during their years in seclusion the fame of their deeds had only grown. Many healers and sorceresses responded to Cleodil’s call, and Kalenz found that recruits came to him as readily as if he were still High Lord in name."
|
story= _ "It was clear to Kalenz and Cleodil that there would be no sanctuary for them while Landar lived. But during their years in seclusion the fame of their deeds had only grown. Many healers and sorceresses responded to Cleodil’s call, and Kalenz found that recruits came to him as readily as if he were still High Lord in name."
|
||||||
|
@ -54,8 +52,8 @@
|
||||||
controller=human
|
controller=human
|
||||||
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
||||||
{GOLD 100 100 100}
|
{GOLD 100 100 100}
|
||||||
x=42
|
x=46
|
||||||
y=29
|
y=39
|
||||||
#ifndef MULTIPLAYER
|
#ifndef MULTIPLAYER
|
||||||
[unit]
|
[unit]
|
||||||
{CLEODIL}
|
{CLEODIL}
|
||||||
|
@ -70,47 +68,64 @@
|
||||||
[event]
|
[event]
|
||||||
name=prestart
|
name=prestart
|
||||||
|
|
||||||
# transfer our veterans except Anduilas to side 2
|
# modify 2/3 of the non-loyal, non-shaman-line units to join Landar
|
||||||
# wmllint: recognize Anduilas
|
{MODIFY_UNIT (id=Landar) side 3}
|
||||||
[store_unit]
|
[store_unit]
|
||||||
#TODO spellcheck
|
#TODO spellcheck
|
||||||
variable=steal_wearer
|
variable=steal_wearer
|
||||||
kill=yes
|
kill=yes
|
||||||
[filter]
|
[filter]
|
||||||
side=1
|
side=1
|
||||||
# role=kalenz_loyal
|
x,y=recall,recall
|
||||||
[not]
|
[not]
|
||||||
id=Kalenz
|
id=Kalenz
|
||||||
[/not]
|
[/not]
|
||||||
# wmllint: recognize Anduilas
|
|
||||||
[not]
|
[not]
|
||||||
id=Anduilas
|
id=Anduilas
|
||||||
[/not]
|
[/not]
|
||||||
# wmllint: recognize Landar
|
|
||||||
[not]
|
[not]
|
||||||
id=Landar
|
{FILTER_LOYALS}
|
||||||
|
[/not]
|
||||||
|
[not]
|
||||||
|
type={ELVES_NON_STEEL}
|
||||||
[/not]
|
[/not]
|
||||||
#TODO find a solution for the filltering
|
|
||||||
#[not]
|
|
||||||
# type={SHAMANS}
|
|
||||||
#[/not]
|
|
||||||
[/filter]
|
[/filter]
|
||||||
[/store_unit]
|
[/store_unit]
|
||||||
|
{FOREACH steal_wearer u}
|
||||||
{FOREACH steal_wearer i}
|
{RANDOM (2,1,2)}
|
||||||
{VARIABLE steal_wearer[$i].side 2}
|
[if]
|
||||||
|
[variable]
|
||||||
|
name=random
|
||||||
|
numerical_equals=1
|
||||||
|
[/variable]
|
||||||
|
[then]
|
||||||
|
{VARIABLE steal_wearer[$u].side 2}
|
||||||
|
{VARIABLE steal_wearer[$u].role kalenz_loyal}
|
||||||
[unstore_unit]
|
[unstore_unit]
|
||||||
variable=steal_wearer[$i]
|
variable=steal_wearer[$u]
|
||||||
x,y=recall,recall
|
x,y=recall,recall
|
||||||
[/unstore_unit]
|
[/unstore_unit]
|
||||||
{NEXT i}
|
[/then]
|
||||||
{CLEAR_VARIABLE i}
|
[else]
|
||||||
|
{VARIABLE steal_wearer[$u].side 3}
|
||||||
|
{VARIABLE steal_wearer[$u].role landar_loyal}
|
||||||
|
[unstore_unit]
|
||||||
|
variable=steal_wearer[$u]
|
||||||
|
x,y=recall,recall
|
||||||
|
[/unstore_unit]
|
||||||
|
[/else]
|
||||||
|
[/if]
|
||||||
|
{NEXT u}
|
||||||
{CLEAR_VARIABLE steal_wearer}
|
{CLEAR_VARIABLE steal_wearer}
|
||||||
|
|
||||||
{LOW_STEAL_UNIT_TO "Landar" 3}
|
|
||||||
|
|
||||||
# recall our loyals
|
# recall our loyals
|
||||||
{RECALL_LOYALS}
|
{RECALL_LOYALS}
|
||||||
|
|
||||||
|
[recall]
|
||||||
|
id=Landar
|
||||||
|
x=15
|
||||||
|
y=38
|
||||||
|
[/recall]
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
# wmllint: recognize Uradredia
|
# wmllint: recognize Uradredia
|
||||||
|
@ -160,17 +175,12 @@
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
[side]
|
[side]
|
||||||
{PLAYABLE}
|
|
||||||
[unit]
|
|
||||||
{LANDAR}
|
|
||||||
#wmllint: recognize Landar
|
|
||||||
x=15
|
|
||||||
y=38
|
|
||||||
[/unit]
|
|
||||||
side=3
|
side=3
|
||||||
#ifndef MULTIPLAYER
|
#ifndef MULTIPLAYER
|
||||||
controller=ai
|
controller=ai
|
||||||
allow_player=no
|
allow_player=no
|
||||||
|
#else
|
||||||
|
{PLAYABLE}
|
||||||
#endif
|
#endif
|
||||||
no_leader=yes
|
no_leader=yes
|
||||||
team_name=landar
|
team_name=landar
|
||||||
|
@ -215,8 +225,8 @@
|
||||||
id=Crintil
|
id=Crintil
|
||||||
name=_ "Crintil"
|
name=_ "Crintil"
|
||||||
canrecruit=yes
|
canrecruit=yes
|
||||||
x=46
|
x=41
|
||||||
y=39
|
y=29
|
||||||
#ifdef EASY
|
#ifdef EASY
|
||||||
recruit=Elvish Archer, Elvish Fighter
|
recruit=Elvish Archer, Elvish Fighter
|
||||||
#endif
|
#endif
|
||||||
|
@ -227,7 +237,7 @@
|
||||||
recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
|
recruit=Elvish Archer, Elvish Fighter, Elvish Hero, Elvish Ranger
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
{GOLD 200 200 200}
|
{GOLD 180 220 260}
|
||||||
[ai]
|
[ai]
|
||||||
{NO_SCOUTS}
|
{NO_SCOUTS}
|
||||||
recruitment_ignore_bad_movement=yes
|
recruitment_ignore_bad_movement=yes
|
||||||
|
|
|
@ -25,8 +25,6 @@
|
||||||
{EXTRA_SCENARIO_MUSIC breaking_the_chains.ogg}
|
{EXTRA_SCENARIO_MUSIC breaking_the_chains.ogg}
|
||||||
{EXTRA_SCENARIO_MUSIC casualties_of_war.ogg}
|
{EXTRA_SCENARIO_MUSIC casualties_of_war.ogg}
|
||||||
|
|
||||||
# {LOW_PRESTART}
|
|
||||||
|
|
||||||
next_scenario=24_Epilogue
|
next_scenario=24_Epilogue
|
||||||
[story]
|
[story]
|
||||||
#TODO that story needs to be changed for multiplayer
|
#TODO that story needs to be changed for multiplayer
|
||||||
|
@ -43,7 +41,7 @@
|
||||||
{PLAYABLE}
|
{PLAYABLE}
|
||||||
# wmllint: recognize Kalenz
|
# wmllint: recognize Kalenz
|
||||||
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
extra_recruit=Elvish Fighter, Elvish Archer, Elvish Scout
|
||||||
{GOLD 200 160 160} #TODO too similar
|
{GOLD 200 180 160}
|
||||||
#ifndef MULTIPLAYER
|
#ifndef MULTIPLAYER
|
||||||
#TODO Let's keep cleodil out of multiplayer, shall we?
|
#TODO Let's keep cleodil out of multiplayer, shall we?
|
||||||
[unit]
|
[unit]
|
||||||
|
@ -57,16 +55,18 @@
|
||||||
|
|
||||||
[event]
|
[event]
|
||||||
name=prestart
|
name=prestart
|
||||||
{LOW_STEAL_UNIT_TO "Landar" 2}
|
|
||||||
{RECALL_LOYALS}
|
{RECALL_LOYALS}
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
[side]
|
[side]
|
||||||
side=2
|
side=2
|
||||||
|
{LANDAR}
|
||||||
|
controller=ai
|
||||||
persistent=yes
|
persistent=yes
|
||||||
save_id=Landar
|
save_id=Landar
|
||||||
{LANDAR}
|
#ifdef MULTIPLAYER
|
||||||
{PLAYABLE}
|
{PLAYABLE}
|
||||||
|
#endif
|
||||||
# wmllint: recognize Landar
|
# wmllint: recognize Landar
|
||||||
canrecruit=yes
|
canrecruit=yes
|
||||||
#ifdef EASY
|
#ifdef EASY
|
||||||
|
@ -132,16 +132,17 @@
|
||||||
[/message]
|
[/message]
|
||||||
[/event]
|
[/event]
|
||||||
|
|
||||||
#TODO add speech for Landar and Kalenz
|
|
||||||
[event]
|
[event]
|
||||||
name=last breath
|
name=last breath
|
||||||
# Second_unit (on kalenz's side) kills unit (on landar's side);
|
# Second_unit (on kalenz's side) kills unit (on landar's side);
|
||||||
# both came from the player's recall list and so have fought
|
# both came from the player's recall list and so have fought
|
||||||
# side by side.
|
# side by side.
|
||||||
[filter]
|
[filter]
|
||||||
|
side=2
|
||||||
role=landar_loyal
|
role=landar_loyal
|
||||||
[/filter]
|
[/filter]
|
||||||
[filter_second]
|
[filter_second]
|
||||||
|
side=1
|
||||||
role=kalenz_loyal
|
role=kalenz_loyal
|
||||||
[/filter_second]
|
[/filter_second]
|
||||||
[message]
|
[message]
|
||||||
|
@ -159,9 +160,11 @@
|
||||||
# Same as above but with roles exchanged. One of Landar's men
|
# Same as above but with roles exchanged. One of Landar's men
|
||||||
# kills his former comrade.
|
# kills his former comrade.
|
||||||
[filter]
|
[filter]
|
||||||
|
side=1
|
||||||
role=kalenz_loyal
|
role=kalenz_loyal
|
||||||
[/filter]
|
[/filter]
|
||||||
[filter_second]
|
[filter_second]
|
||||||
|
side=2
|
||||||
role=landar_loyal
|
role=landar_loyal
|
||||||
[/filter_second]
|
[/filter_second]
|
||||||
[message]
|
[message]
|
||||||
|
|
Loading…
Add table
Reference in a new issue