From 8a462b9f218d8cafa09cabb1144ab9f0f83345d5 Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Fri, 13 May 2011 23:25:47 +0000
Subject: [PATCH] fiix

git-svn-id: http://svn.net-core.org/repos/t-engine4@3354 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/engines/default/engine/Zone.lua                   | 2 +-
 game/engines/default/engine/dialogs/ShowEquipInven.lua | 2 +-
 game/engines/default/engine/dialogs/ShowInventory.lua  | 2 +-
 game/modules/tome/class/GameState.lua                  | 3 ++-
 game/modules/tome/data/quests/staff-absorption.lua     | 6 ++++--
 game/modules/tome/data/talents/chronomancy/paradox.lua | 1 +
 game/modules/tome/data/talents/gifts/gifts.lua         | 1 +
 7 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/game/engines/default/engine/Zone.lua b/game/engines/default/engine/Zone.lua
index 553f0a81b7..8e458a0f91 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 12ea57050f..17c10a558f 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 833ed8e7cd..032aa5dff4 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 88bd04ba9e..7664ba7b07 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 838a2ac789..ce97fc8d56 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 d4e90e79ea..bb002582b9 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 f357049946..0411dbf88d 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
-- 
GitLab