diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index 8106c8ac1949287cfb3fb1efc5202977b855187d..9d20384653f97b4a67524b65c06d2725c13525f2 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -1115,7 +1115,9 @@ function _M:setupCommands() end end end end, [{"_g","ctrl"}] = function() if config.settings.cheat then - game.state:debugRandomZone() + local o = self.state:generateRandart(false) + o:identify(true) + self.zone:addEntity(self.level, o, "object", game.player.x, game.player.y) end end, [{"_f","ctrl"}] = function() if config.settings.cheat then self.player.quests["love-melinda"] = nil diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua index 51efa63dd2ce43c5fcd20faf81e5b4ae06a3d6a8..6d9f3b64bd85bbe1643ef506730fb134a03d381a 100644 --- a/game/modules/tome/class/GameState.lua +++ b/game/modules/tome/class/GameState.lua @@ -323,6 +323,10 @@ function _M:generateRandart(add, base, lev, nb_egos) local filter = nil if rng.percent(lev) and been_greater < 2 then been_greater = been_greater + 1 filter = function(e) return e.greater_ego end end for z = 1, #egos do list[#list+1] = egos[z].e end + + local ef = self:egoFilter(game.zone, game.level, "object", "randartego", o, {special=filter}, list, {}) + filter = ef.special + local pick_egos = game.zone:computeRarities("object", list, game.level, filter, nil, nil) local ego = game.zone:pickEntity(pick_egos) if ego then