diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index a3017cfb2152c236b99c286ad4110e7744de5a67..3355bf4023e52e793754bb706a631412954d510a 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -1192,7 +1192,7 @@ function _M:setupCommands()
 			end end
 		end end,
 		[{"_g","ctrl"}] = function() if config.settings.cheat then
-			self.level.map:particleEmitter(game.player.x, game.player.y, 1, "fog", {})
+			self.player:setEffect(self.player.EFF_FROZEN, 10, {hp=1})
 		end end,
 		[{"_f","ctrl"}] = function() if config.settings.cheat then
 			self.player.quests["love-melinda"] = nil
diff --git a/game/modules/tome/data/damage_types.lua b/game/modules/tome/data/damage_types.lua
index db56d276d81acfaa6c00c30ad39eb3192710951b..6068e1477924e1799f8f902590826896a77d1838 100644
--- a/game/modules/tome/data/damage_types.lua
+++ b/game/modules/tome/data/damage_types.lua
@@ -81,9 +81,13 @@ setDefaultProjector(function(src, x, y, type, dam, tmp, no_martyr)
 			if eff.hp < 0 and not eff.begone then
 				game.logSeen(src, "%s forces the iceblock to shatter.", src.name:capitalize())
 				game:onTickEnd(function() src:removeEffect(src.EFF_FROZEN) end)
-				eff.begone = true
+				eff.begone = game.turn
 			else
 				game:delayedLogDamage(src, {name="Iceblock", x=src.x, y=src.y}, dam, ("%s%d %s#LAST#"):format(DamageType:get(type).text_color or "#aaaaaa#", math.ceil(dam), DamageType:get(type).name))
+				if eff.begone and eff.begone < game.turn and eff.hp < 0 then
+					game.logSeen(src, "%s forces2 the iceblock to shatter.", src.name:capitalize())
+					src:removeEffect(src.EFF_FROZEN)
+				end
 			end
 			return 0
 		end