diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua index 553f0a81b72055dce2074c2ac15ecba39a80a461..8e458a0f91e9c4c1bc7eedf56421e0ccb31931a0 100644 --- a/game/engines/default/engine/Zone.lua +++ b/game/engines/default/engine/Zone.lua @@ -167,7 +167,7 @@ function _M:checkFilter(e, filter, type) if not filter then return true end if filter.ignore and self:checkFilter(e, filter.ignore, type) then return false end - forceprint("Checking filter", filter.type, filter.subtype, "::", e.type,e.subtype,e.name) + print("Checking filter", filter.type, filter.subtype, "::", e.type,e.subtype,e.name) if filter.type and filter.type ~= e.type then return false end if filter.subtype and filter.subtype ~= e.subtype then return false end if filter.name and filter.name ~= e.name then return false end diff --git a/game/engines/default/engine/dialogs/ShowEquipInven.lua b/game/engines/default/engine/dialogs/ShowEquipInven.lua index 12ea57050f7167753c60d06aa0072e2339138059..17c10a558f751636f95649d49cc5fd1ee9b6de82 100644 --- a/game/engines/default/engine/dialogs/ShowEquipInven.lua +++ b/game/engines/default/engine/dialogs/ShowEquipInven.lua @@ -187,7 +187,7 @@ function _M:generateList() local list = self.inven_list local chars = {} local i = 1 - for item, o in ipairs(self.actor:getInven("INVEN")) do + for item, o in ipairs(self.actor:getInven("INVEN") or {}) do if not self.filter or self.filter(o) then local char = self:makeKeyChar(i) diff --git a/game/engines/default/engine/dialogs/ShowInventory.lua b/game/engines/default/engine/dialogs/ShowInventory.lua index 833ed8e7cdb0136f5955c658cff39af16826efc1..032aa5dff4b560b234a705906699b2cada2251c4 100644 --- a/game/engines/default/engine/dialogs/ShowInventory.lua +++ b/game/engines/default/engine/dialogs/ShowInventory.lua @@ -83,7 +83,7 @@ function _M:generateList() local list = {} list.chars = {} local i = 1 - for item, o in ipairs(self.inven) do + for item, o in ipairs(self.inven or {}) do if not self.filter or self.filter(o) then local char = self:makeKeyChar(i) diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua index 88bd04ba9ece053e1b8e32d28e0432307d77b205..7664ba7b0778d93553e4ac9d5b7295b6f87f9e90 100644 --- a/game/modules/tome/class/GameState.lua +++ b/game/modules/tome/class/GameState.lua @@ -1050,7 +1050,7 @@ local random_zone_layouts = { ["'"] = data:getDoor(), } end }, -- Building - { name="building", rarity=4, gen=function(data) +--[[ not yet { name="building", rarity=4, gen=function(data) return { class = "engine.generator.map.Building", lite_room_chance = rng.range(0, 100), @@ -1062,6 +1062,7 @@ local random_zone_layouts = { down = data:getDown(), door = data:getDoor(), } end }, +]] -- "Octopus" { name="octopus", rarity=6, gen=function(data) return { diff --git a/game/modules/tome/data/quests/staff-absorption.lua b/game/modules/tome/data/quests/staff-absorption.lua index 838a2ac7899d3bdee343454c44a53efd3f1cd0c9..ce97fc8d56836dfb3ed24d53422c049cfca8ba64 100644 --- a/game/modules/tome/data/quests/staff-absorption.lua +++ b/game/modules/tome/data/quests/staff-absorption.lua @@ -77,8 +77,10 @@ start_ambush = function(self, who) self:setEffect(self.EFF_DAMAGE_SHIELD, 3, {power=1000000}) local o, item, inven_id = self:findInAllInventories("Staff of Absorption") - self:removeObject(inven_id, item, true) - o:removed() + if o then + self:removeObject(inven_id, item, true) + o:removed() + end game.logPlayer(self, "#VIOLET#You wake up after a few hours, surprised to be alive, but the staff is gone!") game.logPlayer(self, "#VIOLET#Go at once to Last Hope to report those events!") diff --git a/game/modules/tome/data/talents/chronomancy/paradox.lua b/game/modules/tome/data/talents/chronomancy/paradox.lua index d4e90e79ea07b934ec95a0ea0a555c503720b10c..bb002582b92a83d1c7aaefe3d3a83a007df5c095 100644 --- a/game/modules/tome/data/talents/chronomancy/paradox.lua +++ b/game/modules/tome/data/talents/chronomancy/paradox.lua @@ -145,6 +145,7 @@ newTalent{ a.faction = self.faction a.max_life = a.max_life a.life = a.max_life + a.die = nil a.summoner = self a.summoner_gain_exp=true a.summon_time = t.getDuration(self, t) diff --git a/game/modules/tome/data/talents/gifts/gifts.lua b/game/modules/tome/data/talents/gifts/gifts.lua index f357049946bcf9a0b2c5af614ee04fff5f5480c0..0411dbf88d74b38955839f279fef7069efd66447 100644 --- a/game/modules/tome/data/talents/gifts/gifts.lua +++ b/game/modules/tome/data/talents/gifts/gifts.lua @@ -89,6 +89,7 @@ function setupSummon(self, m, x, y, no_control) m.unused_talents = 0 m.unused_generics = 0 m.unused_talents_types = 0 + m.no_points_on_levelup = true m.ai_state = m.ai_state or {} m.ai_state.tactic_leash = 100 -- Try to use stored AI talents to preserve tweaking over multiple summons