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