diff --git a/data/lua/wml-tags.lua b/data/lua/wml-tags.lua index 9be9477994142..328c5141e5e77 100644 --- a/data/lua/wml-tags.lua +++ b/data/lua/wml-tags.lua @@ -714,7 +714,7 @@ function wml_actions.scroll(cfg) end end if have_human or #sides == 0 then - wesnoth.interface.scroll(cfg.x or 0, cfg.y or 0) + wesnoth.interface.scroll(cfg.x or 0, cfg.y or 0, cfg.delay or 25) end end diff --git a/src/scripting/game_lua_kernel.cpp b/src/scripting/game_lua_kernel.cpp index 9463ab347c10d..0b3478a525dc5 100644 --- a/src/scripting/game_lua_kernel.cpp +++ b/src/scripting/game_lua_kernel.cpp @@ -4650,12 +4650,20 @@ int game_lua_kernel::intf_replace_schedule(lua_State * L) int game_lua_kernel::intf_scroll(lua_State * L) { - int x = luaL_checkinteger(L, 1), y = luaL_checkinteger(L, 2); + int x = luaL_checkinteger(L, 1); + int y = luaL_checkinteger(L, 2); + int delay = luaL_optinteger(L, 3, 0); if (game_display_) { game_display_->scroll(x, y, true); } + if(delay != 0) { + lua_remove(L, 1); + lua_remove(L, 1); + intf_delay(L); + } + return 0; }