diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 161643e3945bef020fdbd80b1a26b2375bd96ffe..a4b4a69ab19bf831008182a9167bb893f0f753fc 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -3552,8 +3552,9 @@ end function _M:addShaderAura(kind, shader, shader_args, ...) if not core.shader.active(4) then return false end - self.shader_auras = self.shader_auras or {} + if self.shader_auras[kind] then return false end + local textures = {...} for i = 1, #textures do if type(textures[i]) == "string" then textures[i] = {"image", textures[i]} end diff --git a/game/modules/tome/data/birth/classes/warrior.lua b/game/modules/tome/data/birth/classes/warrior.lua index 31239bc6ec9bbeb4ed75cc799d406d0beb549f61..2aee97ecec184c1a265d152491395c97b055e449 100644 --- a/game/modules/tome/data/birth/classes/warrior.lua +++ b/game/modules/tome/data/birth/classes/warrior.lua @@ -100,6 +100,12 @@ newBirthDescriptor{ "#LIGHT_BLUE# * +0 Magic, +0 Willpower, +0 Cunning", "#GOLD#Life per level:#LIGHT_BLUE# +2", }, + birth_example_particles = { + function(actor) if core.shader.active(4) then + actor:addParticles(Particles.new("shader_shield", 1, {toback=true, size_factor=1, img="rotating_shield"}, {type="rotatingshield", noup=2.0, appearTime=0.2})) + actor:addParticles(Particles.new("shader_shield", 1, {toback=false, size_factor=1, img="rotating_shield"}, {type="rotatingshield", noup=1.0, appearTime=0.2})) + end end, + }, power_source = {technique=true}, stats = { str=5, con=2, dex=2, }, talents_types = { diff --git a/game/modules/tome/data/gfx/particles_images/rotating_shield.png b/game/modules/tome/data/gfx/particles_images/rotating_shield.png index 5dc7f5f505161f8b88c318451062c5d3bff29785..a2681f3b38e6a68e2e5f24ffb6bd76fa93d5eab4 100644 Binary files a/game/modules/tome/data/gfx/particles_images/rotating_shield.png and b/game/modules/tome/data/gfx/particles_images/rotating_shield.png differ