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