Author: anonymissimus
Date: Fri Feb 25 19:58:39 2011
New Revision: 48637
URL: http://svn.gna.org/viewcvs/wesnoth?rev=48637&view=rev
Log:
add [transform_unit] tag from wlp to core
first version
Modified:
trunk/data/lua/wml-tags.lua
Modified: trunk/data/lua/wml-tags.lua
URL:
http://svn.gna.org/viewcvs/wesnoth/trunk/data/lua/wml-tags.lua?rev=48637&r1=48636&r2=48637&view=diff
==============================================================================
--- trunk/data/lua/wml-tags.lua (original)
+++ trunk/data/lua/wml-tags.lua Fri Feb 25 19:58:39 2011
@@ -737,3 +737,33 @@
end
end
+function wml_actions.transform_unit(cfg)
+ local transform_to = cfg.transform_to
+
+ for index, unit in ipairs(wesnoth.get_units(cfg)) do
+ local hitpoints = unit.hitpoints
+
+ if transform_to then
+ wesnoth.transform_unit( unit, transform_to )
+ else
+ local experience = unit.experience
+ unit.experience = unit.max_experience
+ local status = helper.get_child( unit.__cfg, "status" )
+
+ wml_actions.store_unit { { "filter", { id = unit.id }
}, variable = "Lua_store_unit", kill = true }
+ wml_actions.unstore_unit { variable = "Lua_store_unit",
find_vacant = false, advance = true, fire_event = false }
+ wesnoth.set_variable ( "Lua_store_unit")
+
+ unit.experience = experience
+
+ for key, value in pairs(status) do unit.status[key] =
value end
+ end
+
+ unit.hitpoints = hitpoints
+
+ if unit.status.not_living then unit.status.poisoned = nil end
+ end
+
+ wml_actions.redraw {}
+end
+
_______________________________________________
Wesnoth-commits mailing list
[email protected]
https://mail.gna.org/listinfo/wesnoth-commits