Skip to content
Snippets Groups Projects
Commit 987ccf56 authored by DarkGod's avatar DarkGod
Browse files

Merge branch 'zone' into 'master'

Zone load tips

The game will now look in a zone's definition files for load_tips to display when loading a level of the zone, in that silly waiter titled Loading level...
Load_tips are an exact copy of the ones in module definitions except they can't contain images. They also shouldn't be too long because the waiter looks silly too stretched.

At least the players have something to look at in addition to just "Please wait while loading the level...". As mentioned on IRC, they could be used for special zones (Caldera, dreams, Angolwen). For other zones, they might not be added at all or just contain a copy of the normal loading-game tips.

The PR doesn't include any load tips for said zones because I can't into ToME lore :P
parents 1d5f38c2 a6f7f061
No related branches found
No related tags found
No related merge requests found
......@@ -498,7 +498,7 @@ function _M:applyEgo(e, ego, type, no_name_change)
ego.level_range = nil
-- Merge according to Object's ego rules.
table.ruleMergeAppendAdd(e, ego, self.ego_rules[type] or {})
e.name = newname
if not ego.fake_ego then
e.egoed = true
......@@ -819,6 +819,15 @@ function _M:leaveLevel(no_close, lev, old_lev)
end
end
function _M:getLoadTips()
if self.load_tips then
local l = rng.table(self.load_tips)
return l.text
else
return ""
end
end
--- Asks the zone to generate a level of level "lev"
-- @param game which `Game`?
-- @param lev the level (from 1 to zone.max_level)
......@@ -836,7 +845,7 @@ function _M:getLevel(game, lev, old_lev, no_close)
-- Load persistent level?
if type(level_data.persistent) == "string" and level_data.persistent == "zone_temporary" then
forceprint("Loading zone temporary level", self.short_name, lev)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level...", nil, 10000)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level... "..self:getLoadTips(), nil, 10000)
core.display.forceRedraw()
self.temp_memory_levels = self.temp_memory_levels or {}
......@@ -852,7 +861,7 @@ function _M:getLevel(game, lev, old_lev, no_close)
popup:done()
elseif type(level_data.persistent) == "string" and level_data.persistent == "zone" and not self.save_per_level then
forceprint("Loading zone persistance level", self.short_name, lev)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level...", nil, 10000)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level... "..self:getLoadTips(), nil, 10000)
core.display.forceRedraw()
self.memory_levels = self.memory_levels or {}
......@@ -868,7 +877,7 @@ function _M:getLevel(game, lev, old_lev, no_close)
popup:done()
elseif type(level_data.persistent) == "string" and level_data.persistent == "memory" then
forceprint("Loading memory persistance level", self.short_name, lev)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level...", nil, 10000)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level... "..self:getLoadTips(), nil, 10000)
core.display.forceRedraw()
game.memory_levels = game.memory_levels or {}
......@@ -884,7 +893,7 @@ function _M:getLevel(game, lev, old_lev, no_close)
popup:done()
elseif level_data.persistent then
forceprint("Loading level persistance level", self.short_name, lev)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level...", nil, 10000)
local popup = Dialog:simpleWaiter("Loading level", "Please wait while loading the level... "..self:getLoadTips(), nil, 10000)
core.display.forceRedraw()
-- Try to load from a savefile
......@@ -900,7 +909,7 @@ function _M:getLevel(game, lev, old_lev, no_close)
-- In any cases, make one if none was found
if not level then
forceprint("Creating level", self.short_name, lev)
local popup = Dialog:simpleWaiter("Generating level", "Please wait while generating the level...", nil, 10000)
local popup = Dialog:simpleWaiter("Generating level", "Please wait while generating the level... "..self:getLoadTips(), nil, 10000)
core.display.forceRedraw()
level = self:newLevel(level_data, lev, old_lev, game)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment