diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index e2ebc758efe82d8047ebc5c3e05d78c386f843b4..5c35d8ad0f71e0e76bdff8c920d9cc1b4f5a8a5d 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -487,6 +487,12 @@ function _M:leaveLevel(level, lev, old_lev)
 end
 
 function _M:onLevelLoad(id, fct)
+	if self.zone and self.level and id == self.zone.short_name.."-"..self.level.level then
+		print("Direct execute of on level load", id, fct)
+		fct(self.zone, self.level)
+		return
+	end
+
 	self.on_level_load_fcts = self.on_level_load_fcts or {}
 	self.on_level_load_fcts[id] = self.on_level_load_fcts[id] or {}
 	local l = self.on_level_load_fcts[id]
@@ -1002,7 +1008,13 @@ function _M:setupCommands()
 --			local m = game.zone:makeEntity(game.level, "actor", {random_boss=true}, nil, true)
 --			if m then game.zone:addEntity(game.level, m, "actor", game.player.x, game.player.y + 1) end
 --			self:changeLevel(1, "test")
-			self.level.map:particleEmitter(game.player.x, game.player.y, 1, "flame")
+			local list = mod.class.Object:loadList("/data/general/objects/brotherhood-artifacts.lua")
+			for _, e in ipairs(list) do if e.image and e.unique then
+				local o = e:clone()
+				o:resolve() o:resolve(nil,true)
+				local x, y = util.findFreeGrid(self.player.x, self.player.y, 15, true, {[engine.Map.OBJECT]=true})
+				game.zone:addEntity(game.level, o, "object", x, y)
+			end end
 		end end,
 	}
 
diff --git a/game/modules/tome/data/general/encounters/fareast.lua b/game/modules/tome/data/general/encounters/fareast.lua
index d7b6057256f8722fc725655e5da547a1539fa1df..4282f1e44260c1d363f2d508d00bd09c69980f7e 100644
--- a/game/modules/tome/data/general/encounters/fareast.lua
+++ b/game/modules/tome/data/general/encounters/fareast.lua
@@ -29,14 +29,14 @@ newEntity{
 		local x, y = self:findSpotGeneric(who, function(map, x, y) local enc = map:checkAllEntities(x, y, "can_encounter") return enc and enc == "water" end)
 		if not x then return end
 
-		local g = mod.class.Grid.new{
-			show_tooltip=true,
-			name="Entrance to an underwater cave",
-			display='>', color=colors.AQUAMARINE,
-			notice = true,
-			change_level=1, change_zone="flooded-cave"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull()
+		g.name = "Entrance to an underwater cave"
+		g.display='>' g.color_r=colors.AQUAMARINE.r g.color_g=colors.AQUAMARINE.g g.color_b=colors.AQUAMARINE.b g.notice = true
+		g.change_level=1 g.change_zone="flooded-cave"
+		g.add_displays = g.add_displays or {}
+		g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/underwater/subsea_cave_entrance_01.png", z=4, display_h=2, display_y=-1}
+		g.nice_tiler = nil
+		g.does_block_move = nil
 		game.zone:addEntity(game.level, g, "terrain", x, y)
 		game.logPlayer(who, "#LIGHT_BLUE#You notice an entrance to an underwater cave.")
 		return true
@@ -51,16 +51,14 @@ newEntity{
 		local x, y = self:findSpot(who)
 		if not x then return end
 
-		local g = mod.class.Grid.new{
-			show_tooltip=true,
-			name="Entrance to a dark crypt",
-			display='>', color=colors.GREY,
-			notice = true,
-			change_level=1, change_zone="shadow-crypt"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull()
+		g.name = "Entrance to a dark crypt"
+		g.display='>' g.color_r=128 g.color_g=128 g.color_b=128 g.notice = true
+		g.change_level=1 g.change_zone="shadow-crypt"
+		g.add_displays = g.add_displays or {}
+		g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}
+		g.nice_tiler = nil
 		game.zone:addEntity(game.level, g, "terrain", x, y)
-		game.logPlayer(who, "#LIGHT_BLUE#You notice an entrance to a dark crypt. Fetid wind seems to come out of it.")
 		return true
 	end
 }
@@ -73,16 +71,14 @@ newEntity{
 		local x, y = self:findSpot(who)
 		if not x then return end
 
-		local g = mod.class.Grid.new{
-			show_tooltip=true,
-			name="Entrance to the orc breeding pit",
-			display='>', color=colors.GREEN,
-			notice = true,
-			change_level=1, change_zone="orc-breeding-pit"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.level.map(x, y, engine.Map.TERRAIN):cloneFull()
+		g.name = "Entrance to the orc breeding pit"
+		g.display='>' g.color_r=colors.GREEN.r g.color_g=colors.GREEN.g g.color_b=colors.GREEN.b g.notice = true
+		g.change_level=1 g.change_zone="orc-breeding-pit"
+		g.add_displays = g.add_displays or {}
+		g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/ladder_down.png"}
+		g.nice_tiler = nil
 		game.zone:addEntity(game.level, g, "terrain", x, y)
-		game.logPlayer(who, "#LIGHT_BLUE#You find an entrance to a dim, moist cavern. The stench of the warm air rising from it is almost unbearable.")
 		return true
 	end
 }
diff --git a/game/modules/tome/data/general/objects/brotherhood-artifacts.lua b/game/modules/tome/data/general/objects/brotherhood-artifacts.lua
index 1dcb0a33ff42cd64703fea7a40b2a10a453765da..26088045b748796c29a55d24e119d00005b46a96 100644
--- a/game/modules/tome/data/general/objects/brotherhood-artifacts.lua
+++ b/game/modules/tome/data/general/objects/brotherhood-artifacts.lua
@@ -27,7 +27,7 @@ local Talents = require "engine.interface.ActorTalents"
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_FOX",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_the_fox.png",
 	name = "Elixir of the Fox", unique=true, unided_name="vial of pink fluid",
 	display = "!", color=colors.VIOLET,
 	desc = [[A vial of pink, airy fluid.]],
@@ -48,7 +48,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_AVOIDANCE",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_avoidance.png",
 	name = "Elixir of Avoidance", unique=true, unided_name="vial of green fluid",
 	display = "!", color=colors.GREEN,
 	desc = [[A vial of opaque green fluid.]],
@@ -66,7 +66,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_PRECISION",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_precision.png",
 	name = "Elixir of Precision", unique=true, unided_name="vial of red fluid",
 	display = "!", color=colors.GREEN,
 	desc = [[A vial of chunky red fluid.]],
@@ -84,7 +84,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_MYSTICISM",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_mysticism.png",
 	name = "Elixir of Mysticism", unique=true, unided_name="vial of cyan fluid",
 	display = "!", color=colors.BLUE,
 	desc = [[A vial of glowing cyan fluid.]],
@@ -105,7 +105,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_SAVIOR",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_the_saviour.png",
 	name = "Elixir of the Savior", unique=true, unided_name="vial of grey fluid",
 	display = "!", color=colors.GREY,
 	desc = [[A vial of bubbling, slate-colored fluid.]],
@@ -125,7 +125,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_MASTERY",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_mastery.png",
 	name = "Elixir of Mastery", unique=true, unided_name="vial of maroon fluid",
 	display = "!", color=colors.PURPLE,
 	desc = [[A vial of thick maroon fluid.]],
@@ -144,7 +144,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_FORCE",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_explosive_force.png",
 	name = "Elixir of Explosive Force", unique=true, unided_name="vial of orange fluid",
 	display = "!", color=colors.ORANGE,
 	desc = [[A vial of churning orange fluid.]],
@@ -162,7 +162,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_SERENDIPITY",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_serendipity.png",
 	name = "Elixir of Serendipity", unique=true, unided_name="vial of yellow fluid",
 	display = "!", color=colors.YELLOW,
 	desc = [[A vial of lifelike yellow fluid.]],
@@ -181,7 +181,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_FOCUS",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_focus.png",
 	name = "Elixir of Focus", unique=true, unided_name="vial of clear fluid",
 	display = "!", color=colors.WHITE,
 	desc = [[A vial of clear, steaming fluid.]],
@@ -199,7 +199,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_BRAWN",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_brawn.png",
 	name = "Elixir of Brawn", unique=true, unided_name="vial of tan fluid",
 	display = "!", color=colors.TAN,
 	desc = [[A vial of sluggish tan fluid.]],
@@ -220,7 +220,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_STONESKIN",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_stoneskin.png",
 	name = "Elixir of Stoneskin", unique=true, unided_name="vial of iron-colored fluid",
 	display = "!", color=colors.SLATE,
 	desc = [[A vial of grainy, iron-colored fluid.]],
@@ -238,7 +238,7 @@ newEntity{
 newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_FOUNDATIONS",
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_foundations.png",
 	name = "Elixir of Foundations", unique=true, unided_name="vial of white fluid",
 	display = "!", color=colors.WHITE,
 	desc = [[A vial of murky wuite fluid.]],
@@ -257,12 +257,12 @@ newEntity{
 
 newEntity{ base = "BASE_TAINT",
 	name = "Taint of Telepathy",
-	define_as = "TAINT_TELEPATHY",
+	define_as = "TAINT_TELEPATHY", image = "object/taint_of_telepathy.png",
 	unique = true,
 	identified = true,
 	cost = 200,
 	material_level = 3,
-	
+
 	inscription_kind = "utility",
 	inscription_data = {
 		cooldown = 30,
@@ -273,12 +273,12 @@ newEntity{ base = "BASE_TAINT",
 
 newEntity{ base = "BASE_INFUSION",
 	name = "Infusion of Wild Growth",
-	define_as = "INFUSION_WILD_GROWTH",
+	define_as = "INFUSION_WILD_GROWTH", image = "object/infusion_of_wild_growth.png",
 	unique = true,
 	identified = true,
 	cost = 200,
 	material_level = 3,
-	
+
 	inscription_kind = "utility",
 	inscription_data = {
 		cooldown = 30,
@@ -292,8 +292,8 @@ newEntity{ base = "BASE_GEM",
 	power_source = {nature=true},
 	unique = true,
 	unided_name = "cloudy, heavy emerald",
-	name = "Lifebinding Emerald", subtype = "green",
-	color = colors.GREEN, image="object/emerald.png",
+	name = "Lifebinding Emerald", subtype = "green", image = "object/lifebinding_emerald.png",
+	color = colors.GREEN,
 	desc = [[A lopsided, heavy emerald with murky green clouds shifting sluggishly under the surface.]],
 	cost = 200,
 	material_level = 5,
@@ -319,7 +319,7 @@ newEntity{
 	power_source = {nature=true},
 	define_as = "ELIXIR_INVULNERABILITY",
 	encumber = 2,
-	type = "potion", subtype="potion",
+	type = "potion", subtype="potion", image = "object/elixir_of_invulnerability.png",
 	name = "Elixir of Invulnerability", unique=true, unided_name="vial of black fluid",
 	display = "!", color=colors.SLATE,
 	desc = [[A vial of thick fluid, metallic and reflective. It's incredibly heavy.]],
diff --git a/game/modules/tome/data/general/objects/elixir-ingredients.lua b/game/modules/tome/data/general/objects/elixir-ingredients.lua
index 7bacc6c1ec44a1ce5b7f1f0f885057289dcb0d42..fe6e97b53d8aefb082317360e154bf00d6b2473a 100644
--- a/game/modules/tome/data/general/objects/elixir-ingredients.lua
+++ b/game/modules/tome/data/general/objects/elixir-ingredients.lua
@@ -20,7 +20,7 @@
 
 newEntity{ define_as = "TROLL_INTESTINE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/troll_intestine.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "troll guts",
@@ -32,7 +32,7 @@ newEntity{ define_as = "TROLL_INTESTINE",
 
 newEntity{ define_as = "SKELETON_MAGE_SKULL",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/skeleton_mage_skull.png",
 	unided_name = "battered skull",
 	name = "skeleton mage skull",
 	level_range = {50, 50},
@@ -44,7 +44,7 @@ newEntity{ define_as = "SKELETON_MAGE_SKULL",
 
 newEntity{ define_as = "RITCH_STINGER",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/ritch_stinger.png",
 	unided_name = "giant stinger",
 	name = "ritch stinger",
 	level_range = {50, 50},
@@ -56,7 +56,7 @@ newEntity{ define_as = "RITCH_STINGER",
 
 newEntity{ define_as = "ORC_HEART",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/orc_heart.png",
 	unided_name = "heart",
 	name = "orc heart",
 	level_range = {50, 50},
@@ -68,7 +68,7 @@ newEntity{ define_as = "ORC_HEART",
 
 newEntity{ define_as = "NAGA_TONGUE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/naga_tongue.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "naga tongue",
@@ -80,7 +80,7 @@ newEntity{ define_as = "NAGA_TONGUE",
 
 newEntity{ define_as = "GREATER_DEMON_BILE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/phial_demon_blood.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "demon bile",
@@ -92,7 +92,7 @@ newEntity{ define_as = "GREATER_DEMON_BILE",
 
 newEntity{ define_as = "BONE_GOLEM_DUST",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/pouch_bone_giant_dust.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "bone giant dust",
@@ -104,7 +104,7 @@ newEntity{ define_as = "BONE_GOLEM_DUST",
 
 newEntity{ define_as = "FROST_ANT_STINGER",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/ice_ant_stinger.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "stinger",
@@ -116,7 +116,7 @@ newEntity{ define_as = "FROST_ANT_STINGER",
 
 newEntity{ define_as = "MINOTAUR_NOSE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/minotaur_nose.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "minotaur nose",
@@ -128,7 +128,7 @@ newEntity{ define_as = "MINOTAUR_NOSE",
 
 newEntity{ define_as = "ELDER_VAMPIRE_BLOOD",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/vial_elder_vampire_blood.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "black blood",
@@ -140,7 +140,7 @@ newEntity{ define_as = "ELDER_VAMPIRE_BLOOD",
 
 newEntity{ define_as = "MULTIHUED_WYRM_SCALE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/dragon_scale_multihued.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "shimmering scale",
@@ -152,7 +152,7 @@ newEntity{ define_as = "MULTIHUED_WYRM_SCALE",
 
 newEntity{ define_as = "SPIDER_SPINNERET",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/spider_spinnarets.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "spinneret",
@@ -164,7 +164,7 @@ newEntity{ define_as = "SPIDER_SPINNERET",
 
 newEntity{ define_as = "HONEY_TREE_ROOT",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/honey_tree_root.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "dirty root",
@@ -176,7 +176,7 @@ newEntity{ define_as = "HONEY_TREE_ROOT",
 
 newEntity{ define_as = "BLOATED_HORROR_HEART",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/bloated_horror_heart.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "heart",
@@ -188,7 +188,7 @@ newEntity{ define_as = "BLOATED_HORROR_HEART",
 
 newEntity{ define_as = "ELECTRIC_EEL_TAIL",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/electric_eel_tail.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "eel tail",
@@ -200,7 +200,7 @@ newEntity{ define_as = "ELECTRIC_EEL_TAIL",
 
 newEntity{ define_as = "SQUID_INK",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/vial_squid_ink.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "black liquid",
@@ -212,7 +212,7 @@ newEntity{ define_as = "SQUID_INK",
 
 newEntity{ define_as = "BEAR_PAW",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/bear_paw.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "large, clawed paw",
@@ -224,7 +224,7 @@ newEntity{ define_as = "BEAR_PAW",
 
 newEntity{ define_as = "ICE_WYRM_TOOTH",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/frost_wyrm_tooth.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "tooth",
@@ -236,7 +236,7 @@ newEntity{ define_as = "ICE_WYRM_TOOTH",
 
 newEntity{ define_as = "RED_CRYSTAL_SHARD",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/red_crystal_shard.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "red crystal shard",
@@ -248,7 +248,7 @@ newEntity{ define_as = "RED_CRYSTAL_SHARD",
 
 newEntity{ define_as = "FIRE_WYRM_SALIVA",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/vial_fire_wyrm_saliva.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "wyrm saliva",
@@ -260,7 +260,7 @@ newEntity{ define_as = "FIRE_WYRM_SALIVA",
 
 newEntity{ define_as = "GHOUL_FLESH",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/ghoul_flesh.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "chunk of rotten flesh",
@@ -272,7 +272,7 @@ newEntity{ define_as = "GHOUL_FLESH",
 
 newEntity{ define_as = "MUMMY_BONE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/mummified_bone.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "dry, flesh-encrusted bone",
@@ -284,7 +284,7 @@ newEntity{ define_as = "MUMMY_BONE",
 
 newEntity{ define_as = "SANDWORM_TOOTH",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/sandworm_tooth.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "small, pointed tooth",
@@ -296,7 +296,7 @@ newEntity{ define_as = "SANDWORM_TOOTH",
 
 newEntity{ define_as = "BLACK_MAMBA_HEAD",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/black_mamba_head.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "snake head",
@@ -308,7 +308,7 @@ newEntity{ define_as = "BLACK_MAMBA_HEAD",
 
 newEntity{ define_as = "SNOW_GIANT_KIDNEY",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/snow_giant_kidney.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "kidney",
@@ -320,7 +320,7 @@ newEntity{ define_as = "SNOW_GIANT_KIDNEY",
 
 newEntity{ define_as = "STORM_WYRM_CLAW",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/storm_wyrm_claw.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "claw",
@@ -332,7 +332,7 @@ newEntity{ define_as = "STORM_WYRM_CLAW",
 
 newEntity{ define_as = "GREEN_WORM",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/green_worm.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "dead green worm",
@@ -344,7 +344,7 @@ newEntity{ define_as = "GREEN_WORM",
 
 newEntity{ define_as = "WIGHT_ECTOPLASM",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/vial_wight_ectoplasm.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "viscous slime",
@@ -356,7 +356,7 @@ newEntity{ define_as = "WIGHT_ECTOPLASM",
 
 newEntity{ define_as = "XORN_FRAGMENT",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/xorn_fragment.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "chunk of stone",
@@ -368,7 +368,7 @@ newEntity{ define_as = "XORN_FRAGMENT",
 
 newEntity{ define_as = "WARG_CLAW",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/warg_claw.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "claw",
@@ -380,7 +380,7 @@ newEntity{ define_as = "WARG_CLAW",
 
 newEntity{ define_as = "FAEROS_ASH",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/pharao_ash.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "ash",
@@ -392,7 +392,7 @@ newEntity{ define_as = "FAEROS_ASH",
 
 newEntity{ define_as = "WRETCHLING_EYE",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/wretchling_eyeball.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "eyeball",
@@ -404,7 +404,7 @@ newEntity{ define_as = "WRETCHLING_EYE",
 
 newEntity{ define_as = "FAERLHING_FANG",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/faerlhing_fang.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "fang",
@@ -416,7 +416,7 @@ newEntity{ define_as = "FAERLHING_FANG",
 
 newEntity{ define_as = "VAMPIRE_LORD_FANG",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/vampire_lord_fang.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "fang",
@@ -428,7 +428,7 @@ newEntity{ define_as = "VAMPIRE_LORD_FANG",
 
 newEntity{ define_as = "HUMMERHORN_WING",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/hummerhorn_wing.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "translucent insect wing",
@@ -440,7 +440,7 @@ newEntity{ define_as = "HUMMERHORN_WING",
 
 newEntity{ define_as = "LUMINOUS_HORROR_DUST",
 	quest=true, identified=true, no_unique_lore=true,
-	type = "misc", subtype="ingredient",
+	type = "misc", subtype="ingredient", image = "object/pouch_luminous_horror_dust.png",
 	level_range = {50, 50},
 	encumber = 0,
 	unided_name = "glowing dust",
diff --git a/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png b/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png
new file mode 100644
index 0000000000000000000000000000000000000000..b00aeac2b4d92d56bb902b2cdd980c070de844eb
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/bear_paw.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png b/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png
new file mode 100644
index 0000000000000000000000000000000000000000..47e9b4a18fd4412e602452cada75ac1e1ad114df
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/black_mamba_head.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png b/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png
new file mode 100644
index 0000000000000000000000000000000000000000..ae38789ca7b500d55952cfd020f8ffec680a66c7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/bloated_horror_heart.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png b/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png
new file mode 100644
index 0000000000000000000000000000000000000000..6ffbd03879b2b7a492f38736557b54d28d39a586
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/dragon_scale_multihued.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png b/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png
new file mode 100644
index 0000000000000000000000000000000000000000..e3d923e285dc69ecb7e69604e3454d7a541853b2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/electric_eel_tail.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png
new file mode 100644
index 0000000000000000000000000000000000000000..5df5f2cb84c5316af14c62736682693c32ca903a
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_avoidance.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png
new file mode 100644
index 0000000000000000000000000000000000000000..e7b045398d361e458db18b84293179bed671a590
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_brawn.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png
new file mode 100644
index 0000000000000000000000000000000000000000..4b247838db0dd2ec531420cdcb20568f05b4b96f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_explosive_force.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png
new file mode 100644
index 0000000000000000000000000000000000000000..5394593a5dc810eb1caf6c92177e0df048b93a65
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_focus.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png
new file mode 100644
index 0000000000000000000000000000000000000000..f75380f908a27efa6e0ed1ed965fc19a5edcb22b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_foundations.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png
new file mode 100644
index 0000000000000000000000000000000000000000..15b7388766d2924969c448b6f93373925428d819
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_invulnerability.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png
new file mode 100644
index 0000000000000000000000000000000000000000..4f7d3cc668f09c83065498747d49de4eaeaed606
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mastery.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png
new file mode 100644
index 0000000000000000000000000000000000000000..ecba0bad04b509707e3b26c3ad5791ec33739768
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_mysticism.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab46a3160c2943ce60b3175f024eaa698059a48c
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_precision.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c55aa799dede74417bebb4c76cb12dbaed18e48
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_serendipity.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png
new file mode 100644
index 0000000000000000000000000000000000000000..42120a8f6bcdfafafc743b6efb5d6ebb059857f8
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_stoneskin.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddd321f5112b6554d5d7218e7f5d06f4bbb6b6e0
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_fox.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png
new file mode 100644
index 0000000000000000000000000000000000000000..37deb0f85d5485f4de779ff981a37f75dfed6eca
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/elixir_of_the_saviour.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png b/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png
new file mode 100644
index 0000000000000000000000000000000000000000..5b5489b1b4ab3a5fe9591add46b0870eb5fe6ca3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/faerlhing_fang.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png b/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png
new file mode 100644
index 0000000000000000000000000000000000000000..434bd9456547e063567ad29295a787345e2511ae
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/fire_wyrm_saliva.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png b/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png
new file mode 100644
index 0000000000000000000000000000000000000000..1ebff0ede71ef1a3ee79c884b4d8572eb8c0c214
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/frost_wyrm_tooth.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png b/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png
new file mode 100644
index 0000000000000000000000000000000000000000..0549d3c02ab418bc2d398114ea87cdb4c350bafb
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ghoul_flesh.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/green_worm.png b/game/modules/tome/data/gfx/shockbolt/object/green_worm.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac85ae182e35d28ff5a64e034b0914ed90a14994
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/green_worm.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png b/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png
new file mode 100644
index 0000000000000000000000000000000000000000..7a98aa9579770a0051027f75d889fc96bcb80a7b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/honey_tree_root.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png b/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png
new file mode 100644
index 0000000000000000000000000000000000000000..af47abfc048f6daa05b6370d537314b756ff3888
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/hummerhorn_wing.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png b/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png
new file mode 100644
index 0000000000000000000000000000000000000000..bf5d042ac40fcc784903475d2bc0cca1edc05903
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ice_ant_stinger.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png b/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png
new file mode 100644
index 0000000000000000000000000000000000000000..cf35b05b9f45680cee38a9232536355af6c10509
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/infusion_of_wild_growth.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png b/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0bb34beb4bc8e74b96c7725dd0e14c4283d9fdc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/lifebinding_emerald.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png b/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png
new file mode 100644
index 0000000000000000000000000000000000000000..c9cc8e348c1387f652982f101b32dc8fb6497501
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/minotaur_nose.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png b/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png
new file mode 100644
index 0000000000000000000000000000000000000000..50f88e1c8f1032cc212aa039deb08d8bdab8f5c8
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/mummified_bone.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png b/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ed0a973611b06cea163d9811fb39043d2c346af
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/naga_tongue.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png b/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png
new file mode 100644
index 0000000000000000000000000000000000000000..fb31553d2e15b50f218d6e8291c895992e4d37ef
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/orc_heart.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png b/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png
new file mode 100644
index 0000000000000000000000000000000000000000..0de0810277edace93693881ede264a58f74eba2d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pharao_ash.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png b/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png
new file mode 100644
index 0000000000000000000000000000000000000000..d0ae1c18bdfa6c20c357608909807f1947ad26fd
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/phial_demon_blood.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png b/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png
new file mode 100644
index 0000000000000000000000000000000000000000..c86bf338d8f8f00f7a9405dc319f44ff840c6ce1
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pouch_bone_giant_dust.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png b/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png
new file mode 100644
index 0000000000000000000000000000000000000000..6b2dcffe83b1ce88a9d32d9f8468e46be89c2886
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/pouch_luminous_horror_dust.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png b/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png
new file mode 100644
index 0000000000000000000000000000000000000000..ddaf70956c6cd5ed2c73587669824b155942cd23
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/red_crystal_shard.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png b/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png
new file mode 100644
index 0000000000000000000000000000000000000000..cb5dcd46c883a906364b8eeee2031aa4337f73ab
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/ritch_stinger.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png b/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png
new file mode 100644
index 0000000000000000000000000000000000000000..37c9d529414a94df601a9d523c05e67113710711
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/sandworm_tooth.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png b/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png
new file mode 100644
index 0000000000000000000000000000000000000000..7ef1aa95bf24501d2708085b1c1b43ff5d01d73f
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/skeleton_mage_skull.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png b/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png
new file mode 100644
index 0000000000000000000000000000000000000000..4bff90c57fd398e8ce50852476900aebdf4d83b2
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/snow_giant_kidney.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png b/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png
new file mode 100644
index 0000000000000000000000000000000000000000..b286f54739629adf7e787a8ad79d1e3057205bbc
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/spider_spinnarets.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png b/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e340f1d93aed983eda6ff275d1d87d08a2c1415
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/storm_wyrm_claw.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png b/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png
new file mode 100644
index 0000000000000000000000000000000000000000..e0f7c01ddee54bd744a03dbbf3309c5803b614cf
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/taint_of_telepathy.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png b/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png
new file mode 100644
index 0000000000000000000000000000000000000000..524dfe490b5652411e0584b7811a07077cd245d3
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/troll_intestine.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png b/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png
new file mode 100644
index 0000000000000000000000000000000000000000..0ed9eab74bb1536d9d9e21772ac2a9d6b439e0c7
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vampire_lord_fang.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png b/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ba4d7d770db1f225a06f9184307838617b57f75
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_elder_vampire_blood.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png b/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png
new file mode 100644
index 0000000000000000000000000000000000000000..434bd9456547e063567ad29295a787345e2511ae
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_fire_wyrm_saliva.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png b/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png
new file mode 100644
index 0000000000000000000000000000000000000000..2eae01fa12a4f1805ed2731fcab9e553e5b20a7d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_squid_ink.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png b/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png
new file mode 100644
index 0000000000000000000000000000000000000000..79faea9a6f151260caf3eb0616ae9c135af5f43d
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/vial_wight_ectoplasm.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png b/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png
new file mode 100644
index 0000000000000000000000000000000000000000..420ff9433c4a895ba19284e4da2b2f09ef87cf5e
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/warg_claw.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png b/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png
new file mode 100644
index 0000000000000000000000000000000000000000..0a0065832d5fb4b08ee3f18eeafd655368c4575b
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/wretchling_eyeball.png differ
diff --git a/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png b/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png
new file mode 100644
index 0000000000000000000000000000000000000000..2421caabcee2150f38ef17a39033331a75eedf29
Binary files /dev/null and b/game/modules/tome/data/gfx/shockbolt/object/xorn_fragment.png differ
diff --git a/game/modules/tome/data/quests/east-portal.lua b/game/modules/tome/data/quests/east-portal.lua
index d570dc3a745f358af3238ea81f5d3507a05bd4f0..c5f13a2633001a967156301d39ad0c62fcde7ff2 100644
--- a/game/modules/tome/data/quests/east-portal.lua
+++ b/game/modules/tome/data/quests/east-portal.lua
@@ -112,16 +112,10 @@ open_telmur = function(self, player)
 
 	-- Reveal entrances
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance into Telmur, tower of Telos",
-			display='>', color=colors.RED,
-			notice = true,
-			change_level=1, change_zone="telmur"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "TELMUR")
 		local spot = level:pickSpot{type="zone-pop", subtype="telmur"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 
 	game.logPlayer(game.player, "Tannen points to the location of Telmur on your map.")
diff --git a/game/modules/tome/data/quests/lightning-overload.lua b/game/modules/tome/data/quests/lightning-overload.lua
index 61924a263c0b8136be0901bd9e5af25912bcdd5b..a9a3c05b15393a61e428d12ca37bc0d3f2a3d9c9 100644
--- a/game/modules/tome/data/quests/lightning-overload.lua
+++ b/game/modules/tome/data/quests/lightning-overload.lua
@@ -88,24 +88,10 @@ end
 
 create_entrance = function(self)
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local p = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Long road to the Tempest Peak",
-			display='>', color=colors.WHITE,
-			notice = true,
-			change_level=1, change_zone="tempest-peak",
-			change_level_check = function()
-				game.turn = game.turn + 5 * game.calendar.HOUR
-				if not game.player:hasQuest("lightning-overload").walked then
-					require("engine.ui.Dialog"):simpleLongPopup("Danger...", [[After an hours long walk you finally reach the end of the way. You are nearly on top of one of the highest peaks you can see.
-The storm is raging above your head.]], 400)
-					game.player:hasQuest("lightning-overload").walked = true
-				end
-			end
-		}
-		p:resolve() p:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "TEMPEST_PEAK")
 		local spot = level:pickSpot{type="zone-pop", subtype="tempest-peak"}
 		game.zone:addEntity(level, p, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 	game.player:setQuestStatus(self.id, engine.Quest.COMPLETED, "tempest-entrance")
 end
diff --git a/game/modules/tome/data/quests/mage-apprentice.lua b/game/modules/tome/data/quests/mage-apprentice.lua
index 14c03a10a6654920d3e80f597e3fbdc960b8768e..01a38d91788c66ff2dcb4268d0823f577849c08d 100644
--- a/game/modules/tome/data/quests/mage-apprentice.lua
+++ b/game/modules/tome/data/quests/mage-apprentice.lua
@@ -122,28 +122,9 @@ end
 access_angolwen = function(self, player)
 	if player:hasQuest("antimagic") and not player:hasQuest("antimagic"):isEnded() then player:setQuestStatus("antimagic", engine.Quest.FAILED) end -- Fail antimagic quest
 
-	local g = mod.class.Grid.new{
-		type = "floor", subtype = "grass",
-		show_tooltip=true, always_remember = true,
-		name="Angolwen, the hidden city of magic",
-		desc="Secret place of magic, set apart from the world to protect it.",
-		display='*', color=colors.WHITE, image="terrain/grass.png", add_displays={mod.class.Grid.new{image="terrain/town1.png", z=5}},
-		notice = true,
-		change_level=1, change_zone="town-angolwen"
-	}
-	local p = mod.class.Grid.new{
-		type = "floor", subtype = "grass",
-		show_tooltip=true, always_remember = true,
-		name="Portal to Angolwen",
-		desc="The city of magic lies inside the mountains to the west. Either a spell or a portal is needed to access it.",
-		display='*', color=colors.VIOLET, image = "terrain/grass.png", add_displays = {mod.class.Grid.new{image="terrain/maze_teleport.png"}},
-		notice = true,
-		change_level=1, change_zone="town-angolwen",
-		change_level_check = function() local p = game.party:findMember{main=true} if p:attr("forbid_arcane") then game.log("The portal fizzles.") return true end return false end
-	}
-	g:resolve() g:resolve(nil, true)
-	p:resolve() p:resolve(nil, true)
 	local level = game.level
+	local g = game.zone:makeEntityByName(game.level, "terrain", "TOWN_ANGOLWEN")
+	local p = game.zone:makeEntityByName(game.level, "terrain", "TOWN_ANGOLWEN_PORTAL")
 	local spot = level:pickSpot{type="zone-pop", subtype="angolwen"}
 	game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
 	game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
diff --git a/game/modules/tome/data/quests/master-jeweler.lua b/game/modules/tome/data/quests/master-jeweler.lua
index 4ea16600083ad7c0d858de3f7595c86b7d23fca7..86d8f732c6e4ff15b5e71ab205ff2805427cba6e 100644
--- a/game/modules/tome/data/quests/master-jeweler.lua
+++ b/game/modules/tome/data/quests/master-jeweler.lua
@@ -56,16 +56,10 @@ end
 start_search = function(self, who)
 	-- Reveal entrances
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Cavern leading to the valley of the moon",
-			display='>', color=colors.GREY,
-			notice = true,
-			change_level=1, change_zone="valley-moon-caverns"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "CAVERN_MOON")
 		local spot = level:pickSpot{type="zone-pop", subtype="valley-moon-caverns"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 
 	who:setQuestStatus(self.id, engine.Quest.COMPLETED, "search-valley")
diff --git a/game/modules/tome/data/quests/orc-hunt.lua b/game/modules/tome/data/quests/orc-hunt.lua
index 3091085316195b28e442e6206cca59ab3770992c..54064c117a2a10c05a7b55b3709542a9e6ab1071 100644
--- a/game/modules/tome/data/quests/orc-hunt.lua
+++ b/game/modules/tome/data/quests/orc-hunt.lua
@@ -30,16 +30,10 @@ end
 on_grant = function(self, who)
 	-- Reveal reknor entrance
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true,
-			name="A gate into the old kingdom of Reknor",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="reknor"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "REKNOR")
 		local spot = level:pickSpot{type="zone-pop", subtype="reknor"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 	game.logPlayer(game.player, "The elder points to Reknor on your map, to the north on the western side of the Iron Throne.")
 end
diff --git a/game/modules/tome/data/quests/orc-pride.lua b/game/modules/tome/data/quests/orc-pride.lua
index 7f8b79e16824b00fd249c601ab2fdbd8c0419a11..8ae4f700892bc594d09f56b32db92bbacfaed67b 100644
--- a/game/modules/tome/data/quests/orc-pride.lua
+++ b/game/modules/tome/data/quests/orc-pride.lua
@@ -61,52 +61,25 @@ end
 on_grant = function(self, who)
 	-- Reveal entrances
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance to Rak'shor Pride bastion",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="rak-shor-pride"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "RAK_SHOR_PRIDE")
 		local spot = level:pickSpot{type="zone-pop", subtype="rak-shor-pride"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 
-		-- Reveal entrances
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance to Vor Pride bastion",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="vor-pride"
-		}
-		g:resolve() g:resolve(nil, true)
+		g = game.zone:makeEntityByName(level, "terrain", "VOR_PRIDE")
 		local spot = level:pickSpot{type="zone-pop", subtype="vor-pride"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 
-		-- Reveal entrances
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance to Gorbat Pride bastion",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="gorbat-pride"
-		}
-		g:resolve() g:resolve(nil, true)
+		g = game.zone:makeEntityByName(level, "terrain", "GORBAT_PRIDE")
 		local spot = level:pickSpot{type="zone-pop", subtype="gorbat-pride"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 
-		-- Reveal entrances
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance to Grushnak Pride caverns",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="grushnak-pride"
-		}
-		g:resolve() g:resolve(nil, true)
+		g = game.zone:makeEntityByName(level, "terrain", "GRUSHNAK_PRIDE")
 		local spot = level:pickSpot{type="zone-pop", subtype="grushnak-pride"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 
 	game.logPlayer(game.player, "Aeryn points to the known locations on your map.")
diff --git a/game/modules/tome/data/quests/pre-charred-scar.lua b/game/modules/tome/data/quests/pre-charred-scar.lua
index 3e9ca171a55a9f96a6a487079b76e0b1b15233d1..4da02ffdc9693930302b143ef6c7522221e575db 100644
--- a/game/modules/tome/data/quests/pre-charred-scar.lua
+++ b/game/modules/tome/data/quests/pre-charred-scar.lua
@@ -30,16 +30,9 @@ on_grant = function(self, who)
 	local chat = engine.Chat.new("pre-charred-scar", aeryn, who)
 	chat:invoke()
 
-	-- Reveal  entrance
+	-- Reveal entrance
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="The arid wastes of Erúan",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="eruan"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "ERUAN")
 		local spot = level:pickSpot{type="zone-pop", subtype="eruan"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
 	end)
diff --git a/game/modules/tome/data/quests/spydric-infestation.lua b/game/modules/tome/data/quests/spydric-infestation.lua
index 622f42fccf6da80fcf1c5d73d0ddc4a4f0989167..74c24337197ce538c9a44ebc4f131c939430cf3d 100644
--- a/game/modules/tome/data/quests/spydric-infestation.lua
+++ b/game/modules/tome/data/quests/spydric-infestation.lua
@@ -32,16 +32,11 @@ end
 on_grant = function(self, who)
 	-- Reveal entrance
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="A way into the caverns of Ardhungol",
-			display='>', color=colors.GREEN,
-			notice = true,
-			change_level=1, change_zone="ardhungol"
-		}
+		local g = game.zone:makeEntityByName(level, "terrain", "ARDHUNGOL")
 		g:resolve() g:resolve(nil, true)
 		local spot = level:pickSpot{type="zone-pop", subtype="ardhungol"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 	game.logPlayer(game.player, "She marks the location of Ardhungol on your map.")
 end
@@ -55,7 +50,8 @@ portal_back = function(self, who)
 		name="Portal back to the Gates of Morning",
 		display='>', color=colors.GOLD,
 		notice = true,
-		change_level=1, change_zone="town-gates-of-morning"
+		change_level=1, change_zone="town-gates-of-morning",
+		image = "terrain/granite_floor1.png", add_mods={{image="terrain/demon_portal.png"}},
 	}
 	g:resolve() g:resolve(nil, true)
 	game.zone:addEntity(game.level, g, "terrain", who.x, who.y)
diff --git a/game/modules/tome/data/quests/west-portal.lua b/game/modules/tome/data/quests/west-portal.lua
index c5c6a020e2c6d4edfb0b44c32e61c7b110d1c8e2..1dcbbc35efa08a064c38a66f1bf4f735dde5b2a6 100644
--- a/game/modules/tome/data/quests/west-portal.lua
+++ b/game/modules/tome/data/quests/west-portal.lua
@@ -44,16 +44,10 @@ end
 on_grant = function(self, who)
 	-- Reveal entrances
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Backdoor to the Vor Armoury",
-			display='>', color=colors.UMBER,
-			notice = true,
-			change_level=1, change_zone="vor-armoury"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "VOR_ARMOURY")
 		local spot = level:pickSpot{type="zone-pop", subtype="vor-armoury"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 
 	game.logPlayer(game.player, "Zemekkys points to the location of Vor Armoury on your map.")
@@ -62,16 +56,10 @@ end
 wyrm_lair = function(self, who)
 	-- Reveal entrances
 	game:onLevelLoad("wilderness-1", function(zone, level)
-		local g = mod.class.Grid.new{
-			show_tooltip=true, always_remember = true,
-			name="Entrance into the sandpit of Briagh",
-			display='>', color=colors.YELLOW,
-			notice = true,
-			change_level=1, change_zone="briagh-lair"
-		}
-		g:resolve() g:resolve(nil, true)
+		local g = game.zone:makeEntityByName(level, "terrain", "BRIAGH_LAIR")
 		local spot = level:pickSpot{type="zone-pop", subtype="briagh"}
 		game.zone:addEntity(level, g, "terrain", spot.x, spot.y)
+		game.nicer_tiles:updateAround(game.level, spot.x, spot.y)
 	end)
 
 	game.logPlayer(game.player, "Zemekkys points to the location of Briagh lair on your map.")
diff --git a/game/modules/tome/data/zones/wilderness/grids.lua b/game/modules/tome/data/zones/wilderness/grids.lua
index 0e0978e188d8112fbf71e30a004432e07f7d35c9..79fb60192dbf0f5f9dd328e1d0be322942f4f9b0 100644
--- a/game/modules/tome/data/zones/wilderness/grids.lua
+++ b/game/modules/tome/data/zones/wilderness/grids.lua
@@ -271,7 +271,7 @@ newEntity{ base="TOWN", define_as = "TOWN_LAST_HOPE",
 	change_zone="town-last-hope",
 }
 newEntity{ base="TOWN", define_as = "TOWN_ANGOLWEN",
-	name = "Angolwen, the hidden city of magic", add_mos = {{image="terrain/town1.png"}},
+	name = "Angolwen, the hidden city of magic", add_displays = {mod.class.Grid.new{z=5, image="terrain/town1.png"}},
 	desc = "Secret place of magic, set apart from the world to protect it.\nLead by the Supreme Archmage Linaniil.",
 	change_zone="town-angolwen",
 }
@@ -317,7 +317,7 @@ newEntity{ base="TOWN", define_as = "TOWN_IRON_COUNCIL",
 }
 
 --------------------------------------------------------------------------------
--- Zones
+-- Maj'Eyal Zones
 --------------------------------------------------------------------------------
 newEntity{ base="PLAINS", define_as = "ZONE_PLAINS", change_level=1, display='>', color=colors.VIOLET, notice = true, nice_tiler=false }
 newEntity{ base="DESERT", define_as = "ZONE_DESERT", change_level=1, display='>', color=colors.VIOLET, notice = true, nice_tiler=false }
@@ -436,9 +436,107 @@ newEntity{ base="ZONE_PLAINS", define_as = "UNREMARKABLE_CAVE",
 	change_zone="unremarkable-cave",
 }
 
+newEntity{ base="ZONE_PLAINS", define_as = "REKNOR",
+	name="A gate into the old kingdom of Reknor",
+	color=colors.UMBER,
+	add_displays={class.new{image="terrain/cave_entrance_closed02.png", z=4}},
+	change_zone="reknor",
+}
+
+newEntity{ base="ZONE_PLAINS", define_as = "TELMUR",
+	name="Entrance into Telmur, tower of Telos",
+	color=colors.RED,
+	add_mos={{image="terrain/tower_entrance02.png"}}, add_displays={class.new{image="terrain/tower_entrance_up02.png", z=18, display_y=-1}},
+	change_zone="telmur",
+}
+
 newEntity{ base="WATER_BASE", define_as = "MURGOL_LAIR",
 	name="Way into the lair of Murgol",
 	color={r=0, g=0, b=255},
 	add_displays={class.new{image="terrain/underwater/subsea_cave_entrance_01.png", z=4, display_h=2, display_y=-1}},
 	change_level=1, change_zone="murgol-lair",
 }
+
+newEntity{ base="ZONE_PLAINS", define_as = "TEMPEST_PEAK",
+	name="Long road to the Tempest Peak",
+	color=colors.WHITE,
+	add_displays={mod.class.Grid.new{image="terrain/road_upwards_01.png", display_h=2, display_y=-1}},
+	change_level=1, change_zone="tempest-peak",
+	change_level_check = function()
+		game.turn = game.turn + 5 * game.calendar.HOUR
+		if not game.player:hasQuest("lightning-overload").walked then
+			require("engine.ui.Dialog"):simpleLongPopup("Danger...", [[After an hours long walk you finally reach the end of the way. You are nearly on top of one of the highest peaks you can see.
+The storm is raging above your head.]], 400)
+			game.player:hasQuest("lightning-overload").walked = true
+		end
+	end,
+}
+
+--------------------------------------------------------------------------------
+-- Far East Zones
+--------------------------------------------------------------------------------
+
+newEntity{ base="ZONE_DESERT", define_as = "RAK_SHOR_PRIDE",
+	name="Entrance to Rak'shor Pride bastion",
+	color=colors.UMBER,
+	add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}},
+	change_zone="rak-shor-pride",
+}
+
+newEntity{ base="ZONE_DESERT", define_as = "GORBAT_PRIDE",
+	name="Entrance to Gorbat Pride bastion",
+	color=colors.UMBER,
+	add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}},
+	change_zone="gorbat-pride",
+}
+
+newEntity{ base="ZONE_PLAINS", define_as = "GRUSHNAK_PRIDE",
+	name="Entrance to Grushnak Pride bastion",
+	color=colors.UMBER,
+	add_displays = {mod.class.Grid.new{image="terrain/ladder_down.png", z=5}},
+	change_zone="grushnak-pride",
+}
+
+newEntity{ base="ZONE_PLAINS", define_as = "VOR_PRIDE",
+	name="Entrance to Vor Pride bastion",
+	color=colors.UMBER,
+	add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}},
+	change_zone="vor-pride",
+}
+
+newEntity{ base="ZONE_PLAINS", define_as = "VOR_ARMOURY",
+	name="Backdoor to the Vor Armoury",
+	color=colors.UMBER,
+	add_displays = {mod.class.Grid.new{image="terrain/dungeon_entrance_closed02.png", z=5}},
+	change_zone="vor-armoury",
+}
+
+newEntity{ base="ZONE_DESERT", define_as = "BRIAGH_LAIR",
+	name="Entrance into the sandpit of Briagh",
+	color=colors.YELLOW,
+	add_displays = {mod.class.Grid.new{image="terrain/ladder_down.png", z=5}},
+	change_zone="briagh-lair",
+}
+
+newEntity{ base="ZONE_DESERT", define_as = "CAVERN_MOON",
+	name="Cavern leading to the valley of the moon",
+	color=colors.GREY,
+	add_displays = {mod.class.Grid.new{image="terrain/cave_entrance_closed02.png", z=5}},
+	change_zone="valley-moon-caverns",
+}
+
+newEntity{ base="ZONE_PLAINS", define_as = "ARDHUNGOL",
+	name="A way into the caverns of Ardhungol",
+	color=colors.GREEN,
+	add_displays = {mod.class.Grid.new{image="terrain/cave_entrance02.png", z=5}},
+	change_zone="ardhungol",
+}
+
+newEntity{ base="ZONE_DESERT", define_as = "ERUAN",
+	name="The arid wastes of Erúan",
+	color=colors.UMBER,
+	add_displays={mod.class.Grid.new{image="terrain/road_upwards_01.png", display_h=2, display_y=-1}},
+	change_zone="eruan",
+}
+
+START POSITION RESET ON RELOAD ????
\ No newline at end of file