Merge ANL as per patch #936 + Some auto fixes by wmllint
This commit is contained in:
parent
d10c11f8c6
commit
50d48d6747
12 changed files with 2550 additions and 18 deletions
|
@ -16,3 +16,6 @@
|
|||
{~scenarios/multiplayer/}
|
||||
|
||||
{multiplayer/eras.cfg}
|
||||
[textdomain]
|
||||
textdomain = wesnoth-anl
|
||||
[/textdomain]
|
||||
|
|
59
data/multiplayer/maps/4p_A_New_Land.map
Normal file
59
data/multiplayer/maps/4p_A_New_Land.map
Normal file
|
@ -0,0 +1,59 @@
|
|||
border_size=1
|
||||
usage=map
|
||||
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Aa , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Aa , Xu , Aa , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Xu , Aa , Aa , Aa , Xu , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Uu , Uu , Uu , Xu , Ds , Xu , Xu , Xu , Ds , Xu , Uu , Uu , Uu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Xu , Uu , Xu , Uu , Xu , Ds , Ds , Xu , Ds , Ds , Xu , Uu , Xu , Uu , Xu , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Wo , Xu , Xu , Xu , Xu , Uu , Xu , Xu , Xu , Xu , Ql , Xu , Xu , Xu , Xu , Uu , Xu , Xu , Xu , Xu , Wo , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Wo , Xu , Wo , Xu , Rd , Rd , Xu , Dd , Dd , Xu , Ql , Ql , Ql , Xu , Dd , Dd , Xu , Rd , Rd , Xu , Wo , Xu , Wo , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Xu , Wo , Wo , Wo , Xu , Rd , Xu , Xu , Xu , Xu , Xu , Ql , Ql , Ql , Xu , Xu , Xu , Xu , Xu , Rd , Xu , Wo , Wo , Wo , Xu , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ww , Ww , Ww , Xu , Wo , Xu , Xu , Xu , Ww , Xu , Uu , Qxu , Ww , Ww , Uh , Xu , Xu , Xu , Uh , Ww , Ww , Qxu , Uu , Xu , Ww , Xu , Xu , Xu , Wo , Xu , Ww , Ww , Ww , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Xu , Ww , Xu , Ww , Xu , Wo , Wo , Xu , Ww , Ww , Xu , Qxu , Gg , Ww , Xu , Uu , Uu , Xu , Uu , Uu , Xu , Ww , Gg , Qxu , Xu , Ww , Ww , Xu , Wo , Wo , Xu , Ww , Xu , Ww , Xu , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Ai , Xu , Xu , Xu , Xu , Ww , Xu , Xu , Xu , Xu , Qxu , Xu , Xu , Xu , Xu , Ww , Gg , Ww , Xu , Xu , Qxu , Xu , Xu , Ww , Gg , Ww , Xu , Xu , Xu , Xu , Qxu , Xu , Xu , Xu , Xu , Ww , Xu , Xu , Xu , Xu , Ai , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Xu , Ai , Xu , 5 Kud , Cud , Xu , Cud , Xu , Gg , Uu , Uu^Vu , Qxu , Xu , Ql , Ql , Xu , Gs^Fp , Gg , Gg , Xu , Qxu , Xu , Gg , Gg , Gs^Fp , Xu , Ql , Ql , Xu , Qxu , Uu^Vu , Uu , Gg , Xu , Cud , Xu , Cud , 6 Kud , Xu , Ai , Xu , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Xu , Ai , Ai , Ai , Xu , Cud , Rr , Cud , Gg , Gg , Rr , Rr , Rr , Uu , Xu , Ql , Xu , Xu , Xu , Gs^Fp , Gg , Xu , Gs^Fp , Xu , Gg , Gs^Fp , Xu , Xu , Xu , Ql , Xu , Uu , Rr , Rr , Rr , Gg , Gg , Cud , Rr , Cud , Xu , Ai , Ai , Ai , Xu , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Aa , Aa , Aa , Xu , Wo , Xu , Xu , Xu , Cud , Cud , Gg , Rr , Rr , Rr , Xu , Xu , Xu , Rr , Rr , Xu , Gg , Hh , Gg , Xu , Gg , Gg , Gg , Gg , Gg , Xu , Gg , Hh , Gg , Xu , Rr , Rr , Xu , Xu , Xu , Rr , Rr , Rr , Gg , Cud , Cud , Xu , Xu , Xu , Wo , Xu , Aa , Aa , Aa , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Aa , Xu , Aa , Xu , Wo , Wo , Xu , Xu , Ww , Ww , Gg , Gg , Rr , Xu , Uu , Uu , Xu , Gs^Fp , Gs^Fp , Rr , Rr , Gg , Cud , Xu , Gg , Gg , Gg^Vh , Gg , Gg , Xu , Cud , Gg , Rr , Rr , Gs^Fp , Gs^Fp , Xu , Uu , Uu , Xu , Rr , Gg , Gg , Ww , Ww , Xu , Xu , Wo , Wo , Xu , Aa , Xu , Aa , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Xu , Aa , Xu , Xu , Xu , Xu , Ql , Xu , Xu , Ww , Gg , Gg , Rr , Xu , Xu , Ql , Gs^Fp , Xu , Xu , Xu , Xu , Rr , Ds , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Ds , Rr , Xu , Xu , Xu , Xu , Gs^Fp , Ql , Xu , Xu , Rr , Gg , Gg , Ww , Xu , Xu , Ql , Xu , Xu , Xu , Xu , Aa , Xu , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Xu , Ww , Ww , Xu , Ql , Ql , Ql , Xu , Uu^Vu , Gs^Fp , Gg , Rr , Uh , Xu , Gs^Fp , Mm , Gs^Fp , Xu , Hh , Wwf , Rr , Gg , Ss , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Ss , Gg , Rr , Wwf , Hh , Xu , Gs^Fp , Mm , Gs^Fp , Xu , Uh , Rr , Gg , Gs^Fp , Uu^Vu , Xu , Ql , Ql , Ql , Xu , Ww , Ww , Xu , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ww , Xu , Ql , Ql , Ql , Xu , Hh , Xu , Gg , Rr , Uh , Xu , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gg , Ww , Rr , Gs^Fp , Gg , Hh , Gg , Gg , Gg , Hh , Gg , Gs^Fp , Rr , Ww , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Xu , Uh , Rr , Gg , Xu , Hh , Xu , Ql , Ql , Ql , Xu , Ww , Xu , Xu , Xu , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Ds , Ds , Ds , Xu , Ai , Xu , Xu , Xu , Aa , Xu , Gs^Fp , Gg , Rr , Xu , Hh , Xu , Gg , Gg , Ss , Ds , Ww , Rr , Gg , Gg , Gg , Gg , Gg , Gg , Gg , Gg , Gg , Rr , Ww , Ds , Ss , Gg , Gg , Xu , Hh , Xu , Rr , Gg , Gs^Fp , Xu , Aa , Xu , Xu , Xu , Ai , Xu , Ds , Ds , Ds , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Ds , Xu , Ds , Xu , Ai , Ai , Xu , Aa , Aa , Xu , Gg , Gg , Rr , Xu , Rr , Gg , Gg , Gs^Fp , Ds , Ww , Gs^Fp , Mm , Gg , Gg , Gg , Gs^Fp , Hh , Gs^Fp , Gg , Gg , Gg , Mm , Gs^Fp , Ww , Ds , Gs^Fp , Gg , Gg , Rr , Xu , Rr , Gg , Gg , Xu , Aa , Aa , Xu , Ai , Ai , Xu , Ds , Xu , Ds , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Xu , Ds , Xu , Xu , Xu , Xu , Uu^Uf , Xu , Xu , Xu , Xu , Cud , Gg , Rr , Gg , Rr , Rr , Gg , Gg , Ww , Xu , Gs^Fp , Gg , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Gg , Gs^Fp , Xu , Ww , Gg , Gg , Rr , Rr , Gg , Rr , Gg , Cud , Xu , Xu , Xu , Xu , Uu^Uf , Xu , Xu , Xu , Xu , Ds , Xu , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Xu , Dd , Dd , Xu , Uu^Uf , Uu^Vu , Uu^Uf , Xu , Ql , Ql , Xu , Mm , Gg , Gs^Fp , Gg , Gs^Fp , Rr , Ww^Bw\ , Ww , Ss , Gg , Gg^Vh , Gs^Fp , Gg , Gg , Gs^Fp , Gg , Gg , Gs^Fp , Gg^Vh , Gg , Ss , Ww , Ww^Bw/ , Rr , Gs^Fp , Gg , Gs^Fp , Gg , Mm , Xu , Ql , Ql , Xu , Uu^Uf , Uu^Vu , Uu^Uf , Xu , Dd , Dd , Xu , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Xu , Xu , Xu , Dd , Xu , Uu^Uf , Uu^Uf , Uu^Uf , Gg , Gg , Gg , Xu , Xu , Gg , Ds , Ds , Ww , Ww , Hh , Rr , Gg , Gs^Fp , Gg , Rr , Ch , Ch , Gs^Fp , Ch , Ch , Rr , Gg , Gs^Fp , Gg , Rr , Hh , Ww , Ww , Ds , Ds , Gg , Xu , Xu , Gg , Gg , Gg , Uu^Uf , Uu^Uf , Uu^Uf , Xu , Dd , Xu , Xu , Xu , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Rd , Rd , Rd , Xu , Ql , Xu , Xu , Gg , Xu , Cud , Xu , Gg , Gg , Gg , Gg , Ww , Gs^Fp , Ds , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Gs^Fp , 1 Kh , Gs^Fp , 2 Kh , Gs^Fp , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Ds , Gs^Fp , Ww , Gg , Gg , Gg , Gg , Xu , Cud , Xu , Gg , Xu , Xu , Ql , Xu , Rd , Rd , Rd , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Rd , Xu , Rd , Xu , Ql , Ql , Xu , Xu , Xu , Xu , Xu , Xu , Gg , Uu^Vu , Gg , Wwf , Gs^Fp , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Gs^Fp , Wwf , Gg , Uu^Vu , Gg , Xu , Xu , Xu , Xu , Xu , Xu , Ql , Ql , Xu , Rd , Xu , Rd , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Xu , Rd , Xu , Xu , Xu , Xu , Uu^Uf , Gg , Gg , Cud , Gg , Gg , Xu , Gg , Ds , Ww , Ww , Ds , Hh , Gg , Gg , Gg , Gg , Gg , Ch , 3 Kh , Gs^Fp , 4 Kh , Ch , Gg , Gg , Gg , Gg , Gg , Hh , Ds , Ww , Ww , Ds , Gg , Xu , Gg , Gg , Cud , Gg , Gg , Uu^Uf , Xu , Xu , Xu , Xu , Rd , Xu , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Xu , Dd , Dd , Xu , Uu^Uf , Uu^Vu , Uu^Uf , Xu , Gg , Ql , Xu , Mm , Gg , Gs^Fp , Ds , Gs^Fp , Ww , Ww^Bw/ , Rr , Ss , Gs^Fp , Gg^Vh , Rr , Gg , Ch , Gs^Fp , Ch , Gg , Rr , Gg^Vh , Gs^Fp , Ss , Rr , Ww^Bw\ , Ww , Gs^Fp , Ds , Gs^Fp , Gg , Mm , Xu , Ql , Gg , Xu , Uu^Uf , Uu^Vu , Uu^Uf , Xu , Dd , Dd , Xu , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Xu , Xu , Xu , Dd , Xu , Uu^Uf , Uu^Uf , Uu^Uf , Xu , Ql , Xu , Xu , Gg , Gg , Gg , Gg , Rr , Rr , Gg , Ww , Xu , Gg , Gg , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Gg , Gg , Xu , Ww , Gg , Rr , Rr , Gg , Gg , Gg , Gg , Xu , Xu , Ql , Xu , Uu^Uf , Uu^Uf , Uu^Uf , Xu , Dd , Xu , Xu , Xu , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Ds , Ds , Ds , Xu , Ai , Xu , Xu , Xu , Aa , Xu , Gg , Cud , Rr , Rr , Rr , Rr , Gg , Gg , Ds , Ww , Gs^Fp , Gs^Fp , Gg , Gs^Fp , Gg , Gg , Hh , Gg , Gg , Gs^Fp , Gg , Gs^Fp , Gs^Fp , Ww , Ds , Gg , Gg , Rr , Rr , Rr , Rr , Cud , Gg , Xu , Aa , Xu , Xu , Xu , Ai , Xu , Ds , Ds , Ds , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Ds , Xu , Ds , Xu , Ai , Ai , Xu , Aa , Aa , Xu , Gs^Fp , Gg , Rr , Xu , Hh , Gg , Gg , Gs^Fp , Ss , Ww , Ww , Mm , Gg , Gg , Gg , Gs^Fp , Gg , Gs^Fp , Gg , Gg , Gg , Mm , Ww , Ww , Ss , Gs^Fp , Gg , Gg , Hh , Xu , Rr , Gg , Gs^Fp , Xu , Aa , Aa , Xu , Ai , Ai , Xu , Ds , Xu , Ds , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Xu , Ds , Xu , Xu , Xu , Xu , Ql , Xu , Xu , Xu , Xu , Gg , Rr , Xu , Xu , Xu , Gs^Fp , Gg , Gg , Ds , Ww , Rr , Gs^Fp , Gg , Hh , Gg , Gg , Gg , Hh , Gg , Gs^Fp , Rr , Ww , Ds , Gg , Gg , Gs^Fp , Xu , Xu , Xu , Rr , Gg , Xu , Xu , Xu , Xu , Ql , Xu , Xu , Xu , Xu , Ds , Xu , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Xu , Ww , Ww , Xu , Ql , Ql , Ql , Xu , Hh , Gs^Fp , Gg , Rr , Uh , Xu , Gs^Fp , Mm , Gs^Fp , Xu , Gg , Wwf , Rr , Gg , Gg , Gg , Gg , Gs^Fp , Gg , Gg , Gg , Gg , Rr , Wwf , Gg , Xu , Gs^Fp , Mm , Gs^Fp , Xu , Uh , Rr , Gg , Gs^Fp , Hh , Xu , Ql , Ql , Ql , Xu , Ww , Ww , Xu , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ww , Xu , Ql , Ql , Ql , Xu , Uu^Vu , Gg , Gg , Rr , Uh , Xu , Gs^Fp , Gs^Fp , Gs^Fp , Xu , Hh , Xu , Rr , Ds , Ss , Gg , Gs^Fp , Gs^Fp , Gs^Fp , Gg , Ss , Ds , Rr , Xu , Hh , Xu , Gs^Fp , Gs^Fp , Gs^Fp , Xu , Uh , Rr , Gg , Gg , Uu^Vu , Xu , Ql , Ql , Ql , Xu , Ww , Xu , Xu , Xu , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Aa , Aa , Aa , Xu , Wo , Xu , Xu , Xu , Ww , Ww , Gg , Gg , Rr , Xu , Ql , Gs^Fp , Xu , Xu , Gs^Fp , Xu , Rr , Rr , Cud , Gg , Gg , Gg , Gg^Vh , Gg , Gg , Gg , Cud , Rr , Rr , Xu , Gs^Fp , Xu , Xu , Ql , Uu , Xu , Rr , Gg , Gg , Ww , Ww , Xu , Xu , Xu , Wo , Xu , Aa , Aa , Aa , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Aa , Xu , Aa , Xu , Wo , Wo , Xu , Xu , Cud , Ww , Gg , Gg , Rr , Xu , Xu , Ql , Xu , Gs^Fp , Rr , Rr , Gg , Gg , Gg , Xu , Gg , Gg , Gg , Gg , Gg , Xu , Gg , Gg , Gg , Rr , Rr , Gs^Fp , Xu , Uu , Xu , Xu , Rr , Gg , Gg , Ww , Cud , Xu , Xu , Wo , Wo , Xu , Aa , Xu , Aa , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Xu , Xu , Aa , Xu , Xu , Xu , Xu , Ai , Xu , Xu , Cud , Rr , Rr , Gg , Rr , Rr , Xu , Rr , Rr , Xu , Xu , Xu , Hh , Xu , Xu , Gg , Gg , Gs^Fp , Gg , Gg , Xu , Xu , Hh , Xu , Xu , Xu , Rr , Rr , Xu , Rr , Rr , Gg , Rr , Rr , Cud , Xu , Xu , Ai , Xu , Xu , Xu , Xu , Aa , Xu , Xu , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Xu , Ai , Xu , Ai , Xu , Cud , Cud , Cud , Cud , Gg , Gg , Rr , Uu^Vu , Uu , Xu , Ql , Ql , Xu , Gs^Fp , Gs^Fp , Gg , Xu , Qxu , Xu , Gg , Gs^Fp , Gs^Fp , Xu , Ql , Ql , Xu , Uu , Uu^Vu , Rr , Gg , Gg , Cud , Cud , Cud , Cud , Xu , Ai , Xu , Ai , Xu , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Ai , Xu , 7 Kud , Xu , Xu , Xu , Xu , Xu , Uu , Qxu , Qxu , Xu , Ql , Xu , Xu , Gg , Gg , Xu , Xu , Qxu , Xu , Xu , Gg , Gg , Xu , Xu , Ql , Xu , Qxu , Qxu , Uu , Xu , Xu , Xu , Xu , Xu , 8 Kud , Xu , Ai , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Xu , Ww , Ww , Ww , Xu , Wo , Xu , Xu , Xu , Ww , Xu , Qxu , Ww , Ww , Ww , Uu , Xu , Xu , Xu , Uu , Ww , Ww , Ww , Qxu , Xu , Ww , Xu , Xu , Xu , Wo , Xu , Ww , Ww , Ww , Xu , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ww , Xu , Ww , Xu , Wo , Wo , Xu , Ww , Ww , Xu , Uu , Gg , Ww , Xu , Uh , Uu , Xu , Uu , Uh , Xu , Ww , Gg , Uu , Xu , Ww , Ww , Xu , Wo , Wo , Xu , Ww , Xu , Ww , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Ww , Xu , Xu , Xu , Xu , Wo , Xu , Xu , Xu , Xu , Qxu , Xu , Ww , Xu , Xu , Ql , Xu , Xu , Ww , Xu , Qxu , Xu , Xu , Xu , Xu , Wo , Xu , Xu , Xu , Xu , Ww , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Xu , Wo , Xu , Wo , Xu , Rd , Rd , Xu , Dd , Xu , Xu , Ql , Ql , Ql , Xu , Xu , Dd , Xu , Rd , Rd , Xu , Wo , Xu , Wo , Xu , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Wo , Wo , Wo , Xu , Rd , Xu , Xu , Xu , Dd , Xu , Ql , Ql , Ql , Xu , Dd , Xu , Xu , Xu , Rd , Xu , Wo , Wo , Wo , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Xu , Uu , Uu , Uu , Xu , Ds , Xu , Xu , Xu , Ds , Xu , Uu , Uu , Uu , Xu , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Uu , Xu , Uu , Xu , Ds , Ds , Xu , Ds , Ds , Xu , Uu , Xu , Uu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Uu , Xu , Xu , Xu , Xu , Aa , Xu , Xu , Xu , Xu , Uu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Ai , Ai , Xu , Aa , Xu , Aa , Xu , Ai , Ai , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Aa , Aa , Aa , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Xu , Xu , Xu , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
||||
Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai , Ai
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
{UNIT_STONE "Sky Drake" "" 27 14}
|
||||
[+unit]
|
||||
description=_ "The winds of the dark sky blew so cold,
|
||||
id=_ "The winds of the dark sky blew so cold,
|
||||
The moon was high, the night was old,
|
||||
Brave was the drake that dared forsake
|
||||
His home to steal the Basilisk's gold.
|
||||
|
@ -97,18 +97,18 @@ His home to steal the Basilisk's gold.
|
|||
{UNIT_STONE "Saurian Flanker" _"Xikkrisx" 40 8}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "Xikkrisx of Syrsszk was a powerful Saurian warrior, sent to this region by the Elders of the Rysssrylosszkk Clan (translation: ''The Hunts-Foes-In-Boiling-Rivers Clan''). The Elders were preparing to make war on a human outpost, and were in great need of the powerful magics of Oxsrrsk, a Saurian Mystic who had last been seen heading in the direction of Ruaskkolin Lake. Xikkrisx found the petrified body of Oxsrrsk, along with a carefully bound scroll that had apparently been dropped into a small crevice in the cave floor. He opened the scroll and read a brief passage from the middle of the text: ''After he was bound and cast from the Upper World, Chak'kso's enraged spirit sought release, and was able to exert a corrupting influence on certain regions of the Upper World, channeled through ''pathways of stone'' that extend from the surface into the depths of the Under Reaches. This rage altered the eggs of great lizards, shaping their bodies and spirits into implements of Chak'kso's hatred.'' Confused, Xikkrisx fixed his attention on the task at hand. Thinking that perhaps the Elders could find some way to restore Oxsrrsk, he began the long and strenuous task of hauling the statue back to the domain of the Rysssrylosszkk Clan. Exhausted, and not having traveled far from the lake, Xikkrisx set the statue down inside of a small cave, and lay down to rest. He was awoken by a bone-chilling roar."
|
||||
id=_ "Xikkrisx of Syrsszk was a powerful Saurian warrior, sent to this region by the Elders of the Rysssrylosszkk Clan (translation: ''The Hunts-Foes-In-Boiling-Rivers Clan''). The Elders were preparing to make war on a human outpost, and were in great need of the powerful magics of Oxsrrsk, a Saurian Mystic who had last been seen heading in the direction of Ruaskkolin Lake. Xikkrisx found the petrified body of Oxsrrsk, along with a carefully bound scroll that had apparently been dropped into a small crevice in the cave floor. He opened the scroll and read a brief passage from the middle of the text: ''After he was bound and cast from the Upper World, Chak'kso's enraged spirit sought release, and was able to exert a corrupting influence on certain regions of the Upper World, channeled through ''pathways of stone'' that extend from the surface into the depths of the Under Reaches. This rage altered the eggs of great lizards, shaping their bodies and spirits into implements of Chak'kso's hatred.'' Confused, Xikkrisx fixed his attention on the task at hand. Thinking that perhaps the Elders could find some way to restore Oxsrrsk, he began the long and strenuous task of hauling the statue back to the domain of the Rysssrylosszkk Clan. Exhausted, and not having traveled far from the lake, Xikkrisx set the statue down inside of a small cave, and lay down to rest. He was awoken by a bone-chilling roar."
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Saurian Oracle" _"Oxsrrsk" 39 8}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "Oxsrrsk was a powerful Saurian Oracle, who had, in a raid against the rival Xraxss Clan, acquired (from the vaults of the now-dead Oracle Hesx-Rzzak) a most fascinating scroll. The scroll was entitled ''Ney'yks of the Granite Gaze,'' and told of a creature known as the ''Chak'kso Ney'yks,'' a name which, in an ancient saurian tongue, meant ''Eldest Child of Chak'kso.'' Chak'kso was believed to have been a powerful demigod of the Under Reaches, described as a ''great demon of the earth'' in the Elvish Histories. According to these histories, Chak'kso had once sought to transform all life on the planet to stone; so great was his hatred for creatures of flesh. He was ultimately defeated and bound by powerful magics, but in the centuries following his banishment (to a realm far below the surface of the world) a new breed of creature began appearing in the Histories, a breed with the ability to turn any being of flesh into stone. There was a period when these Basilisks (as they came to be known) wreaked havoc on the world of the living, turning thousands to stone. One by one, and at great cost, the Basilisks were defeated. All, it would seem, but one; the Basilisk known as ''The Ney'yks,'' or ''The Eldest Child,'' in the modern tongue. Supremely convinced of his ability to locate and bind this powerful creature into his service, Oxsrrsk set out on his journey..."
|
||||
id=_ "Oxsrrsk was a powerful Saurian Oracle, who had, in a raid against the rival Xraxss Clan, acquired (from the vaults of the now-dead Oracle Hesx-Rzzak) a most fascinating scroll. The scroll was entitled ''Ney'yks of the Granite Gaze,'' and told of a creature known as the ''Chak'kso Ney'yks,'' a name which, in an ancient saurian tongue, meant ''Eldest Child of Chak'kso.'' Chak'kso was believed to have been a powerful demigod of the Under Reaches, described as a ''great demon of the earth'' in the Elvish Histories. According to these histories, Chak'kso had once sought to transform all life on the planet to stone; so great was his hatred for creatures of flesh. He was ultimately defeated and bound by powerful magics, but in the centuries following his banishment (to a realm far below the surface of the world) a new breed of creature began appearing in the Histories, a breed with the ability to turn any being of flesh into stone. There was a period when these Basilisks (as they came to be known) wreaked havoc on the world of the living, turning thousands to stone. One by one, and at great cost, the Basilisks were defeated. All, it would seem, but one; the Basilisk known as ''The Ney'yks,'' or ''The Eldest Child,'' in the modern tongue. Supremely convinced of his ability to locate and bind this powerful creature into his service, Oxsrrsk set out on his journey..."
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Elvish Marksman" "" 2 11}
|
||||
[+unit]
|
||||
description=_ "Slim of Stature, dexterous Hands
|
||||
id=_ "Slim of Stature, dexterous Hands
|
||||
- - Seven Stones and Eleven
|
||||
Left his Foes so slim a Chance
|
||||
- - Seven Stones and Eleven
|
||||
|
@ -120,7 +120,7 @@ Marksman known as Dragonbane
|
|||
|
||||
{UNIT_STONE "Direwolf Rider" (_"Blum Duk") 10 17}
|
||||
[+unit]
|
||||
description=_ "Blum Duk was renowned among his goblin clan for having tamed one of the Dire Wolves of the mountains, and he had the courage to match. His leadership and skills alone were what kept the area's goblins alive despite human and elvish menaces. Rumor had it that his wolf had slain fifty men and a hundred Elves.
|
||||
id=_ "Blum Duk was renowned among his goblin clan for having tamed one of the Dire Wolves of the mountains, and he had the courage to match. His leadership and skills alone were what kept the area's goblins alive despite human and elvish menaces. Rumor had it that his wolf had slain fifty men and a hundred Elves.
|
||||
Thus, when he heard of the awful monster that was inhabiting the area, it was only natural that he ride out alone to face it. All the other goblins expected him to slay the creature easily and drag back its carcass to feast on.
|
||||
He was in for quite a shock. As soon as he saw the Basilisk, Blum Duk cowered in fright. He tried to wheel his wolf around to run away, but it wouldn't move. As the creature stalked towards him, he screamed his last words: Good Gog, dog, are yer legs made of stone?!?
|
||||
(inscribed by Elvish Pillager)"
|
||||
|
@ -128,26 +128,26 @@ He was in for quite a shock. As soon as he saw the Basilisk, Blum Duk cowered in
|
|||
|
||||
{UNIT_STONE "Armageddon Drake" _"Rah Ihn Mar" 11 14}
|
||||
[+unit]
|
||||
description=_ "Rah Ihn Mar, Champion of the Burning Hills, made his way to the Ruaskkolin Lake region in pursuit of the Elvish Hero Terowydlithrol, known amoung Elves as ''The Dragonbane.'' It was said that Terowydlithrol had killed a Dragon of Fire that threatened an Elvish village, and initiated a ''counterattack'' in which some 37 Drakes, camping in a nearby ravine and believed to be in allegiance with the Dragon, were slaughtered. Knowing that these Drakes were innocent, Rah Ihn Mar came to Ruaskkolin Lake to hunt down and slay Terowydlithrol, who had been seen entering the region but a day ago. Burning for vengeance, Rah Ihn Mar began the hunt....."
|
||||
id=_ "Rah Ihn Mar, Champion of the Burning Hills, made his way to the Ruaskkolin Lake region in pursuit of the Elvish Hero Terowydlithrol, known amoung Elves as ''The Dragonbane.'' It was said that Terowydlithrol had killed a Dragon of Fire that threatened an Elvish village, and initiated a ''counterattack'' in which some 37 Drakes, camping in a nearby ravine and believed to be in allegiance with the Dragon, were slaughtered. Knowing that these Drakes were innocent, Rah Ihn Mar came to Ruaskkolin Lake to hunt down and slay Terowydlithrol, who had been seen entering the region but a day ago. Burning for vengeance, Rah Ihn Mar began the hunt....."
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Sea Serpent" "" 22 12}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "He had lived there for ages upon ages, in the depths of the water, preying upon the various fish and frogs and merfolk that entered his domain. It was his lake, no other's, and though it was not large, he was its master. Then, the Basilisk came, and looked into the Serpent's eyes. And the Serpent had not died, but it was no longer alive. Thus the new lord of the lake had arrived.
|
||||
id=_ "He had lived there for ages upon ages, in the depths of the water, preying upon the various fish and frogs and merfolk that entered his domain. It was his lake, no other's, and though it was not large, he was its master. Then, the Basilisk came, and looked into the Serpent's eyes. And the Serpent had not died, but it was no longer alive. Thus the new lord of the lake had arrived.
|
||||
(inscribed by Turin)"
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Grand Knight" "" 25 14}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "A brave hero of Wesnoth's Golden Age, this great rider and commander of men came to this evil place while on a raid against the orcs. Caught unaware by the foul creatures, many of his fellows were killed, but he fought valiantly, slaying many a foe. But alas! The foul Basilisk turned him to stone even as he slew the last orc. Now all that is left is a stark reminder of his once great bearing and strength.
|
||||
id=_ "A brave hero of Wesnoth's Golden Age, this great rider and commander of men came to this evil place while on a raid against the orcs. Caught unaware by the foul creatures, many of his fellows were killed, but he fought valiantly, slaying many a foe. But alas! The foul Basilisk turned him to stone even as he slew the last orc. Now all that is left is a stark reminder of his once great bearing and strength.
|
||||
(inscribed by Fynmiir)"
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Elder Wose" _"Bramwythl" 32 6}
|
||||
[+unit]
|
||||
description=_ "Bramwythl the Wose was always considered a slow, taciturn fellow, even by other Woses. More than any other Wose, he enjoyed simply standing alone in the sun, arms upraised, admiring the beauty of the empty sky. Once, even, he confided in a fellow that his greatest wish was to be able to bask forever in the sun's glory.
|
||||
id=_ "Bramwythl the Wose was always considered a slow, taciturn fellow, even by other Woses. More than any other Wose, he enjoyed simply standing alone in the sun, arms upraised, admiring the beauty of the empty sky. Once, even, he confided in a fellow that his greatest wish was to be able to bask forever in the sun's glory.
|
||||
However, not long after, the local wose community heard of the approach of a horrible monster, powerful enough to easily destroy the few woses that lived in the area. They quickly moved off (quickly for Woses, anyway), but Bramwythl was left behind - in their haste, no one had remembered to find him and tell him of the danger.
|
||||
He was taken quite unawares by the Basilisk, and turned to stone before he even recognized the beast. His petrified form still stands there today, warmed by the sun's rays, under an open sky. His greatest wish has been granted.
|
||||
(inscribed by Elvish Pillager)"
|
||||
|
@ -156,27 +156,27 @@ He was taken quite unawares by the Basilisk, and turned to stone before he even
|
|||
{UNIT_STONE "Iron Mauler" _"Talael Ryndoc" 34 11}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "General Talael Ryndoc came to this place to fight a duel with the Grand Marshal Aethec Corryn, but the two men never found one another. "
|
||||
id=_ "General Talael Ryndoc came to this place to fight a duel with the Grand Marshal Aethec Corryn, but the two men never found one another. "
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Grand Marshal" _"Aethec Corryn" 15 11}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "The last words spoken by Grand Marshal Aethec Corryn: ''Talael Ryndoc! I am through searching for you! I shall make my way back to Haldric's Hall, and inform the court that you were too much of a coward to attend our duel! Your disgrace shall be more agonizing than the death I'd have given you!''
|
||||
id=_ "The last words spoken by Grand Marshal Aethec Corryn: ''Talael Ryndoc! I am through searching for you! I shall make my way back to Haldric's Hall, and inform the court that you were too much of a coward to attend our duel! Your disgrace shall be more agonizing than the death I'd have given you!''
|
||||
|
||||
Perhaps he should not have shouted quite so loudly.... "
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Naga Myrmidon" _"Rilhon" 20 12}
|
||||
[+unit]
|
||||
description=_ "This brave warrior, known as Rilhon among the Naga, heard tell of a fabulous treasure that had been lost in these watery caves- a spear whose head was said to have been fashioned from the tooth of Chak'kso Ney'yks, an Elder Basilisk slain long ago by the Elvish hero, Eloralduil. According to the legend, the weapon rested somewhere on the bottom of this very lake (Ruaskkolin Lake, named for a well-known Sea Serpent who made it his home). Having prepared himself for battle with the Serpent, Rilhon met with two rather large surprises. The first was the petrified form of Ruaskkolin the Serpent. The second was the very-much-alive Chak'kso Ney'yks, who was, oddly enough, in possession of all of his teeth.
|
||||
id=_ "This brave warrior, known as Rilhon among the Naga, heard tell of a fabulous treasure that had been lost in these watery caves- a spear whose head was said to have been fashioned from the tooth of Chak'kso Ney'yks, an Elder Basilisk slain long ago by the Elvish hero, Eloralduil. According to the legend, the weapon rested somewhere on the bottom of this very lake (Ruaskkolin Lake, named for a well-known Sea Serpent who made it his home). Having prepared himself for battle with the Serpent, Rilhon met with two rather large surprises. The first was the petrified form of Ruaskkolin the Serpent. The second was the very-much-alive Chak'kso Ney'yks, who was, oddly enough, in possession of all of his teeth.
|
||||
(inscribed by Paterson)"
|
||||
[/unit]
|
||||
|
||||
{UNIT_STONE "Mermaid Siren" "" 17 11}
|
||||
[+unit]
|
||||
facing=sw
|
||||
description=_ "Through waves and rocky channels
|
||||
id=_ "Through waves and rocky channels
|
||||
blue and white
|
||||
she pulled and pushed the tides
|
||||
and taught the fishes how to speak to planets
|
||||
|
|
|
@ -77,23 +77,23 @@
|
|||
{SULLA_STATUE (Great Mage) 18 15 se (_"Statue of Sulla")}
|
||||
[+unit]
|
||||
gender=female
|
||||
description=_ "A stone-carved likeness of Sulla the Great, also known as Sulla the Just, Sulla the Tyrant, Empress of the Sinking Tower, Lady of the Walking Glacier, Sulla the Incinerator, Sulla the Proud and Sulla the Righteous."
|
||||
id=_ "A stone-carved likeness of Sulla the Great, also known as Sulla the Just, Sulla the Tyrant, Empress of the Sinking Tower, Lady of the Walking Glacier, Sulla the Incinerator, Sulla the Proud and Sulla the Righteous."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 20 11 sw (_"Statue of Lhun-dup")}
|
||||
[+unit]
|
||||
description=_ "A stone-carved likeness of Lhun-dup, Servant of Sulla."
|
||||
id=_ "A stone-carved likeness of Lhun-dup, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 23 15 sw (_"Statue of Ri-nzen")}
|
||||
[+unit]
|
||||
description=_ "A stone-carved likeness of Ri-nzen, Servant of Sulla."
|
||||
id=_ "A stone-carved likeness of Ri-nzen, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 13 16 se (_"Statue of Ten-zin")}
|
||||
[+unit]
|
||||
description=_ "A stone-carved likeness of Ten-zin, Servant of Sulla."
|
||||
id=_ "A stone-carved likeness of Ten-zin, Servant of Sulla."
|
||||
[/unit]
|
||||
{SULLA_STATUE Yeti 16 19 se (_"Statue of Lo-bsang")}
|
||||
[+unit]
|
||||
description=_ "A stone-carved likeness of Lo-bsang, Servant of Sulla."
|
||||
id=_ "A stone-carved likeness of Lo-bsang, Servant of Sulla."
|
||||
[/unit]
|
||||
[/side]
|
||||
[/multiplayer]
|
||||
|
|
704
data/multiplayer/scenarios/4p_A_New_Land.cfg
Normal file
704
data/multiplayer/scenarios/4p_A_New_Land.cfg
Normal file
|
@ -0,0 +1,704 @@
|
|||
#textdomain wesnoth-anl
|
||||
[multiplayer]
|
||||
id=multiplayer_A_New_Land
|
||||
name= _ "4p - A New Land"
|
||||
map_data="{multiplayer/maps/4p_A_New_Land.map}"
|
||||
description= _ "This 4p survival scenario allows you to construct buildings and terraform the land. Use map settings. Recommended starting gold=100."
|
||||
experience_modifier=70%
|
||||
turns=unlimited
|
||||
|
||||
{DEFAULT_SCHEDULE}
|
||||
{DEFAULT_MUSIC_PLAYLIST}
|
||||
# ------------------------------------------------------
|
||||
# Include ANL macros
|
||||
# ------------------------------------------------------
|
||||
{multiplayer/scenarios/ANL_utils}
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Story & Objectives
|
||||
# ------------------------------------------------------
|
||||
|
||||
[story]
|
||||
[part]
|
||||
show_title=yes
|
||||
story= _ "In the aftermath of the great war the remnants of humanity fled to an obscure secluded glen. Though they knew they could not hide from the mighty armies that had crushed their homeland, the leaders of the resistance hoped only for enough time to rebuild their forces."
|
||||
[/part]
|
||||
[/story]
|
||||
|
||||
[event]
|
||||
name="start"
|
||||
[objectives]
|
||||
side=0
|
||||
summary= _ "`Right-click on your leader during your turn for help"
|
||||
[objective]
|
||||
description= _ "You must survive until turn 25."
|
||||
condition=win
|
||||
[/objective]
|
||||
[/objectives]
|
||||
[/event]
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Side Definitions
|
||||
# ------------------------------------------------------
|
||||
|
||||
# Players
|
||||
|
||||
[side]
|
||||
side=1
|
||||
canrecruit=yes
|
||||
controller=human
|
||||
team_name=1
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
village_gold=2
|
||||
shroud=no
|
||||
fog=yes
|
||||
recruit="Peasant,Mage"
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=2
|
||||
canrecruit=yes
|
||||
controller=human
|
||||
team_name=1
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
village_gold=2
|
||||
shroud=no
|
||||
fog=yes
|
||||
recruit="Peasant,Mage"
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=3
|
||||
canrecruit=yes
|
||||
controller=human
|
||||
team_name=1
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
village_gold=2
|
||||
shroud=no
|
||||
fog=yes
|
||||
recruit="Peasant,Mage"
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=4
|
||||
canrecruit=yes
|
||||
controller=human
|
||||
team_name=1
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
village_gold=2
|
||||
shroud=no
|
||||
fog=yes
|
||||
recruit="Peasant,Mage"
|
||||
[/side]
|
||||
|
||||
# AI
|
||||
|
||||
[side]
|
||||
side=5
|
||||
canrecruit=yes
|
||||
controller=ai
|
||||
allow_player=no
|
||||
team_name=2
|
||||
gold=25
|
||||
recruit="Walking Corpse"
|
||||
income=20
|
||||
village_gold=2
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
type="Death Knight"
|
||||
allow_player=no
|
||||
[ai]
|
||||
aggression=1.0
|
||||
[/ai]
|
||||
[village]
|
||||
x,y=10,25
|
||||
[/village]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=6
|
||||
canrecruit=yes
|
||||
controller=ai
|
||||
allow_player=no
|
||||
team_name=2
|
||||
gold=25
|
||||
recruit="Goblin Spearman"
|
||||
income=20
|
||||
village_gold=2
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
type="Orcish Sovereign"
|
||||
allow_player=no
|
||||
[ai]
|
||||
aggression=1.0
|
||||
[/ai]
|
||||
[village]
|
||||
x,y=50,25
|
||||
[/village]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=7
|
||||
canrecruit=yes
|
||||
controller=ai
|
||||
allow_player=no
|
||||
team_name=2
|
||||
gold=25
|
||||
recruit="Goblin Spearman"
|
||||
income=20
|
||||
village_gold=2
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
type="Orcish Sovereign"
|
||||
allow_player=no
|
||||
[ai]
|
||||
aggression=1.0
|
||||
[/ai]
|
||||
[village]
|
||||
x,y=10,30
|
||||
[/village]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
side=8
|
||||
canrecruit=yes
|
||||
controller=ai
|
||||
allow_player=no
|
||||
team_name=2
|
||||
gold=25
|
||||
recruit="Walking Corpse"
|
||||
income=20
|
||||
village_gold=2
|
||||
team_lock=yes
|
||||
income_lock=yes
|
||||
type="Death Knight"
|
||||
allow_player=no
|
||||
[ai]
|
||||
aggression=1.0
|
||||
[/ai]
|
||||
[village]
|
||||
x,y=50,30
|
||||
[/village]
|
||||
[/side]
|
||||
|
||||
# This side is for trapped units. It is allied to the AI so they don't attack it.
|
||||
|
||||
[side]
|
||||
side=9
|
||||
canrecruit=no
|
||||
controller=null
|
||||
allow_player=no
|
||||
no_leader=yes
|
||||
team_name=2
|
||||
income=0
|
||||
village_gold=0
|
||||
team_lock=yes
|
||||
gold_lock=yes
|
||||
income_lock=yes
|
||||
allow_player=no
|
||||
[ai]
|
||||
ai_algorithm=idle_ai
|
||||
[/ai]
|
||||
[/side]
|
||||
|
||||
# ------------------------------------------------------
|
||||
# ANL Building Logic
|
||||
# ------------------------------------------------------
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
# Players
|
||||
{SET_SIDE_VARIABLES 1}
|
||||
{SET_SIDE_VARIABLES 2}
|
||||
{SET_SIDE_VARIABLES 3}
|
||||
{SET_SIDE_VARIABLES 4}
|
||||
|
||||
{ANL_HELP}
|
||||
{WORKER_OPTIONS "Peasant"}
|
||||
{RESEARCH_OPTIONS "Mage,Red Mage,White Mage,Mage of Light,Silver Mage,Arch Mage,Great Mage"}
|
||||
{LEADER_OPTIONS}
|
||||
{SET_RECRUIT 1 "Peasant,Mage"}
|
||||
{SET_RECRUIT 2 "Peasant,Mage"}
|
||||
{SET_RECRUIT 3 "Peasant,Mage"}
|
||||
{SET_RECRUIT 4 "Peasant,Mage"}
|
||||
[/event]
|
||||
|
||||
# Auto-studying
|
||||
|
||||
{AUTO_STUDYING "Mage,Red Mage,White Mage,Mage of Light,Silver Mage,Arch Mage,Great Mage"}
|
||||
|
||||
# Research complete messages
|
||||
|
||||
[event]
|
||||
name=side turn
|
||||
first_time_only=no
|
||||
[if]
|
||||
{CONDITION side_number less_than_equal_to 4}
|
||||
[then]
|
||||
{FARMING_RESEARCH_COMPLETE}
|
||||
{MINING_RESEARCH_COMPLETE}
|
||||
{WARFARE_RESEARCH_COMPLETE}
|
||||
[/then]
|
||||
[/if]
|
||||
[/event]
|
||||
|
||||
# Auto-working
|
||||
|
||||
{AUTO_FARMING "Peasant"}
|
||||
{AUTO_MINING "Peasant"}
|
||||
{AUTO_MOVE_INIT "Peasant"}
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Scenario Events
|
||||
# ------------------------------------------------------
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
# Placing trapped creatures
|
||||
{ANL_PLACE_TRAPPED_UNIT 9 Gryphon 24 12}
|
||||
{ANL_PLACE_TRAPPED_UNIT 9 "Fire Drake" 36 12}
|
||||
{ANL_PLACE_TRAPPED_UNIT 9 Ogre 24 43}
|
||||
{ANL_PLACE_TRAPPED_UNIT 9 "Elder Wose" 36 43}
|
||||
|
||||
# Placing spiders
|
||||
{ANL_PLACE_WOUNDED_UNIT 5 "Giant Spider" 29 13 4}
|
||||
{ANL_PLACE_WOUNDED_UNIT 6 "Giant Spider" 31 13 4}
|
||||
{ANL_PLACE_WOUNDED_UNIT 7 "Giant Spider" 29 43 4}
|
||||
{ANL_PLACE_WOUNDED_UNIT 8 "Giant Spider" 31 43 4}
|
||||
|
||||
# Initial AI units - Side 5
|
||||
{ANL_PLACE_UNIT 5 "Walking Corpse" 10 25}
|
||||
{ANL_PLACE_UNIT 5 "Walking Corpse" 10 25}
|
||||
{ANL_PLACE_UNIT 5 "Walking Corpse" 10 25}
|
||||
{ANL_PLACE_UNIT 5 "Revenant" 26 18}
|
||||
{ANL_PLACE_UNIT 5 "Revenant" 45 32}
|
||||
{ANL_PLACE_UNIT 5 "Walking Corpse" 13 27}
|
||||
# Initial AI units - Side 6
|
||||
{ANL_PLACE_UNIT 6 "Goblin Spearman" 50 25}
|
||||
{ANL_PLACE_UNIT 6 "Goblin Spearman" 50 25}
|
||||
{ANL_PLACE_UNIT 6 "Goblin Spearman" 50 25}
|
||||
{ANL_PLACE_UNIT 6 "Orcish Warrior" 34 18}
|
||||
{ANL_PLACE_UNIT 6 "Orcish Warrior" 45 24}
|
||||
{ANL_PLACE_UNIT 6 "Goblin Spearman" 47 27}
|
||||
# Initial AI units - Side 7
|
||||
{ANL_PLACE_UNIT 7 "Goblin Spearman" 10 30}
|
||||
{ANL_PLACE_UNIT 7 "Goblin Spearman" 10 30}
|
||||
{ANL_PLACE_UNIT 7 "Goblin Spearman" 10 30}
|
||||
{ANL_PLACE_UNIT 7 "Orcish Warrior" 15 32}
|
||||
{ANL_PLACE_UNIT 7 "Orcish Warrior" 26 37}
|
||||
{ANL_PLACE_UNIT 7 "Goblin Spearman" 13 29}
|
||||
# Initial AI units - Side 8
|
||||
{ANL_PLACE_UNIT 8 "Walking Corpse" 50 30}
|
||||
{ANL_PLACE_UNIT 8 "Walking Corpse" 50 30}
|
||||
{ANL_PLACE_UNIT 8 "Walking Corpse" 50 30}
|
||||
{ANL_PLACE_UNIT 8 "Revenant" 15 24}
|
||||
{ANL_PLACE_UNIT 8 "Revenant" 34 37}
|
||||
{ANL_PLACE_UNIT 8 "Walking Corpse" 47 29}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=start
|
||||
|
||||
# Restricting movement of AI guardians
|
||||
{RESTRICT_MOVEMENT 26 18 grassland sand}
|
||||
{RESTRICT_MOVEMENT 45 32 grassland sand}
|
||||
{RESTRICT_MOVEMENT 13 27 grassland sand}
|
||||
{RESTRICT_MOVEMENT 34 18 grassland sand}
|
||||
{RESTRICT_MOVEMENT 45 24 grassland sand}
|
||||
{RESTRICT_MOVEMENT 47 27 grassland sand}
|
||||
{RESTRICT_MOVEMENT 15 32 grassland sand}
|
||||
{RESTRICT_MOVEMENT 26 37 grassland sand}
|
||||
{RESTRICT_MOVEMENT 13 29 grassland sand}
|
||||
{RESTRICT_MOVEMENT 15 24 grassland sand}
|
||||
{RESTRICT_MOVEMENT 34 37 grassland sand}
|
||||
{RESTRICT_MOVEMENT 47 29 grassland sand}
|
||||
# Restricting movement of AI leaders
|
||||
{RESTRICT_MOVEMENT 13 15 grassland shallow_water}
|
||||
{RESTRICT_MOVEMENT 13 41 grassland shallow_water}
|
||||
{RESTRICT_MOVEMENT 47 15 grassland shallow_water}
|
||||
{RESTRICT_MOVEMENT 47 41 grassland shallow_water}
|
||||
[/event]
|
||||
|
||||
# Setting leader names
|
||||
|
||||
[event]
|
||||
name="new turn"
|
||||
first_time_only=no
|
||||
{SET_NAMES 1}
|
||||
{SET_NAMES 2}
|
||||
{SET_NAMES 3}
|
||||
{SET_NAMES 4}
|
||||
[/event]
|
||||
|
||||
# Rescuing trapped units
|
||||
|
||||
{ANL_RESCUE_TRAPPED_UNIT 25 13 24 12}
|
||||
{ANL_RESCUE_TRAPPED_UNIT 35 13 36 12}
|
||||
{ANL_RESCUE_TRAPPED_UNIT 25 43 24 43}
|
||||
{ANL_RESCUE_TRAPPED_UNIT 35 43 36 43}
|
||||
|
||||
# Destroying mushroom mines
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x=10
|
||||
y=25
|
||||
side="1,2,3,4"
|
||||
[/filter]
|
||||
[modify_side]
|
||||
side=5
|
||||
income=10
|
||||
[/modify_side]
|
||||
{MODIFY_TERRAIN Uh $x1 $y1}
|
||||
{PLAY_SOUND skeleton-die-1.ogg}
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=terrain/village/cave-tile.png
|
||||
message= _ "You destroy the mushroom mine. The northwest undead now have 10 less income."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x=50
|
||||
y=25
|
||||
side="1,2,3,4"
|
||||
[/filter]
|
||||
[modify_side]
|
||||
side=6
|
||||
income=10
|
||||
[/modify_side]
|
||||
{MODIFY_TERRAIN Uh $x1 $y1}
|
||||
{PLAY_SOUND skeleton-die-1.ogg}
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=terrain/village/cave-tile.png
|
||||
message= _ "You destroy the mushroom mine. The northeast orcs now have 10 less income."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x=10
|
||||
y=30
|
||||
side="1,2,3,4"
|
||||
[/filter]
|
||||
[modify_side]
|
||||
side=7
|
||||
income=10
|
||||
[/modify_side]
|
||||
{MODIFY_TERRAIN Uh $x1 $y1}
|
||||
{PLAY_SOUND skeleton-die-1.ogg}
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=terrain/village/cave-tile.png
|
||||
message= _ "You destroy the mushroom mine. The southwest orcs now have 10 less income."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
x=50
|
||||
y=30
|
||||
side="1,2,3,4"
|
||||
[/filter]
|
||||
[modify_side]
|
||||
side=8
|
||||
income=10
|
||||
[/modify_side]
|
||||
{MODIFY_TERRAIN Uh $x1 $y1}
|
||||
{PLAY_SOUND skeleton-die-1.ogg}
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=terrain/village/cave-tile.png
|
||||
message= _ "You destroy the mushroom mine. The southeast undead now have 10 less income."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Make AI units destroy player's buildings
|
||||
|
||||
# Villages
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=5,6,7,8
|
||||
[filter_location]
|
||||
terrain=Gg^Vh
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
{MODIFY_TERRAIN "Rd" $x1 $y1}
|
||||
{SET_IMAGE $x1 $y1 ("scenery/village-human-burned2.png")}
|
||||
{PLAY_SOUND ("torch.ogg")}
|
||||
[/event]
|
||||
|
||||
# Farms
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=5,6,7,8
|
||||
[filter_location]
|
||||
terrain=Re^Gvs
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
{MODIFY_TERRAIN "Rd" $x1 $y1}
|
||||
{SET_IMAGE $x1 $y1 ("scenery/castle-ruins.png")}
|
||||
{PLAY_SOUND ("pincers.ogg")}
|
||||
[/event]
|
||||
|
||||
# Universities & Castles
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=5,6,7,8
|
||||
[filter_location]
|
||||
terrain=Gg^Ve,Gg^Vea,Ch,Ce,Cv,Chr,Chw,Chs,Ke,Kv,Kh,Khr
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
{MODIFY_TERRAIN "Rd" $x1 $y1}
|
||||
{SET_IMAGE $x1 $y1 ("scenery/rubble.png")}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{PLAY_SOUND ("club.ogg")}
|
||||
[/event]
|
||||
|
||||
# Hill mines
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=5,6,7,8
|
||||
[filter_location]
|
||||
terrain=Hh^Vhh
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
{MODIFY_TERRAIN "Hh" $x1 $y1}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{PLAY_SOUND ("club.ogg")}
|
||||
[/event]
|
||||
|
||||
# Mountain mines
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=5,6,7,8
|
||||
[filter_location]
|
||||
terrain=Mm^Vhh
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
{MODIFY_TERRAIN "Mm" $x1 $y1}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{PLAY_SOUND ("club.ogg")}
|
||||
[/event]
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Messages
|
||||
# ------------------------------------------------------
|
||||
|
||||
# Telling players about spiders
|
||||
|
||||
[event]
|
||||
name=turn 3
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "One of your peasants has happened upon some spider's nests in the north and south."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
[message]
|
||||
side=1,2,3,4
|
||||
type=Peasant
|
||||
message= _ "I swear I saw somebody trapped in the spider's web. Maybe we should rescue them?"
|
||||
[/message]
|
||||
{SCROLL_TO 24 12}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 36 12}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 24 43}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 36 43}
|
||||
{DELAY 200}
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "Move any unit next to these captives and they will join your side. The spiders guarding each captive are currently wounded, the sooner you get there the better chance you have of killing them."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Telling players about mushroom mines
|
||||
|
||||
[event]
|
||||
name=turn 5
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "Your men report strange sounds coming from some caves to the east and west."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
[message]
|
||||
canrecruit=yes
|
||||
side=1,2,3,4
|
||||
message= _ "It would seem the enemy has built some underground mushroom mines nearby - it must be where the mainstay of their resources are produced. If we could destroy them our chances wouldn't nearly be so slim."
|
||||
[/message]
|
||||
{SCROLL_TO 10 25}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 10 30}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 50 25}
|
||||
{DELAY 200}
|
||||
{SCROLL_TO 50 30}
|
||||
{DELAY 200}
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "Move any unit onto these villages to destroy the mine. Each one you destroy will reduce the enemy's income by 10."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Almost there...
|
||||
|
||||
[event]
|
||||
name=turn 23
|
||||
[message]
|
||||
side=1,2,3,4
|
||||
canrecruit=yes
|
||||
message= _ "This battle is nearly at an end. Victory is close at hand!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Victory!
|
||||
|
||||
[event]
|
||||
name=turn 25
|
||||
[message]
|
||||
side=1,2,3,4
|
||||
canrecruit=yes
|
||||
message= _ "We have survived the onslaught! The tide of the battle has turned, victory cannot elude us now!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "You have won the game, but you may continue if you wish..."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# Deaths
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
canrecruit=yes
|
||||
side=1
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "I have fallen, but all is not lost!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
canrecruit=yes
|
||||
side=2
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "I am done for, but we have yet to lose this battle!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
canrecruit=yes
|
||||
side=3
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "Comrades, avenge me!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
canrecruit=yes
|
||||
side=4
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "Do not fear, there is hope for us still!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
# ------------------------------------------------------
|
||||
# AI Recruitment Pattern
|
||||
# ------------------------------------------------------
|
||||
|
||||
[event]
|
||||
name=turn 7
|
||||
{ALLOW_RECRUIT 5 ("Soulless")}
|
||||
{ALLOW_RECRUIT 6 ("Goblin Rouser")}
|
||||
{ALLOW_RECRUIT 7 ("Goblin Rouser")}
|
||||
{ALLOW_RECRUIT 8 ("Soulless")}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 9
|
||||
{ALLOW_RECRUIT 5 ("Skeleton")}
|
||||
{ALLOW_RECRUIT 6 ("Orcish Grunt")}
|
||||
{ALLOW_RECRUIT 7 ("Orcish Grunt")}
|
||||
{ALLOW_RECRUIT 8 ("Skeleton")}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 11
|
||||
{ALLOW_RECRUIT 5 ("Skeleton Archer")}
|
||||
{ALLOW_RECRUIT 6 ("Orcish Archer")}
|
||||
{ALLOW_RECRUIT 7 ("Orcish Archer")}
|
||||
{ALLOW_RECRUIT 8 ("Skeleton Archer")}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 13
|
||||
{ALLOW_RECRUIT 5 ("Ghoul")}
|
||||
{ALLOW_RECRUIT 6 ("Troll Whelp")}
|
||||
{ALLOW_RECRUIT 7 ("Troll Whelp")}
|
||||
{ALLOW_RECRUIT 8 ("Ghoul")}
|
||||
{DISALLOW_RECRUIT 5 "Walking Corpse,Soulless"}
|
||||
{DISALLOW_RECRUIT 6 "Goblin Spearman,Goblin Rouser"}
|
||||
{DISALLOW_RECRUIT 7 "Goblin Spearman,Goblin Rouser"}
|
||||
{DISALLOW_RECRUIT 8 "Walking Corpse,Soulless"}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 15
|
||||
{ALLOW_RECRUIT 5 ("Dark Adept")}
|
||||
{ALLOW_RECRUIT 6 ("Orcish Assassin")}
|
||||
{ALLOW_RECRUIT 7 ("Orcish Assassin")}
|
||||
{ALLOW_RECRUIT 8 ("Dark Adept")}
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=turn 17
|
||||
{ADD_GOLD 5 50}
|
||||
{ADD_GOLD 6 50}
|
||||
{ADD_GOLD 7 50}
|
||||
{ADD_GOLD 8 50}
|
||||
{ALLOW_RECRUIT 5 ("Necrophage,Bone Shooter,Revenant")}
|
||||
{ALLOW_RECRUIT 6 ("Troll,Orcish Crossbowman,Orcish Warrior")}
|
||||
{ALLOW_RECRUIT 7 ("Troll,Orcish Crossbowman,Orcish Warrior")}
|
||||
{ALLOW_RECRUIT 8 ("Necrophage,Bone Shooter,Revenant")}
|
||||
[/event]
|
||||
|
||||
[/multiplayer]
|
301
data/multiplayer/scenarios/ANL_utils/ANL_auto_working.cfg
Normal file
301
data/multiplayer/scenarios/ANL_utils/ANL_auto_working.cfg
Normal file
|
@ -0,0 +1,301 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Automatic Studying
|
||||
# ------------------------------------------------------
|
||||
|
||||
#define AUTO_STUDYING TYPES
|
||||
[event]
|
||||
name=side turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type={TYPES}
|
||||
side="$side_number"
|
||||
canrecruit=no
|
||||
[filter_location]
|
||||
terrain="Gg^Ve,Gg^Vea"
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
variable=researchers
|
||||
kill=no
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE sound no}
|
||||
{FOREACH researchers i}
|
||||
{VARIABLE_OP idle to_variable "researchers[$i].variables.idle"}
|
||||
|
||||
[if]
|
||||
{CONDITION idle equals yes}
|
||||
[then]
|
||||
{CLEAR_VARIABLE "researchers[$i].variables.idle"}
|
||||
|
||||
[unstore_unit]
|
||||
variable=researchers[$i]
|
||||
[/unstore_unit]
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE_OP temp_x format "$researchers[$i].x"}
|
||||
{VARIABLE_OP temp_y format "$researchers[$i].y"}
|
||||
|
||||
{VARIABLE_OP credited_side format $researchers[$i].side}
|
||||
{VARIABLE_OP amount format $researchers.level}
|
||||
{ADDING_TO_CURRENT_RESEARCH_FIELD $credited_side $amount}
|
||||
|
||||
{VARIABLE sound yes}
|
||||
{SCROLL_TO $temp_x $temp_y}
|
||||
|
||||
[unstore_unit]
|
||||
variable=researchers[$i]
|
||||
text="$amount"
|
||||
{COLOR_WHITE}
|
||||
[/unstore_unit]
|
||||
|
||||
[/else]
|
||||
[/if]
|
||||
{NEXT i}
|
||||
[if]
|
||||
{CONDITION sound equals yes}
|
||||
[then]
|
||||
{PLAY_SOUND ("magic-holy-miss-3.ogg")}
|
||||
{DELAY 200}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
{CLEAR_VARIABLE sound}
|
||||
{CLEAR_VARIABLE researchers}
|
||||
{CLEAR_VARIABLE idle}
|
||||
{CLEAR_VARIABLE amount}
|
||||
{CLEAR_VARIABLE credited_side}
|
||||
{REDRAW}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Automatic Farming
|
||||
# ------------------------------------------------------
|
||||
|
||||
#define AUTO_FARMING TYPES
|
||||
[event]
|
||||
name=side turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type={TYPES}
|
||||
side="$side_number"
|
||||
[filter_location]
|
||||
terrain=Re^Gvs
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
variable=harvesters
|
||||
kill=no
|
||||
[/store_unit]
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type={TYPES}
|
||||
side="$side_number"
|
||||
[filter_location]
|
||||
terrain=Re
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
variable=planters
|
||||
kill=no
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE sound no}
|
||||
{FOREACH harvesters i}
|
||||
{VARIABLE_OP idle to_variable "harvesters[$i].variables.idle"}
|
||||
|
||||
[if]
|
||||
{CONDITION idle equals yes}
|
||||
[then]
|
||||
{CLEAR_VARIABLE "harvesters[$i].variables.idle"}
|
||||
|
||||
[unstore_unit]
|
||||
variable=harvesters[$i]
|
||||
[/unstore_unit]
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE_OP temp_x format "$harvesters[$i].x"}
|
||||
{VARIABLE_OP temp_y format "$harvesters[$i].y"}
|
||||
|
||||
{VARIABLE_OP credited_side format $harvesters[$i].side}
|
||||
{VARIABLE_OP amount format $player[$credited_side].farming.gold}
|
||||
|
||||
# auto-harvest
|
||||
{ADD_GOLD $credited_side $amount}
|
||||
{MODIFY_TERRAIN "Re" $temp_x $temp_y}
|
||||
{REMOVE_ITEM $temp_x $temp_y}
|
||||
{VARIABLE sound yes}
|
||||
{SCROLL_TO $temp_x $temp_y}
|
||||
|
||||
[unstore_unit]
|
||||
variable=harvesters[$i]
|
||||
text="$amount"
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/else]
|
||||
[/if]
|
||||
{NEXT i}
|
||||
[if]
|
||||
{CONDITION sound equals yes}
|
||||
[then]
|
||||
{PLAY_SOUND ("gold.ogg")}
|
||||
{DELAY 200}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
{VARIABLE sound no}
|
||||
{FOREACH planters i}
|
||||
{VARIABLE_OP idle to_variable "planters[$i].variables.idle"}
|
||||
|
||||
[if]
|
||||
{CONDITION idle equals yes}
|
||||
[then]
|
||||
{CLEAR_VARIABLE "planters[$i].variables.idle"}
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE_OP temp_x format "$planters[$i].x"}
|
||||
{VARIABLE_OP temp_y format "$planters[$i].y"}
|
||||
|
||||
# auto-plant
|
||||
{MODIFY_TERRAIN "Re^Gvs" $temp_x $temp_y }
|
||||
{REMOVE_ITEM $temp_x $temp_y}
|
||||
{SET_IMAGE $temp_x $temp_y ("items/flower4.png")}
|
||||
{VARIABLE sound yes}
|
||||
[/else]
|
||||
[/if]
|
||||
[unstore_unit]
|
||||
variable=planters[$i]
|
||||
[/unstore_unit]
|
||||
{NEXT i}
|
||||
[if]
|
||||
{CONDITION sound equals yes}
|
||||
[then]
|
||||
{PLAY_SOUND ("entangle.wav")}
|
||||
{DELAY 200}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
{CLEAR_VARIABLE sound}
|
||||
{CLEAR_VARIABLE harvesters}
|
||||
{CLEAR_VARIABLE planters}
|
||||
{CLEAR_VARIABLE idle}
|
||||
{CLEAR_VARIABLE amount}
|
||||
{CLEAR_VARIABLE credited_side}
|
||||
|
||||
{REDRAW}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
# ------------------------------------------------------
|
||||
# Automatic Mining
|
||||
# ------------------------------------------------------
|
||||
|
||||
#define AUTO_MINING TYPES
|
||||
[event]
|
||||
name=side turn
|
||||
first_time_only=no
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
type={TYPES}
|
||||
side="$side_number"
|
||||
[filter_location]
|
||||
terrain=Hh^Vhh,Ha^Vhha,Mm^Vhh
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
variable=miners
|
||||
kill=no
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE sound no}
|
||||
{FOREACH miners i}
|
||||
{VARIABLE_OP idle to_variable "miners[$i].variables.idle"}
|
||||
|
||||
[if]
|
||||
{CONDITION idle equals yes}
|
||||
[then]
|
||||
{CLEAR_VARIABLE "miners[$i].variables.idle"}
|
||||
|
||||
[unstore_unit]
|
||||
variable=miners[$i]
|
||||
[/unstore_unit]
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE_OP temp_x format "$miners[$i].x"}
|
||||
{VARIABLE_OP temp_y format "$miners[$i].y"}
|
||||
|
||||
{VARIABLE_OP credited_side format $miners[$i].side}
|
||||
{VARIABLE_OP amount format $player[$credited_side].mining.gold}
|
||||
|
||||
# auto-mine
|
||||
{ADD_GOLD $credited_side $amount}
|
||||
{SCROLL_TO $temp_x $temp_y}
|
||||
{VARIABLE sound yes}
|
||||
|
||||
[unstore_unit]
|
||||
variable=miners[$i]
|
||||
text="$amount"
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/else]
|
||||
[/if]
|
||||
{NEXT i}
|
||||
[if]
|
||||
{CONDITION sound equals yes}
|
||||
[then]
|
||||
{PLAY_SOUND ("gold.ogg")}
|
||||
{DELAY 200}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
{CLEAR_VARIABLE sound}
|
||||
{CLEAR_VARIABLE miners}
|
||||
{CLEAR_VARIABLE idle}
|
||||
{CLEAR_VARIABLE amount}
|
||||
{CLEAR_VARIABLE credited_side}
|
||||
|
||||
{REDRAW}
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define AUTO_MOVE_INIT TYPES
|
||||
# This macro enables a peasant to move onto an existing farm or
|
||||
# mine and auto-harvest or auto-mine at the start of next turn.
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
type={TYPES}
|
||||
[filter_location]
|
||||
terrain="Re,Re^Gvs,Hh^Vhh,Ha^Vhha,Mm^Vhh,Re^Uf,Uu^Uf"
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
x=$x1
|
||||
y=$y1
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
[if]
|
||||
{CONDITION unit.moves greater_than_equal_to 1}
|
||||
[then]
|
||||
{CLEAR_VARIABLE unit.variables.idle}
|
||||
[/then]
|
||||
[else]
|
||||
{VARIABLE unit.variables.idle yes}
|
||||
[/else]
|
||||
[/if]
|
||||
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
[/unstore_unit]
|
||||
[/event]
|
||||
#enddef
|
96
data/multiplayer/scenarios/ANL_utils/ANL_general_macros.cfg
Normal file
96
data/multiplayer/scenarios/ANL_utils/ANL_general_macros.cfg
Normal file
|
@ -0,0 +1,96 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
#define CONDITION VAR TEST VALUE
|
||||
[variable]
|
||||
name={VAR}
|
||||
{TEST}={VALUE}
|
||||
[/variable]
|
||||
#enddef
|
||||
|
||||
#define ADD_GOLD SIDE AMOUNT
|
||||
[gold]
|
||||
side={SIDE}
|
||||
amount={AMOUNT}
|
||||
[/gold]
|
||||
#enddef
|
||||
|
||||
#define ALLOW_RECRUIT SIDE TYPE
|
||||
[allow_recruit]
|
||||
side={SIDE}
|
||||
type={TYPE}
|
||||
[/allow_recruit]
|
||||
#enddef
|
||||
|
||||
#define DISALLOW_RECRUIT SIDE TYPE
|
||||
[disallow_recruit]
|
||||
side={SIDE}
|
||||
type={TYPE}
|
||||
[/disallow_recruit]
|
||||
#enddef
|
||||
|
||||
#define CAPTURE_VILLAGE
|
||||
[capture_village]
|
||||
x=$x1
|
||||
y=$y1
|
||||
side=$side_number
|
||||
[/capture_village]
|
||||
#enddef
|
||||
|
||||
#define REMOVE_ITEM X Y
|
||||
[removeitem]
|
||||
x={X}
|
||||
y={Y}
|
||||
[/removeitem]
|
||||
#enddef
|
||||
|
||||
#define PLAY_SOUND SOUND_FILE
|
||||
[sound]
|
||||
name={SOUND_FILE}
|
||||
[/sound]
|
||||
#enddef
|
||||
|
||||
#define DELAY TIME
|
||||
[delay]
|
||||
time={TIME}
|
||||
[/delay]
|
||||
#enddef
|
||||
|
||||
#define REDRAW
|
||||
[redraw]
|
||||
[/redraw]
|
||||
#enddef
|
||||
|
||||
#define OPEN_CHEST X Y TREASURE
|
||||
{PLAY_SOUND open-chest.wav}
|
||||
[removeitem]
|
||||
x={X}
|
||||
y={Y}
|
||||
image=items/chest-plain-closed.png
|
||||
[/removeitem]
|
||||
{PLACE_IMAGE items/chest-plain-open.png {X} {Y}}
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=items/chest-plain-open.png
|
||||
message= _ "The chest contains {TREASURE} gold."
|
||||
[/message]
|
||||
{ADD_GOLD_SIDE $side_number {TREASURE}}
|
||||
#enddef
|
||||
|
||||
#define RESTRICT_MOVEMENT X Y TERRAIN_1 TERRAIN_2
|
||||
[object]
|
||||
silent=yes
|
||||
duration=forever
|
||||
[filter]
|
||||
x={X}
|
||||
y={Y}
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to=movement_costs
|
||||
replace=true
|
||||
[movement_costs]
|
||||
{TERRAIN_1}=99
|
||||
{TERRAIN_2}=99
|
||||
[/movement_costs]
|
||||
[/effect]
|
||||
[/object]
|
||||
#enddef
|
165
data/multiplayer/scenarios/ANL_utils/ANL_help.cfg
Normal file
165
data/multiplayer/scenarios/ANL_utils/ANL_help.cfg
Normal file
|
@ -0,0 +1,165 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
#define ANL_RETURN_TO_MENU
|
||||
[option]
|
||||
message= _ "Return to menu"
|
||||
[command]
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_PEASANTS
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Peasants
|
||||
image=units/human-peasants/peasant.png~TC(1,magenta)
|
||||
message= _ "Peasants are your workers. Depending on the terrain, right-clicking on a peasant allows you to terraform the landscape and/or build castles, mines, farms, villages and universities."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_MAGES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Mages
|
||||
image=units/human-magi/mage.png~TC(1,magenta)
|
||||
message= _ "Mages are your wise men. They can study at universities, pursuing advances in mining, farming and recruitment."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_FARMS
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Farms
|
||||
image="items/flower4.png"
|
||||
message= _ "Farms can only be planted on grassland. Move a peasant onto a farm and he will begin to automatically harvest the cash crop."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_VILLAGES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Villages
|
||||
image="terrain/village/human-tile.png"
|
||||
message= _ "Villages can only be built on grassland. They provide income and healing as usual. Right-click on a peasant in a village and you can establish a university."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_MINES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Mines
|
||||
image="terrain/village/human-hills-tile.png"
|
||||
message= _ "Mines can be built on hills or mountains. A peasant on a mine will automatically dig for gold at the start of your turn."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_UNIVERSITIES
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Universities
|
||||
image="terrain/village/elven-tile.png"
|
||||
message= _ "Any of the 'Elven' style villages represent universities. At the start of your turn, Mages in universities automatically add to the study progress of your chosen research target. Right-click on a mage in a university to change research target."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
#define ANL_HELP_DIPLOMACY
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption=Diplomacy
|
||||
image="terrain/village/elven-tile.png"
|
||||
message= _ "Right-clicking on your leader when in a univerity allows you to select special diplomatic options."
|
||||
{ANL_RETURN_TO_MENU}
|
||||
[/message]
|
||||
#enddef
|
||||
|
||||
|
||||
#define ANL_HELP
|
||||
[set_menu_item]
|
||||
id=anl_help
|
||||
description="Help"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
canrecruit=yes
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE finished_help no}
|
||||
[while]
|
||||
{CONDITION finished_help equals no}
|
||||
[do]
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=wesnoth-icon.png
|
||||
caption="A New Land - Help"
|
||||
message= _ "Select a topic."
|
||||
|
||||
[option]
|
||||
message= _ "Done"
|
||||
[command]
|
||||
{VARIABLE finished_help yes}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Peasants"
|
||||
[command]
|
||||
{ANL_HELP_PEASANTS}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Mages"
|
||||
[command]
|
||||
{ANL_HELP_MAGES}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Farms"
|
||||
[command]
|
||||
{ANL_HELP_FARMS}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Villages"
|
||||
[command]
|
||||
{ANL_HELP_VILLAGES}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Mines"
|
||||
[command]
|
||||
{ANL_HELP_MINES}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Universities"
|
||||
[command]
|
||||
{ANL_HELP_UNIVERSITIES}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[option]
|
||||
message= _ "@Diplomacy"
|
||||
[command]
|
||||
{ANL_HELP_DIPLOMACY}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[/message]
|
||||
[/do]
|
||||
[/while]
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
#enddef
|
348
data/multiplayer/scenarios/ANL_utils/ANL_leader_options.cfg
Normal file
348
data/multiplayer/scenarios/ANL_utils/ANL_leader_options.cfg
Normal file
|
@ -0,0 +1,348 @@
|
|||
#textdomain wesnoth-anl
|
||||
#define DONATE_FUNDS_OPTION TARGET_SIDE
|
||||
[option]
|
||||
message= _ "@$player[{TARGET_SIDE}].name"
|
||||
[show_if]
|
||||
{CONDITION leader.gold greater_than_equal_to 20}
|
||||
[have_unit]
|
||||
side={TARGET_SIDE}
|
||||
canrecruit=yes
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "I hereby donate 20 gold to the coffers of $player[{TARGET_SIDE}].name|."
|
||||
[/message]
|
||||
{ADD_GOLD {TARGET_SIDE} 20}
|
||||
{ADD_GOLD $side_number -20}
|
||||
{VARIABLE_OP leader.gold add -20}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE finished_suboptions yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{REDRAW}
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
#define SHARE_FARMING_KNOWLEDGE_OPTION TARGET_SIDE
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/flower4.png" _"@$player[{TARGET_SIDE}].name
|
||||
Share knowledge of agriculture"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].farming.target greater_than $player[{TARGET_SIDE}].farming.target}
|
||||
[have_unit]
|
||||
side={TARGET_SIDE}
|
||||
canrecruit=yes
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE_OP player[{TARGET_SIDE}].farming.progress add 1}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE finished_suboptions yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{REDRAW}
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "$player[{TARGET_SIDE}].name|, since our wisdom exceeds yours I have instructed my scholars to further your understanding of agriculture."
|
||||
[/message]
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
#define SHARE_MINING_KNOWLEDGE_OPTION TARGET_SIDE
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/gold-coins-small.png" _"@$player[{TARGET_SIDE}].name
|
||||
Share knowledge of mining"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].mining.target greater_than $player[{TARGET_SIDE}].mining.target}
|
||||
[have_unit]
|
||||
side={TARGET_SIDE}
|
||||
canrecruit=yes
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE_OP player[{TARGET_SIDE}].mining.progress add 1}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE finished_suboptions yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{REDRAW}
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "$player[{TARGET_SIDE}].name|, since the wisdom of my people exceeds yours I have instructed my scholars to aid you in your efforts to learn the science of mining."
|
||||
[/message]
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
#define SHARE_WARFARE_KNOWLEDGE_OPTION TARGET_SIDE
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "wesnoth-icon.png" _"@$player[{TARGET_SIDE}].name
|
||||
Share knowledge of warfare"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].warfare.target greater_than $player[{TARGET_SIDE}].warfare.target}
|
||||
[have_unit]
|
||||
side={TARGET_SIDE}
|
||||
canrecruit=yes
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE_OP player[{TARGET_SIDE}].warfare.progress add 1}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE finished_suboptions yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{REDRAW}
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "You know worryingly little about the arts of war, $player[{TARGET_SIDE}].name|. I feel an obligation to instruct you in this vital matter."
|
||||
[/message]
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
|
||||
#define LEADER_OPTIONS
|
||||
[set_menu_item]
|
||||
id=anl_diplomacy
|
||||
description="Diplomacy"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
canrecruit=yes
|
||||
[not]
|
||||
[wml_filter]
|
||||
moves=0
|
||||
[/wml_filter]
|
||||
[/not]
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[filter_location]
|
||||
terrain="Gg^Ve,Gg^Vea"
|
||||
[/filter_location]
|
||||
[command]
|
||||
|
||||
[store_side]
|
||||
side=$side_number
|
||||
variable=leader
|
||||
[/store_side]
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
x=$x1
|
||||
y=$y1
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE_OP side format $unit.side}
|
||||
{VARIABLE finished_options no}
|
||||
[while]
|
||||
{CONDITION finished_options equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
speaker=unit
|
||||
message= _ "What shall I do?
|
||||
"
|
||||
|
||||
# Nothing
|
||||
|
||||
[option]
|
||||
message= _ "Nothing"
|
||||
[command]
|
||||
{VARIABLE finished_options yes}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Giving Money
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/gold-coins-small.png" _"@Donate Funds
|
||||
Give 20 gold to another player"}
|
||||
[command]
|
||||
{VARIABLE finished_suboptions no}
|
||||
[while]
|
||||
{CONDITION finished_suboptions equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
speaker=unit
|
||||
image=items/gold-coins-small.png
|
||||
message= _ "Who will you donate funds to?"
|
||||
|
||||
[option]
|
||||
message= _ "Back"
|
||||
[command]
|
||||
{VARIABLE finished_suboptions yes}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
{DONATE_FUNDS_OPTION 1}
|
||||
{DONATE_FUNDS_OPTION 2}
|
||||
{DONATE_FUNDS_OPTION 3}
|
||||
{DONATE_FUNDS_OPTION 4}
|
||||
|
||||
[/message]
|
||||
[/do]
|
||||
[/while]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Sharing Knowledge
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/book4.png" _"@Share Knowledge
|
||||
Help an ally with their research"}
|
||||
[command]
|
||||
{VARIABLE finished_suboptions no}
|
||||
[while]
|
||||
{CONDITION finished_suboptions equals no}
|
||||
[do]
|
||||
[message]
|
||||
caption="Diplomatic Options"
|
||||
speaker=unit
|
||||
image=items/book4.png
|
||||
message= _ "Who will you share knowledge with?"
|
||||
|
||||
[option]
|
||||
message= _ "Back"
|
||||
[command]
|
||||
{VARIABLE finished_suboptions yes}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
{SHARE_FARMING_KNOWLEDGE_OPTION 1}
|
||||
{SHARE_MINING_KNOWLEDGE_OPTION 1}
|
||||
{SHARE_WARFARE_KNOWLEDGE_OPTION 1}
|
||||
|
||||
{SHARE_FARMING_KNOWLEDGE_OPTION 2}
|
||||
{SHARE_MINING_KNOWLEDGE_OPTION 2}
|
||||
{SHARE_WARFARE_KNOWLEDGE_OPTION 2}
|
||||
|
||||
{SHARE_FARMING_KNOWLEDGE_OPTION 3}
|
||||
{SHARE_MINING_KNOWLEDGE_OPTION 3}
|
||||
{SHARE_WARFARE_KNOWLEDGE_OPTION 3}
|
||||
|
||||
{SHARE_FARMING_KNOWLEDGE_OPTION 4}
|
||||
{SHARE_MINING_KNOWLEDGE_OPTION 4}
|
||||
{SHARE_WARFARE_KNOWLEDGE_OPTION 4}
|
||||
|
||||
[/message]
|
||||
[/do]
|
||||
[/while]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
|
||||
# Negotiations
|
||||
|
||||
# Dwarves
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "units/dwarves/lord.png~TC(1,magenta)" _"@Negotiate with the Dwarves
|
||||
Lets you recruit a Dwarvish unit
|
||||
Negotiation Progress: $player[$side_number].leader_option_1.progress|/$player[$side_number].leader_option_1.target"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].ally_1 equals no}
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_2 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_3 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_4 equals no}
|
||||
[/or]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{VARIABLE_OP player[$side_number].leader_option_1.progress add 1}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Elves
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "units/elves-wood/marshal.png~TC(1,magenta)" _"@Negotiate with the Elves
|
||||
Lets you recruit an Elvish unit
|
||||
Negotiation Progress: $player[$side_number].leader_option_2.progress|/$player[$side_number].leader_option_2.target"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].ally_5 equals no}
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_6 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_7 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].ally_8 equals no}
|
||||
[/or]
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{VARIABLE_OP player[$side_number].leader_option_2.progress add 1}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[/message]
|
||||
|
||||
[/do]
|
||||
[/while]
|
||||
|
||||
|
||||
# Picking a Diplomactic recruit
|
||||
|
||||
# Dwarves
|
||||
|
||||
[if]
|
||||
{CONDITION player[$side_number].leader_option_1.progress greater_than_equal_to $player[$side_number].leader_option_1.target}
|
||||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Negotiation Complete"
|
||||
image="../data/campaigns/The_Rise_Of_Wesnoth/images/portraits/burin.png"
|
||||
message= _ "Our talks are complete - the Dwarves will gladly fight by your side. Which of our brethren do you want to recruit?
|
||||
"
|
||||
|
||||
{PICK_RECRUIT_OPTION ("units/dwarves/fighter.png~TC(1,magenta)") ("Dwarvish Fighter") ally_1}
|
||||
{PICK_RECRUIT_OPTION ("units/dwarves/guard.png~TC(1,magenta)") ("Dwarvish Guardsman") ally_2}
|
||||
{PICK_RECRUIT_OPTION ("units/dwarves/thunderer.png~TC(1,magenta)") ("Dwarvish Thunderer")ally_3}
|
||||
{PICK_RECRUIT_OPTION ("units/dwarves/ulfserker.png~TC(1,magenta)") ("Dwarvish Ulfserker") ally_4}
|
||||
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].leader_option_1.progress format 0}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
# Elves
|
||||
|
||||
[if]
|
||||
{CONDITION player[$side_number].leader_option_2.progress greater_than_equal_to $player[$side_number].leader_option_2.target}
|
||||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Negotiation Complete"
|
||||
image="../data/campaigns/The_Rise_Of_Wesnoth/images/portraits/isomithir.png"
|
||||
message= _ "Our talks are complete - the Elves shall aid you in this battle. Which our of kin do you wish to recruit?
|
||||
"
|
||||
|
||||
{PICK_RECRUIT_OPTION ("units/elves-wood/archer.png~TC(1,magenta)") ("Elvish Archer") ally_5}
|
||||
{PICK_RECRUIT_OPTION ("units/elves-wood/fighter.png~TC(1,magenta)") ("Elvish Fighter") ally_6}
|
||||
{PICK_RECRUIT_OPTION ("units/elves-wood/scout.png~TC(1,magenta)") ("Elvish Scout") ally_7}
|
||||
{PICK_RECRUIT_OPTION ("units/elves-wood/shaman.png~TC(1,magenta)") ("Elvish Shaman") ally_8}
|
||||
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].leader_option_2.progress format 0}
|
||||
[/then]
|
||||
[/if]
|
||||
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
[/unstore_unit]
|
||||
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
#enddef
|
222
data/multiplayer/scenarios/ANL_utils/ANL_research_options.cfg
Normal file
222
data/multiplayer/scenarios/ANL_utils/ANL_research_options.cfg
Normal file
|
@ -0,0 +1,222 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
#define RESEARCH_OPTIONS TYPES
|
||||
|
||||
# Picking new recruit
|
||||
|
||||
[set_menu_item]
|
||||
id=anl_choose_new_recruit
|
||||
description="Choose New Recruit"
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].warfare.troop_available greater_than_equal_to 1}
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
type={TYPES}
|
||||
canrecruit=no
|
||||
[not]
|
||||
[wml_filter]
|
||||
moves=0
|
||||
[/wml_filter]
|
||||
[/not]
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[filter_location]
|
||||
terrain="Gg^Ve,Gg^Vea"
|
||||
[/filter_location]
|
||||
# wmlindent: start ignoring
|
||||
[command]
|
||||
[message]
|
||||
speaker=unit
|
||||
caption="Study Complete"
|
||||
message= _ "Which type of unit would you like to be able to recruit?
|
||||
"
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/spearman.png~TC(1,magenta)") ("Spearman") troop_1}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/bowman.png~TC(1,magenta)") ("Bowman") troop_2}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/fencer.png~TC(1,magenta)") ("Fencer") troop_3}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/heavyinfantry.png~TC(1,magenta)") ("Heavy Infantryman") troop_4}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/sergeant.png~TC(1,magenta)") ("Sergeant") troop_5}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/cavalryman.png~TC(1,magenta)") ("Cavalryman") troop_6}
|
||||
{PICK_RECRUIT_OPTION ("units/human-loyalists/horseman.png~TC(1,magenta)") ("Horseman") troop_7}
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].warfare.troop_available add -1}
|
||||
[/command]
|
||||
# wmlindent: stop ignoring
|
||||
[/set_menu_item]
|
||||
|
||||
# Changing Research Target
|
||||
|
||||
[set_menu_item]
|
||||
id=anl_oversee_research
|
||||
description="Oversee Research"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
type={TYPES}
|
||||
canrecruit=no
|
||||
[not]
|
||||
[wml_filter]
|
||||
moves=0
|
||||
[/wml_filter]
|
||||
[/not]
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[filter_location]
|
||||
terrain="Gg^Ve,Gg^Vea"
|
||||
[/filter_location]
|
||||
|
||||
[command]
|
||||
[store_unit]
|
||||
[filter]
|
||||
x=$x1
|
||||
y=$y1
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE finished_options no}
|
||||
[while]
|
||||
{CONDITION finished_options equals no}
|
||||
[do]
|
||||
# wmlindent: start ignoring
|
||||
[message]
|
||||
speaker=unit
|
||||
caption="Research"
|
||||
message= _ "We are currently studying $player[$side_number].research.current_target|. To which end would you have our scholars devote their minds?
|
||||
|
||||
Our farms produce $player[$side_number].farming.gold|g
|
||||
Our mines produce $player[$side_number].mining.gold|g
|
||||
"
|
||||
|
||||
[option]
|
||||
message= _ "Continue as before"
|
||||
[command]
|
||||
{VARIABLE finished_options yes}
|
||||
[/command]
|
||||
[/option]
|
||||
# wmlindent: stop ignoring
|
||||
# Farming
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/flower4.png" _"@Agriculture
|
||||
Farmers produce +1 gold
|
||||
Study Progress: $player[$side_number].farming.progress|/$player[$side_number].farming.target"}
|
||||
[command]
|
||||
{VARIABLE player[$side_number].research.current_target "agriculture"}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Mining
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "items/gold-coins-small.png" _"@Mining
|
||||
Miners produce +1 gold
|
||||
Study Progress: $player[$side_number].mining.progress|/$player[$side_number].mining.target"}
|
||||
[command]
|
||||
{VARIABLE player[$side_number].research.current_target "mining"}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
#Warfare
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT "wesnoth-icon.png" _"@Warfare
|
||||
Allows you to recruit a new type of unit
|
||||
Study Progress: $player[$side_number].warfare.progress|/$player[$side_number].warfare.target"}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].troop_1 equals no}
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_2 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_3 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_4 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_5 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_6 equals no}
|
||||
[/or]
|
||||
[or]
|
||||
{CONDITION player[$side_number].troop_7 equals no}
|
||||
[/or]
|
||||
[/show_if]
|
||||
|
||||
[command]
|
||||
{VARIABLE player[$side_number].research.current_target "warfare"}
|
||||
{VARIABLE finished_options yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[/message]
|
||||
[/do]
|
||||
[/while]
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
[/unstore_unit]
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
#enddef
|
||||
|
||||
# Research Complete Messages
|
||||
# (These are shown at the start of a player's turn - they are triggered by an event included in the auto-studying macro)
|
||||
|
||||
#define FARMING_RESEARCH_COMPLETE
|
||||
[if]
|
||||
{CONDITION player[$side_number].farming.progress greater_than_equal_to $player[$side_number].farming.target}
|
||||
[then]
|
||||
{VARIABLE_OP player[$side_number].farming.gold add 1}
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
image="items/flower4.png"
|
||||
message= _ "$player[$side_number].name|'s farms now produce $player[$side_number].farming.gold gold."
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].farming.progress add -$player[$side_number].farming.target}
|
||||
{VARIABLE_OP player[$side_number].farming.target add 1}
|
||||
[/then]
|
||||
[/if]
|
||||
#enddef
|
||||
|
||||
#define MINING_RESEARCH_COMPLETE
|
||||
[if]
|
||||
{CONDITION player[$side_number].mining.progress greater_than_equal_to $player[$side_number].mining.target}
|
||||
[then]
|
||||
{VARIABLE_OP player[$side_number].mining.gold add 1}
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
image="items/gold-coins-small.png"
|
||||
message= _ "$player[$side_number].name|'s mines now produce $player[$side_number].mining.gold gold."
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].mining.progress add -$player[$side_number].mining.target}
|
||||
{VARIABLE_OP player[$side_number].mining.target add 1}
|
||||
[/then]
|
||||
[/if]
|
||||
#enddef
|
||||
|
||||
#define WARFARE_RESEARCH_COMPLETE
|
||||
[if]
|
||||
{CONDITION player[$side_number].warfare.progress greater_than_equal_to $player[$side_number].warfare.target}
|
||||
[then]
|
||||
[message]
|
||||
speaker=narrator
|
||||
caption="Study Complete"
|
||||
image="wesnoth-icon.png"
|
||||
message= _ "$player[$side_number].name|, we have finished researching warfare. Right-click on a mage in a university to select a unit to recruit."
|
||||
[/message]
|
||||
{VARIABLE_OP player[$side_number].warfare.troop_available add 1}
|
||||
{VARIABLE_OP player[$side_number].warfare.progress add -$player[$side_number].warfare.target}
|
||||
{VARIABLE_OP player[$side_number].warfare.target add 1}
|
||||
[/then]
|
||||
[/if]
|
||||
#enddef
|
218
data/multiplayer/scenarios/ANL_utils/ANL_special_macros.cfg
Normal file
218
data/multiplayer/scenarios/ANL_utils/ANL_special_macros.cfg
Normal file
|
@ -0,0 +1,218 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
#define COMPLETE_ACTION GOLD
|
||||
{VARIABLE finished yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
[/unstore_unit]
|
||||
[gold]
|
||||
amount={GOLD}
|
||||
side=$side_number
|
||||
[/gold]
|
||||
#enddef
|
||||
|
||||
#define ANL_SHOW_IF TYPE LETTERS
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
type={TYPE}
|
||||
[filter_location]
|
||||
terrain={LETTERS}
|
||||
[/filter_location]
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
#enddef
|
||||
|
||||
#define SET_NAMES SIDE
|
||||
[store_unit]
|
||||
[filter]
|
||||
side={SIDE}
|
||||
canrecruit=yes
|
||||
[/filter]
|
||||
variable=leader
|
||||
[/store_unit]
|
||||
{VARIABLE player[{SIDE}].name $leader.name}
|
||||
[unstore_unit]
|
||||
variable=leader
|
||||
[/unstore_unit]
|
||||
#enddef
|
||||
|
||||
#define SET_SIDE_VARIABLES SIDE
|
||||
{VARIABLE player[{SIDE}].farming.progress 0}
|
||||
{VARIABLE player[{SIDE}].farming.target 4}
|
||||
{VARIABLE player[{SIDE}].farming.gold 3}
|
||||
|
||||
{VARIABLE player[{SIDE}].mining.progress 0}
|
||||
{VARIABLE player[{SIDE}].mining.target 5}
|
||||
{VARIABLE player[{SIDE}].mining.gold 4}
|
||||
|
||||
{VARIABLE player[{SIDE}].warfare.progress 0}
|
||||
{VARIABLE player[{SIDE}].warfare.target 4}
|
||||
{VARIABLE player[{SIDE}].warfare.troop_available 0}
|
||||
|
||||
{VARIABLE player[{SIDE}].troop_1 no}
|
||||
{VARIABLE player[{SIDE}].troop_2 no}
|
||||
{VARIABLE player[{SIDE}].troop_3 no}
|
||||
{VARIABLE player[{SIDE}].troop_4 no}
|
||||
{VARIABLE player[{SIDE}].troop_5 no}
|
||||
{VARIABLE player[{SIDE}].troop_6 no}
|
||||
{VARIABLE player[{SIDE}].troop_7 no}
|
||||
|
||||
{VARIABLE player[{SIDE}].research.current_target "agriculture"}
|
||||
|
||||
{VARIABLE player[{SIDE}].leader_option_1.progress 0}
|
||||
{VARIABLE player[{SIDE}].leader_option_1.target 4}
|
||||
|
||||
{VARIABLE player[{SIDE}].ally_1 no}
|
||||
{VARIABLE player[{SIDE}].ally_2 no}
|
||||
{VARIABLE player[{SIDE}].ally_3 no}
|
||||
{VARIABLE player[{SIDE}].ally_4 no}
|
||||
|
||||
{VARIABLE player[{SIDE}].leader_option_2.progress 0}
|
||||
{VARIABLE player[{SIDE}].leader_option_2.target 4}
|
||||
|
||||
{VARIABLE player[{SIDE}].ally_5 no}
|
||||
{VARIABLE player[{SIDE}].ally_6 no}
|
||||
{VARIABLE player[{SIDE}].ally_7 no}
|
||||
{VARIABLE player[{SIDE}].ally_8 no}
|
||||
#enddef
|
||||
|
||||
#define PICK_RECRUIT_OPTION UNIT_IMAGE UNIT_TYPE VAR
|
||||
[option]
|
||||
message= {MENU_IMG_TXT {UNIT_IMAGE} _{UNIT_TYPE}}
|
||||
[show_if]
|
||||
{CONDITION player[$side_number].{VAR} equals no}
|
||||
[/show_if]
|
||||
[command]
|
||||
{VARIABLE player[$side_number].{VAR} yes}
|
||||
[allow_recruit]
|
||||
type={UNIT_TYPE}
|
||||
side=$side_number
|
||||
[/allow_recruit]
|
||||
[/command]
|
||||
[/option]
|
||||
#enddef
|
||||
|
||||
#define ADDING_TO_CURRENT_RESEARCH_FIELD SIDE NUM
|
||||
[if]
|
||||
{CONDITION player[{SIDE}].research.current_target equals "agriculture"}
|
||||
[then]
|
||||
{VARIABLE_OP player[{SIDE}].farming.progress add {NUM}}
|
||||
[/then]
|
||||
[/if]
|
||||
[if]
|
||||
{CONDITION player[{SIDE}].research.current_target equals "mining"}
|
||||
[then]
|
||||
{VARIABLE_OP player[{SIDE}].mining.progress add {NUM}}
|
||||
[/then]
|
||||
[/if]
|
||||
[if]
|
||||
{CONDITION player[{SIDE}].research.current_target equals "warfare"}
|
||||
[then]
|
||||
{VARIABLE_OP player[{SIDE}].warfare.progress add {NUM}}
|
||||
[/then]
|
||||
[/if]
|
||||
#enddef
|
||||
|
||||
#define ANL_RESCUE_TRAPPED_UNIT X Y X2 Y2
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=1,2,3,4
|
||||
x={X}
|
||||
y={Y}
|
||||
[/filter]
|
||||
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "Let's cut you free!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=narrator
|
||||
message= _ "You release the creature from the web and it agrees to help you."
|
||||
image=wesnoth-icon.png
|
||||
[/message]
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
x={X2}
|
||||
y={Y2}
|
||||
[/filter]
|
||||
variable=critter
|
||||
kill=no
|
||||
[/store_unit]
|
||||
{VARIABLE critter.side $side_number}
|
||||
{VARIABLE critter.overlays "none"}
|
||||
[unstore_unit]
|
||||
variable=critter
|
||||
[/unstore_unit]
|
||||
[/event]
|
||||
#enddef
|
||||
|
||||
#define ANL_PLACE_UNIT SIDE TYPE X Y
|
||||
[unit]
|
||||
side={SIDE}
|
||||
type={TYPE}
|
||||
generate_name=yes
|
||||
ai_special=guardian
|
||||
random_traits=no
|
||||
x={X}
|
||||
y={Y}
|
||||
[/unit]
|
||||
#enddef
|
||||
|
||||
#define ANL_PLACE_WOUNDED_UNIT SIDE TYPE X Y HITPOINTS
|
||||
[unit]
|
||||
side={SIDE}
|
||||
type={TYPE}
|
||||
generate_name=yes
|
||||
hitpoints={HITPOINTS}
|
||||
ai_special=guardian
|
||||
random_traits=no
|
||||
x={X}
|
||||
y={Y}
|
||||
[/unit]
|
||||
#enddef
|
||||
|
||||
#define ANL_PLACE_TRAPPED_UNIT SIDE TYPE X Y
|
||||
[unit]
|
||||
side={SIDE}
|
||||
type={TYPE}
|
||||
generate_name=yes
|
||||
ai_special=guardian
|
||||
random_traits=no
|
||||
overlays=projectiles/web.png
|
||||
x={X}
|
||||
y={Y}
|
||||
[/unit]
|
||||
#enddef
|
||||
|
||||
#define BUILD_SOUND_1
|
||||
{PLAY_SOUND ("miss-1.ogg")}
|
||||
{DELAY 120}
|
||||
{PLAY_SOUND ("bite.ogg")}
|
||||
{DELAY 220}
|
||||
{PLAY_SOUND ("dart.wav")}
|
||||
{DELAY 180}
|
||||
{PLAY_SOUND ("dart.wav")}
|
||||
#enddef
|
||||
|
||||
#define BUILD_SOUND_2
|
||||
{PLAY_SOUND ("staff.wav")}
|
||||
{DELAY 100}
|
||||
{PLAY_SOUND ("pincers.ogg")}
|
||||
{DELAY 160}
|
||||
{PLAY_SOUND ("sling.ogg")}
|
||||
#enddef
|
||||
|
||||
#define BUILD_SOUND_3
|
||||
{PLAY_SOUND ("bite.ogg")}
|
||||
{DELAY 280}
|
||||
{PLAY_SOUND ("staff.wav")}
|
||||
{DELAY 100}
|
||||
{PLAY_SOUND ("dart.wav")}
|
||||
{DELAY 180}
|
||||
{PLAY_SOUND ("dart.wav")}
|
||||
#enddef
|
416
data/multiplayer/scenarios/ANL_utils/ANL_worker_options.cfg
Normal file
416
data/multiplayer/scenarios/ANL_utils/ANL_worker_options.cfg
Normal file
|
@ -0,0 +1,416 @@
|
|||
#textdomain wesnoth-anl
|
||||
|
||||
#define WORKER_OPTIONS TYPES
|
||||
[set_menu_item]
|
||||
id=anl_get_to_work
|
||||
description="Get to Work!"
|
||||
[show_if]
|
||||
[have_unit]
|
||||
side=$side_number
|
||||
x,y=$x1,$y1
|
||||
type={TYPES}
|
||||
[not]
|
||||
[wml_filter]
|
||||
moves=0
|
||||
[/wml_filter]
|
||||
[/not]
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[command]
|
||||
|
||||
[store_side]
|
||||
side=$side_number
|
||||
variable=worker
|
||||
[/store_side]
|
||||
|
||||
[store_unit]
|
||||
[filter]
|
||||
x=$x1
|
||||
y=$y1
|
||||
[/filter]
|
||||
variable=unit
|
||||
[/store_unit]
|
||||
|
||||
{VARIABLE finished no}
|
||||
[while]
|
||||
{CONDITION finished equals no}
|
||||
[do]
|
||||
# wmlindent: start ignoring
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "What shall I do my liege?
|
||||
"
|
||||
|
||||
[option]
|
||||
message= _ "Nothing"
|
||||
[command]
|
||||
{VARIABLE finished yes}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# FARMLAND
|
||||
|
||||
# Convert to grassland
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Convert to Grassland" _"`Cost: 0g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Re"}
|
||||
[command]
|
||||
{COMPLETE_ACTION 0}
|
||||
{MODIFY_TERRAIN Gg $x1 $y1}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# GRASSLAND
|
||||
|
||||
# Plant Farm
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/farm-veg-spring-icon.png" _"@Plant Farm" _"`Cost: 0g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg,Gs,Ggf"}
|
||||
[command]
|
||||
{COMPLETE_ACTION 0}
|
||||
{MODIFY_TERRAIN Re $x1 $y1}
|
||||
{PLAY_SOUND ("entangle.wav")}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Build Village
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/village/human-tile.png" _"@Build Village" _"`Cost: 15g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg,Gs,Ggf"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 15}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-15)}
|
||||
{MODIFY_TERRAIN "Gg^Vh" $x1 $y1}
|
||||
{CAPTURE_VILLAGE}
|
||||
{BUILD_SOUND_1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Build Castle
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/castle/castle-tile.png" _"@Build Castle" _"`Cost: 6g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg,Gs,Ggf"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 6}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-6)}
|
||||
{MODIFY_TERRAIN "Ch" $x1 $y1}
|
||||
{BUILD_SOUND_2}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Flood
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/water/coast.png" _"@Flood the Field" _"`Cost: 4g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg,Gs,Ggf"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 4}
|
||||
[then]
|
||||
{COMPLETE_ACTION -4}
|
||||
{MODIFY_TERRAIN "Ww" $x1 $y1}
|
||||
{PLAY_SOUND ("water-blast.wav")}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Plant Saplings
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/forest/pine-tile.png" _"@Plant Saplings" _"`Cost: 1g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg,Gs,Ggf"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 1}
|
||||
[then]
|
||||
{COMPLETE_ACTION -1}
|
||||
{MODIFY_TERRAIN "Gs^Fp" $x1 $y1}
|
||||
{PLAY_SOUND ("entangle.wav")}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# FOREST
|
||||
|
||||
# Chop Down Forest
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Chop Down Forest" _"`Earns: 1g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gs^Fp,Gs^Ft,Aa^Fpa,Gg^Fet"}
|
||||
[command]
|
||||
{VARIABLE finished yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{ADD_GOLD $side_number 1}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{DELAY 250}
|
||||
{PLAY_SOUND ("axe.ogg")}
|
||||
{DELAY 150}
|
||||
{PLAY_SOUND ("wose-die.ogg")}
|
||||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
text=1
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# HILLS
|
||||
|
||||
# Build Gold Mine
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/village/human-hills-tile.png" _"@Build Mine" _"`Cost: 25g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Hh"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 25}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-25)}
|
||||
{MODIFY_TERRAIN "Hh^Vhh" $x1 $y1}
|
||||
{CAPTURE_VILLAGE}
|
||||
{BUILD_SOUND_1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# MOUNTAINS
|
||||
|
||||
# Build Gold Mine
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/village/human-mountain-tile.png" _"@Build Mine" _"`Cost: 25g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Mm"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 25}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-25)}
|
||||
{MODIFY_TERRAIN "Mm^Vhh" $x1 $y1}
|
||||
{CAPTURE_VILLAGE}
|
||||
{BUILD_SOUND_1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# WATER
|
||||
|
||||
# Make a Ford
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/water/ford.png" _"@Make a Ford" _"`Cost: 3g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Ww"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 3}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-3)}
|
||||
{DELAY 200}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{MODIFY_TERRAIN "Wwf" $x1 $y1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Landfill
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Landfill" _"`Cost: 5g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Ww"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 5}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-5)}
|
||||
{DELAY 200}
|
||||
{PLAY_SOUND ("claws.ogg")}
|
||||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# FORD
|
||||
|
||||
# Destroy the Ford
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/water/coast.png" _"@Destroy the Ford" _"`Cost: 0g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Wwf"}
|
||||
[command]
|
||||
{COMPLETE_ACTION 0}
|
||||
{DELAY 200}
|
||||
{MODIFY_TERRAIN "Ww" $x1 $y1}
|
||||
{PLAY_SOUND ("pincers.ogg")}
|
||||
{DELAY 200}
|
||||
{PLAY_SOUND ("water-blast.wav")}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Landfill
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Landfill" _"`Cost: 1g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Wwf"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 1}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-1)}
|
||||
{DELAY 200}
|
||||
{PLAY_SOUND ("claws.ogg")}
|
||||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# CAVE
|
||||
|
||||
# Break Up Cave
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Smash Cave Floor" _"`Cost: 2g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Uu,Uu^Ii"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 2}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-2)}
|
||||
{PLAY_SOUND ("claws.ogg")}
|
||||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Convert Cave To Hills
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/hills-variation2.png" _"@Smash Cave Floor" _"`Cost: 3g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Uh,Uh^Ii"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 3}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-3)}
|
||||
{PLAY_SOUND ("claws.ogg")}
|
||||
{MODIFY_TERRAIN "Hh" $x1 $y1}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# Harvest Cave Mushrooms
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/cave/floor1.png" _"@Harvest Mushrooms" _"`Earns: 3g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Uu^Uf"}
|
||||
[command]
|
||||
{VARIABLE finished yes}
|
||||
{VARIABLE_OP unit.moves format 0}
|
||||
{ADD_GOLD $side_number 3}
|
||||
{PLAY_SOUND ("dagger-swish.wav")}
|
||||
{DELAY 250}
|
||||
{PLAY_SOUND ("axe.ogg")}
|
||||
{MODIFY_TERRAIN "Uu" $x1 $y1}
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
text=3
|
||||
red,green,blue=204,204,51
|
||||
[/unstore_unit]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# CASTLE
|
||||
|
||||
# Build Keep
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/castle/keep-tile.png" _"@Build a Keep" _"`Cost: 6g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Ch,Ce,Cv,Cud,Chr,Chw,Chs"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 6}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-6)}
|
||||
{MODIFY_TERRAIN "Kh" $x1 $y1}
|
||||
{BUILD_SOUND_2}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# VILLAGE
|
||||
|
||||
# Establish Univeristy
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/village/elven-tile.png" _"@Establish Univeristy" _"`Cost: 7g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Gg^Vh,Aa^Vha"}
|
||||
[command]
|
||||
[if]
|
||||
{CONDITION worker.gold greater_than_equal_to 7}
|
||||
[then]
|
||||
{COMPLETE_ACTION (-7)}
|
||||
{MODIFY_TERRAIN "Gg^Ve" $x1 $y1}
|
||||
{CAPTURE_VILLAGE}
|
||||
{BUILD_SOUND_2}
|
||||
[/then]
|
||||
[/if]
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
# ----------------------------------------------
|
||||
# RUBBLE
|
||||
|
||||
# Clear Rubble
|
||||
|
||||
[option]
|
||||
message= {MENU_IMG_TXT2 "terrain/flat/grass-r8.png" _"@Clear the Ground" _"`Cost: 0g"}
|
||||
{ANL_SHOW_IF ("Peasant") "Rd"}
|
||||
[command]
|
||||
{COMPLETE_ACTION (-0)}
|
||||
{DELAY 200}
|
||||
{PLAY_SOUND ("claws.ogg")}
|
||||
{MODIFY_TERRAIN "Gg" $x1 $y1}
|
||||
{REMOVE_ITEM $x1 $y1}
|
||||
[/command]
|
||||
[/option]
|
||||
|
||||
[/message]
|
||||
[/do]
|
||||
[/while]
|
||||
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
#enddef
|
||||
# wmlindent: stop ignoring
|
Loading…
Add table
Reference in a new issue