Allow WFL for [random_placement]num_items=
(cherry-picked from commit e4a2c14177
)
This commit is contained in:
parent
d7d3bc692b
commit
0131631220
2 changed files with 10 additions and 2 deletions
|
@ -5,6 +5,7 @@
|
|||
* Support [filter_weapon] in leadership and resistance abilities,
|
||||
which activates the ability only when the affected unit is using
|
||||
a matching weapon.
|
||||
* Support WFL in [random_placement]num_items=
|
||||
### Language and i18n
|
||||
* Fixed many cases of interpolated strings in the engine possibly having
|
||||
their translations retrieved from the wrong textdomain and falling back
|
||||
|
|
|
@ -14,8 +14,15 @@ wesnoth.wml_actions.random_placement = function(cfg)
|
|||
local math_abs = math.abs
|
||||
local locs = wesnoth.get_locations(filter)
|
||||
if type(num_items) == "string" then
|
||||
num_items = math.floor(load("local size = " .. #locs .. "; return " .. num_items)())
|
||||
print("num_items=" .. num_items .. ", #locs=" .. #locs)
|
||||
if num_items:match('^%s%(.*%)%s$') then
|
||||
local params = {size = #locs}
|
||||
local result = wesnoth.eval_formula(num_items)
|
||||
num_items = math.floor(tonumber(result))
|
||||
else
|
||||
wesnoth.deprecated_message('num_items=lua', 2, '1.17.0', 'Use of Lua for [random_placement]num_items is deprecated. Use WFL instead and enclose the whole thing in parentheses.')
|
||||
num_items = math.floor(load("local size = " .. #locs .. "; return " .. num_items)())
|
||||
print("num_items=" .. num_items .. ", #locs=" .. #locs)
|
||||
end
|
||||
end
|
||||
local size = #locs
|
||||
for i = 1, num_items do
|
||||
|
|
Loading…
Add table
Reference in a new issue