LoW: fix missing persistent data at the end of Chapter 3
This commit is contained in:
parent
570e1b2d2f
commit
e7947e348b
3 changed files with 61 additions and 0 deletions
|
@ -7,6 +7,8 @@ local wml_actions = wesnoth.wml_actions
|
|||
local T = wml.tag
|
||||
local vars = wml.variables
|
||||
|
||||
helper = wesnoth.require "lua/helper.lua"
|
||||
|
||||
function wesnoth.wml_actions.shift_labels(cfg)
|
||||
for k, v in ipairs(labels) do
|
||||
wml_label { x = v.x, y = v.y }
|
||||
|
@ -56,6 +58,32 @@ function wesnoth.wml_actions.replace_map_section(cfg)
|
|||
wesnoth.wml_actions.replace_map { map = new_map, expand = true, shrink = true }
|
||||
end
|
||||
|
||||
function wesnoth.wml_actions.unstore_left_behind_units(cfg)
|
||||
if wesnoth.get_variable("l3_store_kalenz") ~= nil then
|
||||
l3_store_kalenz = helper.get_variable_array("l3_store_kalenz")
|
||||
for i,_ in ipairs(l3_store_kalenz) do
|
||||
var_name = "l3_store_kalenz[" .. tostring(i-1) .. "]"
|
||||
wml_actions.unstore_unit {
|
||||
variable = var_name,
|
||||
x = "recall",
|
||||
y = "recall"
|
||||
}
|
||||
end
|
||||
wesnoth.set_variable("l3_store_kalenz",nil)
|
||||
end
|
||||
if wesnoth.get_variable("l3_store_landar") ~= nil then
|
||||
l3_store_landar = helper.get_variable_array("l3_store_landar")
|
||||
for i,_ in ipairs(l3_store_landar) do
|
||||
var_name = "l3_store_landar[" .. tostring(i-1) .. "]"
|
||||
wml_actions.unstore_unit {
|
||||
variable = var_name,
|
||||
x = "recall",
|
||||
y = "recall"
|
||||
}
|
||||
end
|
||||
wesnoth.set_variable("l3_store_landar",nil)
|
||||
end
|
||||
end
|
||||
|
||||
function wesnoth.wml_actions.persistent_carryover_store(cfg)
|
||||
for num, side in ipairs(wesnoth.sides) do
|
||||
|
|
|
@ -291,6 +291,7 @@
|
|||
|
||||
[event]
|
||||
name=victory
|
||||
[unstore_left_behind_units][/unstore_left_behind_units]
|
||||
[persistent_carryover_store]
|
||||
scenario_id = LoW_Chapter_Three
|
||||
[/persistent_carryover_store]
|
||||
|
|
|
@ -102,6 +102,36 @@
|
|||
[/side]
|
||||
#endif
|
||||
|
||||
#define LEAVE_BEHIND_L3 NAME SIDE
|
||||
# these have been left behind to guard the Ka'lian
|
||||
[store_unit]
|
||||
variable=l3_store_{NAME}
|
||||
kill=yes
|
||||
[filter]
|
||||
side={SIDE}
|
||||
type=Elvish Marshal,Elvish Champion,Elvish Avenger,Elvish Sharpshooter
|
||||
[not]
|
||||
id=Kalenz
|
||||
[/not]
|
||||
[not]
|
||||
id=Anduilas
|
||||
[/not]
|
||||
[not]
|
||||
id=Arkildur
|
||||
[/not]
|
||||
[not]
|
||||
id=Landar
|
||||
[/not]
|
||||
[not]
|
||||
id=Cleodil
|
||||
[/not]
|
||||
[not]
|
||||
{FILTER_LOYALS}
|
||||
[/not]
|
||||
[/filter]
|
||||
[/store_unit]
|
||||
#enddef
|
||||
|
||||
[event]
|
||||
name=start
|
||||
|
||||
|
@ -109,6 +139,8 @@
|
|||
[persistent_carryover_unstore]
|
||||
scenario_id = LoW_Chapter_Three
|
||||
[/persistent_carryover_unstore]
|
||||
{LEAVE_BEHIND_L3 kalenz 1}
|
||||
{LEAVE_BEHIND_L3 landar 2}
|
||||
#endif
|
||||
|
||||
#TODO recall or create if not recallable
|
||||
|
|
Loading…
Add table
Reference in a new issue