Enable scenarios to change theme in an event
This commit is contained in:
parent
b9a35fa870
commit
1fb4d36ef8
3 changed files with 12 additions and 0 deletions
|
@ -14,6 +14,7 @@ Version 1.13.7+dev:
|
||||||
logging data into a saved game.
|
logging data into a saved game.
|
||||||
* Small change to animator API - facing parameter replaced with target and required to be
|
* Small change to animator API - facing parameter replaced with target and required to be
|
||||||
a space adjacent to the unit.
|
a space adjacent to the unit.
|
||||||
|
* New modifiable theme attribute in wesnoth.game_config
|
||||||
* Multiplayer:
|
* Multiplayer:
|
||||||
* Fixed statistics being lost when reloading an MP game.
|
* Fixed statistics being lost when reloading an MP game.
|
||||||
* Performance:
|
* Performance:
|
||||||
|
@ -38,6 +39,7 @@ Version 1.13.7+dev:
|
||||||
* Canvas colors can now be expressed as formulas. The formula must return
|
* Canvas colors can now be expressed as formulas. The formula must return
|
||||||
the color as a list of its components, eg "([r, g, b, a])"
|
the color as a list of its components, eg "([r, g, b, a])"
|
||||||
* Empty tags are no longer written to the configs of [unit]s and [side]s.
|
* Empty tags are no longer written to the configs of [unit]s and [side]s.
|
||||||
|
* New [change_theme] tag to change the theme mid-scenario
|
||||||
|
|
||||||
Version 1.13.7:
|
Version 1.13.7:
|
||||||
* AI:
|
* AI:
|
||||||
|
|
|
@ -1413,6 +1413,10 @@ function wml_actions.set_variable(cfg)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function wesnoth.wml_actions.change_theme(cfg)
|
||||||
|
wesnoth.game_config.theme = cfg.theme
|
||||||
|
end
|
||||||
|
|
||||||
function wesnoth.wml_conditionals.proceed_to_next_scenario(cfg)
|
function wesnoth.wml_conditionals.proceed_to_next_scenario(cfg)
|
||||||
local endlevel_data = wesnoth.get_end_level_data()
|
local endlevel_data = wesnoth.get_end_level_data()
|
||||||
if not endlevel_data then
|
if not endlevel_data then
|
||||||
|
|
|
@ -1236,6 +1236,7 @@ int game_lua_kernel::impl_game_config_get(lua_State *L)
|
||||||
return_int_attrib("last_turn", tod_man().number_of_turns());
|
return_int_attrib("last_turn", tod_man().number_of_turns());
|
||||||
return_string_attrib("version", game_config::version);
|
return_string_attrib("version", game_config::version);
|
||||||
return_string_attrib("next_scenario", gamedata().next_scenario());
|
return_string_attrib("next_scenario", gamedata().next_scenario());
|
||||||
|
return_string_attrib("theme", gamedata().get_theme());
|
||||||
return_bool_attrib("debug", game_config::debug);
|
return_bool_attrib("debug", game_config::debug);
|
||||||
return_bool_attrib("debug_lua", game_config::debug_lua);
|
return_bool_attrib("debug_lua", game_config::debug_lua);
|
||||||
return_bool_attrib("mp_debug", game_config::mp_debug);
|
return_bool_attrib("mp_debug", game_config::mp_debug);
|
||||||
|
@ -1285,6 +1286,11 @@ int game_lua_kernel::impl_game_config_set(lua_State *L)
|
||||||
modify_int_attrib("kill_experience", game_config::kill_experience = value);
|
modify_int_attrib("kill_experience", game_config::kill_experience = value);
|
||||||
modify_int_attrib("last_turn", tod_man().set_number_of_turns_by_wml(value));
|
modify_int_attrib("last_turn", tod_man().set_number_of_turns_by_wml(value));
|
||||||
modify_string_attrib("next_scenario", gamedata().set_next_scenario(value));
|
modify_string_attrib("next_scenario", gamedata().set_next_scenario(value));
|
||||||
|
modify_string_attrib("theme",
|
||||||
|
gamedata().set_theme(value);
|
||||||
|
const config& game_config = game_config_manager::get()->game_config();
|
||||||
|
game_display_->set_theme(play_controller_.get_theme(game_config, value));
|
||||||
|
);
|
||||||
modify_vector_string_attrib("defeat_music", gamedata().set_defeat_music(std::move(value)));
|
modify_vector_string_attrib("defeat_music", gamedata().set_defeat_music(std::move(value)));
|
||||||
modify_vector_string_attrib("victory_music", gamedata().set_victory_music(std::move(value)));
|
modify_vector_string_attrib("victory_music", gamedata().set_victory_music(std::move(value)));
|
||||||
std::string err_msg = "unknown modifiable property of game_config: ";
|
std::string err_msg = "unknown modifiable property of game_config: ";
|
||||||
|
|
Loading…
Add table
Reference in a new issue