mirror of
https://github.com/wesnoth/wesnoth
synced 2025-04-16 09:47:37 +00:00

This avoids showing the dialog during replays, and thus avoids an OOS if the person watching the replay chooses the other character.
39 lines
1.0 KiB
Lua
39 lines
1.0 KiB
Lua
-- #textdomain wesnoth-tutorial
|
||
|
||
-- Allows the player to choose whether they want to play Konrad or Li’sar
|
||
-- 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 = _"Li’sar",
|
||
unrenamable = true,
|
||
profile = "portraits/lisar.png",
|
||
canrecruit = true,
|
||
facing = unit.facing,
|
||
}, unit.x, unit.y )
|
||
wesnoth.sides[1].side_name = _"Li’sar"
|
||
-- enable the help to display this unit's page
|
||
wesnoth.add_known_unit("Fighteress")
|
||
else
|
||
wesnoth.units.to_map(unit)
|
||
end
|
||
|
||
wesnoth.redraw {}
|
||
end
|