diff --git a/game/modules/tome/class/NicerTiles.lua b/game/modules/tome/class/NicerTiles.lua
index 6645715414a8eca3070410ba6cda3e2f628c521d..b1577772275d426f9f42e51072aeb07e953ee1b3 100644
--- a/game/modules/tome/class/NicerTiles.lua
+++ b/game/modules/tome/class/NicerTiles.lua
@@ -127,7 +127,7 @@ function _M:replaceAll(level)
 						g.add_displays[#g.add_displays].image = g.add_displays[#g.add_displays].image:format(rng.range(e.min, e.max))
 					end
 				end
-				if e.image then g.image = e.image end
+				if e.image then g.image = e.image:format(rng.range(e.min, e.max)) end
 			end
 
 			level.map(i, j, Map.TERRAIN, g)
@@ -536,7 +536,7 @@ cavewall = { method="walls", type="cavewall", forbid={}, use_type=true, extended
 	default73i={add_displays={{image="terrain/cave/cavewall_91d_1.png", display_y=-1, z=16}}, min=1, max=1},
 	default91i={add_displays={{image="terrain/cave/cavewall_73d_1.png", display_y=-1, z=16}}, min=1, max=1},
 
-	default2={image="terrain/cave/cave_V3_8_01.png", min=1, max=1},
+	default2={image="terrain/cave/cave_V3_8_0%d.png", min=1, max=3},
 	default2p={image="terrain/cave/cave_floor_1_01.png", add_mos={{image="terrain/cave/cave_V3_pillar_bottom_01.png"}}, min=1, max=1},
 	default1={image="terrain/cave/cave_floor_1_01.png", add_mos={{image="terrain/cave/cave_V3_inner_1_01.png"}}, min=1, max=1},
 	default3={image="terrain/cave/cave_floor_1_01.png", add_mos={{image="terrain/cave/cave_V3_inner_3_01.png"}}, min=1, max=1},
diff --git a/game/modules/tome/data/general/grids/cave.lua b/game/modules/tome/data/general/grids/cave.lua
index 9bb3a4f21b92d4a455c356612b4ed4896b7466e2..23509be11b5ae0af19be1702b774d75103cd945b 100644
--- a/game/modules/tome/data/general/grids/cave.lua
+++ b/game/modules/tome/data/general/grids/cave.lua
@@ -25,7 +25,14 @@ newEntity{
 	name = "cave floor", image = "terrain/cave/cave_floor_1_01.png",
 	display = '.', color=colors.SANDY_BROWN, back_color=colors.DARK_UMBER,
 	grow = "CAVEWALL",
+	nice_tiler = { method="replace", base={"CAVEFLOOR", 20, 1, 18}},
 }
+for i = 1, 18 do
+	if i <= 7 then newEntity{ base = "CAVEFLOOR", define_as = "CAVEFLOOR"..i, image = "terrain/cave/cave_floor_"..i.."_01.png"}
+	elseif i <= 16 then newEntity{ base = "CAVEFLOOR", define_as = "CAVEFLOOR"..i, image = "terrain/cave/cave_floor_1_01.png", add_mos={{image="terrain/cave/cave_rock_"..(i-7).."_01.png"}}}
+	else newEntity{ base = "CAVEFLOOR", define_as = "CAVEFLOOR"..i, image = "terrain/cave/cave_floor_1_01.png", add_mos={{image="terrain/cave/cave_mushroom_"..(i-16).."_01.png"}}}
+	end
+end
 
 newEntity{
 	define_as = "CAVEWALL",
@@ -41,7 +48,7 @@ newEntity{
 	nice_editer = cave_wall_editer,
 --	nice_tiler = { method="replace", base={"CAVEWALL", 20, 1, 6}},
 }
-for i = 1, 6 do newEntity{ base = "CAVEWALL", define_as = "CAVEWALL"..i, image = "terrain/cave/cavewall_5_"..i..".png"} end
+--for i = 1, 6 do newEntity{ base = "CAVEWALL", define_as = "CAVEWALL"..i, image = "terrain/cave/cavewall_5_"..i..".png"} end
 
 -----------------------------------------
 -- Cavy exits
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index cba467c5c161488d5bfcfd068c856efac84d99bb..5e1e97c4f1e8f8c19e82585e195c2dfdd3e12b63 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -1336,7 +1336,7 @@ It was made by Humans for Humans; only they can harness the true power of the ro
 newEntity{ base = "BASE_CLOTH_ARMOR",
 	power_source = {arcane=true},
 	unique = true,
-	name = "Firewalker", color = colors.RED,
+	name = "Firewalker", color = colors.RED, image = "object/artifact/robe_firewalker.png",
 	unided_name = "blazing robe",
 	desc = [[This fiery robe was worn by the mad pyromancer Halchot, who terrorised many towns in the late Age of Dusk, burning and looting villages as they tried to recover from the Spellblaze.  Eventually he was tracked down by the Ziguranth, who cut out his tongue, chopped off his head, and rent his body to shreds.  The head was encased in a block of ice and paraded through the streets of nearby towns amidst the cheers of the locals.  Only this robe remains of the flames of Halchot.]],
 	level_range = {20, 30},
diff --git a/game/modules/tome/data/gfx/shockbolt/object/artifact/robe_firewalker.png b/game/modules/tome/data/gfx/shockbolt/object/artifact/robe_firewalker.png
new file mode 100644
index 0000000000000000000000000000000000000000..860d2cef28069020f89ed8eed2d0ca4163ecf13f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/artifact/robe_firewalker.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_02.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..0296e6857c817246969b65bd648238e3b1712728
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_02.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_03.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb6008fa63b89f7cb1d605580d7c374898a1a109
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_V3_8_03.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_2_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_2_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..946f0a7935c661fc3353ad83aec796e6ea076863
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_2_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_3_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_3_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..067ff3b46297b3986db894a42b76c424a331e7ea
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_3_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_4_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_4_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..ec73796abf0f9e02c7ccd8093d8a6437e4c2cf77
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_4_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_5_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_5_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..50e56f9c61bc5616032f2cdcb1d729e7aa3afcff
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_5_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_6_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_6_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..bd16653139bd0e504ed6d2daf97044b1f4e8773b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_6_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_7_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_7_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..1fa3af35465b89db5dfc73c1e4e9bc158a33afc0
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_floor_7_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_1_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_1_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0caf84fa34ec6acba477a6d56643655bce10d55
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_1_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_2_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_2_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..995a4ccd9fdfaff8974d1ce4178aaf33ac146ca1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_mushroom_2_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_10_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_10_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..d11652a927fae3fa4c3d6d16472cc42d0b629905
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_10_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_1_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_1_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..14ad5751906fa74e16e792dc5b78b58246462b80
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_1_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_2_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_2_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..329283d4a5e0539742471c676f19a87fd01aa47f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_2_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_3_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_3_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..6160d6b7551362a28399ca7ebead820ddbc01d6a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_3_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_4_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_4_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..74e08654118bcbc712bbb41a035bc3eaa82f597a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_4_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_5_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_5_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..bb81f1a0e915c8912bbeb456c4777527b491557d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_5_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_6_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_6_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..242cc1369d1a5705ef56aea2e0a57aacf7d3b0f2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_6_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_7_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_7_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..04c2efa137440161fee49693128693b22affec2c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_7_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_8_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_8_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..b1308f86e1d54db014dff3c5bf8251c596bc9c3d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_8_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_9_01.png b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_9_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..cef9ea46e4a10bd6aa707071681416176abca159
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/terrain/cave/cave_rock_9_01.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/ladder_down.png b/game/modules/tome/data/gfx/shockbolt/terrain/ladder_down.png
index 6f84a5bd9366609ef5ce6f83795e2fc7d87fc349..14d6ab2bb92d9e829ee8422d3e26056eb3f01e8f 100644
Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/ladder_down.png and b/game/modules/tome/data/gfx/shockbolt/terrain/ladder_down.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/terrain/ladder_up.png b/game/modules/tome/data/gfx/shockbolt/terrain/ladder_up.png
index 9e7eace8efaf8e45d9fdb745ed0594ac9784e1df..cbb643c07c3d21fe415dd58f2d7019496bf0f927 100644
Binary files a/game/modules/tome/data/gfx/shockbolt/terrain/ladder_up.png and b/game/modules/tome/data/gfx/shockbolt/terrain/ladder_up.png differ