diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua
index 1e6283390c83bee027173dd01ec78a76ccf12562..fa7613824f91ed4a8eef295ca716bee70956032d 100644
--- a/game/modules/tome/class/GameState.lua
+++ b/game/modules/tome/class/GameState.lua
@@ -1050,7 +1050,7 @@ local random_zone_layouts = {
 		["'"] = data:getDoor(),
 	} end },
 	-- Building
-	{ name="building", rarity=1, gen=function(data)
+	{ name="building", rarity=4, gen=function(data)
 		return {
 		class = "engine.generator.map.Building",
 		lite_room_chance = rng.range(0, 100),
@@ -1062,6 +1062,20 @@ local random_zone_layouts = {
 		down = data:getDown(),
 		door = data:getDoor(),
 	} end },
+	-- "Octopus"
+	{ name="octopus", rarity=6, gen=function(data)
+		return {
+		class = "engine.generator.map.Octopus",
+		main_radius = {0.3, 0.4},
+		arms_radius = {0.1, 0.2},
+		arms_range = {0.7, 0.8},
+		nb_rooms = {5, 9},
+		['.'] = data:getFloor(),
+		['#'] = data:getWall(),
+		up = data:getUp(),
+		down = data:getDown(),
+		door = data:getDoor(),
+	} end },
 }
 
 local random_zone_themes = {
diff --git a/game/modules/tome/data/general/objects/egos/weapon.lua b/game/modules/tome/data/general/objects/egos/weapon.lua
index 15b08171ddd14b48fb1a68b57f1efb39cc538cd0..912d5bb47e926265197da2bfe1ab86e10987cede 100644
--- a/game/modules/tome/data/general/objects/egos/weapon.lua
+++ b/game/modules/tome/data/general/objects/egos/weapon.lua
@@ -139,7 +139,6 @@ newEntity{
 			if eff == "stun" then target:setEffect(target.EFF_STUNNED, 3, {})
 			elseif eff == "blind" then target:setEffect(target.EFF_BLINDED, 3, {})
 			elseif eff == "pin" then target:setEffect(target.EFF_PINNED, 3, {})
-			elseif eff == "stone" then target:setEffect(target.EFF_STONED, 3, {})
 			elseif eff == "confusion" then target:setEffect(target.EFF_CONFUSED, 3, {power=60})
 			elseif eff == "silence" then target:setEffect(target.EFF_SILENCED, 3, {})
 			elseif eff == "knockback" then target:knockback(who.x, who.y, 3)
diff --git a/game/modules/tome/data/talents/spells/stone-alchemy.lua b/game/modules/tome/data/talents/spells/stone-alchemy.lua
index 0d8c74e5b9dd18231ec0b9a5d0291886d59268e4..d8e5c6728eaaeadc6fabaea11d31fec2d1a2ad5c 100644
--- a/game/modules/tome/data/talents/spells/stone-alchemy.lua
+++ b/game/modules/tome/data/talents/spells/stone-alchemy.lua
@@ -181,7 +181,7 @@ newTalent{
 			local target = game.level.map(tx, ty, Map.ACTOR)
 			if not target then return end
 
-			if target:checkHit(self:combatSpellpower(), target:combatSpellResist(), 0, 95, 10) and target:canBe("stone") and target:canBe("instakill") then
+			if target:checkHit(self:combatSpellpower(), target:combatSpellResist(), 0, 95, 10) and target:canBe("stun") and target:canBe("instakill") then
 				target:setEffect(target.EFF_STONED, t.getDuration(self, t), {})
 				game.level.map:particleEmitter(tx, ty, 1, "archery")
 			end