Skip to content
Snippets Groups Projects
Commit 62832946 authored by dg's avatar dg
Browse files

Insane mode now does NOT increase the level of objects

git-svn-id: http://svn.net-core.org/repos/t-engine4@2548 51575b47-30f0-44d4-a5cc-537603b46e54
parent 2050d9e7
No related branches found
No related tags found
No related merge requests found
......@@ -22,6 +22,7 @@ local Savefile = require "engine.Savefile"
local Dialog = require "engine.ui.Dialog"
local Map = require "engine.Map"
local Astar = require "engine.Astar"
local forceprint = print
local print = function() end
--- Defines a zone: a set of levels, with depth, npcs, objects, level generator, ...
......@@ -49,6 +50,7 @@ end
-- @param short_name the short name of the zone to load, if should correspond to a directory in your module data/zones/short_name/ with a zone.lua, npcs.lua, grids.lua and objects.lua files inside
function _M:init(short_name, dynamic)
self.short_name = short_name
self.specific_base_level = self.specific_base_level or {}
if not self:load(dynamic) then
self.level_range = self.level_range or {1,1}
if type(self.level_range) == "number" then self.level_range = {self.level_range, self.level_range} end
......@@ -94,16 +96,18 @@ end
function _M:computeRarities(type, list, level, filter, add_level, rarity_field)
rarity_field = rarity_field or "rarity"
local r = { total=0 }
print("******************", level.level)
print("******************", level.level, type)
local lev
if self.level_adjust_level then
lev = self:level_adjust_level(level, self, type)
else
lev = self.base_level + (self.specific_base_level[type] or 0) + (level.level - 1) + (add_level or 0)
end
for i, e in ipairs(list) do
if e[rarity_field] and e.level_range and (not filter or filter(e)) then
-- print("computing rarity of", e.name)
local lev
if self.level_adjust_level then
lev = self:level_adjust_level(level)
else
lev = self.base_level + (level.level - 1) + (add_level or 0)
end
local max = 10000
if lev < e.level_range[1] then max = 10000 / (self.ood_factor * (e.level_range[1] - lev))
......
......@@ -276,10 +276,9 @@ function _M:loaded()
-- Increases zone level for higher difficulties
if not zone.__applied_difficulty then
zone.__applied_difficulty = true
if self.difficulty == self.DIFFICULTY_NIGHTMARE then
zone.level_range[1] = math.ceil(zone.level_range[1] * 1.4) + 5
zone.level_range[2] = math.ceil(zone.level_range[2] * 1.4) + 5
elseif self.difficulty == self.DIFFICULTY_INSANE then
if self.difficulty == self.DIFFICULTY_INSANE then
zone.base_level_range = table.clone(zone.level_range, true)
zone.specific_base_level.object = -10 -zone.level_range[1]
zone.level_range[1] = zone.level_range[1] * 2 + 10
zone.level_range[2] = zone.level_range[2] * 2 + 10
end
......
......@@ -402,6 +402,7 @@ function _M:getTextualDesc()
if w.max_stamina then desc:add(("Maximum stamina %d"):format(w.max_stamina), true) end
if w.combat_spellpower or w.combat_spellcrit then desc:add(("Spellpower %d, Spell Crit %d%%"):format(w.combat_spellpower or 0, w.combat_spellcrit or 0), true) end
if w.combat_physcrit then desc:add(("Physical Crit %d%%"):format(w.combat_physcrit or 0), true) end
if w.lite then desc:add(("Light radius %d"):format(w.lite), true) end
if w.infravision then desc:add(("Infravision radius %d"):format(w.infravision), true) end
......
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