From bc738687f32f384cfbb69081a1f6b43e3083b90d Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Fri, 23 May 2014 21:08:53 +0200
Subject: [PATCH] fix

---
 game/modules/tome/class/Object.lua                  | 3 +++
 game/modules/tome/data/general/events/pyroclast.lua | 2 +-
 game/modules/tome/data/talents/misc/npcs.lua        | 2 +-
 game/modules/tome/data/talents/psionic/focus.lua    | 2 +-
 game/modules/tome/data/talents/uber/wil.lua         | 2 +-
 game/modules/tome/data/zones/daikara/zone.lua       | 2 +-
 6 files changed, 8 insertions(+), 5 deletions(-)

diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua
index 4873cec930..16edd3b39b 100644
--- a/game/modules/tome/class/Object.lua
+++ b/game/modules/tome/class/Object.lua
@@ -724,6 +724,7 @@ function _M:getTextualDesc(compare_with, use_actor)
 		compare_list(
 			"On weapon hit:",
 			function(combat)
+				if not combat then return {} end
 				local list = {}
 				-- Get complex damage types
 				for dt, amount in pairs(combat.melee_project or combat.ranged_project or {}) do
@@ -741,6 +742,7 @@ function _M:getTextualDesc(compare_with, use_actor)
 		compare_list(
 			"On weapon crit:",
 			function(combat)
+				if not combat then return {} end
 				return get_special_list(combat, 'special_on_crit')
 			end
 		)
@@ -748,6 +750,7 @@ function _M:getTextualDesc(compare_with, use_actor)
 		compare_list(
 			"On weapon kill:",
 			function(combat)
+				if not combat then return {} end
 				return get_special_list(combat, 'special_on_kill')
 			end
 		)
diff --git a/game/modules/tome/data/general/events/pyroclast.lua b/game/modules/tome/data/general/events/pyroclast.lua
index 6f8e6d5e4a..4e1a78ac80 100644
--- a/game/modules/tome/data/general/events/pyroclast.lua
+++ b/game/modules/tome/data/general/events/pyroclast.lua
@@ -75,7 +75,7 @@ game.zone.on_turn = function()
 	game.level.map:particleEmitter(game.level.data.meteor_x, game.level.data.meteor_y, 10, "meteor").on_remove = function()
 		local x, y = game.level.data.meteor_x, game.level.data.meteor_y
 		game.level.map:particleEmitter(x, y, 10, "ball_fire", {radius=5})
-		if core.shader.allow("distort") then game.level.map:particleEmitter(x, y, 5, "shockwave", {radius=5}) end
+		if core.shader.allow("distort") then game.level.map:particleEmitter(x, y, 5, "fireflash", {radius=5}) end
 		game:playSoundNear(game.player, "talents/fireflash")
 
 		for i = x-2, x+2 do for j = y-2, y+2 do
diff --git a/game/modules/tome/data/talents/misc/npcs.lua b/game/modules/tome/data/talents/misc/npcs.lua
index 2574a94757..2170f146d0 100644
--- a/game/modules/tome/data/talents/misc/npcs.lua
+++ b/game/modules/tome/data/talents/misc/npcs.lua
@@ -1921,7 +1921,7 @@ newTalent{
 		local meteor = function(src, x, y, dam)
 			game.level.map:particleEmitter(x, y, 10, "meteor", {x=x, y=y}).on_remove = function(self)
 				local x, y = self.args.x, self.args.y
-				game.level.map:particleEmitter(x, y, 10, "ball_fire", {radius=2})
+				game.level.map:particleEmitter(x, y, 10, "fireflash", {radius=2})
 				game:playSoundNear(game.player, "talents/fireflash")
 
 				local grids = {}
diff --git a/game/modules/tome/data/talents/psionic/focus.lua b/game/modules/tome/data/talents/psionic/focus.lua
index f4f606a4c5..7215974c60 100644
--- a/game/modules/tome/data/talents/psionic/focus.lua
+++ b/game/modules/tome/data/talents/psionic/focus.lua
@@ -40,7 +40,7 @@ newTalent{
 		self:project(tg, x, y, DamageType.PHYSICAL, self:mindCrit(rng.avg(0.8*dam, dam)), {type="mindsear"})
 		if self:hasEffect(self.EFF_TRANSCENDENT_TELEKINESIS) then
 			local act = game.level.map(x, y, engine.Map.ACTOR)
-			if act:canBe("stun") then
+			if act and act:canBe("stun") then
 				act:setEffect(act.EFF_STUNNED, 4, {apply_power=self:combatMindpower()})
 			end
 		end
diff --git a/game/modules/tome/data/talents/uber/wil.lua b/game/modules/tome/data/talents/uber/wil.lua
index b020ce5d00..9b9800a8c6 100644
--- a/game/modules/tome/data/talents/uber/wil.lua
+++ b/game/modules/tome/data/talents/uber/wil.lua
@@ -50,7 +50,7 @@ uberTalent{
 		local meteor = function(src, x, y, dam)
 			game.level.map:particleEmitter(x, y, 10, "meteor", {x=x, y=y}).on_remove = function(self)
 				local x, y = self.args.x, self.args.y
-				game.level.map:particleEmitter(x, y, 10, "ball_fire", {radius=2})
+				game.level.map:particleEmitter(x, y, 10, "fireflash", {radius=2})
 				game:playSoundNear(game.player, "talents/fireflash")
 
 				local grids = {}
diff --git a/game/modules/tome/data/zones/daikara/zone.lua b/game/modules/tome/data/zones/daikara/zone.lua
index 1c350d05bf..01696a8c7a 100644
--- a/game/modules/tome/data/zones/daikara/zone.lua
+++ b/game/modules/tome/data/zones/daikara/zone.lua
@@ -18,7 +18,7 @@
 -- darkgod@te4.org
 
 local layout = game.state:alternateZone(short_name, {"VOLCANO", 2})
-local is_volcano = layout == "VOLCANO"
+local is_volcano = layout == "VOLCANO" or true
 
 return {
 	name = "Daikara",
-- 
GitLab