From e53359854eb0263d912ab7a6df20d9d643c086d0 Mon Sep 17 00:00:00 2001
From: DarkGod <darkgod@net-core.org>
Date: Fri, 30 May 2014 12:06:20 +0200
Subject: [PATCH] prevent nasty addons from crashing. bad addons. bad!

---
 game/modules/tome/class/Player.lua | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index f6ecc474c1..2a6f4977ad 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -434,23 +434,25 @@ function _M:updateMainShader()
 		end
 
 		-- Blur shader
-		if config.settings.tome.fullscreen_confusion then
+		if config.settings.tome.fullscreen_confusion and pf.blur and pf.blur.shad then
 			if self:attr("confused") and self.confused >= 1 then pf.blur.shad:uniBlur(2) effects[pf.blur.shad] = true
 			end
 		end
 
 		-- Moving Blur shader
-		if self:attr("invisible") then pf.motionblur.shad:uniMotionblur(3) effects[pf.motionblur.shad] = true
-		elseif self:attr("lightning_speed") then pf.motionblur.shad:uniMotionblur(2) effects[pf.motionblur.shad] = true
-		elseif game.level and game.level.data and game.level.data.motionblur then pf.motionblur.shad:uniMotionblur(game.level.data.motionblur) effects[pf.motionblur.shad] = true
+		if pf.motionblur and pf.motionblur.shad then
+			if self:attr("invisible") then pf.motionblur.shad:uniMotionblur(3) effects[pf.motionblur.shad] = true
+			elseif self:attr("lightning_speed") then pf.motionblur.shad:uniMotionblur(2) effects[pf.motionblur.shad] = true
+			elseif game.level and game.level.data and game.level.data.motionblur then pf.motionblur.shad:uniMotionblur(game.level.data.motionblur) effects[pf.motionblur.shad] = true
+			end
 		end
 
 		-- Underwater shader
-		if game.level and game.level.data and game.level.data.underwater then effects[pf.underwater.shad] = true
+		if game.level and game.level.data and game.level.data.underwater and pf.underwater and pf.underwater.shad then effects[pf.underwater.shad] = true
 		end
 
 		-- Wobbling shader
-		if config.settings.tome.fullscreen_stun then
+		if config.settings.tome.fullscreen_stun and pf.wobbling and pf.wobbling.shad then
 			if self:attr("stunned") and self.stunned >= 1 then pf.wobbling.shad:uniWobbling(1) effects[pf.wobbling.shad] = true
 			elseif self:attr("dazed") and self.dazed >= 1 then pf.wobbling.shad:uniWobbling(0.7) effects[pf.wobbling.shad] = true
 			end
-- 
GitLab