diff --git a/game/modules/tome/data/chats/mage-apprentice-quest.lua b/game/modules/tome/data/chats/mage-apprentice-quest.lua
index f5ea4825b9ec7ce8f5e75a372ccbf6a14ccdb8d3..daf9e9cdaafeac5c78019c5f5db55b3af4e51336 100644
--- a/game/modules/tome/data/chats/mage-apprentice-quest.lua
+++ b/game/modules/tome/data/chats/mage-apprentice-quest.lua
@@ -28,9 +28,9 @@ Good day to you, fellow traveler!]],
 			action=function(npc, player, dialog) player:hasQuest("mage-apprentice"):collect_staff(npc, player, dialog) end
 		},
 		{"I found this staff; it looks powerful. Maybe it would be enough?",
-			jump="angmar_fall",
-			cond=function(npc, player) return player:hasQuest("mage-apprentice") and player:hasQuest("mage-apprentice"):can_offer_angmar(player) end,
-			action=function(npc, player, dialog) player:hasQuest("mage-apprentice"):collect_staff_angmar(player, dialog) end
+			jump="kor_fall",
+			cond=function(npc, player) return player:hasQuest("mage-apprentice") and player:hasQuest("mage-apprentice"):can_offer_kor(player) end,
+			action=function(npc, player, dialog) player:hasQuest("mage-apprentice"):collect_staff_kor(player, dialog) end
 		},
 		-- Reward for non-mages: access to Angolwen
 		{"So you have enough magical items now?",
@@ -80,7 +80,7 @@ In any case, I must collect 15 magic staves, rings or amulets and I have yet to
 	}
 }
 
-newChat{ id="angmar_fall",
+newChat{ id="kor_fall",
 	text = [[Let me examine it.
 Oh yes, my friend, this is indeed a powerful staff! I think that it alone should suffice to complete my quest! Many thanks!]],
 	answers = {
diff --git a/game/modules/tome/data/maps/zones/ruins-kor-pul-last.lua b/game/modules/tome/data/maps/zones/ruins-kor-pul-last.lua
index 51dc8439b2623966649242e4a490c7311431767e..21c6b7e5ad195dbd42a95a50b19c6768cc7d5cf4 100644
--- a/game/modules/tome/data/maps/zones/ruins-kor-pul-last.lua
+++ b/game/modules/tome/data/maps/zones/ruins-kor-pul-last.lua
@@ -20,7 +20,7 @@
 defineTile('.', "FLOOR")
 defineTile('#', "WALL")
 defineTile('+', "DOOR")
-defineTile('s', "FLOOR", nil, "SHADE_OF_ANGMAR")
+defineTile('s', "FLOOR", nil, "SHADE")
 
 subGenerator{
 	x = 0, y = 0, w = 50, h = 43,
diff --git a/game/modules/tome/data/quests/mage-apprentice.lua b/game/modules/tome/data/quests/mage-apprentice.lua
index e62c01fbb04722fa1df3e52a7972b701dafb2d81..5cf39ca185f59cc441ff840deee6b50693ce3feb 100644
--- a/game/modules/tome/data/quests/mage-apprentice.lua
+++ b/game/modules/tome/data/quests/mage-apprentice.lua
@@ -43,7 +43,7 @@ end
 
 collect_staff = function(self, npc, who, dialog)
 	who:showEquipInven("Offer which item?",
-		function(o) return (o.type == "weapon" and o.subtype == "staff" and (not o.define_as or o.define_as ~= "STAFF_ANGMAR")) or (o.type == "jewelry" and o.subtype == "ring") or (o.type == "jewelry" and o.subtype == "amulet") end,
+		function(o) return (o.type == "weapon" and o.subtype == "staff" and (not o.define_as or o.define_as ~= "STAFF_KOR")) or (o.type == "jewelry" and o.subtype == "ring") or (o.type == "jewelry" and o.subtype == "amulet") end,
 		function(o, inven, item)
 			-- Special handling for the staff of absorption
 			if o.define_as and o.define_as == "STAFF_ABSORPTION" then
@@ -70,14 +70,14 @@ can_offer = function(self, who)
 
 	for inven_id, inven in pairs(who.inven) do
 		for item, o in ipairs(inven) do
-			if (o.type == "weapon" and o.subtype == "staff" and (not o.define_as or o.define_as ~= "STAFF_ANGMAR")) or (o.type == "jewelry" and o.subtype == "ring") or (o.type == "jewelry" and o.subtype == "amulet") then return true end
+			if (o.type == "weapon" and o.subtype == "staff" and (not o.define_as or o.define_as ~= "STAFF_KOR")) or (o.type == "jewelry" and o.subtype == "ring") or (o.type == "jewelry" and o.subtype == "amulet") then return true end
 		end
 	end
 end
 
-collect_staff_angmar = function(self, who, dialog)
+collect_staff_kor = function(self, who, dialog)
 	who:showEquipInven("Offer which item?",
-		function(o) return o.type == "weapon" and o.subtype == "staff" and o.define_as == "STAFF_ANGMAR" end,
+		function(o) return o.type == "weapon" and o.subtype == "staff" and o.define_as == "STAFF_KOR" end,
 		function(o, inven, item)
 			self.nb_collect = self.nb_collect + 15
 			if self.nb_collect >= 15 then who:setQuestStatus(self, self.COMPLETED) end
@@ -90,14 +90,14 @@ collect_staff_angmar = function(self, who, dialog)
 	)
 end
 
-can_offer_angmar = function(self, who)
+can_offer_kor = function(self, who)
 	if self.nb_collect >= 15 then return end
 	-- Only works after mages are unlocked
 --	if not profile.mod.allow_build.mage then return end
 
 	for inven_id, inven in pairs(who.inven) do
 		for item, o in ipairs(inven) do
-			if o.type == "weapon" and o.subtype == "staff" and o.define_as == "STAFF_ANGMAR" then return true end
+			if o.type == "weapon" and o.subtype == "staff" and o.define_as == "STAFF_KOR" then return true end
 		end
 	end
 end
diff --git a/game/modules/tome/data/zones/illusory-castle/objects.lua b/game/modules/tome/data/zones/illusory-castle/objects.lua
index c973437d72da407f81a74687763a7ddc984deaa3..65f98bf33c61178bc90f13bd340df44d5a495abe 100644
--- a/game/modules/tome/data/zones/illusory-castle/objects.lua
+++ b/game/modules/tome/data/zones/illusory-castle/objects.lua
@@ -18,23 +18,3 @@
 -- darkgod@te4.org
 
 load("/data/general/objects/objects-far-east.lua")
-
--- Artifact, droped (and used!) by the Shade of Angmar
-newEntity{ base = "BASE_STAFF",
-	define_as = "STAFF_ANGMAR", rarity=false,
-	name = "Angmar's Fall", unique=true,
-	desc = [[Made from the bones of of many creatures this staff glows with power. You can feel its evilness as you touch it.]],
-	require = { stat = { mag=25 }, },
-	cost = 5,
-	combat = {
-		dam = 10,
-		apr = 0,
-		physcrit = 1.5,
-		dammod = {mag=1.1},
-	},
-	wielder = {
-		see_invisible = 2,
-		combat_spellpower = 15,
-		combat_spellcrit = 8,
-	},
-}
diff --git a/game/modules/tome/data/zones/illusory-castle/zone.lua b/game/modules/tome/data/zones/illusory-castle/zone.lua
index 397a6b34885f634e628accd708d22c3f86d8f1a3..b457b3d0d4bd4e0bc43952bb0bb42765d527d1ca 100644
--- a/game/modules/tome/data/zones/illusory-castle/zone.lua
+++ b/game/modules/tome/data/zones/illusory-castle/zone.lua
@@ -47,7 +47,6 @@ return {
 			class = "engine.generator.actor.Random",
 --			nb_npc = {20*5, 20*5},
 			nb_npc = {0, 0},
---			guardian = "SHADE_OF_ANGMAR", -- The gardian is set in the static map
 		},
 		object = {
 			class = "engine.generator.object.Random",
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 fcd914604d21be9a1ce8a0ecea1352fdf3aefaec..626239a59ddb54f655253d62a69dd0bff105a6a3 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/npcs.lua
@@ -28,9 +28,9 @@ load("/data/general/npcs/all.lua", rarity(4, 35))
 local Talents = require("engine.interface.ActorTalents")
 
 -- The boss of Amon Sul, no "rarity" field means it will not be randomly generated
-newEntity{ define_as = "SHADE_OF_ANGMAR",
+newEntity{ define_as = "SHADE",
 	type = "undead", subtype = "skeleton", unique = true,
-	name = "The Shade of Angmar",
+	name = "The Shade",
 	display = "s", color=colors.VIOLET,
 	shader = "unique_glow",
 	desc = [[This skeleton looks nasty. There is red flames in its empty eye sockets. It wield a nasty sword and towers toward you, throwing spells.]],
@@ -48,7 +48,7 @@ newEntity{ define_as = "SHADE_OF_ANGMAR",
 	move_others=true,
 
 	body = { INVEN = 10, MAINHAND=1, OFFHAND=1, BODY=1 },
-	equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_ANGMAR", autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
+	equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_KOR", autoreq=true}, {type="armor", subtype="light", autoreq=true}, },
 	drops = resolvers.drops{chance=100, nb=3, {ego_chance=100} },
 
 	resolvers.talents{
@@ -60,15 +60,15 @@ newEntity{ define_as = "SHADE_OF_ANGMAR",
 	ai = "dumb_talented_simple", ai_state = { talent_in=4, ai_move="move_astar" },
 
 	on_die = function(self, who)
-		game.state:activateBackupGuardian("ANGMAR_FURY", 5, 35, ".. yes I tell you! The old ruins opf Kor'Pul are still haunted!")
+		game.state:activateBackupGuardian("KOR_FURY", 5, 35, ".. yes I tell you! The old ruins opf Kor'Pul are still haunted!")
 		game.player:resolveSource():setQuestStatus("start-dunadan", engine.Quest.COMPLETED, "kor-pul")
 	end,
 }
 
 -- The boss of Amon Sul, no "rarity" field means it will not be randomly generated
-newEntity{ define_as = "ANGMAR_FURY",
+newEntity{ define_as = "KOR_FURY",
 	type = "undead", subtype = "ghost", unique = true,
-	name = "Angmar's Fury",
+	name = "Kor's Fury",
 	display = "G", color=colors.VIOLET,
 	desc = [[The shade's colossal will keeps it anchored to this world, now as a vengeful, insane spirit.]],
 	level_range = {38, nil}, exp_worth = 3,
diff --git a/game/modules/tome/data/zones/ruins-kor-pul/objects.lua b/game/modules/tome/data/zones/ruins-kor-pul/objects.lua
index f93ee8fdd8936bb2492bc28a4d69f7503b3226ea..011289877f3618baa993fc3af35f44607c3cfb7f 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/objects.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/objects.lua
@@ -19,10 +19,10 @@
 
 load("/data/general/objects/objects.lua")
 
--- Artifact, droped (and used!) by the Shade of Angmar
+-- Artifact, droped (and used!) by the Shade
 newEntity{ base = "BASE_STAFF",
-	define_as = "STAFF_ANGMAR", rarity=false,
-	name = "Angmar's Fall", unique=true,
+	define_as = "STAFF_KOR", rarity=false,
+	name = "Kor's Fall", unique=true,
 	desc = [[Made from the bones of of many creatures this staff glows with power. You can feel its evilness as you touch it.]],
 	require = { stat = { mag=25 }, },
 	cost = 5,
diff --git a/game/modules/tome/data/zones/ruins-kor-pul/zone.lua b/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
index a4c03dcd0c8333df623d90b659ca4b43e81fa62b..014c482abcbe810d18955e49da91a3a829efc310 100644
--- a/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
+++ b/game/modules/tome/data/zones/ruins-kor-pul/zone.lua
@@ -46,7 +46,7 @@ return {
 			class = "engine.generator.actor.Random",
 			nb_npc = {20, 30},
 			filters = { {max_ood=2}, },
---			guardian = "SHADE_OF_ANGMAR", -- The gardian is set in the static map
+--			guardian = "SHADE", -- The gardian is set in the static map
 		},
 		object = {
 			class = "engine.generator.object.Random",