diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 7ddf358eabc003f7b41570f837e492a7d7b647b9..5696dd9b71f80c563836659214f7d8a51e2570e1 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -1561,29 +1561,33 @@ function _M:onTakeHit(value, src)
 
 	if self:attr("damage_shield") then
 		-- Phased attack?
-		if src and src:attr("damage_shield_penetrate") then
-			local adjusted_value = value * (1 - (util.bound(src.damage_shield_penetrate, 0, 100) / 100))
-			self.damage_shield_absorb = self.damage_shield_absorb or 0
-			if adjusted_value <= self.damage_shield_absorb then
-				self.damage_shield_absorb = self.damage_shield_absorb - adjusted_value
-				value = value - adjusted_value
-			else
-				adjusted_value = adjusted_value - self.damage_shield_absorb
-				value = value + adjusted_value
-				self.damage_shield_absorb = 0
-			end
+		local adjusted_value = value
+		if src and src.attr and src:attr("damage_shield_penetrate") then
+			adjusted_value = value * (1 - (util.bound(src.damage_shield_penetrate, 0, 100) / 100))
+		end
+
+		-- Shield Reflect?
+		local reflection, reflect_damage = false, 0
+		if self:attr("damage_shield_reflect") then
+			reflection = true
+		end
+		-- Absorb damage into the shield
+		self.damage_shield_absorb = self.damage_shield_absorb or 0
+		if adjusted_value <= self.damage_shield_absorb then
+			self.damage_shield_absorb = self.damage_shield_absorb - adjusted_value
+			if reflection then reflect_damage = adjusted_value end
+			value = value - adjusted_value
 		else
-			-- Absorb damage into the shield
-			self.damage_shield_absorb = self.damage_shield_absorb or 0
-			if value <= self.damage_shield_absorb then
-				self.damage_shield_absorb = self.damage_shield_absorb - value
-				value = 0
-			else
-				value = value - self.damage_shield_absorb
-				self.damage_shield_absorb = 0
-			end
+			if reflection then reflect_damage = self.damage_shield_absorb end
+			value = adjusted_value - self.damage_shield_absorb
+			self.damage_shield_absorb = 0
 		end
-
+	
+		if reflection and reflect_damage > 0 then 
+			src:takeHit(math.ceil(reflect_damage * (self:attr("damage_shield_reflect")/100)), self)
+			game.logSeen(self, "The damage shield reflects %d damage back to %s!", math.ceil(reflect_damage * (self:attr("damage_shield_reflect")/100)),src.name:capitalize())
+		end
+		
 		-- If we are at the end of the capacity, release the time shield damage
 		if self.damage_shield_absorb <= 0 then
 			game.logPlayer(self, "Your shield crumbles under the damage!")
diff --git a/game/modules/tome/data/general/npcs/bone-giant.lua b/game/modules/tome/data/general/npcs/bone-giant.lua
index ca53f983cd52dec96a74f1c28d119f9dbaee9dca..42cd6f1bdf134f32cfc55e0c46128dd2e4e2c537 100644
--- a/game/modules/tome/data/general/npcs/bone-giant.lua
+++ b/game/modules/tome/data/general/npcs/bone-giant.lua
@@ -137,10 +137,11 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", define_as = "HEAVY_SENTINEL",
 	life_rating = 28,
 	
 	combat_atk=30,
+	combat_spellpower=15,
 	
 	stats = { str=28, dex=60, mag=20, con=20 },
 	
-		equipment = resolvers.equip{ {type="weapon", subtype="staff", defined="STAFF_MOLTEN", random_art_replace={chance=75}, autoreq=true, force_drop=true}, {type="armor", subtype="light", autoreq=true}, },
+	combat = { dam=resolvers.levelup(60, 1, 2), atk=resolvers.levelup(70, 1, 1), apr=20, dammod={str=1.2}, damtype=engine.DamageType.FIRE, convert_damage={[engine.DamageType.PHYSICAL]=50}},
 	
 	melee_project = {[DamageType.FIRE]=resolvers.mbonus(15, 25)},
 	on_melee_hit = {[DamageType.FIRE]=resolvers.mbonus(15, 5)},
@@ -165,4 +166,5 @@ newEntity{ base = "BASE_NPC_BONE_GIANT", define_as = "HEAVY_SENTINEL",
 	},
 	resolvers.sustains_at_birth(),
 	resolvers.drops{chance=100, nb=3, {tome_drops="boss"} },
+	resolvers.drops{chance=100, nb=1, {defined="ARMOR_MOLTEN"} },
 }
diff --git a/game/modules/tome/data/general/npcs/ghoul.lua b/game/modules/tome/data/general/npcs/ghoul.lua
index 3ef2d68e2c8d501bfe0693e7da2410e784b32c73..0da250aa18c0835827c1d2122062c936704d93ae 100644
--- a/game/modules/tome/data/general/npcs/ghoul.lua
+++ b/game/modules/tome/data/general/npcs/ghoul.lua
@@ -165,9 +165,10 @@ newEntity{ base = "BASE_NPC_GHOUL", define_as = "ROTTING_TITAN",
 
 	combat_atk=40,
 	combat_spellpower=25,
+	
+	disarm_immune=1, --Since disarming him would be, well, DISARMING him.
 
 	on_move = function(self)
-		self:project({type="ball", range=0, selffire=false, radius=1}, self.x, self.y, engine.DamageType.DIG, 1)
 			if rng.percent(20) then
 				game.logSeen(self, "The ground shakes as %s steps!", self.name:capitalize())
 				local tg = {type="ball", range=0, selffire=false, radius=3, no_restrict=true}
@@ -175,8 +176,8 @@ newEntity{ base = "BASE_NPC_GHOUL", define_as = "ROTTING_TITAN",
 				self:project(tg, self.x, self.y, DamageType.PHYSKNOCKBACK, {dam=24, dist=1})
 				self:doQuake(tg, self.x, self.y)
 		end
+		self:project({type="ball", range=0, selffire=false, radius=1}, self.x, self.y, engine.DamageType.DIG, 1)
 	end,
-
 	knockback_immune=1,
 
 	resolvers.talents{
diff --git a/game/modules/tome/data/general/npcs/horror.lua b/game/modules/tome/data/general/npcs/horror.lua
index bb79d34e25fff3dc1ff714b8ce5d8f99bd993640..940879cd257cc225fe939224c6b3103365073952 100644
--- a/game/modules/tome/data/general/npcs/horror.lua
+++ b/game/modules/tome/data/general/npcs/horror.lua
@@ -735,3 +735,178 @@ newEntity{ base="BASE_NPC_HORROR", define_as = "GRGGLCK_TENTACLE",
 		end
 	end,
 }
+
+
+--MUHUHAHAHAHAHAHA
+newEntity{ base = "BASE_NPC_HORROR",
+	name = "Ak'Gishil", color=colors.GREY, unique = true,
+	desc = "This blade horror has grown in power dramatically, and become a nexus of temporal energy. Rifts in space open around it constantly, summoning and banishing blades before vanishing as quickly as they appear.",
+	level_range = {30, nil}, exp_worth = 1,
+	rarity = 55,
+	rank = 3.5,
+	levitate=1,
+	max_psi= 300,
+	psi_regen= 4,
+	size_category = 4,
+	autolevel = "wildcaster",
+	max_life = resolvers.rngavg(130, 160),
+	life_rating = 30,
+	life_regen = 0.25,
+	combat_armor = 25, combat_def = 15,
+	is_akgishil = true,
+	
+	resolvers.drops{chance=100, nb=1, {defined="BLADE_RIFT"} },
+	
+		ai = "tactical", ai_state = { ai_move="move_dmap", talent_in=2, ally_compassion=0 },
+		
+	on_melee_hit = {[DamageType.PHYSICALBLEED]=resolvers.mbonus(30, 4)},
+	combat = { dam=resolvers.levelup(resolvers.rngavg(20,28), 1, 1.5), physspeed = 0.25,atk=resolvers.levelup(24, 1.2, 1.2), apr=4, dammod={wil=0.3, cun=0.15}, damtype=engine.DamageType.PHYSICALBLEED, },
+	--combat_physspeed = 4, --Crazy fast attack rate
+	
+	resists = {[DamageType.PHYSICAL] = 15, [DamageType.MIND] = 50, [DamageType.TEMPORAL] = 30, [DamageType.ARCANE] = -20},
+	
+	on_added_to_level = function(self)
+		self.blades = 0
+	end,
+
+	on_act = function(self)
+		if self.blades > 2 or not rng.percent(20) then return end
+		self.blades = self.blades + 1
+			self:forceUseTalent(Talents.T_ANIMATE_BLADE, {ignore_cd=true, force_level=1})
+	end,
+	
+	resolvers.talents{
+		--Original Blade Horror talents, beefed up
+		[Talents.T_KNIFE_STORM]={base=5, every=5, max=8},
+		[Talents.T_BIND]={base=2, every=6, max=5},
+		[Talents.T_RAZOR_KNIFE]={base=3, every=4, max=7},
+		[Talents.T_PSIONIC_PULL]={base=5, every=3, max=7},
+		[Talents.T_KINETIC_AURA]={base=3, every=3, max=8},
+		[Talents.T_KINETIC_SHIELD]={base=3, every=2, max=9},
+		[Talents.T_KINETIC_LEECH]={base=2, every=3, max=5},
+		--TEMPORAL
+		[Talents.T_STATIC_HISTORY]={base=1, every=4, max=5},
+		[Talents.T_QUANTUM_SPIKE]={base=1, every=4, max=5},
+		[Talents.T_WEAPON_FOLDING]={base=1, every=4, max=5},
+		[Talents.T_RETHREAD]={base=2, every=4, max=5},
+		[Talents.T_DIMENSIONAL_STEP]={base=3, every=4, max=5},
+	},
+	resolvers.sustains_at_birth(),
+}
+
+newEntity{ base="BASE_NPC_HORROR", define_as = "ANIMATED_BLADE",
+	type = "construct", subtype = "weapon", image="object/sword_dsteel.png",
+	name = "Animated Sword",
+	color = colors.GREY,
+	desc = [[Time seems to warp and bend around this floating weapon.]],
+	level_range = {30, nil}, exp_worth = 0,
+	max_life = 80, life_rating = 3,
+	rank = 2,
+	no_breath = 1,
+	size_category = 2,
+
+	negative_status_immune = 1,
+	
+	resolvers.equip{
+		{type="weapon", subtype="longsword", ego_chance = 100, autoreq=true},
+	},
+	
+	resists = {[DamageType.MIND] = 75, [DamageType.TEMPORAL] = 30,},
+
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { talent_in=3, ai_move="move_astar" },
+	
+	resolvers.talents{
+		[Talents.T_SWAP]={base=1, every=4, max=4},
+		[Talents.T_WEAPONS_MASTERY]={base=4, every=4, max=6},
+		[Talents.T_DIMENSIONAL_STEP]={base=1, every=4, max=4},
+	},
+	
+	on_added_to_level = function(self)
+		self:teleportRandom(self.x, self.y, 3)
+		game.logSeen(self, "A rift opens, spawning a free floating blade!")
+		game.level.map:addEffect(self,
+			self.x, self.y, 3,
+			DamageType.TEMPORAL, 25,
+			0,
+			5, nil,
+			{type="time_prison"},
+			nil, false
+		)
+	end,
+	
+	on_die = function(self, who)
+		if self.summoner and not self.summoner:attr("dead") then
+			if self.summoner.is_akgishil then
+				self.summoner.blades=self.summoner.blades - 1
+			end
+		end
+	end,
+
+	on_act = function(self)
+		if self.summoner:attr("dead") then
+			self:die()
+			game.logSeen(self, "#AQUAMARINE#With the horror's death the blade clatters to the ground!")
+		end
+	end,
+}
+
+newEntity{ base="BASE_NPC_HORROR", define_as = "DISTORTED_BLADE",
+	type = "construct", subtype = "weapon", --image="object/artifact/distorted_blade.png",
+	name = "Distorted Animated Sword", unique=true,
+	color = colors.GREY,
+	desc = [[Time seems to collapse around this floating weapon.]],
+	level_range = {30, nil}, exp_worth = 0,
+	max_life = 80, life_rating = 5,
+	rank = 3.5,
+	no_breath = 1,
+	size_category = 2,
+
+	negative_status_immune = 1,
+	
+	resolvers.equip{
+		{type="weapon", subtype="longsword", define_as="RIFT_SWORD", autoreq=true},
+	},
+	
+	resolvers.drops{chance=100, nb=1, {defined="RIFT_SWORD"} },
+	
+	resists = {[DamageType.MIND] = 75, [DamageType.TEMPORAL] = 40,},
+
+	autolevel = "warrior",
+	ai = "dumb_talented_simple", ai_state = { talent_in=3, ai_move="move_astar" },
+	
+	resolvers.talents{
+		[Talents.T_SWAP]={base=1, every=4, max=4},
+		[Talents.T_WEAPONS_MASTERY]={base=4, every=4, max=6},
+		[Talents.T_DIMENSIONAL_STEP]={base=2, every=4, max=5},
+	},
+	
+	on_added_to_level = function(self)
+		self:teleportRandom(self.x, self.y, 3)
+		game.logSeen(self, "When the rift opens, you see a blade quickly emerge. It does not look like the others.")
+		game.level.map:addEffect(self,
+			self.x, self.y, 5,
+			DamageType.TEMPORAL, 50,
+			0,
+			5, nil,
+			{type="time_prison"},
+			nil, false
+		)
+	end,
+	
+	on_die = function(self, who)
+		if self.summoner and not self.summoner:attr("dead") then
+			if self.summoner.is_akgishil then
+				self.summoner.blades=self.summoner.blades - 1
+			end
+		end
+	end,
+
+	on_act = function(self)
+		if self.summoner:attr("dead") then
+			self:die()
+			game.logSeen(self, "#AQUAMARINE#With the horror's death the chaotic blade clatters to the ground!")
+		end
+	end,
+}
+
diff --git a/game/modules/tome/data/general/npcs/major-demon.lua b/game/modules/tome/data/general/npcs/major-demon.lua
index b4d476301cf7e8fe522247afc2b18360371dbca5..984f40bedebce29838fb0957656999ec6f50ca14 100644
--- a/game/modules/tome/data/general/npcs/major-demon.lua
+++ b/game/modules/tome/data/general/npcs/major-demon.lua
@@ -280,7 +280,7 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON",
 }
 
 newEntity{ base = "BASE_NPC_MAJOR_DEMON",
-	name = "General of Urh'Rok", --Give actual name?
+	name = "Khulmanar, General of Urh'Rok",
 	color=colors.DARK_RED, unique=true,
 	resolvers.nice_tile{image="invis.png", add_mos = {{image="npc/demon_major_general_of_urh_rok.png", display_h=2, display_y=-1}}},
 	desc = [[This massive form, sheathed in dark flames, stands tall above a legion of lesser demons. In his hands he holds a massive blacked battleaxe, flames dancing around the blades.]],
@@ -296,7 +296,7 @@ newEntity{ base = "BASE_NPC_MAJOR_DEMON",
 
 	ai = "tactical",
 
-	resolvers.equip{ {type="weapon", subtype="battleaxe", defined="HELLFIRE", random_art_replace={chance=30}, autoreq=true, force_drop=true}, },
+	resolvers.equip{ {type="weapon", subtype="battleaxe", defined="KHULMANAR_WRATH", random_art_replace={chance=30}, autoreq=true, force_drop=true}, },
 
 	resists={[DamageType.PHYSICAL] = resolvers.mbonus(8, 8), [DamageType.FIRE] = 100},
 	on_melee_hit = {[DamageType.FIRE]=resolvers.mbonus(25, 25)},
diff --git a/game/modules/tome/data/general/npcs/troll.lua b/game/modules/tome/data/general/npcs/troll.lua
index 7ae8d4ad2b6ff6d6e6c3812ac68ecd6d0d2f7870..6aa84d1097ce7e0c0317bea26b85a4d721c32e45 100644
--- a/game/modules/tome/data/general/npcs/troll.lua
+++ b/game/modules/tome/data/general/npcs/troll.lua
@@ -144,3 +144,35 @@ newEntity{ base = "BASE_NPC_TROLL",
 	},
 	resolvers.sustains_at_birth(),
 }
+
+newEntity{ base = "BASE_NPC_TROLL", unique=true,
+	name = "Forest Troll Hedge-Wizard", color=colors.YELLOW_GREEN, image="npc/troll_f.png",
+	desc = [[This old looking troll glares at you with malice. His muscles appear atrophied, but a certain power surrounds him nonetheless.]],
+	level_range = {3, nil}, exp_worth = 2,
+	rank=3.5,
+	rarity = 40,
+	max_life = resolvers.rngavg(50,70),
+	life_rating=18,
+	combat_armor = 4, combat_def = 0,
+	
+	resolvers.tmasteries{ ["spell/arcane"]=-0.8, ["spell/aegis"]=0.4,["spell/fire"]=-0.8, },
+	autolevel = "caster",
+	stats = { str=8, dex=8, mag=20, con=12, cun=12, },
+	ai = "tactical",
+	
+	on_added_to_level = function(self)
+		self.inc_damage={[DamageType.FIRE]=math.min(self.level*2,50),}
+	end,
+	
+	resolvers.talents{
+		[Talents.T_SHIELDING]={base=1, every=5, max=5},
+		[Talents.T_MANATHRUST]={base=1, every=1, max=50},
+		[Talents.T_FLAME]={base=1, every=2, max=15},
+	},
+	
+	resolvers.sustains_at_birth(),
+	
+	resolvers.inscription("RUNE:_REFLECTION_SHIELD", {cooldown=14,}),
+	resolvers.drops{chance=100, nb=1, {defined="RUNE_REFLECT"} },
+	resolvers.drops{chance=100, nb=1, {tome_drops="boss"} },
+}
diff --git a/game/modules/tome/data/general/objects/boss-artifacts.lua b/game/modules/tome/data/general/objects/boss-artifacts.lua
index 609395cb97529f16aebe9f245e34a0f9fb4a938b..dbd7b36cf79a3351440f1f3f27be23e7d6593419 100644
--- a/game/modules/tome/data/general/objects/boss-artifacts.lua
+++ b/game/modules/tome/data/general/objects/boss-artifacts.lua
@@ -1267,7 +1267,7 @@ It has been kept somewhat intact with layers of salt and clay, but in spite of t
 newEntity{ base = "BASE_LONGBOW",
 	power_source = {arcane=true},
 	define_as = "STORM_FURY",
-	name = "Storm Fury", unique=true,
+	name = "Storm Fury", unique=true, --THESE
 	unided_name = "crackling longbow", color=colors.BLUE,
 	desc = [[This dragonbone longbow is enhanced with bands of steel, which arc with intense lightning. Bolts travel up and down the string, ignorant of you.]],
 	require = { stat = { dex=60 }, },
@@ -1337,7 +1337,7 @@ newEntity{ base = "BASE_LONGBOW",
 newEntity{ base = "BASE_CLOAK", define_as="GLACIAL_CLOAK",
 	power_source = {arcane=true},
 	unique = true,
-	name = "Frozen Shroud", image="object/artifact/cloak_winds_whisper.png",
+	name = "Frozen Shroud", --ARTIFACTS
 	unided_name = "chilling cloak",
 	desc = [[All that remains of the Glacial Legion. This cloak seems to exude an icy cold vapor that freezes all it touches.]],
 	level_range = {40, 50},
@@ -1382,7 +1382,7 @@ newEntity{ base = "BASE_CLOAK", define_as="GLACIAL_CLOAK",
 newEntity{ base = "BASE_GREATMAUL", define_as="ROTTING_MAUL",
 	power_source = {arcane=true},
 	unique = true,
-	name = "Blighted Maul", color = colors.LIGHT_RED, image = "object/artifact/voratun_hammer_of_the_deep_bellow.png",
+	name = "Blighted Maul", color = colors.LIGHT_RED, --NEED
 	unided_name = "rotten stone limb",
 	desc = [[The massive stone limb of the Rotting Titan, a mass of stone and rotting flesh. You think you can lift it, but it is very heavy.]],
 	level_range = {40, 50},
@@ -1425,54 +1425,57 @@ newEntity{ base = "BASE_GREATMAUL", define_as="ROTTING_MAUL",
 		end
 	},
 }
---Molten Staff, dropped by Heavy Sentinel.
-newEntity{ base = "BASE_STAFF",
+--Molten Skin, dropped by Heavy Sentinel.
+newEntity{ base = "BASE_LIGHT_ARMOR",
 	power_source = {arcane=true},
-	define_as = "STAFF_MOLTEN", rarity=false,
-	unided_name = "melting bone",
-	name = "Molten Staff", unique=true,
-	desc = [[This staff of fused molten bone from the Heavy Sentinel radiates intense heat. It still glows red with the heat of the Sentinel's core.]],
+	define_as = "ARMOR_MOLTEN", rarity=false,
+	unided_name = "melting bony armour",
+	name = "Molten Skin", unique=true,
+	desc = [[This mass of fused molten bone from the Heavy Sentinel radiates intense power. It still glows red with the heat of the Sentinel's core, and yet seems to do you no harm.]],
 	require = { stat = { mag=60 }, },
 	level_range = {40, 50},
 	rarity = 250,
 	cost = 300,
 	material_level=5,
-	combat = {
-		dam = 60,
-		apr = 6,
-		physcrit = 5,
-		dammod = {mag=1.35},
-		damtype = DamageType.FIREBURN,
-	},
 	wielder = {
-		combat_spellpower = 20,
+		combat_spellpower = 15,
 		combat_spellcrit = 10,
-		inc_damage={
+		combat_physcrit = 8,
+		combat_critical_power = 20,
+		combat_def = 15,
+		combat_armor = 12,
+		inc_stats = { [Stats.STAT_MAG] = 6,[Stats.STAT_CUN] = 6,},
+		melee_project={[DamageType.FIRE] = 30,},
+ 		inc_damage={
+			[DamageType.FIRE] = 25,
+			[DamageType.LIGHT] = 10,
+			all=5,
+ 		},
+ 		resists={
 			[DamageType.FIRE] = 20,
-		},
-		resists={
-			[DamageType.FIRE] = 24,
-			[DamageType.COLD] = -10,
-		},
-		resists_pen={
-			[DamageType.FIRE] = 10,
-		},
-		talents_types_mastery = {
-			["spell/fire"] = 0.1,
-			["spell/wildfire"] = 0.1,
-		},
-	},
-	max_power = 6, power_regen = 1,
-	use_talent = { id = Talents.T_FLAME, level = 5, power = 5 },
-	talent_on_spell = { {chance=20, talent="T_FLAME", level=2} },
+			[DamageType.LIGHT] = 12,
+			[DamageType.COLD] = -5,
+ 		},
+ 		resists_pen={
+			[DamageType.FIRE] = 15,
+			[DamageType.LIGHT] = 10,
+ 		},
+ 		talents_types_mastery = {
+ 			["spell/fire"] = 0.1,
+ 			["spell/wildfire"] = 0.1,
+			["celestial/sun"] = 0.1,
+ 		},
+	},
+	max_power = 16, power_regen = 1,
+	use_talent = { id = Talents.T_BLASTWAVE, level = 4, power = 12 },
 }
 
 newEntity{ base = "BASE_BATTLEAXE",
 	power_source = {arcane=true},
-	define_as = "HELLFIRE",
-	name = "Hellfire", color = colors.DARK_RED, image = "object/artifact/hellfire.png",
+	define_as = "KHULMANAR_WRATH",
+	name = "Khulmanar's Wrath", color = colors.DARK_RED, image = "object/artifact/hellfire.png",
 	unided_name = "firey blackened battleaxe", unique = true,
-	desc = [[Blackened with soot and covered in spikes, this battleaxe roars with the flames of the Fearscape. Given by Urh'Rok himself to his greatest commanders, this powerful weapon can burn even the most resilient of foes.]],
+	desc = [[Blackened with soot and covered in spikes, this battleaxe roars with the flames of the Fearscape. Given by Urh'Rok himself to his general, this powerful weapon can burn even the most resilient of foes.]],
 	level_range = {37, 50},
 	rarity = 300,
 	require = { stat = { str=52 }, },
@@ -1501,3 +1504,81 @@ newEntity{ base = "BASE_BATTLEAXE",
 	max_power = 35, power_regen = 1,
 	use_talent = { id = Talents.T_INFERNAL_BREATH, level = 3, power = 35 },
 }
+
+newEntity{ base = "BASE_TOOL_MISC", image="object/temporal_instability.png",
+	power_source = {arcane=true, psionic=true},
+	define_as = "BLADE_RIFT",
+	unique = true,
+	name = "The Bladed Rift", color = colors.BLUE,
+	unided_name = "hole in space",
+	desc = [[Upon defeat, Ak'Gishil collapsed into this tiny rift. How it remains stable, you are unsure. If you focus, you think you can call forth a sword from it.]],
+	level_range = {30, 50},
+	rarity = 500,
+	cost = 500,
+	material_level = 4,
+	metallic = false,
+	wielder = {
+		combat_spellpower=5,
+		combat_mindpower=5,
+		on_melee_hit = {[DamageType.PHYSICALBLEED]=25},
+		resists={
+			[DamageType.TEMPORAL] 	= 15,
+		},
+		inc_damage={
+			[DamageType.TEMPORAL] 	= 10,
+			[DamageType.PHYSICAL] 	= 5,
+		},
+	},
+	max_power = 40, power_regen = 1,
+	use_talent = { id = Talents.T_ANIMATE_BLADE, level = 1, power = 40 },
+}
+
+newEntity{ base = "BASE_LONGSWORD", define_as = "RIFT_SWORD",
+	power_source = {arcane=true},
+	unique = true,
+	name = "Blade of Distorted Time", image = "object/artifact/sword_of_potential_futures.png",
+	unided_name = "time-warped sword",
+	desc = [[The remnants of a damaged timeline, this blade shifts and fades at random.]],
+	level_range = {30, 50},
+	rarity = nil, --Not random!
+	require = { stat = { str=44 }, },
+	cost = 300,
+	material_level = 4,
+	combat = {
+		dam = 40,
+		apr = 10,
+		physcrit = 8,
+		dammod = {str=0.8,mag=0.2},
+		convert_damage={[DamageType.TEMPORAL] = 20},
+		special_on_hit = {desc="20% to slow target", fct=function(combat, who, target)
+			if not rng.percent(20) then return end
+			local dam = (20 + who:getMag()/2)
+			local slow = (10 + who:getMag()/5)
+			who:project(target.x, target.y, engine.DamageType.CHRONOSLOW, {dam=dam, slow=slow})
+		end},
+	},
+	wielder = {
+		inc_damage={
+			[DamageType.TEMPORAL] = 12,
+			[DamageType.PHYSICAL] = 10,
+		},
+	},
+	max_power = 8, power_regen = 1,
+	use_talent = { id = Talents.T_RETHREAD, level = 2, power = 8 },
+}
+
+newEntity{ base = "BASE_RUNE", define_as = "RUNE_REFLECT",
+	name = "Rune of Reflection", unique=true,
+	desc = [[You can see your own image mirrored in the surface of this silvery rune.]],
+	unided_name = "shiny rune",
+	level_range = {5, 15},
+	rarity = 240,
+	cost = 100,
+	material_level = 3,
+
+	inscription_kind = "protect",
+	inscription_data = {
+		cooldown = 15,
+	},
+	inscription_talent = "RUNE:_REFLECTION_SHIELD",
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index c9dd2eb76a1392e075b54bad69a39cab9ad23557..4d11c0d9810e70e8f5b883bcae448bd463ba28ad 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -1320,7 +1320,6 @@ newEntity{ base = "BASE_GAUNTLETS",
 
 Finally The Scorpion was defeated by the alchemist Nessylia, who went to face the fiendish orc alone.  The captain pulled the elf towards him with a brutish cackle, but before he could batter the life from her flesh she tore off her robes, revealing eighty incendiary bombs strapped to her flesh.  With a spark from her fingers she triggered an explosion that could be seen for miles around.  To this day Nessylia is still remembered in song for the sacrifice of her immortal life to protect her people.]],
 	level_range = {20, 40},
-	disarm_immune = 0.4,
 	rarity = 300,
 	cost = 1000,
 	material_level = 3,
@@ -1329,15 +1328,16 @@ Finally The Scorpion was defeated by the alchemist Nessylia, who went to face th
 		inc_damage = { [DamageType.PHYSICAL] = 8 },
 		combat_armor = 4,
 		combat_def = 8,
+		disarm_immune = 0.4,
 		talents_types_mastery = { ["psionic/grip"] = 0.2, ["technique/grappling"] = 0.2},
 		combat = {
 			dam = 24,
 			apr = 10,
 			physcrit = 10,
-			physspeed = 0.2,
+			physspeed = 0.15,
 			dammod = {dex=0.4, str=-0.6, cun=0.4,},
 			damrange = 0.3,
-			talent_on_hit = { [Talents.T_BITE_POISON] = {level=1, chance=20} },
+			talent_on_hit = { [Talents.T_BITE_POISON] = {level=3, chance=20} },
 		},
 	},
 	max_power = 30, power_regen = 1,
@@ -2914,7 +2914,7 @@ newEntity{ base = "BASE_MINDSTAR",
 	unique = true,
 	name = "Amethyst of Sanctuary",
 	unided_name = "deep purple gem",
-	level_range = {28, 35},
+	level_range = {30, 38},
 	color=colors.AQUAMARINE, image = "object/artifact/amethyst_of_sanctuary.png",
 	rarity = 250,
 	desc = [[This bright violet gem exudes a calming, focusing force. Holding it, you feel protected against outside forces.]],
@@ -2950,16 +2950,16 @@ newEntity{ base = "BASE_STAFF",
 	name = "Sceptre of the Archlich",
 	flavor_name = "vilestaff",
 	unided_name = "bone carved sceptre",
-	level_range = {37, 50},
+	level_range = {30, 38},
 	color=colors.VIOLET, image = "object/artifact/sceptre_of_the_archlich.png",
 	rarity = 320,
 	desc = [[This sceptre, carved of ancient, blackened bone, holds a single gem of deep obsidian. You feel a dark power from deep within, looking to get out.]],
 	cost = 285,
-	material_level = 5,
+	material_level = 4,
 
-	require = { stat = { mag=52 }, },
+	require = { stat = { mag=40 }, },
 	combat = {
-		dam = 45,
+		dam = 40,
 		apr = 12,
 		dammod = {mag=1.3},
 		damtype = DamageType.DARKNESS,
@@ -2968,11 +2968,12 @@ newEntity{ base = "BASE_STAFF",
 		combat_spellpower = 28,
 		combat_spellcrit = 14,
 		inc_damage={
-			[DamageType.DARKNESS] 	= 18,
+			[DamageType.DARKNESS] = 26,
 		},
 		talents_types_mastery = {
-			["spell/necrosis"] = 0.2,
+			["celestial/star-fury"] = 0.2,
 			["spell/necrotic-minions"] = 0.2,
+			["spell/advanced-necrotic-minions"] = 0.1,
 		}
 	},
 	on_wear = function(self, who)
@@ -3069,27 +3070,29 @@ newEntity{ base = "BASE_STAFF",
 	material_level = 3,
 	require = { stat = { mag=35 }, },
 	combat = {
-		dam = 28,
+		dam = 30,
 		apr = 8,
 		dammod = {mag=1.3},
 		damtype = DamageType.GRAVITYPIN,
 	},
 	wielder = {
-		combat_spellpower = 18,
-		combat_spellcrit = 6,
+		combat_spellpower = 25,
+		combat_spellcrit = 7,
 		inc_damage={
-			[DamageType.PHYSICAL] 	= 14,
-			[DamageType.TEMPORAL] 	= 8,
+			[DamageType.PHYSICAL] 	= 18,
+			[DamageType.TEMPORAL] 	= 10,
 		},
 		resists={
-			[DamageType.PHYSICAL] 	= 10,
+			[DamageType.PHYSICAL] 	= 14,
 		},
 		talents_types_mastery = {
 			["chronomancy/gravity"] = 0.2,
+			["chronomancy/matter"] = 0.1,
+			["spell/earth"] = 0.1,
 		}
 	},
-	max_power = 35, power_regen = 1,
-	use_talent = { id = Talents.T_GRAVITY_SPIKE, level = 3, power = 35 },
+	max_power = 14, power_regen = 1,
+	use_talent = { id = Talents.T_GRAVITY_SPIKE, level = 3, power = 14 },
 }
 
 newEntity{ base = "BASE_MINDSTAR",
@@ -3102,6 +3105,7 @@ newEntity{ base = "BASE_MINDSTAR",
 	rarity = 280,
 	cost = 300,
 	material_level = 4,
+	sentient=true,
 	combat = {
 		dam = 16,
 		apr = 24,
@@ -3136,9 +3140,25 @@ newEntity{ base = "BASE_MINDSTAR",
 			["wild-gift/storm-drake"] = 0.1,
 		}
 	},
+	on_wear = function(self, who)
+		self.worn_by = who
+	end,
+	on_takeoff = function(self)
+		self.worn_by = nil
+	end,
+	act = function(self)
+		self:useEnergy()
+		self.power=self.power + 1
+		if not self.worn_by then return end
+		if game.level and not game.level:hasEntity(self.worn_by) and not self.worn_by.player then self.worn_by = nil return end
+		if self.worn_by:attr("dead") then return end
+		if not rng.percent(25)  then return end
+		self.use_talent.id=rng.table{ "T_FIRE_BREATH", "T_ICE_BREATH", "T_LIGHTNING_BREATH", "T_SAND_BREATH" }
+		game.logSeen(self.worn_by, "#GOLD#The %s shifts colour!", self.name:capitalize())
+	end,
 	max_power = 40, power_regen = 1,
-	use_power = { name = "release a random breath", power = 40,
-	use = function(self, who)
+	--[[use_power = { name = "release a random breath", power = 40,
+	use = function(self, who)	
 			local Talents = require "engine.interface.ActorTalents"
 			local breathe = rng.table{
 				{Talents.T_FIRE_BREATH},
@@ -3146,10 +3166,12 @@ newEntity{ base = "BASE_MINDSTAR",
 				{Talents.T_LIGHTNING_BREATH},
 				{Talents.T_SAND_BREATH},
 			}
+			
 			who:forceUseTalent(breathe[1], {ignore_cd=true, ignore_energy=true, force_level=4, ignore_ressources=true})
 			return {id=true, used=true}
 		end
-	},
+	},]]
+	use_talent = { id = rng.table{ Talents.T_FIRE_BREATH, Talents.T_ICE_BREATH, Talents.T_LIGHTNING_BREATH, Talents.T_SAND_BREATH }, level = 4, power = 40 }
 }
 
 newEntity{ base = "BASE_MINDSTAR",
@@ -3192,6 +3214,831 @@ newEntity{ base = "BASE_MINDSTAR",
 	use_talent = { id = Talents.T_RAGE, level = 4, power = 40 },
 }
 
+newEntity{ base = "BASE_HELM",
+	power_source = {arcane=true},
+	unique = true,
+	name = "Corrupted Gaze", image = "object/artifact/crown_of_command.png",
+	unided_name = "dark visored helm",
+	desc = [[This helmet radiates a dark power. Its visor seems to twist and corrupt the vision of its wearer. You should be careful to never lower it for long, lest the visions affect your mind.]],
+	require = { stat = { mag=16 } },
+	level_range = {28, 40},
+	rarity = 300,
+	cost = 300,
+	material_level = 4,
+	wielder = {
+		inc_stats = { [Stats.STAT_MAG] = 4, [Stats.STAT_WIL] = 3, [Stats.STAT_CUN] = 4,},
+		combat_def = 2,
+		combat_armor = 5,
+		fatigue = 3,
+		resists = { [DamageType.BLIGHT] = 8},
+		inc_damage = { [DamageType.BLIGHT] = 8},
+		resists_pen = { [DamageType.BLIGHT] = 10},
+		disease_immune=0.3,
+		talents_types_mastery = { ["corruption/vim"] = 0.1, },
+		combat_atk = 8,
+		see_invisible = 12,
+		see_stealth = 12,
+	},
+	max_power = 45, power_regen = 1,
+	use_talent = { id = Talents.T_VIMSENSE, level = 2, power = 45 },
+}
+
+newEntity{ base = "BASE_KNIFE",
+	power_source = {arcane=true},
+	unique = true,
+	name = "Umbral Razor", image = "object/artifact/dagger_silent_blade.png",
+	unided_name = "shadowy dagger",
+	desc = [[This dagger seems to be formed of pure shadows, with a strange miasma surrounding it.]],
+	level_range = {12, 25},
+	rarity = 200,
+	require = { stat = { dex=32 }, },
+	cost = 250,
+	material_level = 2,
+	combat = {
+		dam = 20,
+		apr = 10,
+		physcrit = 8,
+		dammod = {dex=0.45,str=0.35, mag=0.1},
+		convert_damage = {
+			[DamageType.DARKNESS] = 50,
+		},
+	},
+	wielder = {
+		inc_stealth=8,
+		resists = {[DamageType.DARKNESS] = 10,}
+	},
+}
+
+
+newEntity{ base = "BASE_LEATHER_BELT",
+	power_source = {technique=true},
+	unique = true,
+	name = "Emblem of Evasion", color = colors.GOLD,
+	unided_name = "gold coated emblem",
+	desc = [[Said to have belonged to a master of avoiding attacks, this gilded steel emblem symbolizes his talent.]],
+	level_range = {8, 18},
+	rarity = 200,
+	cost = 50,
+	material_level = 2,
+	wielder = {
+		inc_stats = { [Stats.STAT_LCK] = 2, [Stats.STAT_DEX] = 5, [Stats.STAT_CUN] = 3,},
+		slow_projectiles = 15,
+		combat_ranged_def = 5,
+	},
+}
+
+newEntity{ base = "BASE_LONGBOW",
+	power_source = {technique=true},
+	name = "Surefire", unided_name = "high-quality bow", unique=true, image = "object/artifact/thaloren_tree_longbow.png",
+	desc = [[This tightly strung bow appears to have been crafted by someone of considerable talent. When you pull the string, you feel incredible power behind it.]],
+	level_range = {5, 15},
+	rarity = 200,
+	require = { stat = { dex=18 }, },
+	cost = 20,
+	use_no_energy = true,
+	material_level = 1,
+	combat = {
+		range = 9,
+		physspeed = 0.75,
+		travel_speed = 2,
+	},
+	wielder = {
+		inc_damage={ [DamageType.PHYSICAL] = 6, },
+		inc_stats = { [Stats.STAT_DEX] = 3},
+		combat_atk=12,
+		combat_physcrit=5,
+		apr = 10,
+	},
+	max_power = 8, power_regen = 1,
+	use_talent = { id = Talents.T_STEADY_SHOT, level = 2, power = 8 },
+}
+
+newEntity{ base = "BASE_SHOT",
+	power_source = {arcane=true},
+	unique = true,
+	name = "Frozen Shards",
+	unided_name = "pouch of crystallized ice",
+	desc = [[In this dark blue pouch lay several small orbs of ice. A strange vapour surrounds them, and touching them chills you to the bone.]],
+	color = colors.BLUE,
+	level_range = {25, 40},
+	rarity = 300,
+	cost = 110,
+	material_level = 4,
+	require = { stat = { dex=28 }, },
+	combat = {
+		capacity = 6,
+		dam = 32,
+		apr = 15,
+		physcrit = 10,
+		dammod = {dex=0.7, cun=0.5},
+		damtype = DamageType.ICE,
+		special_on_hit = {desc="bursts into an icy cloud",on_kill=1, fct=function(combat, who, target)
+			local duration = 4
+			local radius = 1
+			local dam = (10 + who:getMag()/5 + who:getDex()/3)
+			game.level.map:particleEmitter(target.x, target.y, radius, "iceflash", {radius=radius})
+			-- Add a lasting map effect
+			game.level.map:addEffect(who,
+				target.x, target.y, duration,
+				engine.DamageType.ICE, dam,
+				radius,
+				5, nil,
+				{type="ice_vapour"},
+				function(e)
+					e.radius = e.radius
+					return true
+				end,
+				false
+			)
+		end},
+	},
+}
+
+newEntity{ base = "BASE_WHIP",
+	power_source = {arcane=true},
+	unided_name = "electrified whip",
+	name = "Stormlash", color=colors.BLUE, unique = true, image = "object/artifact/whip_scorpions_tail.png",
+	desc = [[This steel plated whip arcs with intense electricity. The force feels uncontrollable, explosive, powerful.]],
+	require = { stat = { dex=15 }, },
+	cost = 90,
+	rarity = 250,
+	level_range = {6, 15},
+	material_level = 1,
+	combat = {
+		dam = 13,
+		apr = 7,
+		physcrit = 5,
+		dammod = {dex=1},
+		convert_damage = {[DamageType.LIGHTNING] = 50,},
+	},
+	wielder = {
+		combat_atk = 6,
+	},
+	max_power = 10, power_regen = 1,
+	use_power = { name = "strike an enemy in range 3, releasing a burst of lightning", power = 10,
+		use = function(self, who)
+			local dam = 20 + who:getMag()/2 + who:getDex()/3
+			local tg = {type="bolt", range=3}
+			local blast = {type="ball", range=0, radius=1, selffire=false}
+			local x, y = who:getTarget(tg)
+			if not x or not y then return nil end
+			local target = game.level.map(x, y, engine.Map.ACTOR)
+			if not target then return end
+			who:attackTarget(target, engine.DamageType.LIGHTNING, 1, true)
+			local _ _, x, y = who:canProject(tg, x, y)
+			game.level.map:particleEmitter(who.x, who.y, math.max(math.abs(x-who.x), math.abs(y-who.y)), "lightning", {tx=x-who.x, ty=y-who.y})
+			who:project(blast, x, y, engine.DamageType.LIGHTNING, rng.avg(dam / 3, dam, 3))
+			game.level.map:particleEmitter(x, y, radius, "ball_lightning", {radius=blast.radius})
+			game:playSoundNear(self, "talents/lightning")
+			game.logSeen(who, "%s strikes %s, sending out an arc of lightning!", who.name:capitalize(), target.name)
+			return {id=true, used=true}
+		end
+	},
+}
+
+newEntity{ base = "BASE_WHIP",
+	power_source = {psionic=true},
+	unided_name = "gemmed whip handle",
+	name = "Focus Whip", color=colors.YELLOW, unique = true,
+	desc = [[A small mindstar rests at top of this handle. As you touch it, a translucent cord appears, flicking with your will.]],
+	require = { stat = { dex=15 }, },
+	cost = 90,
+	rarity = 250,
+	level_range = {8, 18},
+	material_level = 2,
+	combat = {
+		dam = 13,
+		apr = 7,
+		physcrit = 5,
+		dammod = {dex=0.7, wil=0.2, cun=0.1},
+		wil_attack = true,
+		damtype=DamageType.MIND,
+	},
+	wielder = {
+		combat_mindpower = 10,
+		combat_mindcrit = 3,
+	},
+	max_power = 10, power_regen = 1,
+	use_power = { name = "strike all targets in a line", power = 10,
+		use = function(self, who)
+			local tg = {type="beam", range=4}
+			local x, y = who:getTarget(tg)
+			if not x or not y then return nil end
+			who:project(tg, x, y, function(px, py)
+				local target = game.level.map(px, py, engine.Map.ACTOR)
+				if not target then return end
+				who:attackTarget(target, engine.DamageType.MIND, 1, true)
+			end)
+			game.level.map:particleEmitter(who.x, who.y, tg.radius, "matter_beam", {tx=x-who.x, ty=y-who.y})
+			game:playSoundNear(self, "talents/lightning")
+			return {id=true, used=true}
+		end
+	},
+}
+
+newEntity{ base = "BASE_GREATSWORD",
+	power_source = {arcane=true, technique=true},
+	unique = true,
+	name = "Latafayn",
+	unided_name = "flame covered greatsword", image = "object/artifact/weapon_sword_genocide.png",
+	level_range = {32, 40},
+	color=colors.DARKRED,
+	rarity = 300,
+	desc = [[This massive, flame coated greatsword was stolen from a mighty demon countless years ago, by the hero Kestin Highfin. It constantly seeks to drain and incinerate.]],
+	cost = 400,
+	require = { stat = { str=40 }, },
+	material_level = 4,
+	combat = {
+		dam = 44,
+		apr = 5,
+		physcrit = 10,
+		dammod = {str=1.2},
+		convert_damage={[DamageType.FIREBURN] = 50,},
+		melee_project={[DamageType.DRAINLIFE] = 25},
+	},
+	wielder = {
+		resists = {
+			[DamageType.FIRE] = 15,
+		},
+		inc_damage = {
+			[DamageType.FIRE] = 15,
+			[DamageType.DARKNESS] = 10,
+		},
+		inc_stats = { [Stats.STAT_STR] = 5, [Stats.STAT_CUN] = 3 },
+	},
+	max_power = 25, power_regen = 1,
+	use_power = {name="accelerate burns, instantly inflicting 125% of all burn damage", power = 25, --wherein Pure copies Catalepsy
+	use=function(combat, who, target)
+		local tg = {type="ball", range=5, radius=1, selffire=false}
+		local x, y = who:getTarget(tg)
+		if not x or not y then return nil end
+
+		local source = nil
+		who:project(tg, x, y, function(px, py)
+			local target = game.level.map(px, py, engine.Map.ACTOR)
+			if not target then return end
+
+			-- List all diseases, I mean, burns
+			local burns = {}
+			for eff_id, p in pairs(target.tmp) do
+				local e = target.tempeffect_def[eff_id]
+				if e.subtype.fire and p.power and e.status == "detrimental" then
+					burns[#burns+1] = {id=eff_id, params=p}
+				end
+			end
+			-- Make them EXPLODE !!!
+			for i, d in ipairs(burns) do
+				target:removeEffect(d.id)
+				engine.DamageType:get(engine.DamageType.FIRE).projector(who, px, py, engine.DamageType.FIRE, d.params.power * d.params.dur * 1.25)
+			end
+			game.level.map:particleEmitter(target.x, target.y, 1, "ball_fire", {radius=1})
+		end)
+		game:playSoundNear(who, "talents/fireflash")
+		return {id=true, used=true}
+	end},
+}
+
+newEntity{ base = "BASE_CLOTH_ARMOR",
+	power_source = {psionic=true},
+	unique = true,
+	name = "Robe of Force", color = colors.YELLOW, image = "object/artifact/robe_spider_silk_robe_spydre.png",
+	unided_name = "rippling cloth robe",
+	desc = [[This thin cloth robe is surrounded by a think shroud of telekinetic forces.]],
+	level_range = {20, 28},
+	rarity = 190,
+	cost = 250,
+	material_level = 2,
+	wielder = {
+		combat_def = 12,
+		combat_armor = 8,
+		inc_stats = { [Stats.STAT_CUN] = 3, [Stats.STAT_WIL] = 4, },
+		combat_mindpower = 8,
+		combat_mindcrit = 4,
+		combat_physresist = 10,
+		inc_damage={[DamageType.PHYSICAL] = 5, [DamageType.MIND] = 5,},
+		resists_pen={[DamageType.PHYSICAL] = 10, [DamageType.MIND] = 10,},
+		resists={[DamageType.PHYSICAL] = 12, [DamageType.ACID] = 15,},
+	},
+	max_power = 10, power_regen = 1,
+	use_power = { name = "send out a beam of kinetic energy", power = 10,
+		use = function(self, who)
+			local dam = 15 + who:getWil()/3 + who:getCun()/3
+			local tg = {type="beam", range=5}
+			local x, y = who:getTarget(tg)	
+			if not x or not y then return nil end
+			who:project(tg, x, y, engine.DamageType.MINDKNOCKBACK, who:mindCrit(rng.avg(0.8*dam, dam)))
+			game.level.map:particleEmitter(who.x, who.y, tg.radius, "matter_beam", {tx=x-who.x, ty=y-who.y})
+			return {id=true, used=true}
+		end
+	},
+}
+
+newEntity{ base = "BASE_MINDSTAR",
+	power_source = {nature=true},
+	unique = true,
+	name = "Serpent's Glare",
+	unided_name = "venomous gemstone",
+	level_range = {1, 10},
+	color=colors.GREEN,
+	rarity = 180,
+	desc = [[A thick venom drips from this mindstar.]],
+	cost = 40,
+	require = { stat = { wil=12 }, },
+	material_level = 1,
+	combat = {
+		dam = 7,
+		apr = 15,
+		physcrit = 7,
+		dammod = {wil=0.30, cun=0.1},
+		damtype = DamageType.NATURE,
+		convert_damage={[DamageType.POISON] = 30,}
+	},
+	wielder = {
+		combat_mindpower = 10,
+		combat_mindcrit = 5,
+		poison_immune = 0.5,
+		resists = {
+			[DamageType.NATURE] = 10,
+		}
+	},
+}
+
+newEntity{ base = "BASE_LEATHER_CAP",
+	power_source = {psionic=true},
+	unique = true,
+	name = "The Inner Eye",
+	unided_name = "engraved marble eye",
+	level_range = {24, 32},
+	color=colors.WHITE,
+	encumber = 1,
+	rarity = 140,
+	sentient=true,
+	desc = [[This thick blindfold, with an embedded marble eye, is said to allow the wearer to sense beings around them, at the cost of physical sight. 
+You suspect the effects will require a moment to recover from.]],
+	cost = 200,
+	material_level=3,
+	wielder = {
+		combat_def=3,
+		esp_range=-3,
+		esp_all=1,
+		blind=1,
+		combat_mindpower=6,
+		combat_mindcrit=4,
+		blind_immune=1,
+		combat_mentalresist = 12,
+		resists = {[DamageType.LIGHT] = 10,},
+		resists_cap = {[DamageType.LIGHT] = 10,},
+		resists_pen = {all=5, [DamageType.MIND] = 10,}
+	},
+	act = function(self)
+		self:useEnergy()
+		if not self.worn_by then return end
+		if game.level and not game.level:hasEntity(self.worn_by) and not self.worn_by.player then self.worn_by=nil return end
+		if self.worn_by:attr("dead") then return end
+		self.worn_by:magicMap(1)
+	end,
+	on_wear = function(self, who)
+		self.worn_by = who
+		game.logPlayer(who, "#CRIMSON#Your eyesight fades!")
+		who:resetCanSeeCache()
+		if who.player then for uid, e in pairs(game.level.entities) do if e.x then game.level.map:updateMap(e.x, e.y) end end game.level.map.changed = true end
+	end,
+	on_takeoff = function(self, who)
+		self.worn_by = nil
+		game.logPlayer(who, "#CRIMSON#As you remove the eye, your mind feels unprotected!")
+	end,
+}
+
+newEntity{ base = "BASE_LONGSWORD", define_as="CORPUS",
+	power_source = {arcane=true, technique=true},
+	unique = true,
+	name = "Corpus", image = "object/artifact/sword_of_potential_futures.png",
+	unided_name = "bound sword",
+	desc = [[Thick straps encircle this blade. Jagged edges like teeth travel down the blade, bisecting it. It fights to overcome the straps, but lacks the strength.]],
+	level_range = {20, 30},
+	rarity = 250,
+	require = { stat = { str=40, }, },
+	cost = 300,
+	material_level = 4,
+	combat = {
+		dam = 40,
+		apr = 12,
+		physcrit = 4,
+		dammod = {str=1,},
+		melee_project={[DamageType.DRAINLIFE] = 18},
+		special_on_kill = {desc="grows dramatically in power", fct=function(combat, who, target)
+			local o, item, inven_id = who:findInAllInventoriesBy("define_as", "CORPUS")
+			if not o or not who:getInven(inven_id).worn then return end
+			who:onTakeoff(o, true)
+			o.combat.physcrit = (o.combat.physcrit or 0) + 2
+			o.wielder.combat_critical_power = (o.wielder.combat_critical_power or 0) + 4
+			who:onWear(o, true)
+			if not rng.percent(o.combat.physcrit*0.8) or o.combat.physcrit < 30 then return end
+			o.summon(o, who)
+		end},
+		special_on_crit = {desc="grows in power", fct=function(combat, who, target)
+			local o, item, inven_id = who:findInAllInventoriesBy("define_as", "CORPUS")
+			if not o or not who:getInven(inven_id).worn then return end
+			who:onTakeoff(o, true)
+			o.combat.physcrit = (o.combat.physcrit or 0) + 1
+			o.wielder.combat_critical_power = (o.wielder.combat_critical_power or 0) + 2
+			who:onWear(o, true)
+			if not rng.percent(o.combat.physcrit*0.8) or o.combat.physcrit < 30 then return end
+			o.summon(o, who)
+		end},
+	},
+	summon=function(o, who)
+		o.cut=nil
+		o.combat.physcrit=6
+		o.wielder.combat_critical_power = 0
+		game.logSeen(who, "Corpus bursts open, unleashing a horrific mass!")
+		local x, y = util.findFreeGrid(who.x, who.y, 5, true, {[engine.Map.ACTOR]=true})
+			local NPC = require "mod.class.NPC"
+			local m = NPC.new{
+				type = "horror", subtype = "eldritch",
+				display = "h",
+				name = "Vilespawn", color=colors.GREEN,
+				image="npc/horror_eldritch_oozing_horror.png",
+				desc = "This mass of putrid slime burst from Corpus, and seems intent to kill you.",
+				body = { INVEN = 10, MAINHAND=1, OFFHAND=1, },
+				rank = 3,
+				life_rating = 10, exp_worth = 0,
+				max_vim=200,
+				max_life = resolvers.rngavg(50,90),
+				infravision = 20,
+				autolevel = "dexmage",
+				ai = "summoned", ai_real = "tactical", ai_state = { talent_in=2, ally_compassion=0},
+				stats = { str=15, dex=18, mag=18, wil=15, con=10, cun=18 },
+				level_range = {10, nil}, exp_worth = 0,
+				silent_levelup = true,
+				combat_armor = 0, combat_def = 24,
+				combat = { dam=resolvers.rngavg(10,13), atk=15, apr=15, dammod={mag=0.5, dex=0.5}, damtype=engine.DamageType.BLIGHT, },
+
+				resists = { [engine.DamageType.BLIGHT] = 100, [engine.DamageType.NATURE] = -100, },
+
+				on_melee_hit = {[engine.DamageType.DRAINLIFE]=resolvers.mbonus(10, 30)},
+				melee_project = {[engine.DamageType.DRAINLIFE]=resolvers.mbonus(10, 30)},
+
+				resolvers.talents{
+					[who.T_DRAIN]={base=1, every=7, max = 10},
+					[who.T_SPIT_BLIGHT]={base=1, every=6, max = 9},
+					[who.T_VIRULENT_DISEASE]={base=1, every=9, max = 7},
+					[who.T_BLOOD_FURY]={base=1, every=8, max = 6},
+				},
+				resolvers.sustains_at_birth(),
+				faction = "enemies",
+			}
+
+			m:resolve()
+			
+			game.zone:addEntity(game.level, m, "actor", x, y)
+	end,
+	wielder = {
+		inc_damage={[DamageType.BLIGHT] = 5,},
+		combat_critical_power = 0,
+		cut_immune=-0.25,
+	},
+
+}
+
+newEntity{ base = "BASE_LONGSWORD",
+	power_source = {arcane=true, psionic=true},
+	unique = true,
+	name = "Anima", image = "object/artifact/sword_of_potential_futures.png", define_as = "ANIMA",
+	unided_name = "twisted blade",
+	desc = [[The eye on the hilt of this blade seems to glare at you, piercing your soul and mind. Tentacles surround the hilt, latching onto your hand.]],
+	level_range = {30, 40},
+	rarity = 250,
+	require = { stat = { str=32, wil=20, }, },
+	cost = 300,
+	material_level = 4,
+	combat = {
+		dam = 38,
+		apr = 20,
+		physcrit = 7,
+		dammod = {str=0.8,wil=0.2},
+		damage_convert = {[DamageType.MIND]=20,},
+		special_on_hit = {desc="torments the target with many mental effects", fct=function(combat, who, target)
+			if not who:checkHit(who:combatMindpower(), target:combatMentalResist()*0.9) then return end
+			target:setEffect(target.EFF_WEAKENED_MIND, 2, {power=18})
+			if not rng.percent(40) then return end
+			local eff = rng.table{"stun", "malign", "agony", "confusion", "silence",}
+			if not target:canBe(eff) then return end
+			if not who:checkHit(who:combatMindpower(), target:combatMentalResist()) then return end
+			if eff == "stun" then target:setEffect(target.EFF_MADNESS_STUNNED, 3, {})
+			elseif eff == "malign" then target:setEffect(target.EFF_MALIGNED, 3, {resistAllChange=10})
+			elseif eff == "agony" then target:setEffect(target.EFF_AGONY, 5, { source=who, damage=40, mindpower=40, range=10, minPercent=10, duration=5})
+			elseif eff == "confusion" then target:setEffect(target.EFF_CONFUSED, 3, {power=60})
+			elseif eff == "silence" then target:setEffect(target.EFF_SILENCED, 3, {})
+			end
+		end},
+		special_on_kill = {desc="reduces loss of mental save", fct=function(combat, who, target)
+			local o, item, inven_id = who:findInAllInventoriesBy("define_as", "ANIMA")
+			if not o or not who:getInven(inven_id).worn then return end
+			if o.wielder.combat_mentalresist >= 0 then return end
+			o.skipfunct=1
+			who:onTakeoff(o, true)
+			o.wielder.combat_mentalresist = (o.wielder.combat_mentalresist or 0) + 2
+			who:onWear(o, true)
+			o.skipfunct=nil
+		end},
+	},
+	wielder = {
+		combat_mindpower=8,
+		combat_mentalresist=-30,
+		inc_damage={
+			[DamageType.MIND] = 8,
+		},
+	},
+	sentient=true,
+	act = function(self)
+		self:useEnergy()
+		if not self.worn_by then return end
+		if game.level and not game.level:hasEntity(self.worn_by) and not self.worn_by.player then self.worn_by=nil return end
+		if self.worn_by:attr("dead") then return end
+		local who = self.worn_by
+			local blast = {type="ball", range=0, radius=2, selffire=false}
+			who:project(blast, who.x, who.y, function(px, py)
+				local target = game.level.map(px, py, engine.Map.ACTOR)
+				if not target then return end
+				if not rng.percent(20) then return end
+				if not who:checkHit(who:combatMindpower(), target:combatMentalResist()) then return end
+				target:setEffect(target.EFF_WEAKENED_MIND, 2, {power=5})
+				game.logSeen(who, "Anima's eye glares at %s, piercing their mind!", target.name:capitalize())
+			end)
+	end,
+	on_takeoff = function(self, who)
+		if self.skipfunct then return end
+		self.worn_by=nil
+		who:removeParticles(self.particle)
+		if self.wielder.combat_mentalresist == 0 then
+			game.logPlayer(who, "#CRIMSON#The tentacles release your arm, sated.")
+		else
+			game.logPlayer(who, "#CRIMSON#As you tear the tentacles from your arm, horrible images enter your mind!")
+			who:setEffect(who.EFF_WEAKENED_MIND, 15, {power=25})
+			who:setEffect(who.EFF_AGONY, 5, { source=who, damage=15, mindpower=40, range=10, minPercent=10, duration=5})
+		end
+		self.wielder.combat_mentalresist = -30
+	end,
+	on_wear = function(self, who)
+		if self.skipfunct then return end
+		self.particle = who:addParticles(engine.Particles.new("gloom", 1))
+		self.worn_by = who
+		game.logPlayer(who, "#CRIMSON#As you wield the sword, the tentacles on its hilt wrap around your arm. You feel the sword's will invading your mind!")
+	end,
+}
+
+newEntity{ base = "BASE_WHIP", define_as = "HYDRA_BITE",
+	slot_forbid = "OFFHAND",
+	twohanded=true,
+	power_source = {technique=true, nature=true},
+	unique = true,
+	name = "Hydra's Bite", color = colors.LIGHT_RED,
+	unided_name = "triple headed flail",
+	desc = [[This three headed stralite flail strikes with the power of a hydra. With each attack it lashes out, hitting everyone around you.]],
+	level_range = {32, 40},
+	rarity = 250,
+	require = { stat = { str=40 }, },
+	cost = 650,
+	material_level = 4,
+	running = 0, --For the on hit
+	combat = {
+		dam = 38,
+		apr = 7,
+		physcrit = 4,
+		dammod = {str=1.1},
+		convert_damage = {[DamageType.NATURE]=25,[DamageType.ACID]=25,[DamageType.LIGHTNING]=25},
+		special_on_hit = {desc="hit up to two adjacent enemies",on_kill=1, fct=function(combat, who, target)
+				local o, item, inven_id = who:findInAllInventoriesBy("define_as", "HYDRA_BITE")
+				if not o or not who:getInven(inven_id).worn then return end
+				local tgts = {}
+				local twohits=1
+				for _, c in pairs(util.adjacentCoords(who.x, who.y)) do
+				local targ = game.level.map(c[1], c[2], engine.Map.ACTOR)
+				if targ and targ ~= target and who:reactionToward(target) < 0 then tgts[#tgts+1] = targ end
+				end
+				if #tgts == 0 then return end
+					local target1 = rng.table(tgts)
+					local target2 = rng.table(tgts)
+					local tries = 0
+				while target1 == target2 and tries < 100 do
+					local target2 = rng.table(tgts)
+					tries = tries + 1
+				end
+				if o.running == 1 then return end
+				o.running = 1
+				if tries >= 100 or #tgts==1 then twohits=nil end
+				if twohits then
+					game.logSeen(who, "%s's three headed flail lashes at %s and %s!",who.name:capitalize(), target1.name:capitalize(),target2.name:capitalize())
+				else
+					game.logSeen(who, "%s's three headed flail lashes at %s!",who.name:capitalize(), target1.name:capitalize())
+				end
+				who:attackTarget(target1, engine.DamageType.PHYSICAL, 0.4,  true) 
+				if twohits then who:attackTarget(target2, engine.DamageType.PHYSICAL, 0.4,  true) end
+				o.running=0
+		end},
+	},
+	wielder = {
+		inc_damage={[DamageType.NATURE]=8,[DamageType.ACID]=8,[DamageType.LIGHTNING]=8,},
+		
+	},
+}
+
+newEntity{ base = "BASE_GAUNTLETS",
+	power_source = {technique=true, antimagic=true},
+	define_as = "GAUNTLETS_SPELLHUNT",
+	unique = true,
+	name = "Spellhunt Remnants", color = colors.GREY,
+	unided_name = "rusted voratun gauntlets",
+	desc = [[These once brilliant voratun gauntlets have fallen into a deep decay. Originally used in the spellhunt, it was often used to destroy arcane artifacts, curing the world of their influence.]],
+	level_range = {20, 40},
+	rarity = 300,
+	cost = 1000,
+	material_level = 1,
+	wielder = {
+		combat_mindpower=4,
+		combat_mindcrit=1,
+		combat_spellresist=4,
+		combat_def=1,
+		combat_armor=2,
+		learn_talent = {[Talents.T_WARD] = 1},
+		wards = {
+			[DamageType.ARCANE] = 1,
+			[DamageType.BLIGHT] = 1,
+		},
+		combat = {
+			dam = 12,
+			apr = 4,
+			physcrit = 3,
+			physspeed = 0.2,
+			dammod = {dex=0.4, str=-0.6, cun=0.4,},
+			damrange = 0.3,
+			melee_project={[DamageType.RANDOM_SILENCE] = 10},
+			talent_on_hit = { [Talents.T_DESTROY_MAGIC] = {level=1, chance=100} },
+		},
+	},
+	power_up= function(self, who, level)
+		local Stats = require "engine.interface.ActorStats"
+		local Talents = require "engine.interface.ActorTalents"
+		local DamageType = require "engine.DamageType"
+		who:onTakeoff(self, true)
+		self.wielder=nil
+		if level==2 then -- LEVEL 2
+		self.wielder={
+			combat_mindpower=6,
+			combat_mindcrit=2,
+			combat_spellresist=6,
+			combat_def=2,
+			combat_armor=3,
+			learn_talent = {[Talents.T_WARD] = 1},
+			wards = {
+				[DamageType.ARCANE] = 2,
+				[DamageType.BLIGHT] = 2,
+			},
+			combat = {
+				dam = 17,
+				apr = 8,
+				physcrit = 6,
+				physspeed = 0.2,
+				dammod = {dex=0.4, str=-0.6, cun=0.4,},
+				damrange = 0.3,
+				melee_project={[DamageType.RANDOM_SILENCE] = 12},
+				talent_on_hit = { [Talents.T_DESTROY_MAGIC] = {level=2, chance=100} },
+			},
+		}
+		elseif  level==3 then -- LEVEL 3
+		self.wielder={
+			combat_mindpower=8,
+			combat_mindcrit=3,
+			combat_spellresist=8,
+			combat_def=3,
+			combat_armor=4,
+			learn_talent = {[Talents.T_WARD] = 1},
+			wards = {
+				[DamageType.ARCANE] = 3,
+				[DamageType.BLIGHT] = 3,
+			},
+			combat = {
+				dam = 22,
+				apr = 12,
+				physcrit = 8,
+				physspeed = 0.2,
+				dammod = {dex=0.4, str=-0.6, cun=0.4,},
+				damrange = 0.3,
+				melee_project={[DamageType.RANDOM_SILENCE] = 15, [DamageType.MANABURN] = 20,},
+				talent_on_hit = { [Talents.T_DESTROY_MAGIC] = {level=3, chance=100} },
+			},
+		}
+		elseif  level==4 then -- LEVEL 4
+		self.wielder={
+			combat_mindpower=10,
+			combat_mindcrit=4,
+			combat_spellresist=10,
+			combat_def=4,
+			combat_armor=5,
+			learn_talent = {[Talents.T_WARD] = 1},
+			wards = {
+				[DamageType.ARCANE] = 4,
+				[DamageType.BLIGHT] = 4,
+			},
+			combat = {
+				dam = 27,
+				apr = 15,
+				physcrit = 10,
+				physspeed = 0.2,
+				dammod = {dex=0.4, str=-0.6, cun=0.4,},
+				damrange = 0.3,
+				melee_project={[DamageType.RANDOM_SILENCE] = 17, [DamageType.MANABURN] = 35,},
+				talent_on_hit = { [Talents.T_DESTROY_MAGIC] = {level=4, chance=100} },
+			},
+		}
+		elseif  level==5 then -- LEVEL 5
+		self.wielder={
+			combat_mindpower=12,
+			combat_mindcrit=5,
+			combat_spellresist=12,
+			combat_def=5,
+			combat_armor=6,
+			learn_talent = {[Talents.T_WARD] = 1},
+			wards = {
+				[DamageType.ARCANE] = 5,
+				[DamageType.BLIGHT] = 5,
+			},
+			combat = {
+				dam = 32,
+				apr = 18,
+				physcrit = 12,
+				physspeed = 0.2,
+				dammod = {dex=0.4, str=-0.6, cun=0.4,},
+				damrange = 0.3,
+				melee_project={[DamageType.RANDOM_SILENCE] = 20, [DamageType.MANABURN] = 50,},
+				talent_on_hit = { [Talents.T_DESTROY_MAGIC] = {level=5, chance=100} },
+			},
+		}
+		self.use_power.name = "destroy magic in a radius 5 cone"
+		self.use_power.power = 100
+		self.use_power.use= function(self,who)
+			local tg = {type="cone", range=0, radius=5}
+			local x, y = who:getTarget(tg)
+			if not x or not y then return nil end
+			who:project(tg, x, y, function(px, py)
+				local target = game.level.map(px, py, engine.Map.ACTOR)
+				if not target then return end
+				target:setEffect(target.EFF_SPELL_DISRUPTION, 10, {src=who, power = 50, max = 75, apply_power=who:combatMindpower()})
+				for i = 1, 2 do
+					local effs = {}
+					-- Go through all spell effects
+					for eff_id, p in pairs(target.tmp) do
+						local e = target.tempeffect_def[eff_id]
+						if e.type == "magical" then
+							effs[#effs+1] = {"effect", eff_id}
+						end
+					end
+					-- Go through all sustained spells
+					for tid, act in pairs(target.sustain_talents) do
+						if act then
+							local talent = target:getTalentFromId(tid)
+							if talent.is_spell then effs[#effs+1] = {"talent", tid} end
+						end
+					end				
+					local eff = rng.tableRemove(effs)
+					if eff then
+						if eff[1] == "effect" then
+						target:removeEffect(eff[2])
+						else
+							target:forceUseTalent(eff[2], {ignore_energy=true})
+						end
+					end
+				end
+				if target.undead or target.construct then
+					who.project(target.x,target.y,engine.DamageType.ARCANE,100+who:getMindpower())
+					if target:canBe("stun") then target:setEffect(target.EFF_STUNNED, 10, {apply_power=who:combatMindpower()}) end
+					game.logSeen(who, "%s's animating magic is disrupted by the burst of power!", who.name:capitalize())
+				end
+			end, nil, {type="slime"})
+			game:playSoundNear(who, "talents/breath")
+			end
+		end
+		
+		who:onWear(self, true)
+	end,
+	max_power = 150, power_regen = 1,
+	use_power = { name = "destroy an arcane item", power = 1, use = function(self, who, obj_inven, obj_item)
+		local d = who:showInventory("Destroy which item?", who:getInven("INVEN"), function(o) return o.unique and o.power_source.arcane and o.power_source.arcane and o.power_source.arcane == true and o.material_level and o.material_level > self.material_level end, function(o, item, inven)
+			if o.material_level <= self.material_level then return end
+			self.material_level=o.material_level
+			game.logPlayer(who, "You crush the %s, and the gloves take on an illustrious shine!", o:getName{do_color=true})
+
+			if not o then return end
+			who:removeObject(who:getInven("INVEN"), item)
+			who:sortInven(who:getInven("INVEN"))
+			
+			self.power_up(self, who, self.material_level)
+			
+			who.changed=true
+		end)
+	end },
+}
 
 --[=[
 newEntity{
diff --git a/game/modules/tome/data/talents/misc/horrors.lua b/game/modules/tome/data/talents/misc/horrors.lua
index 769a19432f81260a59cd352b2d1d00ae69dd99b9..5b5e202030f41526a5f4e5044c1895715cfce973 100644
--- a/game/modules/tome/data/talents/misc/horrors.lua
+++ b/game/modules/tome/data/talents/misc/horrors.lua
@@ -668,4 +668,53 @@ newTalent{
 		local duration = t.getDuration(self, t)
 		return ([[You extend slimy roots into the ground, follow them, and re-appear somewhere else in a range of %d with error margin of %d.]]):format(range, radius)
 	end,
+}
+
+
+--Ak'Gishil
+newTalent{
+	name = "Animate Blade",
+	type = {"spell/horror", 1},
+	cooldown = 1,
+	range = 10,
+	direct_hit = true,
+	tactical = { ATTACK = 2 },
+	action = function(self, t)
+		-- Find space
+		local x, y = util.findFreeGrid(self.x, self.y, 3, true, {[Map.ACTOR]=true})
+		if not x then
+			game.logPlayer(self, "Not enough space to invoke!")
+			return
+		end
+
+		-- Find an actor with that filter
+		local m = false
+		local list = mod.class.NPC:loadList("/data/general/npcs/horror.lua")
+		if self.is_akgishil and rng.percent(3) and not self.summoned_distort then
+			m = list.DISTORTED_BLADE:clone()
+			self.summoned_distort=1
+		else
+			m = list.ANIMATED_BLADE:clone()
+		end
+		if m then
+			m.exp_worth = 0
+			m:resolve()
+			m:resolve(nil, true)
+
+			m.summoner = self
+			m.summon_time = 1000
+			if not self.is_akgishil then
+				m.summon_time = 10
+				m.ai_real = m.ai
+				m.ai = "summoned"
+			end
+
+			game.zone:addEntity(game.level, m, "actor", x, y)
+		end
+
+		return true
+	end,
+	info = function(self, t)
+		return ([[Open a hole in space, summoning an animate blade for 10 turns.]])
+	end,
 }
\ No newline at end of file
diff --git a/game/modules/tome/data/talents/misc/inscriptions.lua b/game/modules/tome/data/talents/misc/inscriptions.lua
index dddfd414d02372c89ca7006decfb019f8df33ecf..3706209a49d01a68f4214654807e9fed8dbfc615 100644
--- a/game/modules/tome/data/talents/misc/inscriptions.lua
+++ b/game/modules/tome/data/talents/misc/inscriptions.lua
@@ -438,6 +438,32 @@ newInscription{
 	end,
 }
 
+newInscription{
+	name = "Rune: Reflection Shield", image = "talents/rune__shielding.png",
+	type = {"inscriptions/runes", 1},
+	points = 1,
+	is_spell = true,
+	allow_autocast = true,
+	no_energy = true,
+	tactical = { DEFEND = 2 },
+	on_pre_use = function(self, t)
+		return not self:hasEffect(self.EFF_DAMAGE_SHIELD)
+	end,
+	action = function(self, t)
+		local data = self:getInscriptionData(t.short_name)
+		self:setEffect(self.EFF_DAMAGE_SHIELD, 5, {power=100, reflect=100})
+		return true
+	end,
+	info = function(self, t)
+		local data = self:getInscriptionData(t.short_name)
+		return ([[Activate the rune to create a protective shield absorbing and reflecting at most %d damage for %d turns.]]):format(100, 5)
+	end,
+	short_info = function(self, t)
+		local data = self:getInscriptionData(t.short_name)
+		return ([[absorb and reflect %d for %d turns]]):format(100, 5)
+	end,
+}
+
 newInscription{
 	name = "Rune: Invisibility",
 	type = {"inscriptions/runes", 1},
@@ -744,9 +770,6 @@ newInscription{
 		local summoner = self
 		-- Store the current terrain
 		local terrain = game.level.map(target.x, target.y, engine.Map.TERRAIN)
-		-- Store target attributes as needed
-		local a = {}
-		a.life = target.life
 		-- Instability
 		local temporal_instability = mod.class.Object.new{
 			old_feat = game.level.map(target.x, target.y, engine.Map.TERRAIN),
@@ -755,6 +778,7 @@ newInscription{
 			temporary = t.getDuration(self, t),
 			canAct = false,
 			target = target,
+			back_life = target.life,
 			act = function(self)
 				self:useEnergy()
 				self.temporary = self.temporary - 1
@@ -764,7 +788,7 @@ newInscription{
 					game.level:removeEntity(self)
 					local mx, my = util.findFreeGrid(self.target.x, self.target.y, 20, true, {[engine.Map.ACTOR]=true})
 					game.zone:addEntity(game.level, self.target, "actor", mx, my)
-					self.target.life = a.life
+					self.target.life = self.back_life
 				end
 			end,
 			summoner_gain_exp = true,
diff --git a/game/modules/tome/data/talents/misc/objects.lua b/game/modules/tome/data/talents/misc/objects.lua
index 75ddb9984425bd9ff1fe3d4e6bc171e460f2f6ea..33bfa4f3b9c7bae42b8fbd6400cb61e89976b305 100644
--- a/game/modules/tome/data/talents/misc/objects.lua
+++ b/game/modules/tome/data/talents/misc/objects.lua
@@ -279,3 +279,67 @@ newTalent{
 		The life healed will increase with the Willpower stat.]]):format(7 + self:getWil() * 0.5)
 	end,
 }
+
+newTalent{
+	image = "talents/mana_clash.png",
+	name = "Destroy Magic",
+	type = {"wild-gift/objects", 1},
+	points = 5,
+	no_energy = true,
+	tactical = { ATTACK = { ARCANE = 3 } },
+	cooldown = function(self, t) return 50 end,
+	tactical = { HEAL = 2 },
+	target = function(self, t)
+		return {type="hit", range=1, talent=t}
+	end,
+	action = function(self, t)
+	self:getTalentLevel(t)
+		local tg = self:getTalentTarget(t)
+		local x, y, target = self:getTarget(tg)
+		if not x or not y then return nil end
+		self:project(tg, x, y, function(px, py)
+			target:setEffect(target.EFF_SPELL_DISRUPTION, 8, {src=self, power = 8, max = 45+self:getTalentLevel(t)*5, apply_power=self:combatMindpower()})
+			if rng.percent(30) and self:getTalentLevel(t)>2 then
+			
+			local effs = {}
+			
+			-- Go through all spell effects
+				for eff_id, p in pairs(target.tmp) do
+					local e = target.tempeffect_def[eff_id]
+					if e.type == "magical" then
+						effs[#effs+1] = {"effect", eff_id}
+					end
+				end
+			if self:getTalentLevel(t) > 3 then --only do sustains at level 3+
+				-- Go through all sustained spells
+				for tid, act in pairs(target.sustain_talents) do
+					if act then
+						local talent = target:getTalentFromId(tid)
+						if talent.is_spell then effs[#effs+1] = {"talent", tid} end
+					end
+				end	
+			end
+				local eff = rng.tableRemove(effs)
+				if eff then
+					if eff[1] == "effect" then
+						target:removeEffect(eff[2])
+					else
+						target:forceUseTalent(eff[2], {ignore_energy=true})
+					end
+				end
+			end
+				if self:getTalentLevel(t)>4 then
+					if target.undead or target.construct then
+						self.project(target.x,target.y,engine.DamageType.ARCANE,40+self:getMindpower())
+						if target:canBe("stun") then target:setEffect(target.EFF_STUNNED, 5, {apply_power=self:combatMindpower()}) end
+						game.logSeen(self, "%s's animating magic is disrupted!", target.name:capitalize())
+					end
+				end
+		end, nil, {type="slime"})
+		return true
+	end,
+	info = function(self, t)
+		return ([[Inflict various status effects on the target, depending on the level.]]):format(7 + self:getWil() * 0.5)
+	end,
+}
+
diff --git a/game/modules/tome/data/timed_effects/magical.lua b/game/modules/tome/data/timed_effects/magical.lua
index ccebc0abb22695e69dac503ff12172cac0290408..43534b24f6a8fd7ecd0f577aa79eaeb09ecd35ad 100644
--- a/game/modules/tome/data/timed_effects/magical.lua
+++ b/game/modules/tome/data/timed_effects/magical.lua
@@ -439,6 +439,7 @@ newEffect{
 		if self:attr("shield_factor") then eff.power = eff.power * (100 + self:attr("shield_factor")) / 100 end
 		if self:attr("shield_dur") then eff.dur = eff.dur + self:attr("shield_dur") end
 		eff.tmpid = self:addTemporaryValue("damage_shield", eff.power)
+		if eff.reflect then eff.refid = self:addTemporaryValue("damage_shield_reflect", eff.reflect) end
 		--- Warning there can be only one time shield active at once for an actor
 		self.damage_shield_absorb = eff.power
 		self.damage_shield_absorb_max = eff.power
@@ -447,6 +448,7 @@ newEffect{
 	deactivate = function(self, eff)
 		self:removeParticles(eff.particle)
 		self:removeTemporaryValue("damage_shield", eff.tmpid)
+		if eff.refid then self:removeTemporaryValue("damage_shield_reflect", eff.refid) end
 		self.damage_shield_absorb = nil
 		self.damage_shield_absorb_max = nil
 	end,