wesnoth/data/campaigns/tutorial/lua/character_selection.lua
Steve Cotton 3d50320369 Tutorial S01: Synchronise the choice of character
This avoids showing the dialog during replays, and thus avoids an
OOS if the person watching the replay chooses the other character.
2021-07-29 01:12:14 +02:00

39 lines
1.0 KiB
Lua
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- #textdomain wesnoth-tutorial
-- Allows the player to choose whether they want to play Konrad or Lisar
-- for the tutorial
local T = wml.tag
local wml_actions = wesnoth.wml_actions
local _ = wesnoth.textdomain "wesnoth-tutorial"
function wml_actions.select_character()
local character_selection_dialog = wml.load "campaigns/tutorial/gui/character_selection.cfg"
local dialog_wml = wml.get_child(character_selection_dialog, 'resolution')
local result = wesnoth.sync.evaluate_single(function()
return { value = gui.show_dialog(dialog_wml) }
end)
local character = result.value
local unit = wml.variables.student_store
if character == 2 then
wesnoth.units.to_map({
type = "Fighteress",
id = unit.id,
name = _"Lisar",
unrenamable = true,
profile = "portraits/lisar.png",
canrecruit = true,
facing = unit.facing,
}, unit.x, unit.y )
wesnoth.sides[1].side_name = _"Lisar"
-- enable the help to display this unit's page
wesnoth.add_known_unit("Fighteress")
else
wesnoth.units.to_map(unit)
end
wesnoth.redraw {}
end