diff --git a/game/modules/tome/class/Object.lua b/game/modules/tome/class/Object.lua
index 4f2246839c9113e13fc6a372faa0da5ac1e654d0..83baec62ddcc779e7ab34277bfbca6ae9a0b263c 100644
--- a/game/modules/tome/class/Object.lua
+++ b/game/modules/tome/class/Object.lua
@@ -1585,6 +1585,7 @@ function _M:getTextualDesc(compare_with, use_actor)
 		compare_fields(w, compare_with, field, "mana_regen", "%+.2f", "Mana each turn: ")
 		compare_fields(w, compare_with, field, "hate_regen", "%+.2f", "Hate each turn: ")
 		compare_fields(w, compare_with, field, "psi_regen", "%+.2f", "Psi each turn: ")
+		compare_fields(w, compare_with, field, "equilibrium_regen", "%+.2f", "Equilibrium each turn: ", nil, true, true)
 		compare_fields(w, compare_with, field, "vim_regen", "%+.2f", "Vim each turn: ")
 		compare_fields(w, compare_with, field, "positive_regen_ref_mod", "%+.2f", "P.Energy each turn: ")
 		compare_fields(w, compare_with, field, "negative_regen_ref_mod", "%+.2f", "N.Energy each turn: ")
diff --git a/game/modules/tome/data/general/objects/world-artifacts.lua b/game/modules/tome/data/general/objects/world-artifacts.lua
index b8829f37c36f54d957c05f13ceaf7b2a1b22eb2a..3b1bb32bf087b5ab56df538b12b29f2730cad127 100644
--- a/game/modules/tome/data/general/objects/world-artifacts.lua
+++ b/game/modules/tome/data/general/objects/world-artifacts.lua
@@ -1700,7 +1700,7 @@ newEntity{ base = "BASE_MACE",
 	unided_name = "a strangely colored bone", unique = true,
 	moddable_tile = "special/%s_club_ureslaks_femur",
 	moddable_tile_big = true,
-	desc = [[A shortened femur of the mighty prismatic dragon, this erratic club still pulses with Ureslak's volatile nature.]],
+	desc = [[A shortened femur of the mighty prismatic dragon Ureslak, this erratic club still resonates with his volatile nature.]],
 	level_range = {42, 50},
 	require = { stat = { str=45, dex=30 }, },
 	rarity = 400,
@@ -1762,6 +1762,71 @@ newEntity{ base = "BASE_MACE",
 			inc_damage = { all = 12, [DamageType.ARCANE] = 30 },
 		} },
 	},
+	set_list = { {"define_as","URESLAK_CLOAK"} },
+	set_desc = {
+		ureslak = "What would happen if more of Ureslak's remains were reunited?",
+	},
+}
+
+newEntity{ base = "BASE_CLOAK",
+	power_source = {nature=true},
+	unique = true,
+	name = "Ureslak's Molted Scales", define_as = "URESLAK_CLOAK", image = "object/artifact/ureslaks_molted_scales.png",
+	unided_name = "scaly multi-hued cloak",
+	desc = [[This cloak is fashioned from the scales of some large reptilian creature.  It appears to reflect every color of the rainbow.]],
+	level_range = {40, 50},
+	rarity = 400,
+	cost = 300,
+	material_level = 5,
+	wielder = {
+		resists_cap = {
+			[DamageType.FIRE] = 10,
+			[DamageType.COLD] = 10,
+			[DamageType.LIGHTNING] = 10,
+			[DamageType.NATURE] = 10,
+			[DamageType.DARKNESS] = 10,
+			[DamageType.ARCANE] = -30,
+		},
+		resists = {
+			[DamageType.FIRE] = 20,
+			[DamageType.COLD] = 20,
+			[DamageType.LIGHTNING] = 20,
+			[DamageType.NATURE] = 20,
+			[DamageType.DARKNESS] = 20,
+			[DamageType.ARCANE] = -30,
+		},
+	},
+	max_power = 50, power_regen = 1,
+	use_power = {
+		name = function(self, who)
+			local resists={"Fire", "Cold", "Lightning", "Nature", "Darkness"}
+			if self.set_complete then table.insert(resists, "Arcane") end
+			return ("energize the scales for 16 turns, increasing resistance to %s damage by 15%% just before you are damaged. (This effect lasts 5 turns and only works on one type of damage.)"):format(table.concatNice(resists, ", ", ", or "))
+		end,
+		tactical = { DEFEND = 1 },
+		power = 50,
+		use = function(self, who)
+			game.logSeen(who, "%s empowers %s %s!", who.name:capitalize(), who:his_her(), self:getName({do_color = true, no_add_name = true}))
+			local resists = table.values({engine.DamageType.FIRE, engine.DamageType.COLD, engine.DamageType.LIGHTNING, engine.DamageType.NATURE, engine.DamageType.DARKNESS2, engine.DamageType.DARKNESS})
+			if self.set_complete then table.insert(resists, engine.DamageType.ARCANE) end
+			who:setEffect(who.EFF_CHROMATIC_RESONANCE, 16, {resist_types=resists})
+			return {id=true, used=true}
+		end,
+	},
+	set_list = { {"define_as","URESLAK_FEMUR"} },
+	set_desc = {
+		ureslak = "It would go well with another part of Ureslak.",
+	},
+	on_set_complete = function(self, who)
+		self:specialSetAdd({"wielder","equilibrium_regen"}, -1)
+		self:specialSetAdd({"wielder","resists"}, {[engine.DamageType.ARCANE]=15})
+		self:specialSetAdd({"wielder","resists_cap"}, {[engine.DamageType.ARCANE]=15})
+		game.logSeen(who, "#YELLOW_GREEN#An ironic harmony surrounds Ureslak's remains as they reunite.")
+	end,
+	on_set_broken = function(self, who)
+		self.wielder.equilibrium_regen = nil
+		game.logSeen(who, "#YELLOW_GREEN#Ureslak's remains seem more unsettled.")
+	end,
 }
 
 newEntity{ base = "BASE_WARAXE",
@@ -1961,47 +2026,6 @@ newEntity{ base = "BASE_AMULET",
 	use_talent = { id = Talents.T_ARCANE_EYE, level = 2, power = 60 },
 }
 
-newEntity{ base = "BASE_CLOAK",
-	power_source = {nature=true},
-	unique = true,
-	name = "Ureslak's Molted Scales", image = "object/artifact/ureslaks_molted_scales.png",
-	unided_name = "scaley multi-hued cloak",
-	desc = [[This cloak is fashioned from the scales of some large reptilian creature.  It appears to reflect every color of the rainbow.]],
-	level_range = {40, 50},
-	rarity = 400,
-	cost = 300,
-	material_level = 5,
-	wielder = {
-		resists_cap = {
-			[DamageType.FIRE] = 10,
-			[DamageType.COLD] = 10,
-			[DamageType.LIGHTNING] = 10,
-			[DamageType.NATURE] = 10,
-			[DamageType.DARKNESS] = 10,
-			[DamageType.ARCANE] = -30,
-		},
-		resists = {
-			[DamageType.FIRE] = 20,
-			[DamageType.COLD] = 20,
-			[DamageType.LIGHTNING] = 20,
-			[DamageType.NATURE] = 20,
-			[DamageType.DARKNESS] = 20,
-			[DamageType.ARCANE] = -30,
-		},
-	},
-	max_power = 50, power_regen = 1,
-	use_power = {
-		name = function(self, who) return "empower the scales for 16 turns, increasing a resistance (fire, cold, lightning, nature, darkness) by 15% when you are about to be hit (this effect can only happen once every 5 turns and lasts 5 turns)." end,
-		tactical = { BUFF = 1 },
-		power = 50,
-		use = function(self, who)
-			game.logSeen(who, "%s empowers %s %s!", who.name:capitalize(), who:his_her(), self:getName({do_color = true, no_add_name = true}))
-			who:setEffect(who.EFF_URESLAK_MOLTEN_SCALES, 16, {})
-			return {id=true, used=true}
-		end,
-	},
-}
-
 newEntity{ base = "BASE_DIGGER",
 	power_source = {technique=true},
 	unique = true,
diff --git a/game/modules/tome/data/timed_effects/physical.lua b/game/modules/tome/data/timed_effects/physical.lua
index 29bf9dadf90e704afa97c32c0def51fea95aeb51..79d032538d0f6f1c042c77bb70a5fbe564a20c1c 100644
--- a/game/modules/tome/data/timed_effects/physical.lua
+++ b/game/modules/tome/data/timed_effects/physical.lua
@@ -3981,29 +3981,40 @@ newEffect{
 	end,
 }
 
+-- Premptive Chromatic resistance
 newEffect{
-	name = "URESLAK_MOLTEN_SCALES", image = "shockbolt/object/artifact/ureslaks_molted_scales.png",
-	desc = "Ureslak's Molten Scales",
-	long_desc = function(self, eff) return ("Reacts to attacks by raising resistances for 5 turns."):format() end,
+	name = "CHROMATIC_RESONANCE", image = "shockbolt/object/artifact/ureslaks_molted_scales.png",
+	desc = "Chromatic Resonance",
+	long_desc = function(self, eff)
+		local dt_descs = table.concatNice(eff.type_descs, ", ", ", or ")
+		return ("Preemptively reacts to %s damage, increasing the appropriate resistance by %d for 5 turns."):format(dt_descs, eff.power)
+	end,
 	type = "physical",
 	subtype = { nature=true, resist=true },
 	status = "beneficial",
-	parameters = { },
-	on_gain = function(self, err) return nil, true end,
-	on_lose = function(self, err) return nil, true end,
+	parameters = {power=15, resist_types={"FIRE", "COLD", "LIGHTNING", "NATURE", "DARKNESS"} },
+	on_gain = function(self, err) return "#Target##OLIVE_DRAB# shimmers in multiple hues.", true end,
+	on_lose = function(self, err) return "#Target#'s#OLIVE_DRAB# multi-hued shimmer fades.", true end,
 	callbackOnTakeDamageBeforeResists = function(self, eff, src, x, y, type, dam, state)
-		if not self:hasEffect(self.EFF_URESLAK_MOLTEN_SCALES_RESIST) and dam > 0 and src ~= self and (
-		   (type == DamageType.FIRE) or 
-		   (type == DamageType.COLD) or 
-		   (type == DamageType.LIGHTNING) or 
-		   (type == DamageType.NATURE) or 
-		   (type == DamageType.DARKNESS)
-		) then
-			self:setEffect(self.EFF_URESLAK_MOLTEN_SCALES_RESIST, 5, {type=type})
+		if dam > 0 and src ~= self and not self:hasEffect(self.EFF_CHROMATIC_RESISTANCE) then
+			for i, r_type in ipairs(eff.resist_types) do
+				if type == r_type then
+					self:setEffect(self.EFF_CHROMATIC_RESISTANCE, 5, {type=type, power=eff.power})
+					break
+				end
+			end
 		end
 		return {dam=dam}
 	end,
 	activate = function(self, eff)
+		eff.type_descs = {}
+		for i = #eff.resist_types, 1, -1 do
+			local dt = DamageType[eff.resist_types[i]] and DamageType:get(eff.resist_types[i])
+			if dt then
+				table.insert(eff.type_descs, (dt.text_color or "#aaaaaa#")..dt.name:capitalize().."#LAST#")
+			else table.remove(eff.resist_types, i)
+			end
+		end
 		if core.shader.active() then
 			self:effectParticles(eff, {type="shader_shield", args={size_factor=1.5, img="ureslak_tentacles"}, shader={type="tentacles", wobblingType=0, appearTime=0.8, time_factor=2000, noup=0.0}})
 		end
@@ -4011,16 +4022,36 @@ newEffect{
 }
 
 newEffect{
-	name = "URESLAK_MOLTEN_SCALES_RESIST", image = "shockbolt/object/artifact/ureslaks_molted_scales.png",
-	desc = "Ureslak's Molten Scales (Resistance)",
-	long_desc = function(self, eff) return ("%s resistance increased by 15%%."):format(DamageType:get(eff.type).name:capitalize()) end,
+	name = "CHROMATIC_RESISTANCE", image = "shockbolt/object/artifact/ureslaks_molted_scales.png",
+	desc = "Chromatic Resistance",
+	long_desc = function(self, eff)
+		local dt = DamageType[eff.type] and DamageType:get(eff.type)
+		local type_desc = dt and ((dt.text_color or "#aaaaaa#")..dt.name:capitalize().."#LAST# ") or ""
+		return ("%sresistance increased by %d%%."):format(type_desc, eff.power)
+	end,
 	type = "physical",
 	subtype = { nature=true, resist=true },
+	charges = function(self, eff) return eff.dtype.name:capitalize() end,
 	status = "beneficial",
-	parameters = { },
-	on_gain = function(self, err) return "#OLIVE_DRAB##Target#'s molten scales react to the incomming damage and start glowing!", true end,
-	on_lose = function(self, err) return "#Target#'s molten scales do not glow anymore.", true end,
+	parameters = { power=15 },
+	on_gain = function(self, eff)
+		local dt = DamageType[eff.type] and DamageType:get(eff.type)
+		if dt then
+			eff.dtype = dt
+			return "#Target##OLIVE_DRAB# resonates with "..(dt.text_color or "#aaaaaa#")..dt.name:capitalize().."#LAST# damage!", true
+		else eff.type = nil
+		end
+	end,
+	on_lose = function(self, eff)
+		if eff.dtype then
+			return "#Target##OLIVE_DRAB# no longer resonates with "..(eff.dtype.text_color or "#aaaaaa#")..eff.dtype.name:capitalize().."#LAST# damage.", true
+		end
+	end,
 	activate = function(self, eff)
-		self:effectTemporaryValue(eff, "resists", {[eff.type] = 15})
+		if eff.type then
+			self:effectTemporaryValue(eff, "resists", {[eff.type] = eff.power})
+		else
+			self:removeEffect(eff.effect_id)
+		end
 	end,
 }