LoW: New side persistence thingy. Yee hoo!

This commit is contained in:
Fabian Müller 2009-09-07 22:08:15 +00:00
parent 301281906b
commit 83509dcac9
8 changed files with 166 additions and 300 deletions

View File

@ -31,7 +31,6 @@
### Kalenz's code ###
#wmllint: validate-off
#wmllint: recognize Olurf
[side]
{KALENZ}
{GOLD 200 180 100}
@ -43,12 +42,10 @@
# wmllint: recognize Landar
[/unit]
[/side]
#wmllint: validate-on
[event]
name=prestart
{RECALL_LOYALS}
# {CHECK_LANDAR}
[/event]
### /Kalenz's code ###
@ -85,30 +82,6 @@
{LIMIT_RECRUITS 2 (Dwarvish Berserker) 2}
#Olurf will return in a later scenario
# [event]
# name=victory
# [store_unit]
# variable=olurf_store
# [filter]
# id=Olurf
# [/filter]
# kill=no
# [/store_unit]
#
# [store_unit]
# variable=olurf_party
# [filter]
# [not]
# id=Olurf
# [/not]
# side=2
# [/filter]
# kill=no
# [/store_unit]
# [/event]
# Trolls have stepped on Olurf's land.
[event]
name=moveto

View File

@ -953,23 +953,6 @@
[event]
name=victory
# [store_unit]
# kill=no
# variable=galtrid_store
# [filter]
# id=Galtrid
# [/filter]
# [/store_unit]
# [store_unit]
# kill=no
# variable=galtrid_party
# [filter]
# side=2
# [not]
# id=Galtrid
# [/not]
# [/filter]
# [/store_unit]
{CLEAR_VARIABLE orc_reserve_used}
{CLEAR_VARIABLE orc_battlefield_strategy}
#undef ORC_BATTLEFIELD_EVALUATION

View File

@ -32,6 +32,11 @@
{KALENZ}
# wmllint: recognize Kalenz
recruit={ELVES}
[unit]
{LANDAR}
find_vacant=yes
# wmllint: recognize Landar
[/unit]
[/side]
#wmllint: validate-on
[side]
@ -123,9 +128,9 @@
[/objectives]
{RECALL_LOYALS}
# wmllint: recognize Landar
# wmllint: recognize Huraldur
{CHECK_LANDAR}
#{CHECK_LANDAR}
[/event]
# wmllint: directory spelling dastone

View File

@ -30,37 +30,37 @@
#wmllint: validate-off
[side]
side=1
controller=human
persistent=yes
save_id=Kalenz
no_leader=yes
{KALENZ}
# wmllint: recognize Kalenz
recruit={ELVES}
x=3
y=19
[unit]
{LANDAR}
find_vacant=yes
# wmllint: recognize Landar
[/unit]
[unit]
{CLEODIL}
find_vacant=yes
# wmllint: recognize Cleodil
[/unit]
[/side]
#wmllint: validate-on
[event]
name=prestart
[recall]
id=Kalenz
x=3
y=19
[/recall]
[/event]
[side]
side=2
controller=ai
no_leader=yes
# no_leader=yes
{FLAG_VARIANT undead}
[unit]
# [unit]
type=Saurian Ambusher
id=Hraurg
name= _ "Hraurg"
canrecruit=yes
x=22
y=24
[/unit]
# [/unit]
{GOLD 100 140 160}
{INCOME 4 8 12}
{FLAG_VARIANT undead}
@ -82,15 +82,15 @@
[side]
side=3
controller=ai
no_leader=yes
[unit]
# no_leader=yes
# [unit]
type=Saurian Ambusher
id=Spahr
name= _ "Spahr"
canrecruit=yes
x=26
y=2
[/unit]
# [/unit]
{GOLD 100 240 320}
{INCOME 4 8 12}
team_name=Saurians
@ -138,10 +138,6 @@
[/objectives]
{RECALL_LOYALS}
{CHECK_LANDAR}
# wmllint: recognize Landar
{CHECK_CLEODIL}
# wmllint: recognize Cleodil
[/event]
# [item]
@ -242,6 +238,12 @@
[/event]
#enddef
[event]
name=victory
#TODO remove the gold carrier overlay again
[/event]
[event]
name=side turn
first_time_only=no

View File

@ -28,17 +28,22 @@
{KALENZ}
# wmllint: recognize Kalenz
recruit={ELVES}
[unit]
{LANDAR}
find_vacant=yes
# wmllint: recognize Landar
[/unit]
[unit]
{CLEODIL}
find_vacant=yes
# wmllint: recognize Cleodil
[/unit]
[/side]
[event]
name=prestart
{RECALL_LOYALS}
# wmllint: recognize Landar
# wmllint: recognize Cleodil
# wmllint: recognize Olurf
{CHECK_LANDAR}
{CHECK_CLEODIL}
[/event]
#### /Kalenz's code ####
@ -50,8 +55,7 @@
controller=ai
save_id=olurf
persistent=yes
# no_leader=yes
# canrecruit=yes
canrecruit=yes
{GOLD 120 160 200}
{INCOME 4 8 12}
team_name=kalenz
@ -64,54 +68,10 @@
[/ai]
[/side]
#wmllint: validate-on
# {RECALL_AI_SIDE 2}
# [event]
#TODO make debug:cl work
#TODO unstore olurf's party
# name=prestart
# [unstore_unit]
# variable=olurf_store
# find_vacant=yes
# x=20
# y=25
# [/unstore_unit]
# [heal_unit]
# [filter]
# id=Olurf
# [/filter]
# amount=999
# [/heal_unit]
# {FOREACH olurf_party dwarf}
# [unstore_unit]
# variable=olurf_party[$dwarf]
# find_vacant=yes
# x=20
# y=25
# [/unstore_unit]
# [heal_unit]
# [filter]
# id=$olurf_party[$dwarf].id
# [/filter]
# amount=999
# [/heal_unit]
# {NEXT dwarf}
# {CLEAR_VARIABLE olurf_party}
# [/event]
[event]
name=victory
[store_unit]
variable=olurf_party
[filter]
side=2
[/filter]
[/store_unit]
{MODIFY_UNIT (side=2) side 1}
[/event]
#### Olurf's code ####

View File

@ -41,7 +41,7 @@
image=items/archery-target-right.png
[/item]
[event]
name=start
name=prestart
{SET_LABEL 12 2 (_ "River Telfar")}
@ -135,23 +135,23 @@
#enddef
## Sound for the River Telfar
## Sound for the River Telfar
{RIVER_SLOW 12 1}
{RIVER_SLOW 12 5}
# Northern Shallows
# Northern Shallows
{RIVER_FORD 14 9}
{RIVER_FAST 17 13}
{RIVER_FAST 19 15}
# Ford of Alyas
# Ford of Alyas
{RIVER_FORD 21 17}
{RIVER_FORD 23 19}
{RIVER_FORD 25 21}
# Ford of Tifranur
# Ford of Tifranur
{RIVER_FORD 37 30}
{RIVER_FORD 40 31}
{RIVER_FORD 43 32}
@ -214,54 +214,52 @@
#Kalenz
#wmllint: validate-off
[side]
side=1
no_leader=yes
controller=human
{KALENZ}
# wmllint: recognize Kalenz
x=42
y=10
team_name=player
user_team_name= _ "Player"
save_id=Kalenz
recruit={ELVES}
[unit]
{LANDAR}
# wmllint: recognize Landar
find_vacant=yes
[/unit]
[unit]
{CLEODIL}
# wmllint: recognize Cleodil
find_vacant=yes
[/unit]
[/side]
[event]
name=prestart
[recall]
id=Kalenz
x=42
y=10
[/recall]
# wmllint: recognize Kalenz
# the usual suspects
{RECALL_LOYALS}
{CHECK_LANDAR}
# wmllint: recognize Landar
{CHECK_CLEODIL}
# wmllint: recognize Cleodil
[store_unit]
[filter]
side=1
race=dwarf
[/filter]
variable=olurf_store
[/store_unit]
[/event]
### Allies ####
[side]
side=2
no_leader=yes
team_name=player
user_team_name= _ "Player"
recruit={ELVES}, Elvish Captain, Elvish Hero, Elvish Sorceress, Elvish Marksman, Elvish Ranger, Elvish Druid, Elvish Lord
persistent=yes
save_id=galtrid
# [unit]
# {GALTRID}
# x=33
# y=26
# [/unit]
# wmllint: recognize Galtrid
{GALTRID}
# wmllint: recognize Galtrid
x=33
y=26
{GOLD 250 300 400}
[ai]
@ -273,32 +271,18 @@
[/ai]
[/side]
#wmllint: validate-on
[event]
name=prestart
[recall]
side=2
id=Galtrid
x=33
y=26
[/recall]
[/event]
{STARTING_VILLAGES_ALL 2}
[side]
side=3
no_leader=yes
team_name=player
user_team_name= _ "Player"
[unit]
type=Elvish Marshal
id="El'Isomithir"
name=_ "El'Isomithir"
canrecruit=yes
x=13
y=35
[/unit]
type=Elvish Marshal
id="El'Isomithir"
name= _ "El'Isomithir"
canrecruit=yes
x=13
y=35
controller=ai
[ai]
villages_per_scout=20
@ -318,20 +302,15 @@
team_name=orcs
user_team_name= _ "Enemies"
{FLAG_VARIANT undead}
no_leader=yes
[unit]
type=Orcish Warlord
id=Mordrum
name=_ "Mordrum"
profile=portraits/orcs/warlord4.png
canrecruit=yes
x=4
y=12
[/unit]
type=Orcish Warlord
id=Mordrum
name= _ "Mordrum"
profile=portraits/orcs/warlord4.png
canrecruit=yes
x=4
y=12
{RECRUIT_ORC}
{GOLD 550 700 900}
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -352,21 +331,17 @@
[/side]
[side]
side=5
no_leader=yes
{FLAG_VARIANT undead}
[unit]
type=Orcish Warlord
id=Urug-Pir
name=_ "Urug-Pir"
profile=portraits/orcs/warlord3.png
canrecruit=yes
x=6
y=21
[/unit]
type=Orcish Warlord
id=Urug-Pir
name=_ "Urug-Pir"
profile=portraits/orcs/warlord3.png
canrecruit=yes
x=6
y=21
{RECRUIT_ORC}
{GOLD 300 500 730}
{INCOME 4 8 12}
team_name=orcs
user_team_name= _ "Enemies"
[ai]
@ -381,22 +356,18 @@
grouping=no
attack_depth=5
[/ai]
{INCOME 4 8 12}
[/side]
[side]
side=6
no_leader=yes
team_name=orcs
user_team_name= _ "Enemies"
{FLAG_VARIANT undead}
[unit]
type=Great Troll
id=Truugl
name= _ "Truugl"
canrecruit=yes
x=26
y=7
[/unit]
type=Great Troll
id=Truugl
name= _ "Truugl"
canrecruit=yes
x=26
y=7
#ifdef EASY
recruit=Troll Whelp
#endif
@ -406,7 +377,6 @@
#ifdef HARD
recruit=Troll Whelp, Troll, Troll Rocklobber, Troll Shaman, Troll Warrior
#endif
{GOLD 350 520 630}
{INCOME 4 8 12}
[ai]
@ -438,22 +408,17 @@
side=7
team_name=orcs
user_team_name= _ "Enemies"
no_leader=yes
{FLAG_VARIANT undead}
[unit]
type=Orcish Warlord
id=Grubr
name= _ "Grubr"
profile=portraits/orcs/warlord5.png
canrecruit=yes
x=25
y=42
[/unit]
{FLAG_VARIANT undead}
type=Orcish Warlord
id=Grubr
name= _ "Grubr"
profile=portraits/orcs/warlord5.png
canrecruit=yes
x=25
y=42
{RECRUIT_ORC}
{GOLD 400 550 650}
{INCOME 4 8 12}
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -471,32 +436,32 @@
#### Objectives and corresponding events ####
#define OBJECTIVES
side=1
[objective]
description= _ "Defeat all enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Death of Kalenz"
condition=lose
[/objective]
[objective]
description= _ "Death of Landar"
condition=lose
[/objective]
[objective]
description= _ "Death of Cleodil"
condition=lose
[/objective]
[objective]
description= _ "Death of Galtrid"
condition=lose
[/objective]
[objective]
description= _ "Turns run out"
condition=lose
[/objective]
note={NO_GOLD_CARRYOVER_NOTE}
side=1
[objective]
description= _ "Defeat all enemy leaders"
condition=win
[/objective]
[objective]
description= _ "Death of Kalenz"
condition=lose
[/objective]
[objective]
description= _ "Death of Landar"
condition=lose
[/objective]
[objective]
description= _ "Death of Cleodil"
condition=lose
[/objective]
[objective]
description= _ "Death of Galtrid"
condition=lose
[/objective]
[objective]
description= _ "Turns run out"
condition=lose
[/objective]
note={NO_GOLD_CARRYOVER_NOTE}
#enddef
[event]
@ -546,7 +511,6 @@
id=Kalenz
message= _ "These are hardened orc and troll veterans. Men, prepare for a long, hard fight..."
[/message]
[/event]
### INTRO ####
@ -563,13 +527,8 @@
[/event]
#TODO disable the ai controller after the scenario
### /AI_CONTROLLER ###
### OLURF ###
[event]
name=prestart
{CHECK_OLURF_STORE ({IS_HERO})}
[/event]
[event]
name=olurf
@ -584,11 +543,9 @@
[/unstore_unit]
{NEXT dwarf}
{CLEAR_VARIABLE olurf_party}
[recall]
id=Olurf
x=42
y=2
[/recall]
{RECALL_OR_CREATE_UNIT ({OLURF}
x,y=42,2) "Olurf"}
#wmllint: recognize Olurf
{MODIFY_UNIT (id=Olurf) canrecruit no}
@ -599,7 +556,7 @@
[objectives]
{OBJECTIVES}
#undef OBJECTIVES
#undef OBJECTIVES
[objective]
description= _ "Death of Olurf"
condition=lose
@ -641,7 +598,7 @@
[unit]
type=Orcish Warrior
id=Pirorr
name=_ "Pirorr"
name= _ "Pirorr"
side=7
x=1
y=43

View File

@ -33,6 +33,21 @@
# wmllint: recognize Kalenz
recruit={ELVES},{DWARVES}
{GOLD 287 260 230}
[unit]
{LANDAR}
# wmllint: recognize Landar
find_vacant=yes
[/unit]
[unit]
{CLEODIL}
# wmllint: recognize Cleodil
find_vacant=yes
[/unit]
[unit]
{OLURF}
# wmllint: recognize Olurf
find_vacant=yes
[/unit]
[/side]
#wmllint: validate-on
[event]
@ -43,20 +58,15 @@
# wmllint: recognize Tameril-Isimeril
# wmllint: recognize Laril
[recall]
id=Olurf # wmllint: recognize Olurf
[/recall]
{CHECK_LANDAR} # wmllint: recognize Landar
{CHECK_CLEODIL} # wmllint: recognize Cleodil
{CHECK_OLURF}
# these have been left behind to guard the Ka'lian
[store_unit]
variable=l3_store
kill=yes
[filter]
type=Elvish Marshal,Elvish Champion,Elvish Avenger,Elvish Sharpshooter
[not]
{FILTER_LOYALS}
[/not]
#Don't store units on the gameboard
x,y=recall,recall
[/filter]

View File

@ -71,16 +71,13 @@
village_gold=0
#This sets the income to 0
{INCOME -2 -2 -2}
[unit]
{LANDAR}
find_vacant=yes
# wmllint: recognize Landar
[/unit]
[/side]
#wmllint: validate-on
[event]
name=prestart
[recall]
id=Landar
[/recall]
{CHECK_LANDAR}
[/event]
[side]
type=Orcish Sovereign
@ -90,7 +87,6 @@
canrecruit=no
{GOLD 150 230 300}
team_name=orcs
[ai]
ai_algorithm=idle_ai
[/ai]
@ -104,22 +100,17 @@
profile=portraits/orcs/warlord.png
side=3
canrecruit=yes
{GOLD 150 230 300}
team_name=orcs
#ifdef EASY
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Goblin Spearman
#endif
#ifdef NORMAL
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Knight, Orcish Slayer, Goblin Pillager, Goblin Spearman, Orcish Warrior
#endif
#ifdef HARD
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman, Orcish Warrior
#endif
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -140,9 +131,7 @@
name=_ "Khrubar"
profile=portraits/orcs/warlord2.png
canrecruit=yes
{GOLD 100 100 100 }
#ifdef EASY
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Goblin Spearman
#endif
@ -152,7 +141,6 @@
#ifdef HARD
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman, Orcish Warrior
#endif
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -170,22 +158,17 @@
profile=portraits/orcs/warlord3.png
side=5
canrecruit=yes
{GOLD 100 100 100 }
{GOLD 100 100 100}
team_name=orcs
#ifdef EASY
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Goblin Spearman
#endif
#ifdef NORMAL
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Knight, Orcish Slayer, Goblin Pillager, Goblin Spearman, Orcish Warrior
#endif
#ifdef HARD
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman, Orcish Warrior
#endif
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -207,19 +190,15 @@
canrecruit=yes
{GOLD 100 100 100}
team_name=orcs
#ifdef EASY
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Pillager, Goblin Knight, Goblin Spearman
#endif
#ifdef NORMAL
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Goblin Knight, Orcish Slayer, Goblin Pillager, Goblin Spearman, Orcish Warrior
#endif
#ifdef HARD
recruit=Orcish Archer, Orcish Assassin, Orcish Grunt, Wolf Rider, Orcish Crossbowman, Orcish Warrior, Goblin Knight, Goblin Pillager, Orcish Slayer, Goblin Spearman, Orcish Warrior
#endif
[ai]
{NO_SCOUTS}
recruitment_ignore_bad_movement=yes
@ -235,7 +214,6 @@
side=7
no_leader=yes
team_name=orcs
[ai]
version=10703
[stage]
@ -247,8 +225,6 @@
[event]
name=prestart
# wmllint: recognize Cleodil
[objectives]
side=1
[objective]