SoF - Thursagan as "effect crafter" (#4688)
* SoF - initial commit of Thursagan rune-shop addition * SoF - revisions to Thursagan rune shop * SoF utils - fix [remove_item] filtering * SoF S1 and S2 - adding some lesser rune availability for pre-Thursagan scenarios * SoF utils - fix a type and bogus [remove_item] key * SoF - rune-related image update * SoF utils - reinclude name/image key in [item]/[remove_item] tag * SoF - update changelog
This commit is contained in:
parent
50e24404d4
commit
487fd2c9d5
12 changed files with 536 additions and 19 deletions
|
@ -43,6 +43,7 @@
|
|||
* New scenario (now the third)
|
||||
* Various map and scenario updates
|
||||
* Make use of rails terrain
|
||||
* Dwarves can purchase runes (temporary status boosts)
|
||||
* Secrets of the Ancients:
|
||||
* Prevent hero death from triggering new corpse recruitable dialog (issue #4503)
|
||||
* Fix last breath dialog for bats firing multiple times in the campaign
|
||||
|
|
BIN
data/campaigns/Sceptre_of_Fire/images/misc/rune_icon.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/rune_icon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.7 KiB |
BIN
data/campaigns/Sceptre_of_Fire/images/misc/rune_overlay.png
Normal file
BIN
data/campaigns/Sceptre_of_Fire/images/misc/rune_overlay.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 634 B |
|
@ -1,30 +1,30 @@
|
|||
Xu, Xu, Xu, Uh, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Uh, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Uh, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, 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, Uh, Uh, Xu, Xu, Xu, Xu, Uu, Cud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uh, Uh, Uu, Uu, Uu^Vu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Uu, Cud, Uu, Xu, Xu, Uu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Cud, Uu, Xu, Xu, Xu, Uh, Uu, Uu, Uu^Vu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Mm, Mm, Mm, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Mm, Mm, Mm, Mm, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Rr, Uu^Vud, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Ms, Ms, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Vud, Uu, Uu, Uu, Uu, Uu, Uu, Rr, Rr, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu
|
||||
Ms, Ms, Ms, Ms, Ms, Mm, Xu, Xu, Uu, Uu, Uu, Xu, Uu, Uh, Uh, Uu, Rr, Rr, Rr, Rr, Rr, Rr, Uu^Vud, Rr, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Uu, Uu, Uu
|
||||
Ms, Ms, Aa^Vha, Ms, Ms, Ms, Xu, Xu, Uu, Cud, Uu, Uu^Vud, Uu, Uh, Rr, Rr, Rr, Rr, Rr, Rr, Uu, Uu, Cud, Uu, Uu, Rr, Rr, Rr, Rr, Uu^Vud, Uu, Uu, Uu, Uu
|
||||
Ha, Ha, Ha^Esa, Ms, Ms, Ms, Mm, Xu, Xu, Uu, Xu, Xu, Uu, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Uu, Cud, Kud, Cud, Uu, Uu, Uu, Rr, Rr, Rr, Rr, Uu, Rr, Rr
|
||||
Ms, Ms, Ms, Ha^Fpa, Ms, Ms, Ms, Mm, Mm, Xu, Cud, Uu, Rr, Rr, Uu, Uu, Uu^Vud, Xu, Xu, Uu, Uu^Vud, Cud, Cud, Cud, Uu^Vud, Uu, Uu, Uu, Uu, Rr, Rr, Rr, Rr, Rr
|
||||
Ms, Ms, Ha^Fpa, Ha^Fpa, Ms, Ms, Ms, Ha, Ha, Ha, Rr, Rr, Cud, Rr, Uu, Xu, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Uu, Uu^Vud, Rr, Uu, Uu
|
||||
Ha, Gd^Em, Gd^Em, Ha^Esa, Ha, Ms, Ha, Ha, Gd^Esa, Rr, Rr, Rr, Rr, Rr, Cud, Xu, Uu, Cud, Uu, Xu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu, Xu, Xu
|
||||
Ha, Ha, Aa, Ha, Aa^Esa, Ha, Gd, Ha^Fpa, Rp^Em, Rp, Rr, 1 Rr, Rr, Rr, Ha, Xu, Xu, Uu, Xu, Xu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Uh, Uh, Uu^Em, Uu^Em, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Xu, Xu, Xu, Uu^Em, Uu, Uh, Uh, Xu, Xu, Xu, Xu, Uu, Cud, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Uu, Uu, Uu, Uu, Uu, Uu, Uh, Uh, Uu, Uu, Uu^Vu, Uu, Uu, Uu, Xu, Xu, Xuc, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Uu, Cud, Uu, Xu, Xu, Uu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xuc, Rr, Uu^Em, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Xu, Xu, Cud, Uu, Xu, Xu, Xu, Uh, Uu, Uu, Uu^Vu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Em, Rr, Rr, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Mm, Mm, Mm, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Ur, Uu, Xuc, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Mm, Mm, Mm, Mm, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xuc, Ur, Uu, Uu, Uu, Rr, Uu^Vud, Uu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Ms, Ms, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Vud, Uu, Uu, Uu, Uu, Uu^Efs, Ur, Rr^Es, Rr, Rr, Rr, Rr, Uu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Xu
|
||||
Ms, Ms, Ms, Ms, Ms, Mm, Xu, Xu, Uu, Uu, Uu, Xu, Uu, Uh, Uh, Uu, Rr^Es, Rr^Es, Rr^Es, Rr, Rr, Rr, Uu^Vud, Rr, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Uu, Uu, Uu
|
||||
Ms, Ms, Aa^Vha, Ms, Ms, Ms, Xu, Xu, Uu, Cud, Uu, Uu^Vud, Uu, Uh, Rr, Rr, Rr, Rr^Es, Rr, Rr, Uu, Uu, Cud, Uu, Uu, Rr, Rr, Rr, Rr, Uu^Vud, Uu, Uu, Uu, Uu
|
||||
Ha, Ha, Ha^Esa, Ms, Ms, Ms, Mm, Xu, Xu, Uu, Xu, Xu, Uu^Es, Rr, Rr, Rr, Uu, Uu, Uu, Uu, Uu, Cud, Kud, Cud, Uu, Uu, Uu, Rr, Rr, Rr, Rr, Uu, Rr, Rr
|
||||
Ms, Ms, Ms, Ha^Fpa, Ms, Ms, Ms, Mm, Mm, Xu, Cud, Uu, Rr, Rr^Es, Uu, Uu, Uu^Vud, Xu, Xu, Uu, Uu^Vud, Cud, Cud, Cud, Uu^Vud, Uu, Uu^Em, Uu, Uu, Rr, Rr, Rr, Rr, Rr
|
||||
Ms, Ms, Ha^Fpa, Ha^Fpa, Ms, Ms, Ms, Ha, Ha, Ha, Rr, Rr, Cud, Rr, Uu, Xu, Uu, Uu, Uu, Xu, Uu, Uu, Uu, Uu, Xu, Uu, Uu^Em, Uu^Em, Uu, Uu, Uu^Vud, Rr, Uu, Uu
|
||||
Ha, Gd^Em, Gd^Em, Ha^Esa, Ha, Ms, Ha, Ha, Gd^Esa, Rr, Rr, Rr^Es, Rr, Rr, Cud, Xu, Uu, Cud, Uu, Xu, Uu^Em, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Xu, Uu, Xu, Xu
|
||||
Ha, Ha, Aa, Ha, Aa^Esa, Ha, Gd, Ha^Fpa, Rp^Em, Rp, Rr, 1 Rr, Rr, Rr, Ha, Xu, Xu, Uu, Xu, Xu, Xu, Uu^Em, Uu, Uu, Uu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Ha, Aa, Aa, Aa^Esa, Ha, Ha, Gd^Vh, Gd, Rr, Rp, Aa, Aa, Gd^Vh, Ha, Ha, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu^Vud, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Gd, Aa, Gd, Ha, Aa^Es, Gd^Es, Gd^Es, Rp, Rp, Rr, Gd, Gd, Aa^Fpa, Gd, Ha, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uu, Uu, Xu, Xu, Xu, Xu, Uu, Xu, Xu, Xu
|
||||
Hhd^Esa, Gd, Ha, Aa, Aa, Aa^Fpa, Gd, Rr, Rr, Gd^Em, Aa, Aa^Fpa, Aa^Fpa, Aa, Ha, Ha^Em, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uu, Uu, Xu, Xu, Uu, Cud, Uu, Xu, Xu
|
||||
Hhd^Esa, Hhd^Esa, Ha, Ha, Gd^Esa, Gd, Rr, Rp, Rr^Esa, Aa, Aa, Aa^Fpa, Gd, Aa, Ha, Ms, Ha, Ha, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Xu, Uu^Vu, Uu, Uu, Uu, Xu, Xu
|
||||
Aa, Gd, Gd^Vh, Gd, Rr, Rr, Rp, Rr, Ha, Ha, Ha, Aa^Esa, Aa^Fpa, Gd, Gd, Ha, Ha, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Uu, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Hhd^Esa, Hhd^Esa, Ha, Ha, Gd^Esa, Gd, Rr, Rp, Rr^Esa, Aa, Aa, Aa^Fpa, Gd, Aa, Ha, Ms, Ha, Ha, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Em, Uu^Em, Xu, Uu^Vu, Uu, Uu, Uu, Xu, Xu
|
||||
Aa, Gd, Gd^Vh, Gd, Rr, Rr, Rp, Rr, Ha, Ha, Ha, Aa^Esa, Aa^Fpa, Gd, Gd, Ha, Ha, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Uu^Em, Uh, Uh, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Gll^Fmw, Gd^Esa, Rp, Rp, Rr, Rp, Cf, Cf, Cf, Mm, Ha, Gd, Aa^Fpa, Aa^Fpa, Ha^Esa, Aa, Aa^Vha, Ha, Ha, Ms, Ms, Xu, Xu, Xu, Xu, Uu, Uu, Uh, Xu, Xu, Xu, Xu, Xu, Xu
|
||||
Aa, Rr, Rp, Rp, Aa, Gd, Cf, 2 Kf, Cf, Mm, Ha, Gd, Ha, Aa^Fpa, Aa, Aa^Esa, Ha^Esa, Ha^Es, Mm, Mm, Mm, Xu, Uu, Uu, Uu, Uu^Vu, Uu, Uh, Uu, Xu, Xu, Xu, Xu, Xu
|
||||
Rp, Rr, Gd, Gd, Aa, Aa^Esa, Hhd, Cf, Mm, Mm, Ha, Ha, Ms, Ms, Ha, Aa^Esa, Ha, Mm, Mm, Mm, Mm, Cud, Uu, Cud, Uu, Xu, Xu, Uu, Uu, Uu, Uu, Xu, Xu, Xu
|
||||
Rp, Rp, Gll^Fmw, Gd^Es, Aa^Fpa, Aa^Vha, Ha, Mm, Ha, Ha, Ms, Ms, Ms, Ms, Ha^Fpa, Ha, Ms, Ms, Ms, Ms, Ms, Xu, Xu, Uu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uu, Xu, Xu
|
||||
Aa, Aa^Fda, Aa^Fda, Aa^Fpa, Aa^Fpa, Ha^Fpa, Aa, Gd^Es, Gd^Em, Aa^Es, Aa^Esa, Ms, Ms, Ha^Fpa, Ha^Fpa, Ha^Esa, Ha^Esa, Ms, Ms, Ms, Ms, Mm, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu^Vu, Uu
|
||||
Aa^Esa, Aa, Aa, Gd^Em, Aa, Aa^Esa, Aa, Aa^Fpa, Gd, Aa, Gd^Vh, Ms, Ms, Ha^Fpa, Ha, Aa^Vha, Ha, Mm, Ms, Ms, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu, Uu, Uu
|
||||
Aa, Aa^Fda, Aa^Fda, Aa^Fpa, Aa^Fpa, Ha^Fpa, Aa, Gd^Es, Gd^Em, Aa^Es, Aa^Esa, Ms, Ms, Ha^Fpa, Ha^Fpa, Ha^Esa, Ha^Esa, Ms, Ms, Ms, Ms, Mm, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Em, Uu^Em, Uu^Vu, Uu
|
||||
Aa^Esa, Aa, Aa, Gd^Em, Aa, Aa^Esa, Aa, Aa^Fpa, Gd, Aa, Gd^Vh, Ms, Ms, Ha^Fpa, Ha, Aa^Vha, Ha, Mm, Ms, Ms, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uu^Em, Uu, Uu
|
||||
Wwg, Aa^Esa, Ai, Aa, Aa, Aa, Aa, Aa, Aa, Gd, Aa, Ha^Esa, Ha, Ha^Esa, Ha, Ha, Ms, Mm, Ms, Ms, Ms, Ms, Ms, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uh
|
||||
Wwg, Wwg, Ai, Ai, Gd, Gd, Gd, Aa, Gd, Gd, Aa, Ha, Ha, Ha, Ms, Ms, Ms, Ms, Mm, Ms, Ms, Ms, Mm, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Xu, Uh, Uh, Uh
|
||||
|
|
|
@ -209,6 +209,9 @@
|
|||
|
||||
{SOF_DEATHS}
|
||||
|
||||
{SOF_RUNIC_CHEST_SWIFTNESS 23 10}
|
||||
{SOF_RUNIC_CHEST_FORCE 24 9}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
|
@ -110,6 +110,10 @@
|
|||
|
||||
{SOF_DEATHS}
|
||||
|
||||
{SOF_RUNIC_CHEST_SWIFTNESS 18 5}
|
||||
{SOF_RUNIC_CHEST_ACCURACY 19 6}
|
||||
{SOF_RUNIC_CHEST_FORCE 18 6}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
|
@ -314,6 +314,8 @@
|
|||
{LIMIT_CONTEMPORANEOUS_RECRUITS 4 (Goblin Rouser) 2}
|
||||
{LIMIT_CONTEMPORANEOUS_RECRUITS 4 (Goblin Impaler) 2}
|
||||
|
||||
{SOF_RUNIC_EVENTS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
|
@ -165,6 +165,8 @@
|
|||
text= _ "Shorbear caves"
|
||||
[/label]
|
||||
|
||||
{SOF_RUNIC_EVENTS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[objectives]
|
||||
|
|
|
@ -179,6 +179,8 @@
|
|||
|
||||
{SOF_DEATHS}
|
||||
|
||||
{SOF_RUNIC_EVENTS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
|
@ -115,6 +115,8 @@
|
|||
|
||||
{SOF_DEATHS}
|
||||
|
||||
{SOF_RUNIC_EVENTS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
|
@ -301,6 +301,8 @@
|
|||
|
||||
{SOF_DEATHS}
|
||||
|
||||
{SOF_RUNIC_EVENTS}
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
|
||||
|
|
499
data/campaigns/Sceptre_of_Fire/utils/rune-equip.cfg
Normal file
499
data/campaigns/Sceptre_of_Fire/utils/rune-equip.cfg
Normal file
|
@ -0,0 +1,499 @@
|
|||
#textdomain wesnoth-sof
|
||||
|
||||
#define SOF_RUNIC_OPTION ID NAME DESC ICON COST EFFECT_WML
|
||||
image={ICON}
|
||||
label= {NAME} + " <span style='italic'> ({COST}g)</span>"
|
||||
description = {DESC}
|
||||
[command]
|
||||
[if]
|
||||
[variable]
|
||||
name=unit.variables.{ID}_rune
|
||||
equals=yes
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"I already have this one..."
|
||||
[/message]
|
||||
[/then]
|
||||
[else]
|
||||
[store_gold]
|
||||
side=1
|
||||
variable=gold_check
|
||||
[/store_gold]
|
||||
[if]
|
||||
[variable]
|
||||
name=gold_check
|
||||
less_than={COST}
|
||||
[/variable]
|
||||
[then]
|
||||
[message]
|
||||
speaker=unit
|
||||
message=_"We don't have the funds..."
|
||||
[/message]
|
||||
[set_variable]
|
||||
name=no_funds
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[else]
|
||||
[set_variable]
|
||||
name=unit.variables.{ID}_rune
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
[gold]
|
||||
side=1
|
||||
amount=-{COST}
|
||||
[/gold]
|
||||
[object]
|
||||
silent=yes
|
||||
duration=scenario
|
||||
[filter]
|
||||
id=$unit.id
|
||||
[/filter]
|
||||
[effect]
|
||||
apply_to=overlay
|
||||
add=misc/rune_overlay.png
|
||||
[/effect]
|
||||
{EFFECT_WML}
|
||||
[/object]
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE gold_check}
|
||||
[/else]
|
||||
[/if]
|
||||
[/command]
|
||||
#enddef
|
||||
|
||||
|
||||
# thursagan moves to keep, or starts side turn at a keep, then
|
||||
# adjacent units are stored and player can choose which one gets a rune
|
||||
|
||||
#define SOF_RUNIC_EVENTS
|
||||
[event]
|
||||
name=moveto
|
||||
id=sof_sfe_moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
id=Thursagan
|
||||
[filter_location]
|
||||
terrain=K*
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
[store_unit]
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
[filter_adjacent]
|
||||
id=Thursagan
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
variable=rune_customer
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[fire_event]
|
||||
id=sof_rune_shop
|
||||
[/fire_event]
|
||||
[/event]
|
||||
[event]
|
||||
name=side 1 turn
|
||||
id=sof_sfe_side1turn
|
||||
first_time_only=no
|
||||
[filter_condition]
|
||||
[have_unit]
|
||||
id=Thursagan
|
||||
[filter_location]
|
||||
terrain=K*
|
||||
[/filter_location]
|
||||
[/have_unit]
|
||||
[/filter_condition]
|
||||
[store_unit]
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
[filter_adjacent]
|
||||
id=Thursagan
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
variable=rune_customer
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[fire_event]
|
||||
id=sof_rune_shop
|
||||
[/fire_event]
|
||||
[/event]
|
||||
[event]
|
||||
name=exit_hex
|
||||
id=sof_thursagan_exithex
|
||||
first_time_only=no
|
||||
[filter]
|
||||
id=Thursagan
|
||||
[filter_location]
|
||||
terrain=K*
|
||||
[/filter_location]
|
||||
[/filter]
|
||||
[remove_item]
|
||||
image=rune_shop_overlay
|
||||
x,y=$x1|,$y1|
|
||||
radius=1
|
||||
[/remove_item]
|
||||
{CLEAR_VARIABLE rune_customer}
|
||||
[/event]
|
||||
[event]
|
||||
name=exit_hex
|
||||
id=sof_sfe_exithex
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
[filter_adjacent]
|
||||
id=Thursagan
|
||||
[filter_location]
|
||||
terrain=K*
|
||||
[/filter_location]
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[remove_item]
|
||||
image=rune_shop_overlay
|
||||
x,y=$x1|,$y1|
|
||||
[/remove_item]
|
||||
[store_unit]
|
||||
[filter]
|
||||
id=$unit.id
|
||||
[/filter]
|
||||
variable=ex_rune_customer
|
||||
kill=no
|
||||
[/store_unit]
|
||||
[foreach]
|
||||
array=rune_customer
|
||||
readonly=yes
|
||||
[do]
|
||||
[if]
|
||||
[variable]
|
||||
name=ex_rune_customer.id
|
||||
equals=$this_item.id
|
||||
[/variable]
|
||||
[then]
|
||||
[set_variable]
|
||||
name=index_TEMP
|
||||
value=$i|
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[/if]
|
||||
[/do]
|
||||
[/foreach]
|
||||
{CLEAR_VARIABLE rune_customer[$index_TEMP]}
|
||||
{CLEAR_VARIABLE ex_rune_customer}
|
||||
{CLEAR_VARIABLE index_TEMP}
|
||||
[/event]
|
||||
[event]
|
||||
name=moveto
|
||||
id=sof_sfe_2moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
[filter_adjacent]
|
||||
id=Thursagan
|
||||
[filter_location]
|
||||
terrain=K*
|
||||
[/filter_location]
|
||||
[/filter_adjacent]
|
||||
[/filter]
|
||||
[store_unit]
|
||||
[filter]
|
||||
id=$unit.id
|
||||
[/filter]
|
||||
variable=rune_customer
|
||||
kill=no
|
||||
mode=append
|
||||
[/store_unit]
|
||||
[fire_event]
|
||||
id=sof_rune_shop
|
||||
[/fire_event]
|
||||
[/event]
|
||||
|
||||
|
||||
|
||||
[event]
|
||||
id=sof_rune_shop
|
||||
name=sof_rune_shop
|
||||
first_time_only=no
|
||||
[remove_item]
|
||||
[and]
|
||||
terrain=K*
|
||||
[filter]
|
||||
id=Thursagan
|
||||
[/filter]
|
||||
[/and]
|
||||
radius=1
|
||||
image=rune_shop_overlay
|
||||
[/remove_item]
|
||||
{CLEAR_VARIABLE abort_select_id}
|
||||
[foreach]
|
||||
array=rune_customer
|
||||
readonly=yes
|
||||
[do]
|
||||
[if]
|
||||
[variable]
|
||||
name=this_item.variables.no_rune
|
||||
equals=yes
|
||||
[/variable]
|
||||
[else]
|
||||
[item]
|
||||
halo="scenery/summoning-circle[4,5,6].png:[250,250,250]"
|
||||
x,y=$this_item.x|,$this_item.y|
|
||||
name=rune_shop_overlay
|
||||
[/item]
|
||||
[/else]
|
||||
[/if]
|
||||
[/do]
|
||||
[/foreach]
|
||||
[event]
|
||||
name=select
|
||||
id=rc_select
|
||||
first_time_only=no
|
||||
[filter_condition]
|
||||
[not]
|
||||
[variable]
|
||||
name=unit.variables.no_rune
|
||||
equals=yes
|
||||
[/variable]
|
||||
[/not]
|
||||
[/filter_condition]
|
||||
[filter]
|
||||
find_in=rune_customer
|
||||
[/filter]
|
||||
[message]
|
||||
speaker=Thursagan
|
||||
message= _ "I can hammer out a quick little runic charm, it should help you somewhat. This isn't the place to do really good work though, so the effects will vanish in the future. What do you say, is it worth a bit of gold and crystal?"
|
||||
[option]
|
||||
default=yes
|
||||
image=attacks/blank-attack.png~BLIT(icons/unit-groups/cross_30.png~SCALE(60,60),0,0)
|
||||
label= _ "Exit"
|
||||
description = _ "Nothing for now."
|
||||
[command]
|
||||
[/command]
|
||||
[/option]
|
||||
[option]
|
||||
default=yes
|
||||
image=attacks/blank-attack.png~BLIT(icons/unit-groups/cross_30.png~BLEND(200,0,0,1.0)~SCALE(60,60),0,0)
|
||||
label= _ "Reject"
|
||||
description = _ "No thanks, don't ask again."
|
||||
[command]
|
||||
[set_variable]
|
||||
name=unit.variables.no_rune
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[unstore_unit]
|
||||
variable=unit
|
||||
find_vacant=no
|
||||
[/unstore_unit]
|
||||
[remove_item]
|
||||
x,y=$x1|,$y1|
|
||||
image=rune_shop_overlay
|
||||
[/remove_item]
|
||||
[/command]
|
||||
[/option]
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION swiftness (_ "Swiftness") (_ "Adds 2 MP") ("misc/rune_icon.png~BLIT(scenery/summoning-circle4.png~CROP(6,6,60,60),0,0)") 13 (
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=2
|
||||
[/effect]
|
||||
)}
|
||||
[/option]
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION accuracy (_ "Accuracy") (_ "Increases ranged weapon accuracy 20%") ("misc/rune_icon.png~BLIT(scenery/summoning-circle5.png~CROP(6,6,60,60),0,0)") 16 (
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_accuracy=20
|
||||
[/effect]
|
||||
)}
|
||||
[/option]
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION "force" (_ "Force") (_ "Increases melee weapon damage by 4") ("misc/rune_icon.png~BLIT(scenery/summoning-circle6.png~CROP(6,6,60,60),0,0)") 14 (
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_damage=4
|
||||
[/effect]
|
||||
)}
|
||||
[/option]
|
||||
[/message]
|
||||
[/event]
|
||||
[/event]
|
||||
|
||||
#enddef
|
||||
|
||||
#define SOF_RUNIC_CHEST_GENERIC OPTION_WML X Y
|
||||
|
||||
[event]
|
||||
name=prestart
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-closed.png
|
||||
name=rune_shop_overlay
|
||||
[/item]
|
||||
[set_variable]
|
||||
name=chest_{X}_{Y}
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/event]
|
||||
|
||||
[event]
|
||||
name=moveto
|
||||
first_time_only=no
|
||||
[filter]
|
||||
side=1
|
||||
race=dwarf
|
||||
x,y={X},{Y}
|
||||
[/filter]
|
||||
[filter_condition]
|
||||
[variable]
|
||||
name=chest_{X}_{Y}
|
||||
equals=yes
|
||||
[/variable]
|
||||
[/filter_condition]
|
||||
{CLEAR_VARIABLE chest_{X}_{Y}}
|
||||
[message]
|
||||
speaker=unit
|
||||
message= _ "This is part of our stash of field runes, we can use them to get a small temporary boost. We don't have very many though, and need to contribute funds for replacements. Should I take this one?"
|
||||
[option]
|
||||
default=yes
|
||||
image=attacks/blank-attack.png~BLIT(icons/unit-groups/cross_30.png~SCALE(60,60),0,0)
|
||||
label= _ "No"
|
||||
description = _ "Not now."
|
||||
[command]
|
||||
[set_variable]
|
||||
name=chest_{X}_{Y}
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/command]
|
||||
[/option]
|
||||
{OPTION_WML}
|
||||
[/message]
|
||||
[/event]
|
||||
|
||||
#enddef
|
||||
|
||||
#define SOF_RUNIC_CHEST_SWIFTNESS X Y
|
||||
{SOF_RUNIC_CHEST_GENERIC (
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION swiftness (_ "Swiftness") (_ "Adds 1 MP") ("misc/rune_icon.png~BLIT(scenery/summoning-circle4.png~CROP(6,6,60,60),0,0)") 8 (
|
||||
[effect]
|
||||
apply_to=movement
|
||||
increase=1
|
||||
[/effect]
|
||||
)}
|
||||
[+command]
|
||||
[if]
|
||||
[variable]
|
||||
name=no_funds
|
||||
equals=yes
|
||||
[/variable]
|
||||
[then]
|
||||
[set_variable]
|
||||
name=chest_{X}_{Y}
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[else]
|
||||
[remove_item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-closed.png
|
||||
[/remove_item]
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-open.png
|
||||
[/item]
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE no_funds}
|
||||
[/command]
|
||||
[/option]
|
||||
) {X} {Y}}
|
||||
#enddef
|
||||
|
||||
#define SOF_RUNIC_CHEST_ACCURACY X Y
|
||||
{SOF_RUNIC_CHEST_GENERIC (
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION accuracy (_ "Accuracy") (_ "Increases ranged weapon accuracy 10%") ("misc/rune_icon.png~BLIT(scenery/summoning-circle5.png~CROP(6,6,60,60),0,0)") 10 (
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=ranged
|
||||
increase_accuracy=10
|
||||
[/effect]
|
||||
)}
|
||||
[+command]
|
||||
[if]
|
||||
[variable]
|
||||
name=no_funds
|
||||
equals=yes
|
||||
[/variable]
|
||||
[then]
|
||||
[set_variable]
|
||||
name=chest_{X}_{Y}
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[else]
|
||||
[remove_item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-closed.png
|
||||
[/remove_item]
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-open.png
|
||||
[/item]
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE no_funds}
|
||||
[/command]
|
||||
[/option]
|
||||
) {X} {Y}}
|
||||
#enddef
|
||||
|
||||
#define SOF_RUNIC_CHEST_FORCE X Y
|
||||
{SOF_RUNIC_CHEST_GENERIC (
|
||||
[option]
|
||||
{SOF_RUNIC_OPTION "force" (_ "Force") (_ "Increases melee weapon damage by 2") ("misc/rune_icon.png~BLIT(scenery/summoning-circle6.png~CROP(6,6,60,60),0,0)") 8 (
|
||||
[effect]
|
||||
apply_to=attack
|
||||
range=melee
|
||||
increase_damage=2
|
||||
[/effect]
|
||||
)}
|
||||
[+command]
|
||||
[if]
|
||||
[variable]
|
||||
name=no_funds
|
||||
equals=yes
|
||||
[/variable]
|
||||
[then]
|
||||
[set_variable]
|
||||
name=chest_{X}_{Y}
|
||||
value=yes
|
||||
[/set_variable]
|
||||
[/then]
|
||||
[else]
|
||||
[remove_item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-closed.png
|
||||
[/remove_item]
|
||||
[item]
|
||||
x,y={X},{Y}
|
||||
image=items/chest-plain-open.png
|
||||
[/item]
|
||||
[/else]
|
||||
[/if]
|
||||
{CLEAR_VARIABLE no_funds}
|
||||
[/command]
|
||||
[/option]
|
||||
) {X} {Y}}
|
||||
#enddef
|
Loading…
Add table
Reference in a new issue