LoW::21,22,23

Recoded the recall list management to reflect the changes to scenario
19.  New story: Kalenz former army is splitt in two, two thirds
supports Landar, one third is still loyal to Kalenz. The player has to
slay the army he growed so far, what a happy thought ;-)
This commit is contained in:
Fabian Müller 2009-04-12 19:25:17 +00:00
parent 8c28d2957a
commit 1a3179b76b
3 changed files with 113 additions and 72 deletions

View file

@ -54,7 +54,46 @@
[/side]
# wmllint: validate-on
# wmllint: recognize Kalenz
{RECALL_KALENZ 17 14}
[event]
name=prestart
{RECALL_KALENZ 17 14}
# wmllint: recognize Kalenz
[store_unit]
variable=landar_store
kill=yes
[filter]
# wmllint: recognize Landar
id=Landar
[/filter]
[/store_unit]
[store_unit]
#TODO spellcheck
variable=steal_wearer
kill=yes
[filter]
side=1
[not]
id=Kalenz
[/not]
[not]
# wmllint: recognize Andulias
id=Andulias
[/not]
[/filter]
[/store_unit]
[unstore_unit]
variable=cleodil
x,y=recall
[/unstore_unit]
{RECALL_LOYALS}
{CHECK_CLEODIL}
[/event]
[side]
side=2
@ -185,49 +224,6 @@
condition=lose
[/objective]
[/objectives]
[store_unit]
variable=healer_store
kill=yes
[filter]
side=1
type={SHAMANS}
[not]
# wmllint: recognize Cleodil
id=Cleodil
[/not]
[/filter]
[/store_unit]
[store_unit]
variable=landar_store
kill=yes
[filter]
# wmllint: recognize Landar
id=Landar
[/filter]
[/store_unit]
# wmllint: recognize Kalenz
[store_unit]
variable=troop_store
kill=yes
[filter]
side=1
[not]
id=Kalenz
[/not]
[not]
[filter_wml]
upkeep="loyal"
[/filter_wml]
[/not]
[/filter]
[/store_unit]
{RECALL_LOYALS}
{CHECK_CLEODIL}
[/event]
[event]

View file

@ -37,6 +37,21 @@
[/side]
# wmllint: recognize Kalenz
{RECALL_KALENZ 42 29}
[event]
name=prestart
{FOREACH faeries i}
[unstore_unit]
variable=faeries[$i]
x,y=recall,recall
[/unstore_unit]
{NEXT i}
{RECALL_LOYALS}
{CHECK_CLEODIL}
{CLEAR_VARIABLE faeries}
[/event]
[side]
side=2
@ -152,18 +167,6 @@
[/objective]
[/objectives]
{RECALL_LOYALS}
{CHECK_CLEODIL}
{FOREACH healer_store i}
[unstore_unit]
variable=healer_store[$i]
[/unstore_unit]
{NEXT i}
{CLEAR_VARIABLE healer_store}
{CHECK_LANDAR_STORE ()}
{VARIABLE landar_store.side 3}
@ -233,7 +236,7 @@
name=victory
[store_unit]
variable=landar_store
variable=landar
kill=yes
[filter]
id=Landar

View file

@ -32,6 +32,12 @@
{GOLD 200 160 160}
[/side]
#wmllint: validate-on
[event]
name=prestart
{RECALL_LOYALS}
{CHECK_CLEODIL}
[/event]
[side]
side=2
no_leader=yes
@ -67,8 +73,52 @@
[/ai]
{INCOME 4 8 12}
[/side]
[event]
name=prestart
# wmllint: recognize Landar
{CHECK_LANDAR_STORE ()}
# wmllint: recognize Landar
{VARIABLE landar.side 2}
[unstore_unit]
variable=landar_store # wmllint: recognize Landar
x=33
y=29
[/unstore_unit]
{CLEAR_VARIABLE landar_store}
[/event]
#divide the army in two
[event]
name=prestart
{FOREACH steal_wearer unit}
{RANDOM (2,1,2)}
[if]
[variable]
name=random
numerical_equals=1
[/variable]
[then]
[unstore_unit]
variable=steal_wearer[$unit]
x,y=recall
[/unstore_unit]
[/then]
[else]
[unstore_unit]
variable=steal_wearer[$unit]
x=33
y=29
[/unstore_unit]
{MODIFY_UNIT (id=steal_wearer[$unit].id) side 2}
[/else]
[/if]
[/event]
#### /Side setup ####
#### Scenario Objectives ####
[event]
name=prestart
@ -90,22 +140,11 @@
description= _ "Turns run out"
condition=lose
[/objective]
note={NO_EARLY_FINISH_BONUS_NOTE}
note={NO_GOLD_CARRYOVER_NOTE}
[/objectives]
{RECALL_LOYALS}
{CHECK_CLEODIL}
{CHECK_LANDAR_STORE ()}
{VARIABLE landar_store.x 33}
{VARIABLE landar_store.y 29}
{VARIABLE landar_store.side 2}
[unstore_unit]
variable=landar_store # wmllint: recognize Landar
[/unstore_unit]
{CLEAR_VARIABLE landar_store}
[/event]
[event]
name=start
[message]
@ -117,11 +156,13 @@
message= _ "No! It all ends here!"
[/message]
[/event]
[event]
name=last breath
[filter]
id=Landar
[/filter]
[message]
id=Landar
message= _ "I'm done. Now I can rest!"
@ -140,6 +181,7 @@
[/message]
[kill]
id=Landar
animate=yes
[/kill]
[endlevel]
result=victory