SoF: Revisions to S1-S3t (#4609)
* SoF: some early scenario touch-ups * SoF: Sc2.5 - inserting new scenario with mine-cart mechanics, as introduction, better use can be in future scenarios * SoF: some fixes to mine carts * SoF: add attack events to automatically exit the cart in combat * SoF: boost base score to overide other standing animations - still need to deal with idle animations * SoF: Some revisions around third scenario * SoF S1,S2: adjusting/fixing the elf side * SoF S1 - adjust Haldric side 2, so AI leader does not jump in the snow if enemies get close * SoF maps - removing two unused maps (introduced in the PR, not already existing)
This commit is contained in:
parent
3d70628d73
commit
a55a10c27c
13 changed files with 1057 additions and 69 deletions
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-mask-n.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-mask-n.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 309 B |
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-mask-ne.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-mask-ne.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 318 B |
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-n.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-n.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-ne.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/mine-cart-ne.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.1 KiB |
|
@ -1,24 +1,24 @@
|
|||
Ha, Ha, Ha, Ms, Ha, Ha, Ha, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Aa, Ms, Ai, Ai, Ai, Ai, Ai
|
||||
Ha, Ha, Ha, Ms, Ai, Ai, Ha, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Aa^Vha, Ms, Ai, Ai, Ai, Ai, Ai
|
||||
Ha, Ha, Ha, Ms, Ha, Ha, Ha, Ms, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms^Xm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Aa, Ms, Rr, Aa, Ai, Ai, Ai
|
||||
Ha, Ha, Ha, Ms, Ai, Ai, Ha, Ms, Ms, Ms, Ms, Ms^Xm, Ms^Xm, Ms^Xm, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Aa^Vha, Rr, Rr, Aa, Ai, Ai, Ai
|
||||
Aa, Aa, Aa, Ha, Ai, Ai, Ai, Ha, Ha, Ha, Ha, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ha, Ms, Ms, Ms, Ha, Ms, Cud, Ms, Ms, Ai, Ai, Ai
|
||||
Ha, Ha, Aa, Aa, Aa, Ai, Aa, Aa, Aa, Aa, Aa, Ha, Ha^Vhha, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ha, Ha^Vhha, Aa, Ha, Ha, Ms, Ha, Cud, 1 Kud, Cud, Ms, Ai, Ai, Ai
|
||||
Ha, Rb^Vhha, Rb^Fda, Aa^Fpa, Rd, Rd, Rd, Rd, Rd, Rd, Rd, Ha, Aa, Ha, Ha, Ms, Ms, Ms, Ms, Ha, Ha, Rd, Rd, Aa, Ha^Fpa, Ha^Vhha, Rr, Cud, Cud, Cud, Aa^Vha, Ai, Ai, Ai
|
||||
Gd, Gd, Aa^Fpa, Rd^Fda, Aa^Fpa, Ha, Ha, Ha, Ms, Ha, Aa, Rd, Rb, Aa, Aa, Ha, Ms, Ha^Vhha, Ms, Ha, Rd, Rd, Aa^Fpa, Rd^Fpa, Rd^Fpa, Rr, Aa, Aa, Aa, Aa, Ai, Ai, Ms, Ms
|
||||
Ha, Ha, Aa, Aa, Aa, Ai, Aa, Aa, Aa, Aa, Aa, Ha, Ha^Vhha, Ms, Ms, Ms, Ms, Ms, Ms, Ms, Ha, Ha^Vhha, Aa, Ha, Ha, Ms, Ha, Cud, 1 Kud, Cud, Ms, Wwg, Ai, Ai
|
||||
Ha, Rb^Vhha, Rb^Fdw, Aa^Fpa, Rd, Rd, Rd, Rd, Rd, Rd, Rd, Ha, Aa, Ha, Ha, Ms, Ms, Ms, Ms, Ha, Ha, Rd, Rd, Aa, Ha^Fpa, Ha^Vhha, Rr, Cud, Cud, Cud, Aa^Vha, Ai, Ai, Ai
|
||||
Gd, Gd, Aa^Fpa, Rd^Fdw, Aa^Fpa, Ha, Ha, Ha, Ms, Ha, Aa, Rd, Re, Aa, Aa, Ha, Ms, Ha^Vhha, Ms, Ha, Rd, Rd, Aa^Fpa, Rd^Fpa, Rd^Fpa, Rr, Aa, Aa, Aa, Aa, Ai, Wwrg, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Gd, Rd^Fpa, Aa^Fpa, Aa, Ha, Ms, Ms, Ha, Gd, Aa, Aa^Fpa, Rb^Vea, Ha, Ha, Ha, Ms, Ms, Ha, Aa, Aa^Fpa, Aa^Fpa, Aa^Fpa, Aa, Rr, Ai, Ai, Ww, Wwrg^Es, Ms, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fpa, Rd^Fpa, Aa^Fpa, Aa, Aa, Ms, Ms, Ms, Ha, Gd, Ha^Fpa, Rb, Ha, Ms, Ms, Ms, Ms, Ha, Ha, Ha^Fpa, Aa^Fpa, Aa, Ww^Es, Rr, Ww^Es, Wwrg, Ha^Vhha, Ha, Mm, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fpa, Rb^Vea, Aa, Aa, Ha, Ha, Ms, Ms, Ha, Ha^Fpa, Ha^Fpa, Aa, Ha, Ms, Ms, Ha, Ha, Ms, Gd, Gd, Ww, Ww, Rd^Ebn, Ww^Bw|, Ai, Ai, Ai, Ha, Mm, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa, Gd^Fda, Gd, Aa, Aa, Aa, Ha, Ha, Aa, Aa, Aa^Fpa, Aa, Ha, Ms, Ms, Ha, Gd, Gd, Ww, Ww, Ai^Vhha, Ai, Aa, Rr, Rr, Ai, Ha, Ha, Mm, Mm, Ms, Ms
|
||||
Aa, Aa, Aa^Fda, Gd^Fda, Aa, Gd, Aa, Ha, Aa, Ha, Aa, Aa, Aa, Aa, Aa, Ha, Ha, Ha, Ww, Ww, Ha, Ha, Mm, Ha, Ha, Aa, Aa, Aa, Ha, Ha, Ha, Mm, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fpa, Aa, Aa^Fpa, Aa^Fpa, Aa^Fpa, Aa, Ha^Fpa, Aa, Ms, Ha, Gd, Aa, Ai, Ai, Ww, Ww, Gd, Gd, Ha^Fpa, Ha, Mm, Mm, Mm, Ha, Rr, Aa, Aa^Fpa, Aa, Ha, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fma, Aa, Aa^Fma, Aa, Aa, Aa, Aa, Ha, Ms, Ms, Ha, Aa, Ai, Ww, Ww, Gd, Aa^Fpa, Aa^Fpa, Aa^Fpa, Ha, Ha, Mm, Ha, Ha, Rr, Aa, Aa^Fpa, Aa, Ha^Fpa, Mm, Ms, Ms
|
||||
Aa, Aa, Gd^Fda, Gd^Fda, Gd^Fda, Aa, Aa, Aa, Aa, Aa, Ha, Ha, Ai, Ai, Ww, Ww, Gd, Gd, Ha, Aa^Fpa, Rr, Ha, Rr, Ha, Rr, Rr, Aa, Aa^Fpa, Aa^Fpa, Ha^Fpa, Ha^Fpa, Ha^Fpa, Ms, Ms
|
||||
Aa, Aa, Aa, Gd, Ai, Aa, Ai, Aa, Gd, Aa, Gd, Gd, Ww, Ww, Ww, Ww, Gd, Mm, Ha, Rr, Aa, Rr, Ha, Rr, Ha^Vhha, Aa, Aa, Aa^Fpa, Aa^Fpa, Aa, Ha, Mm, Ms, Ms
|
||||
Ai, Ai, Ww, Ww, Ww, Ai, Ww, Ai, Ww, Ww, Ww, Ww, Ww, Ww, Aa, Aa, Aa, Gd, Rr, Rr, Ha, Ha, Ha, Mm, Ha, Ha, Ha, Ha, Ha, Aa, Ha, Mm, Ms, Ms
|
||||
Ww, Ww, Ww, Gd^Es, Gd, Ww, Gd, Ww, Ww, Ww, Ww, Ww, Ai, Ai, Aa, Aa, Aa, Rr, Rr, Gd, Ha, Ha, Ha, Ha, Mm, Mm, Mm, Ha, Mm, Ha, Mm, Mm, Ms, Ms
|
||||
Ww, Ww, Ai, Ai, Gd, Aa, Aa, Gd, Gd, Ai, Ai, Ai, Ha, Gd, Gd, Aa, Aa, Aa, Rr, Aa, Ha, Mm, Mm, Mm, Ha, Mm, Ha, Ha, Mm, Mm, Mm, Mm, Ms, Ms
|
||||
Aa, Ai, Aa, Ai, Aa^Vh, Gd, Gd, Gd, Aa, Gd, Ai, Ai, Gd, Mm, Ha, Aa, Gd^Vh, Rr, Gd, Aa, Ha, Ha, Ha, Ha, Mm^Fma, Ha, Mm, Mm, Ha, Mm, Mm, Mm, Mm, Ms
|
||||
Aa, Aa, Aa, Gd, Rd, Rd, Aa, Gd, Aa, Aa, Aa, Gd, Gd, Ha, Aa, Aa, Rr, Rr, Gd, Aa, Ha, Ha, Aa, Ha^Fpa, Ha^Fma, Mm^Fma, Ha, Mm, Mm, Mm, Mm, Mm, Mm^Fma, Ms
|
||||
Aa, Aa, Aa, Gd, Aa, Rd, Rd, Aa, Aa, Aa, Aa, Aa, Aa, Aa, Gd, Gd, Rr, Gd, Aa, Aa, Ms, Ha, Aa, Aa, Aa, Ha^Fpa, Ha, Ha, Ha, Ha, Ha^Fpa, Mm^Fma, Mm^Fma, Mm
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fpa, Rrc^Vhca, Aa, Aa, Ha, Ha, Ms, Ms, Ha, Ha^Fpa, Ha^Fpa, Aa, Ha, Ms, Ms, Ha, Ha, Ms, Gd, Gd, Ww, Ww, Ds^Es, Ww^Bw|, Ai, Ai, Ai, Ha, Mm, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fda, Gd^Fdw, Gd, Aa, Aa, Aa, Ha, Ha, Aa, Aa, Aa^Fpa, Aa, Ha, Ms, Ms, Ha, Gd, Gd, Ww, Ww, Ai^Vhha, Ai, Aa, Rr, Rr, Ai, Ha, Ha, Mm, Mm, Cud^Ebn, Ms
|
||||
Aa, Aa, Aa^Fda, Gd^Fdw, Aa, Gd, Aa, Ha, Aa, Ha, Aa, Aa, Aa, Aa, Aa, Ha, Ha, Ha, Wwf, Wwf^Es, Ha, Ha, Mm, Ha, Ha, Aa, Rb, Aa^Es, Ha, Ha, Ha, Mm, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fpa, Aa, Aa^Fpa, Aa^Fpa, Aa^Fpa, Aa, Ha^Fpa, Aa, Ms, Ha, Gd, Aa, Ai, Ai, Ww, Wwf^Es, Gd, Gd, Ha^Fpa, Ha, Mm, Kea, Cea, Ha, Rr, Aa, Aa^Fpa, Aa, Ha, Ms, Ms, Ms
|
||||
Aa^Fpa, Aa^Fpa, Aa^Fma, Aa, Aa^Fma, Aa, Aa, Aa, Aa, Ha, Ms, Ms, Ha, Aa, Ai, Ww, Ww, Gd, Aa^Fpa, Aa^Fpa, Aa^Fpa, Ha, Ha, Cea, Ha, Ha, Rr, Aa, Aa^Fpa, Aa, Ha^Fpa, Mm, Ms, Ms
|
||||
Aa, Aa, Gd^Fdw, Gd^Fdw, Gd^Fdw, Aa^Fda, Aa, Aa, Aa, Aa, Ha, Ha, Ai, Ai, Ww, Ww, Gd, Gd, Ha, Aa^Fpa, Rr, Ha, Rr, Ha, Rr, Rr, Aa, Aa^Fpa, Aa^Fpa, Ha^Fpa, Ha^Fpa, Ha^Fpa, Ms, Ms
|
||||
Aa, Aa, Wwf, Gd, Ai, Aa, Ai, Aa, Gd, Aa, Gd, Gd, Ww, Ww, Ww, Ww, Gd, Mm, Ha, Rr, Aa, Rr, Ha, Rr, Ha^Vhha, Aa, Aa, Aa^Fpa, Aa^Fpa, Aa, Ha, Mm, Ms, Ms
|
||||
Ai, Ai, Ww, Ww, Ww, Wwf, Ww, Wwf, Ww, Ww, Ww, Ww, Ww, Ww, Aa, Aa, Aa, Gd, Rr, Rr, Ha, Ha, Ha, Mm, Ha, Ha, Ha, Ha, Ha, Aa, Ha, Mm, Ms, Ms
|
||||
Ww, Ww, Ww, Wwf^Es, Wwf, Ww, Ai, Ww, Ww, Ww, Wwf, Ww, Ai, Ai, Aa, Aa, Aa, Rr, Rr, Gd, Ha, Ha, Ha, Ha, Mm, Mm, Mm, Ha, Mm, Ha, Mm, Mm, Ms, Ms
|
||||
Ww, Ww, Ai, Ai, Gd, Aa, Aa, Ai, Ai, Ai, Ai, Ai, Ha, Gd, Gd, Aa, Aa, Aa, Rr, Aa, Ha, Mm, Mm, Mm, Ha, Mm, Ha, Ha, Mm, Mm, Mm, Mm, Ms, Ms
|
||||
Aa, Ai, Aa, Ai, Aa^Vh, Gd, Gd, Gd, Aa, Gd, Ai, Ai, Gd, Mm, Ha, Aa, Gd^Vh, Rr, Gd, Aa, Ha, Ha, Ha, Ha, Mm^Fdw, Ha, Mm, Mm, Ha, Mm, Mm, Mm, Mm, Ms
|
||||
Aa, Aa, Aa, Gd, Rd, Rd, Aa, Gd, Aa, Aa, Aa, Gd, Gd, Ha, Aa, Aa, Rr, Rr, Gd, Aa, Ha, Ha, Aa, Ha^Fpa, Ha^Fma, Mm^Fdw, Ha, Mm, Mm, Mm, Mm, Mm, Mm^Fmw, Ms
|
||||
Aa, Aa, Aa, Gd, Aa, Rd, Rd, Aa, Aa, Aa, Aa, Aa, Aa, Aa, Gd, Gd, Rr, Gd, Aa, Aa, Ms, Ha, Aa, Aa, Aa, Ha^Fpa, Ha, Ha, Ha, Ha, Ha^Fpa, Mm^Fmw, Mm^Fmw, Mm
|
||||
Aa, Aa, Aa, Aa, Aa, Aa, Aa, Re, Re^Vh, Gd, Aa, Aa, Aa, Aa, Gd, Gd, Rr, Gd, Aa, Ha, Ha, Aa, Aa, Aa, Aa, Aa, Aa, Ha, Aa, Ha, Ha, Ha^Fpa, Mm, Ms
|
||||
Aa, Gd, Aa, Aa, Aa, Aa, Aa, Aa, Re, Aa, Aa, Aa, Gd, Gd, Rr, Rr, Gd, Gd, Gd, Aa, Aa, Aa, Gd, Gd, Gd, Aa^Fpa, Aa^Fpa, Aa, Gd^Fetd, Ha, Ha, Mm, Mm, Ms
|
||||
Aa, Gd, Gd, Gd, Gd, Aa, Aa, Aa, Rd, Aa, Gd, Gd, Gd, Gd, Rr, Gd, Gd, Gd, Gd, Gd, Gd, Gd, Aa, Gd, Aa, Aa^Fpa, Gd^Fp, Gd^Fp, Gd, Hhd, Hhd, Mm, Mm, Mm
|
||||
|
|
|
@ -0,0 +1,32 @@
|
|||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Br|, Uu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu^Dr, Uu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Br/, Uu^Br|, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xuc, Xuc, Uu^Es, Uu^Dr, Uu^Br/, Uu^Br/, Uu^Es, Uu^Dr, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Wog, Xu, Xu, Xu, Xuc, Xuc, Xuc, Xuc, Uu, Uh, Uu^Dr, Xu, Xuc, Uu, Uu, Uu^Br/, Uu^Dr, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Wog, Wog, Xu, Xu, Xuc, Uu^Es, Uu^Es, Uu, Uu^Br/, Uu^Br/, Uu^Br\, Uu, Uu^Dr, Uu, Uu^Br/, Uu^Br|, Uu^Es, Uu^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Wog, Wog, Wog, Xu, Uu^Em, Ur^Em, Uu^Br/, Uu^Br/, Xu, Uu, Xu, Uu^Br\, Uu^Br\, Uu^Br/, Uu, Uu, Uu, Xuc, Xuc, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Wog, Wog, Xu, Xu, Xu, Uu^Br|, Uu^Dr, Uu, Xu, Xu, Xu, Xu, Uu, Uu^Br\, Uu, Ur, Ur, Uu, Uu^Es, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Wog, Wog, Wog, Xu, Xuc, Uu^Br|, Uu^Em, Xuc, Xu, Xu, Xuc, Xu, Uu, Uu^Br|, Uu, Ur, Uu^Es, Uu^Vu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Wog, Wog, Wog, Tb, Tb^Tf, Uu, Uu, Xu, Xuc, Ur, Xuc, Uu, Uu^Br|, Uu, Uu^Es, Uu, Uu, Tb^Tf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Wog, Tb, Tb, Tb, Uu^Dr, Uu, Uu, Uu, Uu^Vu, Ur^Es, Uu^Es, Uu^Br/, Uu^Br|, Ur, Xu, Xu, Tb^Tf, Tb^Tf, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Tb, Tb^Tf, Wwf^Tf, Wwg^Tf, Wwf, Wwf, Wwf, Wwf, Uu^Tf, Uu^Es, Uu^Br|, Uu, Ur^Es, Xuc, Xuc, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Sm^Tf, Wwf, Tb^Tf, Wwf, Uu^Em, Uu^Em, Uu^Tf, Tb^Tf, Wwf, Wwf^Br|, Wwf, Wwf, Uu, Xuc, Xu, Xu, Xu, Uh, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Tb^Tf, Ur^Dr, Sm, Sm, Uu^Em, Uu^Em, 3 Ke, Cer, Uu, Rb^Br|, Uu^Edt, Ur^Edt, Sm, Xuc, Xu, Xu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Uu
|
||||
Xu, Xu, Xu, Xu, Xu, Ur^Br\, Ur^Br\, Wwf, Uu, Cer, Uu, Rb^Ecf, Rb^Br|, Uu^Edt, Wwf^Edt, Ur^Edt, Ur, Xuc, Xu, Uh, Uu, Xu, Xu, Xu, Uh, Uu, Wwf
|
||||
Xu, Xu, Xu, Xu, Xu, Ur, Uu^Br|, Uu, Xu, Uh, Ur^Dr, Ur, Rb^Br|, Ur^Edt, Wwf^Edt, Wwf^Edt, Ur^Edt, Uh^Edt, Uu^Dr, Uu, Co, Uu, Co, Uh, Ur, Wwf, Wwf
|
||||
Xu, Xu, Xu, Xu, Xu, Uu, Uu^Br|, Uu, Xuc, Uh, Uu, Ur, Rb^Br|, Uu, Uh^Edt, Uu^Edt, Uu^Edt, Wwf^Edt, Ur, Ur^Ecf, Co, 2 Ko, Wwf, Ur, Uu, Uu, Uu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Br\, Uu^Br\, Xuc, Uu, Uu, Uu^Br|, Uu, Uh, Uh, Xu, Xu, Xu, Uh, Ur, Wwf, Wwf, Wwf, Uu, Uu^Vu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Uu^Br\, Uu^Br|, Uu^Br/, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Tf, Uu, Ur^Efs, Uu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Vu, Uh, Uu^Br|, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Tb^Tf, Uu^Tf, Tb^Tf, Uu, Uu, Uu^Dr, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Es, Uu, Uu^Br|, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Tb^Tf, Tb^Tf, Uu^Tf, Uu, Uu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Es, Uu^Es, Rb^Es, Rb^Br|, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uu, Uu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu^Br|, Uu, Xu, Xu, Xu, Xu, Uh, Uh, Uu, Uu, Ur, Uu, Uu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Br|, Uu, Xuc, Xu, Xuc, Xu, Uu, Uu, Ur, Uu^Vu, Ur, Uu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xuc, Uu, Uu^Br|, Uu, Uh, Xuc, Ur^Es, Uu, Ur, Ur, Uu, Ur, Uu, Uh, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Ur, Rb^Br|, Uu, Uu, Ur^Es, Uu, Ur, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Ur^Br|, Rb^Em, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xu, Xuc, Xuc, Rb^Br/, Rb^Br/, Uu, Uu^Es, Ur, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Xuc, Ur, Uu, Uu^Br|, Uu, Uu, Ur, Uh, Uu, Uu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Uh, Uu, Uu, 1 Rb^Br/, Uu, Xuc, Xu, Xu, Xu, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Uh, Uu, Uu, Rb^Br|, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Uu, Uu, Rb^Br|, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
|
@ -26,6 +26,12 @@
|
|||
team_name=dwarves
|
||||
user_team_name= _ "Dwarves"
|
||||
{FLAG_VARIANT knalgan}
|
||||
[unit]
|
||||
x,y=18,14
|
||||
type=Dwarvish Guardsman
|
||||
side=1
|
||||
facing=se
|
||||
[/unit]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
|
@ -41,6 +47,7 @@
|
|||
team_name=dwarves
|
||||
user_team_name= _ "Dwarves"
|
||||
[ai]
|
||||
{AI_SIMPLE_ALWAYS_ASPECT passive_leader yes}
|
||||
{AI_SIMPLE_ALWAYS_ASPECT recruitment_pattern fighter,archer}
|
||||
{AI_SIMPLE_ALWAYS_ASPECT aggression 0.5}
|
||||
{AI_SIMPLE_ALWAYS_ASPECT caution 0.5}
|
||||
|
@ -52,22 +59,28 @@
|
|||
side=1
|
||||
type=Caravan
|
||||
[/criteria]
|
||||
value=7
|
||||
protect_radius=12
|
||||
value=25
|
||||
protect_radius=8
|
||||
[/goal]
|
||||
[goal]
|
||||
name=protect_unit
|
||||
[criteria]
|
||||
type=Haldric II
|
||||
[/criteria]
|
||||
value=8
|
||||
protect_radius=7
|
||||
value=50
|
||||
protect_radius=6
|
||||
[/goal]
|
||||
[/ai]
|
||||
{LOYAL_UNIT 2 "Royal Guard" 5 25}{GUARDIAN}
|
||||
[+unit]
|
||||
facing=ne
|
||||
[/unit]
|
||||
#ifndef HARD
|
||||
{LOYAL_UNIT 2 "Halberdier" 7 27}{GUARDIAN}
|
||||
[+unit]
|
||||
facing=ne
|
||||
[/unit]
|
||||
#endif
|
||||
{LOYAL_UNIT 2 "Royal Guard" 5 29}{GUARDIAN}
|
||||
[+unit]
|
||||
facing=se
|
||||
|
@ -83,12 +96,34 @@
|
|||
name= _ "Glildur"
|
||||
side=3
|
||||
canrecruit=yes
|
||||
profile="portraits/elves/captain.png~CHAN(
|
||||
if((blue < 100) and (red > green), red*0.6, red),
|
||||
if(
|
||||
(blue < 100) and (red < green), green*0.7,
|
||||
(blue < 100) and (red < 100) and (red > green), green*0.7,
|
||||
green
|
||||
),
|
||||
if((blue < 100) and (red < green), blue*1.5, blue)
|
||||
)"
|
||||
facing=sw
|
||||
[modifications]
|
||||
{TRAIT_RESILIENT}
|
||||
{TRAIT_INTELLIGENT}
|
||||
[object]
|
||||
silent=yes
|
||||
[effect]
|
||||
apply_to=image_mod
|
||||
add=CS(-10,-25,+5)
|
||||
[/effect]
|
||||
[/object]
|
||||
[/modifications]
|
||||
{RECRUIT (Elvish Fighter,Elvish Scout,Elvish Archer) (Elvish Fighter,Elvish Scout,Elvish Archer,Elvish Shaman) (Elvish Fighter,Elvish Scout,Elvish Archer,Elvish Shaman)}
|
||||
{GOLD 175 225 275}
|
||||
{INCOME 6 9 12}
|
||||
team_name=elves
|
||||
user_team_name= _ "Elves"
|
||||
persistent=yes
|
||||
save_id=Glildur
|
||||
[ai]
|
||||
{AI_SIMPLE_ALWAYS_ASPECT passive_leader yes}
|
||||
[goal]
|
||||
|
@ -105,15 +140,18 @@
|
|||
{STARTING_VILLAGES 3 6}
|
||||
|
||||
[story]
|
||||
# the background images are placeholders from the core assets
|
||||
[part]
|
||||
# wmllint: local spelling Ay
|
||||
story= _ "Ay, the Sceptre of Fire. The sceptre has a long, glorious, and fearful history. But I am not here to tell you how the jewel within it was brought over the ocean by Haldric the Great. Nor will I tell the story of Garard I, and the challenge he set, or that of Konrad, king of Wesnoth by virtue of the Sceptre."
|
||||
background=story/landscape-castle.jpg
|
||||
[/part]
|
||||
[part]
|
||||
story= _ "I am here to tell you of its making. Of its crafting, deep in the caverns of dwarfdom. And of the dwarves who made it; for they were great, they were. They are counted among the greatest of the heroes of ancient Knalga."
|
||||
[/part]
|
||||
[part]
|
||||
story= _ "Our story begins in a small border outpost in the southern hills of Knalga, with a young dwarf, named Rugnur, in charge of it. And with the second king of Wesnoth, Haldric II, riding up the road from the Ford of Abez with an army behind him..."
|
||||
background=story/landscape-mountains-04.jpg
|
||||
[/part]
|
||||
[/story]
|
||||
|
||||
|
@ -150,7 +188,7 @@
|
|||
{VARIABLE_CONDITIONAL havestone boolean_not_equals yes}
|
||||
[/show_if]
|
||||
[/objective]
|
||||
{ALTERNATIVE_OBJECTIVE_BONUS ( _ "Defeat Glildur")}
|
||||
# {ALTERNATIVE_OBJECTIVE_BONUS ( _ "Defeat Glildur")}
|
||||
[objective]
|
||||
description= _ "Death of Rugnur"
|
||||
condition=lose
|
||||
|
@ -199,6 +237,18 @@
|
|||
x=1-21,22-32
|
||||
y= 1-8, 1-5
|
||||
[/capture_village]
|
||||
[item]
|
||||
image=scenery/snowbits.png
|
||||
x,y=13,23
|
||||
[/item]
|
||||
[item]
|
||||
image=scenery/snowbits2.png
|
||||
x,y=25,9
|
||||
[/item]
|
||||
[item]
|
||||
image=scenery/rock-cairn2.png
|
||||
x,y=19,16
|
||||
[/item]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
|
@ -312,7 +362,7 @@
|
|||
[/message]
|
||||
[message]
|
||||
speaker=Haldric II
|
||||
message= _ "I want you to make it into a sceptre, a sceptre of fire."
|
||||
message= _ "I want you to make it into a sceptre. A gold and ruby sceptre to all appearances. We shall call it the Sceptre of Fire."
|
||||
scroll=no
|
||||
[/message]
|
||||
[message]
|
||||
|
@ -427,37 +477,92 @@
|
|||
speaker=Rugnur
|
||||
message= _ "Very well. Glildur, if the high elvish council has made an alliance with the men, I would advise you to follow it, but not doing so is your choice."
|
||||
[/message]
|
||||
# added because there is an elvish village there, for some reason,
|
||||
# and that side of the map is almost wasted as is.
|
||||
#ifdef HARD
|
||||
[unit]
|
||||
x,y=13,6
|
||||
type=Elvish Shaman
|
||||
side=3
|
||||
facing=se
|
||||
[modifications]
|
||||
{TRAIT_INTELLIGENT}
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
[capture_village]
|
||||
side=3
|
||||
x=13
|
||||
y=6
|
||||
[/capture_village]
|
||||
[unit]
|
||||
x,y=12,6
|
||||
type=Elvish Ranger
|
||||
side=3
|
||||
facing=se
|
||||
[modifications]
|
||||
{TRAIT_INTELLIGENT}
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
#endif
|
||||
# to make it very hard for player to just kill the elves
|
||||
[unit]
|
||||
x,y=25,26
|
||||
type=Elvish Hero
|
||||
side=3
|
||||
facing=nw
|
||||
[modifications]
|
||||
{TRAIT_STRONG}
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=24,30
|
||||
type=Elvish Avenger
|
||||
side=3
|
||||
facing=nw
|
||||
[modifications]
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=27,28
|
||||
type=Elvish Ranger
|
||||
side=3
|
||||
facing=nw
|
||||
[modifications]
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=24,26
|
||||
type=Elvish Ranger
|
||||
side=3
|
||||
facing=nw
|
||||
[modifications]
|
||||
{TRAIT_LOYAL OVERLAY=misc/blank-hex.png}
|
||||
[/modifications]
|
||||
ai_special=guardian
|
||||
[/unit]
|
||||
[/event]
|
||||
|
||||
# This helps prevent Haldric from getting himself killed by preventing him
|
||||
# from leaving his camp
|
||||
# Haldric has a reserve
|
||||
[event]
|
||||
name=side 2 turn refresh
|
||||
first_time_only=no
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
id=Haldric II
|
||||
[/filter]
|
||||
|
||||
[movement_costs]
|
||||
flat=99
|
||||
[/movement_costs]
|
||||
[/modify_unit]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 2 turn end
|
||||
first_time_only=no
|
||||
|
||||
[modify_unit]
|
||||
[filter]
|
||||
id=Haldric II
|
||||
[/filter]
|
||||
|
||||
[movement_costs]
|
||||
flat=1
|
||||
[/movement_costs]
|
||||
[/modify_unit]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=3
|
||||
x,y=2-7,25-30
|
||||
[/filter]
|
||||
[gold]
|
||||
side=2
|
||||
amount=60
|
||||
[/gold]
|
||||
[/event]
|
||||
|
||||
# Alanin reaches the dwarvish citadel
|
||||
|
@ -500,6 +605,13 @@
|
|||
variable=changealanin
|
||||
find_vacant=yes
|
||||
[/unstore_unit]
|
||||
[store_unit]
|
||||
[filter]
|
||||
id=Glildur
|
||||
[/filter]
|
||||
variable=glildur
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=no
|
||||
|
@ -547,12 +659,14 @@
|
|||
[message]
|
||||
speaker=Haldric II
|
||||
message= _ "You only need $incominggold more, then you can begin work."
|
||||
scroll=no
|
||||
[/message]
|
||||
[/then]
|
||||
[else]
|
||||
[message]
|
||||
speaker=Haldric II
|
||||
message= _ "You only need $incominggold more, and the stone, then you can begin work."
|
||||
scroll=no
|
||||
[/message]
|
||||
[/else]
|
||||
[/if]
|
||||
|
@ -572,6 +686,13 @@
|
|||
variable=changealanin
|
||||
find_vacant=yes
|
||||
[/unstore_unit]
|
||||
[store_unit]
|
||||
[filter]
|
||||
id=Glildur
|
||||
[/filter]
|
||||
variable=glildur
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=no
|
||||
|
@ -592,8 +713,46 @@
|
|||
[/kill]
|
||||
[/event]
|
||||
|
||||
# This is shouting about reinforcements and then just giving the AI more cash is a Wesnoth trope, but that doesn't make it good.
|
||||
# Actual reinforcements make more sense, and the added warning in turn 9 should help make it less tomato surprise
|
||||
[event]
|
||||
name=turn 9
|
||||
[message]
|
||||
speaker=Glildur
|
||||
message= _ "Our reinforcements should be here soon. Send those caravans here, we might let you walk away."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Haldric II
|
||||
message= _ "That's a bluff, what sort of reinforcements can this little band of thieves possibly count on?"
|
||||
[/message]
|
||||
[/event]
|
||||
[event]
|
||||
name=turn 10
|
||||
# not enough to actually swamp the player, but still present and trouble
|
||||
[unit]
|
||||
x,y=32,27
|
||||
type=Elvish Scout
|
||||
side=3
|
||||
facing=nw
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=31,29
|
||||
type=Elvish Scout
|
||||
side=3
|
||||
facing=nw
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=32,30
|
||||
type=Elvish Rider
|
||||
side=3
|
||||
facing=nw
|
||||
[/unit]
|
||||
[unit]
|
||||
x,y=28,31
|
||||
type=Elvish Rider
|
||||
side=3
|
||||
facing=nw
|
||||
[/unit]
|
||||
[message]
|
||||
speaker=Glildur
|
||||
message= _ "Ha! Our reinforcements have arrived. There is no way you can withstand our combined strength!"
|
||||
|
@ -608,7 +767,7 @@
|
|||
[/message]
|
||||
[gold]
|
||||
side=3
|
||||
amount=500
|
||||
amount=450
|
||||
[/gold]
|
||||
[message]
|
||||
speaker=Haldric II
|
||||
|
@ -661,6 +820,24 @@
|
|||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=last_breath
|
||||
[filter]
|
||||
id=Glildur
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_ "This gains you nothing, we will not rest!"
|
||||
[/message]
|
||||
[store_unit]
|
||||
[filter]
|
||||
id=Glildur
|
||||
[/filter]
|
||||
variable=glildur
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=enemies defeated
|
||||
|
||||
|
|
|
@ -32,8 +32,8 @@
|
|||
|
||||
[side]
|
||||
type=Elvish Captain
|
||||
id=Glindur
|
||||
name= _ "Glindur"
|
||||
id=Glildur
|
||||
name= _ "Glildur"
|
||||
side=2
|
||||
canrecruit=yes
|
||||
{RECRUIT (Elvish Fighter,Elvish Scout,Elvish Archer,Elvish Shaman) (Elvish Fighter,Elvish Hero,Elvish Scout,Elvish Archer,Elvish Shaman) (Elvish Fighter,Elvish Hero,Elvish Scout,Elvish Archer,Elvish Ranger,Elvish Shaman)}
|
||||
|
@ -42,6 +42,8 @@
|
|||
team_name=elves
|
||||
user_team_name= _ "Elves"
|
||||
{FLAG_VARIANT wood-elvish}
|
||||
persistent=yes
|
||||
save_id=Glildur
|
||||
[ai]
|
||||
aggression=1.0
|
||||
caution=0.0
|
||||
|
@ -240,7 +242,7 @@
|
|||
kill=yes
|
||||
[/store_unit]
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "I see you have sent a messenger to the city. Good idea, but will it really help? We have more troops and more provisions, and we are going to enter those caves and kill you!"
|
||||
[/message]
|
||||
[message]
|
||||
|
@ -248,7 +250,7 @@
|
|||
message= _ "(<i>Gulp</i>)"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "Ha! I thought as much. Well then, surrender!"
|
||||
[/message]
|
||||
[message]
|
||||
|
@ -256,7 +258,7 @@
|
|||
message= _ "Um... on what terms?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "Unconditional."
|
||||
[/message]
|
||||
|
||||
|
@ -300,7 +302,7 @@
|
|||
message= _ "Argh! I’m a retired warrior... it looks like I’ll ha’ to come out and help you, else we’ll be overrun by the damn elves... argh again. Well, listen here. This entrance to the city can be closed. There’s a gate. If we can close it, the elves will no’ be able to enter. And you elves; begone from here!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "Cease your meddling, old dwarf! Rugnur is in charge here, and it is he who will bargain with us."
|
||||
[/message]
|
||||
[message]
|
||||
|
@ -328,7 +330,7 @@
|
|||
message= _ "Two are down a side passage in the northwest, another two are in a similar location in the southeast, and two are right next to the front gate."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "Have you made up your mind yet about surrendering? If you will not give up, prepare for battle!"
|
||||
[/message]
|
||||
[message]
|
||||
|
@ -545,7 +547,7 @@
|
|||
[/delay]
|
||||
|
||||
[message]
|
||||
speaker=Glindur
|
||||
speaker=Glildur
|
||||
message= _ "Agh! Well, you have defeated me for now, but eventually you will have to exit these caves, to give Haldric back his jewel. And when you do, we will be ready for you."
|
||||
[/message]
|
||||
[message]
|
||||
|
|
|
@ -0,0 +1,357 @@
|
|||
#textdomain wesnoth-sof
|
||||
[scenario]
|
||||
name= _ "Reaching the Runecrafter"
|
||||
id=2p5_Reaching_the_Runecrafter
|
||||
turns=15
|
||||
map_file=campaigns/Sceptre_of_Fire/maps/2p5_Reaching_the_Runecrafter.map
|
||||
next_scenario=3_Searching_for_the_Runecrafter
|
||||
victory_when_enemies_defeated=no
|
||||
|
||||
{SCENARIO_MUSIC underground.ogg}
|
||||
{EXTRA_SCENARIO_MUSIC the_deep_path.ogg}
|
||||
|
||||
{UNDERGROUND}
|
||||
|
||||
[side]
|
||||
type=Dwarvish Fighter
|
||||
id=Rugnur
|
||||
side=1
|
||||
canrecruit=yes
|
||||
shroud=no
|
||||
controller=human
|
||||
recruit=Dwarvish Fighter,Dwarvish Thunderer,Dwarvish Guardsman,Dwarvish Scout
|
||||
team_name=dwarves
|
||||
user_team_name= _ "Dwarves"
|
||||
{FLAG_VARIANT knalgan}
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
type=Orcish Warrior
|
||||
id=Bragdash
|
||||
name= _ "Bragdash Gar"
|
||||
side=2
|
||||
canrecruit=yes
|
||||
{RECRUIT (Orcish Grunt) (Orcish Grunt, Orcish Archer) (Orcish Grunt, Orcish Archer, Orcish Assassin)}
|
||||
{GOLD 200 250 300}
|
||||
{INCOME 8 12 16}
|
||||
team_name=orcs
|
||||
user_team_name= _ "Orcs"
|
||||
{FLAG_VARIANT ragged}
|
||||
# [ai]
|
||||
# aggression=1.0
|
||||
# caution=0.0
|
||||
# [/ai]
|
||||
[/side]
|
||||
|
||||
[side]
|
||||
type=Goblin Rouser
|
||||
id=Pidmer
|
||||
name= _ "Pidmer Gar"
|
||||
side=3
|
||||
canrecruit=yes
|
||||
recruit=Goblin Spearman
|
||||
{GOLD 100 140 180}
|
||||
{INCOME 8 12 16}
|
||||
team_name=orcs
|
||||
user_team_name= _ "Goblins"
|
||||
{FLAG_VARIANT ragged}
|
||||
# [ai]
|
||||
# aggression=1.0
|
||||
# caution=0.0
|
||||
# [/ai]
|
||||
[/side]
|
||||
|
||||
[story]
|
||||
[part]
|
||||
story= _ "The journey to the far northern wastelands was long and perilous. The tunnels were narrow, but by following the old mining rails, Rugnur and his group could make good time. After a few days journey, they saw a dim red glow in the tunnel ahead, and could feel sporatic vibrations in the rails."
|
||||
[/part]
|
||||
[part]
|
||||
story= _ "As the group got near the source of the glow, they heard metallic banging and guttural shouting, and their noses were assaulted by a fetid smell..."
|
||||
[/part]
|
||||
[/story]
|
||||
|
||||
# {SOF_TRACK {JOURNEY_02_NEW} }
|
||||
|
||||
{SOF_DEATHS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
[objectives]
|
||||
side=1
|
||||
[objective]
|
||||
description= _ "Reach the top of the map with Rugnur, Baglur, and Alanin"
|
||||
condition=win
|
||||
[/objective]
|
||||
[objective]
|
||||
description= _ "Death of Rugnur"
|
||||
condition=lose
|
||||
[/objective]
|
||||
[objective]
|
||||
description= _ "Death of Baglur"
|
||||
condition=lose
|
||||
[/objective]
|
||||
|
||||
{TURNS_RUN_OUT}
|
||||
|
||||
[gold_carryover]
|
||||
bonus=yes
|
||||
carryover_percentage=40
|
||||
[/gold_carryover]
|
||||
[/objectives]
|
||||
|
||||
{GENERIC_UNIT 3 "Goblin Impaler" 9 15} {GUARDIAN}
|
||||
#ifdef HARD
|
||||
{GENERIC_UNIT 2 "Orcish Slayer" 18 15} {GUARDIAN}
|
||||
#else
|
||||
{GENERIC_UNIT 2 "Orcish Crossbowman" 18 15} {GUARDIAN}
|
||||
#endif
|
||||
{SOF_MINECART_MENU cart1 10 25}
|
||||
{SOF_MINECART_MENU cart2 13 9}
|
||||
|
||||
[item]
|
||||
image=items/gohere.png
|
||||
x,y=18,1
|
||||
[/item]
|
||||
[capture_village]
|
||||
side=2
|
||||
x,y=25,17
|
||||
[/capture_village]
|
||||
[capture_village]
|
||||
side=3
|
||||
x,y=9,10
|
||||
[/capture_village]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=start
|
||||
[recall]
|
||||
id=Alanin
|
||||
[/recall]
|
||||
[recall]
|
||||
id=Baglur
|
||||
[/recall]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
# need to check if this makes sense, has Rugnur seen an orc before?
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Those are orcs, aren't they?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Baglur
|
||||
message= _ "Aye, in all their destructive glory. Looks like they're trying to strip the metal from the rails."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Alanin
|
||||
message= _ "That's terrible, someone should stop them!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Do orcs always stink so bad? I've heard that they are stupid and messy, but this is almost unbearable!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Bragdash
|
||||
message= _ "We see you, we hear you, sneaky little moles! Pidmer, go skewer them!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Pidmer
|
||||
message= _ "Um... Aren't we needed for the salvage?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Bragdash
|
||||
message= _ "No! You've been straining and struggling, but those metal tracks defeat you! It takes a strong orc to break that steel, you go deal with those little cave rats. You can keep their shiny helmets, they might fit you!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Uh, well, we're not getting through without a fight..."
|
||||
[/message]
|
||||
{MOVE_UNIT id=Rugnur 13 27}
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "... Let's set up a base here."
|
||||
[/message]
|
||||
[terrain]
|
||||
terrain=Ce
|
||||
x,y=12-14,26
|
||||
[/terrain]
|
||||
[terrain]
|
||||
terrain=Ke
|
||||
x,y=13,27
|
||||
[/terrain]
|
||||
[terrain]
|
||||
terrain=Ur^Vct
|
||||
x,y=11,28
|
||||
[/terrain]
|
||||
[capture_village]
|
||||
side=1
|
||||
x,y=11,28
|
||||
[/capture_village]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
x,y=10,25
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "This old cart still rolls smoothly on the track... It's forged by us dwarves, I shouldn't be surprised!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=narrator
|
||||
image=wesnoth-icon.png
|
||||
message= _ "A dwarf can ride the carts along the tracks. Use the context menu (usually right-click menu) to board or exit the cart. If a cart rider is involved in combat, the rider exits the cart."
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter]
|
||||
side=1
|
||||
x,y=1-5,9-13
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "(*gasp*) I think I've found the source of the terrible smell, it wasn't the orcs..."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Bragdash
|
||||
message= _ "Of course it wasn't us, you worm!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "This underground river is choked off with a rotting mess, it's overgrown with fungus. I can try to see what's underneath... Whoops!"
|
||||
[/message]
|
||||
{QUAKE "rumble.ogg"}
|
||||
[terrain]
|
||||
terrain=Wwg # so it isn't an impossible trap for the player
|
||||
[and]
|
||||
x=1-26
|
||||
y=9-16
|
||||
terrain=!,*^Br*,*^Tf*,Xu*,Ko,Wog,Wwf
|
||||
[/and]
|
||||
[/terrain]
|
||||
[terrain]
|
||||
terrain=Wwg
|
||||
[and]
|
||||
x=1-26
|
||||
y=9-16
|
||||
terrain=*^Br*,*^Tf*
|
||||
[/and]
|
||||
layer=base
|
||||
[/terrain]
|
||||
[terrain]
|
||||
terrain=Wog
|
||||
[and]
|
||||
x=1-26
|
||||
y=9-16
|
||||
terrain=Wwf
|
||||
[/and]
|
||||
[/terrain]
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[message]
|
||||
speaker=Pidmer
|
||||
message= _ "Help! We can't swim!"
|
||||
[/message]
|
||||
[kill]
|
||||
[and]
|
||||
side=3
|
||||
[filter_location]
|
||||
terrain=Wwg,Wog
|
||||
[/filter_location]
|
||||
[/and]
|
||||
animate=yes
|
||||
[/kill]
|
||||
[message]
|
||||
speaker=Bragdash
|
||||
message= _ "You've flooded your own tunnel, you stupid little gophers!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Baglur
|
||||
message= _ "Och, we 'ave... But our rails are as strong and stout as we are!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "We can continue along the rails!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Alanin
|
||||
message= _ "That's good, because that water looks so cold!"
|
||||
[/message]
|
||||
[kill]
|
||||
[and]
|
||||
side=2
|
||||
[filter_location]
|
||||
terrain=Wo*
|
||||
[/filter_location]
|
||||
[/and]
|
||||
animate=no
|
||||
fire_event=yes
|
||||
[/kill]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=die
|
||||
[filter]
|
||||
id=Baglur
|
||||
[/filter]
|
||||
[endlevel]
|
||||
result=defeat
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=last_breath
|
||||
[filter]
|
||||
id=Bragdash
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=Bragdash
|
||||
message= _ "Arg, I never should'a come to this stinkin' cathole!"
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
[filter_condition]
|
||||
[have_unit]
|
||||
id=Baglur
|
||||
y=1-5
|
||||
[/have_unit]
|
||||
[and]
|
||||
[have_unit]
|
||||
id=Alanin
|
||||
y=1-5
|
||||
[/have_unit]
|
||||
[/and]
|
||||
[/filter_condition]
|
||||
[filter]
|
||||
id=Rugnur
|
||||
y=1-3 # might need revision
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "The air smells much better up ahead, let's leave this place behind us. Too bad the rails are damaged here, the carts could have been handy."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Baglur
|
||||
message= _ "Aye, but the carts are common enough, the real beauty is the rail track! Let's follow the straight steel path as far north as it will take us."
|
||||
[/message]
|
||||
[endlevel]
|
||||
result=victory
|
||||
bonus=yes
|
||||
{NEW_GOLD_CARRYOVER 40}
|
||||
[/endlevel]
|
||||
[/event]
|
||||
|
||||
[/scenario]
|
||||
|
|
@ -4,7 +4,7 @@
|
|||
id=2t_In_the_Dwarven_City
|
||||
turns=1
|
||||
map_file=campaigns/Sceptre_of_Fire/maps/2t_In_the_Dwarven_City.map
|
||||
next_scenario=3_Searching_for_the_Runecrafter
|
||||
next_scenario=2p5_Reaching_the_Runecrafter
|
||||
theme=Cutscene_Minimal
|
||||
|
||||
{SCENARIO_MUSIC underground.ogg}
|
||||
|
@ -108,7 +108,28 @@
|
|||
#dialogue starts
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "Where’s that fool Rugnur gotten to? It’s time for him to report on events in the surface world. He’s late!"
|
||||
message= _ "Another day older, another foot stuck in the sludge! Let's start with some soft clay... Rugnur, how goes it at the western gate?"
|
||||
[/message]
|
||||
{MODIFY_UNIT (id=Durstorn) facing se}
|
||||
[delay]
|
||||
time=100
|
||||
[/delay]
|
||||
{MODIFY_UNIT (id=Durstorn) facing sw}
|
||||
[delay]
|
||||
time=100
|
||||
[/delay]
|
||||
{MODIFY_UNIT (id=Durstorn) facing se}
|
||||
[delay]
|
||||
time=100
|
||||
[/delay]
|
||||
{MODIFY_UNIT (id=Durstorn) facing sw}
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "... ?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "Where's that fool Rugnur? He should be here to report on events in the surface world. He’s late!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Noiraran
|
||||
|
@ -133,7 +154,7 @@
|
|||
[/recall]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Hey, Durstorn, have we started yet? King Haldric came by just now, wanted to talk to you..."
|
||||
message= _ "(hugh!) Sorry I'm late, but King Haldric came by just now, wanted to talk to you..."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
|
@ -145,7 +166,7 @@
|
|||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "No."
|
||||
message= _ "No, what are you talking about?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Baglur
|
||||
|
@ -194,7 +215,7 @@
|
|||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "Yes. He is the only one I know of who could craft the sceptre the way Haldric wants it. And he has nothing to do; he will be fine with wasting 25 years of his life on this task."
|
||||
message= _ "Yes. He is the only one I know of who could craft the sceptre the way Haldric wants it, bad magic and all. And he has nothing to do; he will be fine with wasting 25 years of his life on this insane task."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
|
@ -204,6 +225,14 @@
|
|||
speaker=Durstorn
|
||||
message= _ "Go to the furthest north entrance to the caves, and then go north. He’s somewhere in those hills."
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Thank you, Lord. I'll find him and do us proud!"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "Too late for that, young fool. But go on, I can see there's hope for you yet."
|
||||
[/message]
|
||||
{VARIABLE changealanin.x 2}
|
||||
{VARIABLE changealanin.y 5}
|
||||
[unstore_unit]
|
||||
|
@ -217,9 +246,13 @@
|
|||
speaker=Alanin
|
||||
message= _ "What did I miss, eh?"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Rugnur
|
||||
message= _ "Where have you been? Lord-"
|
||||
[/message]
|
||||
[message]
|
||||
speaker=Durstorn
|
||||
message= _ "Who the devil are you? Well, you seem to be with Rugnur... follow him north."
|
||||
message= _ "A friend of Rugnur, huh? ... Follow him north. He needs all the help he can get!"
|
||||
[/message]
|
||||
[endlevel]
|
||||
result=victory
|
||||
|
|
|
@ -37,7 +37,10 @@
|
|||
|
||||
[story]
|
||||
[part]
|
||||
story= _ "The journey to the far northern wastelands was long and perilous. For the tunnels were winding and treacherous, and the paths were not safe from orcs, or worse. Nevertheless, they did reach the Northlands, and began to search for the runesmith named Thursagan — the sage of fire."
|
||||
story= _ "It was a couple more weeks of marching along the tracks before a chill breeze touched Rugnur's group, washing over them from a tunnel leading up to the surface. Had they reached the Northlands?"
|
||||
[/part]
|
||||
[part]
|
||||
story= _ "Much to his chagrin, Alanin was dispatched to scout further up the rails, but he soon came back and claimed the rails ended, the tunnel was unfinished to the north. For this reason, Rugnur lead the dwarves up the cold tunnel, and began to search for the runesmith named Thursagan. Thursagan, the Sage of Fire."
|
||||
[/part]
|
||||
[/story]
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
[story]
|
||||
[part]
|
||||
story= _ "The path back was less dangerous than it was a year earlier. It did not take them so long. So they quickly returned to the dwarven city, with two new members of their party — one expected, and one not."
|
||||
story= _ "The path back to the dwarven city was familiar this time, so the journey south was relatively quick and uneventful. A week's march brought the expedition to the familiar plaza, with two new members of their party — one expected, and one not."
|
||||
[/part]
|
||||
[/story]
|
||||
|
||||
|
|
384
data/campaigns/Sceptre_of_Fire/utils/cart-utils.cfg
Normal file
384
data/campaigns/Sceptre_of_Fire/utils/cart-utils.cfg
Normal file
|
@ -0,0 +1,384 @@
|
|||
#textdomain wesnoth-sof
|
||||
|
||||
######################################################
|
||||
# Assuming this is working correctly, all the campaign
|
||||
# author needs to use is something like this:
|
||||
# {SOF_MINECART_MENU cart1 5 12}
|
||||
######################################################
|
||||
|
||||
#define SOF_MINECART_PLACE_IMAGE X Y
|
||||
|
||||
[if]
|
||||
[have_location]
|
||||
terrain=*^Br/
|
||||
x,y={X},{Y}
|
||||
[/have_location]
|
||||
[then]
|
||||
[item]
|
||||
# This IPF is needed to keep the cart from sitting too lowin the hex.
|
||||
# Cannot just move image around in the 72x72 canvas because then
|
||||
# it won't overlay the unit sprite correctly.
|
||||
# this might be making the shadows brighter, for some reason -> removing shadows for now
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-ne.png~CROP(0,24,72,48),0,2)
|
||||
x,y={X},{Y}
|
||||
[/item]
|
||||
[/then]
|
||||
[elseif]
|
||||
[have_location]
|
||||
terrain=*^Br\
|
||||
x,y={X},{Y}
|
||||
[/have_location]
|
||||
[then]
|
||||
[item]
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-ne.png~FL(horiz)~CROP(0,24,72,48),0,2)
|
||||
x,y={X},{Y}
|
||||
[/item]
|
||||
[/then]
|
||||
[/elseif]
|
||||
[else]
|
||||
[item]
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-n.png~CROP(0,20,72,52),0,1)
|
||||
x,y={X},{Y}
|
||||
[/item]
|
||||
[/else]
|
||||
[/if]
|
||||
|
||||
#enddef
|
||||
|
||||
#define SOF_OBJ_MINECART VAR
|
||||
[object]
|
||||
silent=yes
|
||||
id=sof_mine_cart_{VAR}
|
||||
take_only_once=no
|
||||
[filter]
|
||||
id=${VAR}.id
|
||||
race=dwarf
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to=new_animation
|
||||
[standing_anim]
|
||||
start_time=0
|
||||
base_score=2
|
||||
terrain_type=*^Br*
|
||||
[if]
|
||||
terrain_type=*^Br|
|
||||
[frame]
|
||||
image=misc/mine-cart-n.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-n.png,0,0),0,0):100
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/if]
|
||||
[else]
|
||||
terrain_type=*^Br\
|
||||
[frame]
|
||||
image=misc/mine-cart-ne.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-ne.png,0,0),0,0)~FL(horiz):100
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/else]
|
||||
[else]
|
||||
terrain_type=*^Br/
|
||||
[frame]
|
||||
image=misc/mine-cart-ne.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-ne.png,0,0),0,0):100
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/else]
|
||||
[/standing_anim]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=new_animation
|
||||
[movement_anim]
|
||||
start_time=0
|
||||
base_score=2
|
||||
terrain_type=*^Br*
|
||||
[if]
|
||||
terrain_type=*^Br|
|
||||
[frame]
|
||||
image=misc/mine-cart-n.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-n.png,0,0),0,0):200
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/if]
|
||||
[else]
|
||||
terrain_type=*^Br\
|
||||
[frame]
|
||||
image=misc/mine-cart-ne.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-ne.png,0,0),0,0)~FL(horiz):200
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/else]
|
||||
[else]
|
||||
terrain_type=*^Br/
|
||||
[frame]
|
||||
image=misc/mine-cart-ne.png~BLIT(${VAR}.image|~TC(${VAR}.side|,magenta)~MASK(misc/mine-cart-mask-ne.png,0,0),0,0):200
|
||||
auto_hflip=no
|
||||
auto_vflip=no
|
||||
[/frame]
|
||||
[/else]
|
||||
[/movement_anim]
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=5
|
||||
[/effect]
|
||||
[effect]
|
||||
apply_to=movement_costs
|
||||
replace=yes
|
||||
[movement_costs]
|
||||
shallow_water=99
|
||||
reef=99
|
||||
swamp_water=99
|
||||
flat=99
|
||||
sand=99
|
||||
forest=99
|
||||
hills=99
|
||||
mountains=99
|
||||
village=99
|
||||
castle=99
|
||||
cave=99
|
||||
frozen=99
|
||||
fungus=99
|
||||
unwalkable=99
|
||||
impassable=99
|
||||
rails=1
|
||||
[/movement_costs]
|
||||
[/effect]
|
||||
[then]
|
||||
# it's one of these
|
||||
[remove_item]
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-n.png~CROP(0,20,72,52),0,1)
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/remove_item]
|
||||
[remove_item]
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-ne.png~CROP(0,24,72,48),0,2)
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/remove_item]
|
||||
[remove_item]
|
||||
image=misc/blank-hex.png~BLIT(misc/mine-cart-ne.png~FL(horiz)~CROP(0,24,72,48),0,2)
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/remove_item]
|
||||
[/then]
|
||||
[/object]
|
||||
|
||||
#enddef
|
||||
|
||||
#define SOF_REMOVE_OBJ_MINECART VAR
|
||||
[remove_object]
|
||||
id=${VAR}.id
|
||||
object_id=sof_mine_cart_{VAR}
|
||||
[/remove_object]
|
||||
|
||||
#enddef
|
||||
|
||||
#define SOF_MINECART_MENU VAR X Y
|
||||
|
||||
{SOF_MINECART_PLACE_IMAGE {X} {Y}}
|
||||
[set_variables]
|
||||
name={VAR}
|
||||
mode=replace
|
||||
[value]
|
||||
load="empty"
|
||||
x={X}
|
||||
y={Y}
|
||||
[/value]
|
||||
[/set_variables]
|
||||
|
||||
[set_menu_item]
|
||||
id=sof_minecart_boarding_{VAR}
|
||||
description= _ "Board Cart"
|
||||
image=buttons/WML-custom.png
|
||||
[show_if]
|
||||
[variable]
|
||||
name={VAR}.load
|
||||
equals=empty
|
||||
[/variable]
|
||||
[variable]
|
||||
name={VAR}.x
|
||||
equals=$x1
|
||||
[/variable]
|
||||
[variable]
|
||||
name={VAR}.y
|
||||
equals=$y1
|
||||
[/variable]
|
||||
[have_unit]
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
race=dwarf
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[filter_location]
|
||||
terrain=*^Br*
|
||||
[/filter_location]
|
||||
[command]
|
||||
[store_unit]
|
||||
[filter]
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/filter]
|
||||
variable=passenger_{VAR}
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[set_variable]
|
||||
name={VAR}.load
|
||||
value=$passenger_{VAR}.id
|
||||
[/set_variable]
|
||||
{SOF_OBJ_MINECART passenger_{VAR}}
|
||||
# this is needed for graphics reasons, not just the movement
|
||||
[store_unit]
|
||||
[filter]
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/filter]
|
||||
variable=passenger_redraw
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[if]
|
||||
# this variable is removed every new turn
|
||||
[variable]
|
||||
name=passenger_moves
|
||||
equals=yes
|
||||
[/variable]
|
||||
[else]
|
||||
[set_variable]
|
||||
name=passenger_redraw.moves
|
||||
add=5
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name=passenger_moves
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/else]
|
||||
[/if]
|
||||
[unstore_unit]
|
||||
variable=passenger_redraw
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE passenger_redraw}
|
||||
[redraw]
|
||||
side=1
|
||||
[/redraw]
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
[set_menu_item]
|
||||
id=sof_minecart_unboarding_{VAR}
|
||||
description= _ "Leave Cart"
|
||||
image=buttons/WML-custom.png
|
||||
[show_if]
|
||||
[have_unit]
|
||||
x,y=$x1|,$y1|
|
||||
id=${VAR}.load
|
||||
[/have_unit]
|
||||
[/show_if]
|
||||
[filter_location]
|
||||
terrain=*^Br*
|
||||
[/filter_location]
|
||||
[command]
|
||||
[set_variable]
|
||||
name={VAR}.load
|
||||
value="empty"
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.x
|
||||
value=$x1
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.y
|
||||
value=$y1
|
||||
[/set_variable]
|
||||
{SOF_REMOVE_OBJ_MINECART passenger_{VAR}}
|
||||
[store_unit]
|
||||
[filter]
|
||||
x,y=${VAR}.x|,${VAR}.y|
|
||||
[/filter]
|
||||
variable=passenger_redraw
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[if]
|
||||
[variable]
|
||||
name=passenger_redraw.moves
|
||||
greater_than=$passenger_redraw.max_moves
|
||||
[/variable]
|
||||
[then]
|
||||
[set_variable]
|
||||
name=passenger_redraw.moves
|
||||
value=$passenger_redraw.max_moves
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[/if]
|
||||
[unstore_unit]
|
||||
variable=passenger_redraw
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
{CLEAR_VARIABLE passenger_redraw}
|
||||
{SOF_MINECART_PLACE_IMAGE $x1 $y1}
|
||||
{CLEAR_VARIABLE passenger_{VAR}}
|
||||
[/command]
|
||||
[/set_menu_item]
|
||||
|
||||
# if a cart-rider attacks, they exit the cart
|
||||
[event]
|
||||
name=attack
|
||||
first_time_only=no
|
||||
[filter_condition]
|
||||
[variable]
|
||||
name={VAR}.load
|
||||
equals=$unit.id
|
||||
[/variable]
|
||||
[/filter_condition]
|
||||
[set_variable]
|
||||
name={VAR}.load
|
||||
value="empty"
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.x
|
||||
value=$x1
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.y
|
||||
value=$y1
|
||||
[/set_variable]
|
||||
{SOF_REMOVE_OBJ_MINECART passenger_{VAR}}
|
||||
{SOF_MINECART_PLACE_IMAGE $x1 $y1}
|
||||
{CLEAR_VARIABLE passenger_{VAR}}
|
||||
[/event]
|
||||
|
||||
# if a cart-rider is attacked, they exit the cart
|
||||
[event]
|
||||
name=attack
|
||||
first_time_only=no
|
||||
[filter_condition]
|
||||
[variable]
|
||||
name={VAR}.load
|
||||
equals=$second_unit.id
|
||||
[/variable]
|
||||
[/filter_condition]
|
||||
[set_variable]
|
||||
name={VAR}.load
|
||||
value="empty"
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.x
|
||||
value=$x2
|
||||
[/set_variable]
|
||||
[set_variable]
|
||||
name={VAR}.y
|
||||
value=$y2
|
||||
[/set_variable]
|
||||
{SOF_REMOVE_OBJ_MINECART passenger_{VAR}}
|
||||
{SOF_MINECART_PLACE_IMAGE $x2 $y2}
|
||||
{CLEAR_VARIABLE passenger_{VAR}}
|
||||
[/event]
|
||||
|
||||
# part of mechanism that prevents infinite movement by reboarding the cart
|
||||
[event]
|
||||
name=side 1 turn
|
||||
first_time_only=no
|
||||
{CLEAR_VARIABLE passenger_moves}
|
||||
[/event]
|
||||
|
||||
# variables cleanup
|
||||
[event]
|
||||
name=scenario_end
|
||||
{SOF_REMOVE_OBJ_MINECART passenger_{VAR}}
|
||||
{CLEAR_VARIABLE passenger_{VAR}}
|
||||
[/event]
|
||||
|
||||
#enddef
|
Loading…
Add table
Reference in a new issue