diff --git a/game/modules/tome/data/gfx/particles/cursed_ground.lua b/game/modules/tome/data/gfx/particles/cursed_ground.lua index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3d090868ada856d4b65b417b39923ce036a37272 100644 --- a/game/modules/tome/data/gfx/particles/cursed_ground.lua +++ b/game/modules/tome/data/gfx/particles/cursed_ground.lua @@ -0,0 +1,60 @@ +-- ToME - Tales of Maj'Eyal +-- 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 + +base_size = 32 + +local distributionOffset = math.rad(rng.range(0, 360)) + +return { generator = function() + local life = rng.float(10, 15) + local size = 1 + local angle = math.rad(rng.range(0, 360)) + local distribution = (math.sin(angle + distributionOffset) + 1) / 2 + local distance = engine.Map.tile_w * rng.float(0.3, 0.9) + local startX = distance * math.cos(angle) + local startY = distance * math.sin(angle) + local alpha = (80 - distribution * 50) / 255 + + local speed = 0.03 + local dirv = math.pi * 2 * speed + local vel = math.pi * distance * speed + + return { + trail = 1, + life = life, + size = size, sizev = size / life / 3, sizea = 0, + + x = -size / 2 + startX, xv = -startX / life, xa = 0, + y = -size / 2 + startY, yv = -startY / life, ya = 0, + dir = angle + math.rad(90), dirv = dirv, dira = 0, + vel = vel, velv = -vel / life, vela = 0, + + r = (100 + distribution * 100) / 255, rv = 0, ra = 0, + g = 64 / 255, gv = 0, ga = 0, + b = (200 - distribution * 100) / 255, bv = 0, ba = 0, + a = alpha, av = -alpha / life / 2, aa = 0, + } +end, }, +function(self) + self.nb = (self.nb or 0) + 1 + if self.nb <= 4 then + self.ps:emit(1000) + end +end, +1000 * 4