diff --git a/game/modules/tome/data/gfx/particles/time_prison.lua b/game/modules/tome/data/gfx/particles/time_prison.lua new file mode 100644 index 0000000000000000000000000000000000000000..398862c4383335f3d059ffa4f4dfba9209987a0d --- /dev/null +++ b/game/modules/tome/data/gfx/particles/time_prison.lua @@ -0,0 +1,45 @@ +-- ToME - Tales of Middle-Earth +-- Copyright (C) 2009, 2010 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 + +return { generator = function() + local ad = rng.range(0, 360) + local a = math.rad(ad) + local dir = math.rad(ad + 180) + local r = rng.range(12, 20) + + return { + trail = 1, + life = 20, + size = 2, sizev = 0.2, sizea = 0, + + x = r * math.cos(a), xv = 0, xa = 0, + y = r * math.sin(a), yv = 0, ya = 0, + dir = dir, dirv = 0, dira = 0, + vel = 1, velv = 0, vela = 0, + + r = rng.range(10, 220)/255, rv = rng.range(0, 10), ra = 0, + g = rng.range(100, 100)/255, gv = 0, ga = 0, + b = rng.range(120, 255)/255, bv = rng.range(0, 10), ba = 0, + a = rng.range(25, 220)/255, av = 0, aa = 0, + } +end, }, +function(self) + self.ps:emit(10) +end, +100 diff --git a/game/modules/tome/data/timed_effects.lua b/game/modules/tome/data/timed_effects.lua index 2b9ecaebfd0e750ef3a780b5123e34a4950e36cb..63e395bf2e71c260d01ff79a2006dfc0f17f5c1c 100644 --- a/game/modules/tome/data/timed_effects.lua +++ b/game/modules/tome/data/timed_effects.lua @@ -364,6 +364,7 @@ newEffect{ on_lose = function(self, err) return "#Target# is into normal time.", "-Out of Time" end, activate = function(self, eff) eff.iid = self:addTemporaryValue("invulnerable", 1) + eff.particle = self:addParticles(Particles.new("time_prison", 1)) self.energy.value = 0 end, on_timeout = function(self, eff) @@ -371,6 +372,7 @@ newEffect{ end, deactivate = function(self, eff) self:removeTemporaryValue("invulnerable", eff.iid) + self:removeParticles(eff.particle) end, }