diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index d619645f71c1cb8b26bab3594cae4c8ac00ae81f..4e478c170cb9cde074c8a08618945d2512f6b94d 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -2031,14 +2031,14 @@ function _M:setupCommands()
 			print("===============")
 		end end,
 		[{"_g","ctrl"}] = function() if config.settings.cheat then
+			game.player:takeHit(100, game.player)
+do return end
 			game.player:setEffect("EFF_STUNNED", 1, {apply_power=200})
 do return end
 			local f, err = loadfile("/data/general/events/rat-lich.lua")
 			print(f, err)
 			setfenv(f, setmetatable({level=self.level, zone=self.zone}, {__index=_G}))
 			print(pcall(f))
-do return end
-			game.player:takeHit(100, game.player)
 do return end
 			self:changeLevel(game.level.level + 1)
 do return end
diff --git a/game/modules/tome/class/Player.lua b/game/modules/tome/class/Player.lua
index 6a954f690805e07a94a9708ea986dfd7ee9dd3bd..52dd4d8851370d300a0ad99d399ae983f074ef57 100644
--- a/game/modules/tome/class/Player.lua
+++ b/game/modules/tome/class/Player.lua
@@ -385,7 +385,7 @@ function _M:act()
 	self:updateMainShader()
 
 	if config.settings.tome.life_lost_warning and self.shader_old_life then
-		local perc = (self.shader_old_life - self.life) / self.max_life
+		local perc = (self.shader_old_life - self.life) / (self.max_life - self.die_at)
 		if perc > (config.settings.tome.life_lost_warning / 100) then
 			game.bignews:say(100, "#LIGHT_RED#LIFE LOST WARNING!")
 			game.key.disable_until = core.game.getTime() + 2000