Skip to content
Snippets Groups Projects
Commit ac2d9402 authored by DarkGod's avatar DarkGod
Browse files

fixed shader effects on actors

Wraithform has a graphical effect
parent ba17655c
No related branches found
No related tags found
No related merge requests found
......@@ -324,6 +324,8 @@ function _M:makeMapObject(tiles, idx)
end
end
self._mo, self.z, last_mo = self:alterMakeMapObject(tiles, self._mo, self.z, last_mo)
-- Setup shader
if tiles.use_images and core.shader.active() and self.shader then
local shad = Shader.new(self.shader, self.shader_args)
......@@ -333,8 +335,6 @@ function _M:makeMapObject(tiles, idx)
end
end
self._mo, self.z, last_mo = self:alterMakeMapObject(tiles, self._mo, self.z, last_mo)
return self._mo, self.z, last_mo
end
......
......@@ -64,7 +64,7 @@ function _M:init(t, no_default)
self:addParticles(Particles.new("shertul_fortress_orbiters", 1, {}))
if core.shader.active(4) then
self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.8, img="shield4"}, {type="shield", ellipsoidalFactor=1.5, shieldIntensity=0.18, color={0xbe/255, 0x3e/255, 0xf9/255}}))
self:addParticles(Particles.new("shader_shield", 1, {size_factor=1.8, img="shield5"}, {type="shield", ellipsoidalFactor=1.5, shieldIntensity=0.18, color={0xbe/255, 0x3e/255, 0xf9/255}}))
end
if core.shader.allow("distort") then self:addParticles(Particles.new("shertul_fortress_engine", 1, {})) end
end
......
......@@ -21,8 +21,8 @@ return {
frag = "moving_transparency",
vert = nil,
args = {
a_min = 0.4,
a_max = 1.5,
a_min = a_min or 0.4,
a_max = a_max or 1.5,
base = base or 0.3,
time_factor = time_factor or 3000,
p2 = p2 or {1,1},
......
......@@ -975,12 +975,24 @@ newEffect{
eff.tmpid = self:addTemporaryValue("can_pass", {pass_wall=20})
eff.defid = self:addTemporaryValue("combat_def", eff.def)
eff.armid = self:addTemporaryValue("combat_armor", eff.armor)
if not self.shader then
eff.set_shader = true
self.shader = "moving_transparency"
self.shader_args = { a_min=0.3, a_max=0.8, time_factor = 3000 }
self:removeAllMOs()
game.level.map:updateMap(self.x, self.y)
end
end,
deactivate = function(self, eff)
if eff.set_shader then
self.shader = nil
self:removeAllMOs()
game.level.map:updateMap(self.x, self.y)
end
self:removeTemporaryValue("can_pass", eff.tmpid)
self:removeTemporaryValue("combat_def", eff.defid)
self:removeTemporaryValue("combat_armor", eff.armid)
if not self:canMove(self.x, self.y) then
if not self:canMove(self.x, self.y, true) then
self:teleportRandom(self.x, self.y, 50)
end
end,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment