LoW::19,21,22,23:

Redid the recruit list management of the last chapter.

Fix for bug #19236
This commit is contained in:
Fabian Müller 2012-01-15 23:02:18 +00:00
parent 3bc6ea611d
commit ffad005a95
4 changed files with 58 additions and 131 deletions

View file

@ -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 #####

View file

@ -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]

View file

@ -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 Cleodils 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

View file

@ -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]