From 839e9bc75378c484d27ed6cc1560acd2b10b169a Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Mon, 5 May 2014 23:59:55 +0200
Subject: [PATCH] fix

---
 game/modules/tome/class/Actor.lua             |  4 +-
 .../tome/data/gfx/particles/light_cone.lua    | 62 +++++++++++++++++++
 src/main.c                                    |  1 -
 3 files changed, 65 insertions(+), 2 deletions(-)
 create mode 100644 game/modules/tome/data/gfx/particles/light_cone.lua

diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index a47492e951..f2b60f4a5f 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -1715,7 +1715,9 @@ function _M:tooltip(x, y, seen_by)
 
 	local retal = 0
 	for k, v in pairs(self.on_melee_hit) do
-		if v then retal = retal + v end
+		if type(v) == "number" then retal = retal + v
+		elseif type(v) == "table" and type(v.dam) == "number" then retal = retal + v.dam
+		end
 	end
 
 	if retal > 0 then ts:add("Melee Retaliation: ", {"color", "RED"}, tostring(math.floor(retal)), {"color", "WHITE"}, true ) end
diff --git a/game/modules/tome/data/gfx/particles/light_cone.lua b/game/modules/tome/data/gfx/particles/light_cone.lua
new file mode 100644
index 0000000000..30176ce7c4
--- /dev/null
+++ b/game/modules/tome/data/gfx/particles/light_cone.lua
@@ -0,0 +1,62 @@
+-- ToME - Tales of Maj'Eyal
+-- Copyright (C) 2009 - 2014 Nicolas Casalini
+--
+-- This program is free software: you can redistribute it and/or modify
+-- it under the terms of the GNU General Public License as published by
+-- the Free Software Foundation, either version 3 of the License, or
+-- (at your option) any later version.
+--
+-- This program is distributed in the hope that it will be useful,
+-- but WITHOUT ANY WARRANTY; without even the implied warranty of
+-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+-- GNU General Public License for more details.
+--
+-- You should have received a copy of the GNU General Public License
+-- along with this program.  If not, see <http://www.gnu.org/licenses/>.
+--
+-- Nicolas Casalini "DarkGod"
+-- darkgod@te4.org
+
+local nb = 12
+local dir = 0
+local spread = spread or 55/2
+local radius = radius or 6
+
+dir = math.deg(math.atan2(ty, tx))
+
+return { generator = function()
+	local sradius = (radius + 0.5) * (engine.Map.tile_w + engine.Map.tile_h) / 2
+	local ad = rng.float(dir - spread, dir + spread)
+	local a = math.rad(ad)
+	local r = 0
+	local x = r * math.cos(a)
+	local y = r * math.sin(a)
+	local static = rng.percent(40)
+	local vel = sradius * ((24 - nb * 1.4) / 24) / 12
+
+	return {
+		trail = 1,
+		life = 12,
+		size = 12 - (12 - nb) * 0.7, sizev = 0, sizea = 0,
+
+		x = x, xv = 0, xa = 0,
+		y = y, yv = 0, ya = 0,
+		dir = a, dirv = 0, dira = 0,
+		vel = rng.float(vel * 0.6, vel * 1.2), velv = 0, vela = 0,
+
+		r = rng.range(215, 255)/255, rv = 0, ra = 0,
+		g = rng.range(200, 240)/255, gv = 0, ga = 0,
+		b = rng.range(0, 40)/255, bv = 0, ba = 0,
+		a = 1, av = 0, aa = 0,
+	}
+end, },
+function(self)
+	if nb > 0 then
+		local i = math.min(nb, 6)
+		i = (i * i) * radius
+		self.ps:emit(i)
+		nb = nb - 1
+	end
+end,
+30*radius*7*12,
+"particle_cloud"
diff --git a/src/main.c b/src/main.c
index f6ab25c4ac..4f3d3bba85 100644
--- a/src/main.c
+++ b/src/main.c
@@ -304,7 +304,6 @@ void on_event(SDL_Event *event)
 			lastts = event->text.timestamp;
 			lastc = event->text.text[0];
 
-			printf("<==text event %ld : '%s'\n", (long int)event->text.timestamp, event->text.text);
 			lua_rawgeti(L, LUA_REGISTRYINDEX, current_keyhandler);
 			lua_pushstring(L, "receiveKey");
 			lua_gettable(L, -2);
-- 
GitLab