diff --git a/game/engines/default/engine/Entity.lua b/game/engines/default/engine/Entity.lua
index ddae7677c070036c8b8d83595e5f26be1527f877..a9c9bf9f5ca86ac18d4a0828823ae6dc7047a9a7 100644
--- a/game/engines/default/engine/Entity.lua
+++ b/game/engines/default/engine/Entity.lua
@@ -423,6 +423,12 @@ function _M:loadList(file, no_default, res, mod, loaded)
 			res[#res+1] = e
 			if t.define_as then res[t.define_as] = e end
 		end,
+		importEntity = function(t)
+			local e = t:cloneFull()
+			if mod then mod(e) end
+			res[#res+1] = e
+			if t.define_as then res[t.define_as] = e end
+		end,
 		load = function(f, new_mod)
 			self:loadList(f, no_default, res, new_mod or mod, loaded)
 		end,
diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index e6acfa6be2e00f1fdeaf68895e3d8519961b1907..87464626a18a413a9dd0037db31ea4cdc215f2ba 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -747,9 +747,26 @@ function _M:die(src)
 		if not self.no_drops then
 			for inven_id, inven in pairs(self.inven) do
 				for i, o in ipairs(inven) do
+					-- Handle boss wielding artifacts
+					if o.__special_boss_drop and rng.percent(o.__special_boss_drop.chance) then
+						print("Refusing to drop "..self.name.." artifact "..o.name)
+
+						-- Do not drop
+						o.no_drop = true
+
+						-- Drop a random artifact instead
+						local ro = game.zone:makeEntity(game.level, "object", {unique=true}, nil, true)
+						if ro then game.zone:addEntity(game.level, ro, "object", self.x, self.y) end
+
+						-- Add to the pool
+						game.state:addWorldArtifact(o.define_as, o.__special_boss_drop)
+					end
+
 					if not o.no_drop then
 						o.droppedBy = self.name
 						game.level.map:addObject(self.x, self.y, o)
+					else
+						o:removed()
 					end
 				end
 			end
diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index 7eeacb8b6d4107838ef8a1d6327d5dc137bdd9e1..d31f07c3e7bf98b4625b04626b402cd118f2e3fa 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -678,7 +678,7 @@ function _M:setupCommands()
 				a.faction = "enemies"
 				self.zone:addEntity(self.level, a, "actor", self.player.x+1, self.player.y)
 --]]
-				self:changeLevel(2, "tempest-peak")
+				self:changeLevel(5)
 			end
 		end,
 	}
diff --git a/game/modules/tome/class/GameState.lua b/game/modules/tome/class/GameState.lua
index 7bc34a71b5e50cf4166815db7cf0e57bab41dd00..2f965222fd33a02983fb8587a30bff44fa0197b4 100644
--- a/game/modules/tome/class/GameState.lua
+++ b/game/modules/tome/class/GameState.lua
@@ -26,12 +26,15 @@ function _M:init(t, no_default)
 	engine.Entity.init(self, t, no_default)
 
 	self.allow_backup_guardians = {}
+	self.world_artifacts_pool = {}
 end
 
+--- Discovered the far east
 function _M:goneEast()
 	self.gone_east = true
 end
 
+--- Setup a backup guardian for the given zone
 function _M:activateBackupGuardian(guardian, on_level, zonelevel, rumor, action)
 	if self.gone_east then return end
 	print("Zone guardian dead, setting up backup guardian", guardian, zonelevel)
@@ -46,6 +49,7 @@ function _M:activateBackupGuardian(guardian, on_level, zonelevel, rumor, action)
 	}
 end
 
+--- Activate a backup guardian & settings, if available
 function _M:zoneCheckBackupGuardian()
 	if not self.gone_east then print("Not gone east, no backup guardian") return end
 
@@ -82,6 +86,20 @@ function _M:zoneCheckBackupGuardian()
 	end
 end
 
+--- A boss refused to drop his artifact! Bastard! Add it to the world pool
+function _M:addWorldArtifact(define, config)
+	local o = game.zone.object_list[define]
+	o.level_range = config.level_range
+	o.rarity = config.rarity
+	self.world_artifacts_pool[define] = o
+end
+
+--- Load all refused boss artifacts
+-- This is caleld from the world-artifacts.lua file
+function _M:getWorldArtifacts()
+	return self.world_artifacts_pool
+end
+
 local wda_cache = {}
 
 --- Runs the worldmap directory AI
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index 81a164b2797c7d718ba480596c3e8a9c35f2986c..560e6c8725bfd5f4a6671e171c2cdd9e442d81e9 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -20,6 +20,12 @@
 local Stats = require "engine.interface.ActorStats"
 local Talents = require "engine.interface.ActorTalents"
 
+--- Load boss artifacts that failed to be dropped
+for def, e in pairs(game.state:getWorldArtifacts()) do
+	importEntity(e)
+	print("Importing failed boss drop "..e.name.." into world artifacts")
+end
+
 -- This file describes artifacts not bound to a special location, they can be found anywhere
 newEntity{ base = "BASE_STAFF",
 	unique = true,
diff --git a/game/modules/tome/data/zones/ancient-elven-ruins/npcs.lua b/game/modules/tome/data/zones/ancient-elven-ruins/npcs.lua
index e03228058d48c5d9370b010838f5611d506ad76f..6174ba57c7ce4afe6fb37aab64921ac46357a9cb 100644
--- a/game/modules/tome/data/zones/ancient-elven-ruins/npcs.lua
+++ b/game/modules/tome/data/zones/ancient-elven-ruins/npcs.lua
@@ -46,7 +46,7 @@ newEntity{ define_as = "GREATER_MUMMY_LORD",
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1, },
 	equipment = resolvers.equip{
-		{type="weapon", subtype="longsword", defined="LONGSWORD_RINGIL", autoreq=true},
+		{type="weapon", subtype="longsword", defined="LONGSWORD_RINGIL", random_art_replace={chance=75, rarity=280, level_range={35, 45}}, autoreq=true},
 		{type="armor", subtype="shield", ego_chance=100, autoreq=true},
 		{type="armor", subtype="mummy", ego_chance=100, autoreq=true},
 	},
diff --git a/game/modules/tome/data/zones/blighted-ruins/npcs.lua b/game/modules/tome/data/zones/blighted-ruins/npcs.lua
index 01039bf680e98bba05e7a92eea36888782ab7024..74e41a1aa2718c623a5ab4febe9791ceffad8727 100644
--- a/game/modules/tome/data/zones/blighted-ruins/npcs.lua
+++ b/game/modules/tome/data/zones/blighted-ruins/npcs.lua
@@ -83,7 +83,7 @@ This specimen look like it was hastily assembled and is not really complete yet.
 	resolvers.sustains_at_birth(),
 
 	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
-	resolvers.drops{chance=100, nb=1, {defined="UNDEATH_PHIAL"} },
+	resolvers.drops{chance=100, nb=1, {defined="UNDEATH_PHIAL", random_art_replace={chance=75, rarity=150, level_range={1, 10}}} },
 
 	ai = "dumb_talented_simple", ai_state = { talent_in=4, ai_move="move_astar", },
 
diff --git a/game/modules/tome/data/zones/charred-scar/npcs.lua b/game/modules/tome/data/zones/charred-scar/npcs.lua
index 7a535ea8b52306730bc1f010a376c4bb199f829e..15fbfd04a3fd378b1968c947012c56728199b155 100644
--- a/game/modules/tome/data/zones/charred-scar/npcs.lua
+++ b/game/modules/tome/data/zones/charred-scar/npcs.lua
@@ -276,7 +276,7 @@ This one looks even nastier and looks toward you with what seems to be disdain.
 	ai = "dumb_talented_simple", ai_state = { talent_in=1, ai_move="move_astar" },
 
 	resolvers.equip{
-		{type="jewelry", subtype="amulet", defined="FIERY_CHOKER"},
+		{type="jewelry", subtype="amulet", defined="FIERY_CHOKER", random_art_replace={chance=75, rarity=200, level_range={35, 45}}},
 	},
 	resolvers.drops{chance=20, nb=1, {defined="JEWELER_TOME"} },
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/daikara/npcs.lua b/game/modules/tome/data/zones/daikara/npcs.lua
index 2e92fbe5b0e42b0b80b8eacd28906ae24c7a47fb..2e5c5f8842bab664a067324727754ba9cd247ef3 100644
--- a/game/modules/tome/data/zones/daikara/npcs.lua
+++ b/game/modules/tome/data/zones/daikara/npcs.lua
@@ -47,7 +47,7 @@ newEntity{ define_as = "RANTHA_THE_WORM",
 	resists = { [DamageType.FIRE] = -20, [DamageType.COLD] = 100 },
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	resolvers.drops{chance=100, nb=1, {defined="FROST_TREADS"}, },
+	resolvers.drops{chance=100, nb=1, {defined="FROST_TREADS", random_art_replace={chance=75, rarity=150, level_range={12, 22}}}, },
 	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 	resolvers.drops{chance=100, nb=10, {type="money"} },
 
@@ -101,7 +101,7 @@ newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "MASSOK",
 	resolvers.equip{
 		{type="weapon", subtype="battleaxe", ego_change=100, autoreq=true},
 		{type="armor", subtype="massive", ego_chance=100, autoreq=true},
-		{type="armor", subtype="head", defined="RUNED_SKULL", autoreq=true},
+		{type="armor", subtype="head", defined="RUNED_SKULL", random_art_replace={chance=75, rarity=250, level_range={45, 50}}, autoreq=true},
 		{type="armor", subtype="feet", ego_chance=100, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/flooded-cave/npcs.lua b/game/modules/tome/data/zones/flooded-cave/npcs.lua
index 3ab686b410ae1aab30dc500203fd1d2d9e9f5ba3..3d6538f4ff430e6422ff1381e6be3c9705b6b8ee 100644
--- a/game/modules/tome/data/zones/flooded-cave/npcs.lua
+++ b/game/modules/tome/data/zones/flooded-cave/npcs.lua
@@ -50,7 +50,7 @@ newEntity{ define_as = "UKLLMSWWIK",
 	resists = { [DamageType.COLD] = 60, [DamageType.LIGHTNING] = 20, },
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	resolvers.drops{chance=100, nb=1, {defined="TRIDENT_TIDES", autoreq=true} },
+	resolvers.drops{chance=100, nb=1, {defined="TRIDENT_TIDES", random_art_replace={chance=50, rarity=250, level_range={30, 40}}, autoreq=true} },
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
 	resolvers.drops{chance=100, nb=10, {type="money"} },
 
diff --git a/game/modules/tome/data/zones/gorbat-pride/npcs.lua b/game/modules/tome/data/zones/gorbat-pride/npcs.lua
index 6e1e200d900415fb9fe27021d0f2b3da6452a057..fcfb5484c85db338ec4b8345a2a698c48c9f6360 100644
--- a/game/modules/tome/data/zones/gorbat-pride/npcs.lua
+++ b/game/modules/tome/data/zones/gorbat-pride/npcs.lua
@@ -49,7 +49,7 @@ newEntity{ base="BASE_NPC_ORC_GORBAT", define_as = "GORBAT",
 
 	resolvers.equip{
 		{type="weapon", subtype="greatmaul", ego_change=100, autoreq=true},
-		{type="armor", subtype="light", defined="CHROMATIC_HARNESS", autoreq=true},
+		{type="armor", subtype="light", defined="CHROMATIC_HARNESS", random_art_replace={chance=75, rarity=250, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=1, {defined="ORB_DRAGON"} },
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/grushnak-pride/npcs.lua b/game/modules/tome/data/zones/grushnak-pride/npcs.lua
index ac2a439acadc0abd559c09ad88408b8191bbce22..5fa18ef828b7812dcb208bcd3582b76ef3d23c6d 100644
--- a/game/modules/tome/data/zones/grushnak-pride/npcs.lua
+++ b/game/modules/tome/data/zones/grushnak-pride/npcs.lua
@@ -55,7 +55,7 @@ newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "GRUSHNAK",
 --		Commented because this can generate rings of invis or amulets of telepathy and drain the life of the boss
 --		{type="jewelry", subtype="amulet", ego_chance=100, autoreq=true},
 --		{type="jewelry", subtype="ring", ego_chance=100, autoreq=true},
-		{type="jewelry", subtype="ring", defined="PRIDE_GLORY", autoreq=true},
+		{type="jewelry", subtype="ring", defined="PRIDE_GLORY", random_art_replace={chance=75, rarity=250, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=1, {defined="ORB_DESTRUCTION"} },
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/maze/npcs.lua b/game/modules/tome/data/zones/maze/npcs.lua
index 9f8f7d1111b3f8d49e24f1121f8ca3985cfdf840..e69167929fc9fd42607ace36ba8d08dc6b2de7d6 100644
--- a/game/modules/tome/data/zones/maze/npcs.lua
+++ b/game/modules/tome/data/zones/maze/npcs.lua
@@ -50,7 +50,7 @@ newEntity{ define_as = "MINOTAUR_MAZE",
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1, },
 	resolvers.equip{
 		{type="weapon", subtype="battleaxe", autoreq=true},
-		{type="armor", subtype="head", defined="HELM_OF_HAMMERHAND", autoreq=true},
+		{type="armor", subtype="head", defined="HELM_OF_HAMMERHAND", random_art_replace={chance=75, rarity=200, level_range={12, 22}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
 
@@ -87,7 +87,7 @@ newEntity{ base = "BASE_NPC_SPIDER", define_as = "NIMISIL",
 	instakill_immune = 1,
 
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
-	resolvers.drops{chance=100, nb=1, {defined="LUNAR_SHIELD"} },
+	resolvers.drops{chance=100, nb=1, {defined="LUNAR_SHIELD", random_art_replace={chance=75, rarity=220, level_range={40, 50}}} },
 
 	combat_armor = 25, combat_def = 33,
 
diff --git a/game/modules/tome/data/zones/old-forest/npcs.lua b/game/modules/tome/data/zones/old-forest/npcs.lua
index e7ee4603722a54c0882046ee97c8add9073d848c..6f28db77d8330c9caf04100efd91557fa35918ca 100644
--- a/game/modules/tome/data/zones/old-forest/npcs.lua
+++ b/game/modules/tome/data/zones/old-forest/npcs.lua
@@ -55,7 +55,7 @@ newEntity{ define_as = "OLD_MAN_WILLOW",
 	resists = { [DamageType.FIRE] = -50 },
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	equipment = resolvers.equip{ {type="armor", subtype="shield", defined="OLD_MAN_WILLOW_SHIELD", autoreq=true}, },
+	equipment = resolvers.equip{ {type="armor", subtype="shield", defined="OLD_MAN_WILLOW_SHIELD", random_art_replace={chance=75, rarity=200, level_range={10, 20}}, autoreq=true}, },
 	drops = resolvers.drops{chance=100, nb=5, {ego_chance=100} },
 
 	resolvers.talents{
diff --git a/game/modules/tome/data/zones/rak-shor-pride/npcs.lua b/game/modules/tome/data/zones/rak-shor-pride/npcs.lua
index 3a51bfb656334ea8e4dbd1db283b7e9407f251c2..c164698cf6e08ee92ba8220b400b986eaa4186c7 100644
--- a/game/modules/tome/data/zones/rak-shor-pride/npcs.lua
+++ b/game/modules/tome/data/zones/rak-shor-pride/npcs.lua
@@ -52,7 +52,7 @@ newEntity{ base="BASE_NPC_ORC_RAK_SHOR", define_as = "RAK_SHOR",
 
 	resolvers.equip{
 		{type="weapon", subtype="staff", ego_change=100, autoreq=true},
-		{type="armor", subtype="cloth", defined="BLACK_ROBE", autoreq=true},
+		{type="armor", subtype="cloth", defined="BLACK_ROBE", random_art_replace={chance=75, rarity=250, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=20, nb=1, {defined="JEWELER_TOME"} },
 	resolvers.drops{chance=100, nb=1, {defined="ORB_UNDEATH"} },
diff --git a/game/modules/tome/data/zones/reknor/npcs.lua b/game/modules/tome/data/zones/reknor/npcs.lua
index 26fd58c3b882cc87cd9d2dad71a8fca2ee60bca3..cdcab34dd602349180c16fd0f8a64fe36941cc4c 100644
--- a/game/modules/tome/data/zones/reknor/npcs.lua
+++ b/game/modules/tome/data/zones/reknor/npcs.lua
@@ -167,7 +167,7 @@ newEntity{ define_as = "LITHFENGEL", -- Lord of Ash; backup guardian
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
 	resolvers.equip{
-		{type="weapon", subtype="waraxe", defined="MALEDICTION", autoreq=true},
+		{type="weapon", subtype="waraxe", defined="MALEDICTION", random_art_replace={chance=75, rarity=200, level_range={35, 45}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=4, {ego_chance=100} },
 	resolvers.drops{chance=100, nb=1, {defined="ATHAME_WEST"} },
diff --git a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
index 650646f8f62db991be7750807decda0413cdb555..6b7a9057603c50d46d2457308fd37f5f66f36ab2 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
@@ -48,7 +48,7 @@ newEntity{ define_as = "SHADE",
 	move_others=true,
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_KOR", autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
+	equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_KOR", random_art_replace={chance=75, rarity=150, level_range={1, 10}}, autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
 	drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 
 	resolvers.talents{
@@ -98,7 +98,7 @@ newEntity{ define_as = "KOR_FURY",
 	resolvers.equip{
 		{type="weapon", subtype="staff", ego_chance=100, autoreq=true},
 		{type="armor", subtype="light", autoreq=true},
-		{type="jewelry", subtype="amulet", defined="VOX", autoreq=true},
+		{type="jewelry", subtype="amulet", defined="VOX", random_art_replace={chance=75, rarity=220, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 
diff --git a/game/modules/tome/data/zones/telmur/npcs.lua b/game/modules/tome/data/zones/telmur/npcs.lua
index 23a21d4b521021318115648c801ca58842243715..24a2bff5e545ac98568dabb748a92fe38c3d91ad 100644
--- a/game/modules/tome/data/zones/telmur/npcs.lua
+++ b/game/modules/tome/data/zones/telmur/npcs.lua
@@ -58,7 +58,7 @@ newEntity{ define_as = "SHADE_OF_TELOS",
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, },
 	resolvers.equip{
-		{type="weapon", subtype="staff", defined="TELOS_TOP_HALF", autoreq=true},
+		{type="weapon", subtype="staff", defined="TELOS_TOP_HALF", random_art_replace={chance=75, rarity=190, level_range={40, 50}}, autoreq=true},
 		{type="weapon", subtype="staff", defined="TELOS_BOTTOM_HALF", autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=2, {type="wand"} },
diff --git a/game/modules/tome/data/zones/tol-falas/npcs.lua b/game/modules/tome/data/zones/tol-falas/npcs.lua
index 398550c583791830cf2aaabb62ed4b548d187f1a..52d8cd8e5a999d2d4089c46af067d320bc845433 100644
--- a/game/modules/tome/data/zones/tol-falas/npcs.lua
+++ b/game/modules/tome/data/zones/tol-falas/npcs.lua
@@ -51,7 +51,7 @@ newEntity{ define_as = "THE_MASTER",
 	equipment = resolvers.equip{
 		{type="weapon", subtype="greatsword", ego_chance=100, autoreq=true},
 		{type="armor", subtype="heavy", ego_chance=50, autoreq=true},
-		{type="jewelry", subtype="amulet", defined="AMULET_DREAD", autoreq=true},
+		{type="jewelry", subtype="amulet", defined="AMULET_DREAD", random_art_replace={chance=75, rarity=210, level_range={25, 35}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
 	resolvers.drops{chance=100, nb=1, {type="weapon", subtype="staff", defined="STAFF_ABSORPTION"} },
@@ -127,7 +127,7 @@ newEntity{ define_as = "PALE_DRAKE",
 		{type="armor", subtype="cloth", ego_chance=50, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
-	resolvers.drops{chance=100, nb=1, {defined="RUNED_SKULL"} },
+	resolvers.drops{chance=100, nb=1, {defined="RUNED_SKULL", random_art_replace={chance=75, rarity=250, level_range={40, 50}}} },
 
 	summon = {
 		{type="undead", subtype="bone giant", special_rarity="bonegiant_rarity", number=2, hasxp=true},
diff --git a/game/modules/tome/data/zones/trollshaws/npcs.lua b/game/modules/tome/data/zones/trollshaws/npcs.lua
index 31b6b46c213e972e11704b413cab47d2df12ecff..4bcb402075f09bd84914879ed42f3b7fe41f1ea9 100644
--- a/game/modules/tome/data/zones/trollshaws/npcs.lua
+++ b/game/modules/tome/data/zones/trollshaws/npcs.lua
@@ -49,8 +49,8 @@ newEntity{ define_as = "TROLL_BILL",
 	move_others=true,
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	equipment = resolvers.equip{ {type="weapon", subtype="greatmaul", defined="GREATMAUL_BILL_TRUNK", autoreq=true}, },
-	drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
+	resolvers.equip{ {type="weapon", subtype="greatmaul", defined="GREATMAUL_BILL_TRUNK", random_art_replace={chance=75, rarity=150, level_range={1, 10}}, autoreq=true}, },
+	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 
 	resolvers.talents{
 		[Talents.T_STUN]=2,
@@ -87,7 +87,7 @@ newEntity{ define_as = "ALUIN",
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
 	resolvers.equip{
 		{type="weapon", subtype="waraxe", ego_chance=100, autoreq=true},
-		{type="armor", subtype="shield", defined="SANGUINE_SHIELD", autoreq=true},
+		{type="armor", subtype="shield", defined="SANGUINE_SHIELD", random_art_replace={chance=65, rarity=220, level_range={35, 45}}, autoreq=true},
 		{type="armor", subtype="massive", ego_chance=100, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/valley-moon/npcs.lua b/game/modules/tome/data/zones/valley-moon/npcs.lua
index 7ededba6492d888534014236678b1d08dcfe1380..853c5b4ef76434a5c96a28a00745e87bb4f558c4 100644
--- a/game/modules/tome/data/zones/valley-moon/npcs.lua
+++ b/game/modules/tome/data/zones/valley-moon/npcs.lua
@@ -45,7 +45,7 @@ newEntity{ define_as = "CORRUPTED_BALROG",
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
 	resolvers.equip{
-		{type="weapon", subtype="whip", defined="WHIP_GOTHMOG", autoreq=true},
+		{type="weapon", subtype="whip", defined="WHIP_GOTHMOG", random_art_replace={chance=75, rarity=290, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 
diff --git a/game/modules/tome/data/zones/vor-armoury/npcs.lua b/game/modules/tome/data/zones/vor-armoury/npcs.lua
index 8e8a2c4b1a75e502f67b365fea247f8ec16a32da..808e49afc8ff497ddeee7b8582a117ea8d0b9998 100644
--- a/game/modules/tome/data/zones/vor-armoury/npcs.lua
+++ b/game/modules/tome/data/zones/vor-armoury/npcs.lua
@@ -52,7 +52,7 @@ newEntity{ base="BASE_NPC_ORC_GRUSHNAK", define_as = "GNARG",
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1, HEAD=1 },
 
 	resolvers.equip{
-		{type="weapon", subtype="greatsword", defined="MURDERBLADE", autoreq=true},
+		{type="weapon", subtype="greatsword", defined="MURDERBLADE", random_art_replace={chance=75, rarity=250, level_range={35, 45}}, autoreq=true},
 		{type="armor", subtype="massive", ego_change=100, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=5, {ego_chance=100} },
diff --git a/game/modules/tome/data/zones/vor-pride/npcs.lua b/game/modules/tome/data/zones/vor-pride/npcs.lua
index 17808f721272dbc2f474fbe72a99ead60d0d9a55..b888b232efff8a903b5356918f90773945c0f829 100644
--- a/game/modules/tome/data/zones/vor-pride/npcs.lua
+++ b/game/modules/tome/data/zones/vor-pride/npcs.lua
@@ -47,7 +47,7 @@ newEntity{ base="BASE_NPC_ORC_VOR", define_as = "VOR",
 	resolvers.equip{
 		{type="weapon", subtype="staff", ego_change=100, autoreq=true},
 		{type="armor", subtype="cloth", ego_change=100, autoreq=true},
-		{type="armor", subtype="head", defined="CROWN_ELEMENTS", autoreq=true},
+		{type="armor", subtype="head", defined="CROWN_ELEMENTS", random_art_replace={chance=75, rarity=250, level_range={40, 50}}, autoreq=true},
 	},
 	resolvers.drops{chance=100, nb=1, {defined="ORB_ELEMENTS"} },
 	resolvers.drops{chance=20, nb=1, {defined="JEWELER_TOME"} },
diff --git a/game/modules/tome/resolvers.lua b/game/modules/tome/resolvers.lua
index 00f3c6eb9572ac61ecd77627c9bf2f34bd914040..9e81fe55dff95d0dfd918e3a64a95c7f74d7c904 100644
--- a/game/modules/tome/resolvers.lua
+++ b/game/modules/tome/resolvers.lua
@@ -56,6 +56,10 @@ function resolvers.calc.equip(t, e)
 			game.zone:addEntity(game.level, o, "object")
 
 			if t[1].id then o:identify(t[1].id) end
+
+			if filter.random_art_replace then
+				o.__special_boss_drop = filter.random_art_replace
+			end
 		end
 	end
 	-- Delete the origin field
@@ -115,6 +119,10 @@ function resolvers.calc.drops(t, e)
 			game.zone:addEntity(game.level, o, "object")
 
 			if t.id then o:identify(t.id) end
+
+			if filter.random_art_replace then
+				o.__special_boss_drop = filter.random_art_replace
+			end
 		end
 	end
 	-- Delete the origin field