diff --git a/game/modules/tome/data/general/objects/random-artifacts/ammo.lua b/game/modules/tome/data/general/objects/random-artifacts/ammo.lua
index 5455e866c0c40ff08acb5e97e4cd281c7ca8a80e..49c27b50ca9d209015881d18bc9c23354418c8fd 100644
--- a/game/modules/tome/data/general/objects/random-artifacts/ammo.lua
+++ b/game/modules/tome/data/general/objects/random-artifacts/ammo.lua
@@ -20,212 +20,23 @@
 local Stats = require "engine.interface.ActorStats"
 local Talents = require "engine.interface.ActorTalents"
 
+-- melee.lua loads generic.lua too so we get rid of anything with a "wielder" field and any melee specific parts to ranged
+load("/data/general/objects/random-artifacts/melee.lua", function(e)
+	if e.combat and e.combat.melee_project then
+		e.combat.ranged_project = table.clone(e.combat.melee_project)
+		e.combat.melee_project = nil
+	end
+	if e.wielder then
+		e.rarity = nil
+	end
+end)
+
 ----------------------------------------------------------------
 -- Ammo Properties
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="damage", points = 1, rarity = 10, level_range = {1, 50},
-	combat = { dam = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={physical=true}, name="apr", points = 1, rarity = 10, level_range = {1, 50},
-	combat = { apr = resolvers.randartmax(1, 15), },
-}
-newEntity{ theme={physical=true}, name="crit", points = 1, rarity = 10, level_range = {1, 50},
-	combat = { physcrit = resolvers.randartmax(1, 15), },
-}
 newEntity{ theme={physical=true}, name="ammo reload", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { ammo_reload_speed = resolvers.randartmax(1, 4), },
 }
 newEntity{ theme={physical=true}, name="travel speed", points = 1, rarity = 10, level_range = {1, 50},
 	combat = { travel_speed = resolvers.randartmax(1, 2), },
-}
-----------------------------------------------------------------
--- Melee damage projection
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind ranged", points = 1, rarity = 24, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true, spell=true}, name="blight ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature ranged", points = 1, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true, spell=true}, name="arcane ranged", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal ranged", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
---Ranged damage Projection (rare)
-----------------------------------------------------------------
-newEntity{ theme={blight=true}, name="corrupted blood melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_BLIGHT_DISEASE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal energize melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_TEMPORAL_ENERGIZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={blight=true}, name="gloom mind melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_MIND_GLOOM] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid corrode melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_ACID_CORRODE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={light=true}, name="light blind melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_LIGHT_BLIND] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning daze melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_LIGHTNING_DAZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={antimagic=true}, name="manaburn melee", points = 2, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_ANTIMAGIC_MANABURN] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={nature=true, antimagic=true}, name="slime melee", points = 2, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_NATURE_SLOW] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark numbing melee", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_DARKNESS_NUMBING] = resolvers.randartmax(20, 40), }, },
-}
-
-----------------------------------------------------------------
--- Melee damage burst
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst", points = 2, rarity = 30, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst", points = 4, rarity = 30, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst", points = 4, rarity = 30, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage burst(crit)
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst (crit)", points = 3, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage conversion
-----------------------------------------------------------------
--- Removed due to essentially being downsides more often than not, double dipping defenses and creating massive log spam
-
-----------------------------------------------------------------
--- Slaying
-----------------------------------------------------------------
---[[
-newEntity{ theme={physical=true}, name="slay humanoid", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {humanoid=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay undead", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {undead=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay demon", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {demon=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay dragon", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {dragon=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay animal", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {animal=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay giant", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {giant=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay elemental", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {elemental=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay horror", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {horror=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay vermin", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {vermin=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay insect", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {insect=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay spiderkin", points = 1, rarity = 22, level_range = {1, 50},
-	combat = { inc_damage_type = {spiderkin=resolvers.randartmax(5, 25),},},
-}
---]]
\ No newline at end of file
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/general/objects/random-artifacts/generic.lua b/game/modules/tome/data/general/objects/random-artifacts/generic.lua
index 49d0ec7eb3d4dff736898f88ec6c3e7ac66ab73a..056f65478daf698b150fc094aa63c6a7f513ec0f 100644
--- a/game/modules/tome/data/general/objects/random-artifacts/generic.lua
+++ b/game/modules/tome/data/general/objects/random-artifacts/generic.lua
@@ -28,40 +28,40 @@ local Talents = require "engine.interface.ActorTalents"
 ----------------------------------------------------------------
 -- Spell damage
 ----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="spellpower", points = 1, rarity = 8, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic spellpower", points = 1, rarity = 8, level_range = {1, 50},
 	wielder = { combat_spellpower = resolvers.randartmax(3, 18), },
 }
-newEntity{ theme={spell=true}, name="spellcrit", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic spellcrit", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_spellcrit = resolvers.randartmax(1, 8), },
 }
-newEntity{ theme={spell=true}, name="spell crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic spell crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { combat_critical_power = resolvers.randartmax(5, 20), },
 }
-newEntity{ theme={spell=true}, name="spellsurge", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic spellsurge", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { spellsurge_on_crit = resolvers.randartmax(2, 10), },
 }
 ----------------------------------------------------------------
 -- Resources
 ----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="mana regeneration", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic mana regeneration", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { mana_regen = resolvers.randartmax(.04, .6), },
 }
-newEntity{ theme={spell=true}, name="increased mana", points = 1, rarity = 14, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic increased mana", points = 1, rarity = 14, level_range = {1, 50},
 	wielder = { max_mana = resolvers.randartmax(20, 100), },
 }
-newEntity{ theme={spell=true}, name="mana on crit", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { mana_on_crit = resolvers.randartmax(1, 10), },
+newEntity{ theme={spell=true}, name="generic mana on crit", points = 1, rarity = 14, level_range = {1, 50},
+	wielder = { mana_on_crit = resolvers.randartmax(1, 2), },
 }
-newEntity{ theme={spell=true}, name="increased vim", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic increased vim", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { max_vim = resolvers.randartmax(10, 50), },
 }
-newEntity{ theme={spell=true}, name="vim on crit", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic vim on crit", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { vim_on_crit = resolvers.randartmax(1, 2), },
 }
 ----------------------------------------------------------------
 -- Misc
 ----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="phasing", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={spell=true}, name="generic phasing", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { damage_shield_penetrate = resolvers.randartmax(10, 30), },
 }
 
@@ -71,38 +71,38 @@ newEntity{ theme={spell=true}, name="phasing", points = 1, rarity = 16, level_ra
 ----------------------------------------------------------------
 -- Mental Damage
 ----------------------------------------------------------------
-newEntity{ theme={mental=true}, name="mindpower", points = 1, rarity = 8, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic mindpower", points = 1, rarity = 8, level_range = {1, 50},
 	wielder = { combat_mindpower = resolvers.randartmax(3, 21), },
 }
-newEntity{ theme={mental=true}, name="mindcrit", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic mindcrit", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_mindcrit = resolvers.randartmax(1, 8), },
 }
-newEntity{ theme={mental=true}, name="mind crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic mind crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { combat_critical_power = resolvers.randartmax(5, 20), },
 }
 ----------------------------------------------------------------
 -- Resources
 ----------------------------------------------------------------
-newEntity{ theme={mental=true}, name="equilibrium on hit", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic equilibrium on hit", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { equilibrium_regen_when_hit = resolvers.randartmax(.04, 2), },
 }
-newEntity{ theme={mental=true}, name="max hate", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic max hate", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { max_hate = resolvers.randartmax(2, 10), },
 }
-newEntity{ theme={mental=true}, name="hate on crit", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic hate on crit", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { hate_on_crit = resolvers.randartmax(1, 5), },
 }
-newEntity{ theme={mental=true}, name="max psi", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic max psi", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { max_psi = resolvers.randartmax(10, 50), },
 }
-newEntity{ theme={mental=true}, name="psi on hit", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic psi on hit", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { psi_regen_when_hit = resolvers.randartmax(.04, 2), },
 }
 
 ----------------------------------------------------------------
 -- Misc
 ----------------------------------------------------------------
-newEntity{ theme={mental=true}, name="summon heal", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mental=true}, name="generic summon heal", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { heal_on_nature_summon  = resolvers.randartmax(10, 50), },
 }
 
@@ -112,35 +112,35 @@ newEntity{ theme={mental=true}, name="summon heal", points = 1, rarity = 16, lev
 ----------------------------------------------------------------
 -- Physical Damage
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="phys dam", points = 1, rarity = 8, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic phys dam", points = 1, rarity = 8, level_range = {1, 50},
 	wielder = { combat_dam = resolvers.randartmax(2, 20), },
 }
-newEntity{ theme={physical=true}, name="phys apr", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic phys apr", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_apr = resolvers.randartmax(1, 15), },
 }
-newEntity{ theme={physical=true}, name="phys crit", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic phys crit", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_physcrit = resolvers.randartmax(1, 8), },
 }
-newEntity{ theme={physical=true}, name="phys atk", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic phys atk", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_atk = resolvers.randartmax(3, 18), },
 }
-newEntity{ theme={physical=true}, name="phys crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic phys crit magnitude", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { combat_critical_power = resolvers.randartmax(5, 20),   },
 }
 ----------------------------------------------------------------
 -- Resources
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="stamina regeneration", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic stamina regeneration", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { stamina_regen = resolvers.randartmax(1, 3), },
 }
-newEntity{ theme={physical=true}, name="increased stamina", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { max_stamina = resolvers.randartmax(5, 50), },
+newEntity{ theme={physical=true}, name="generic increased stamina", points = 1, rarity = 14, level_range = {1, 50},
+	wielder = { max_stamina = resolvers.randartmax(10, 30), },
 }
 
 ----------------------------------------------------------------
 -- Misc
 ----------------------------------------------------------------
-newEntity{ theme={misc=true}, name="decreased fatigue", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={misc=true}, name="generic decreased fatigue", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { fatigue = -2 },
 }
 ----------------------------------------------------------------
@@ -149,107 +149,107 @@ newEntity{ theme={misc=true}, name="decreased fatigue", points = 1, rarity = 15,
 ----------------------------------------------------------------
 -- Defense
 ----------------------------------------------------------------
-newEntity{ theme={defense=true, physical=true}, name="def", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={defense=true, physical=true}, name="generic def", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_def = resolvers.randartmax(3, 18),
 				},
 }
-newEntity{ theme={defense=true, physical=true}, name="armor", points = 1, rarity = 10, level_range = {1, 50},
+newEntity{ theme={defense=true, physical=true}, name="generic armor", points = 1, rarity = 10, level_range = {1, 50},
 	wielder = { combat_armor = resolvers.randartmax(2, 8), },
 }
-newEntity{ theme={defense=true}, name="life regeneration", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic life regeneration", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { life_regen = resolvers.randartmax(2, 4), },
 }
-newEntity{ theme={defense=true}, name="increased life", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic increased life", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { max_life = resolvers.randartmax(20, 100), },
 }
-newEntity{ theme={defense=true}, name="improve heal", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic improve heal", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { healing_factor = resolvers.randartmax(0.05, .2), },
 }
 ----------------------------------------------------------------
 -- Saves
 ----------------------------------------------------------------
-newEntity{ theme={defense=true, physical=true}, name="save physical", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, physical=true}, name="generic save physical", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { combat_physresist = resolvers.randartmax(3, 18), },
 }
-newEntity{ theme={defense=true, spell=true, antimagic=true}, name="save spell", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, spell=true, antimagic=true}, name="generic save spell", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { combat_spellresist = resolvers.randartmax(3, 18), },
 }
-newEntity{ theme={defense=true, mental=true}, name="save mental", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, mental=true}, name="generic save mental", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { combat_mentalresist = resolvers.randartmax(3, 18), },
 }
 --------------------------------------------------------------
 -- Immunities
 -------------------------	-------------------------------------
-newEntity{ theme={defense=true}, name="immune stun", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune stun", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { stun_immune = resolvers.randartmax(0.1, 0.2), },
 }
-newEntity{ theme={defense=true}, name="immune knockback", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune knockback", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { knockback_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune blind", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune blind", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { blind_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune confusion", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune confusion", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { confusion_immune = resolvers.randartmax(0.1, 0.2), },
 }
-newEntity{ theme={defense=true}, name="immune pin", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune pin", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { pin_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune poison", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune poison", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { poison_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune disease", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune disease", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { disease_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune silence", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune silence", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { silence_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune disarm", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune disarm", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { disarm_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune cut", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune cut", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { cut_immune = resolvers.randartmax(0.1, 0.2),  },
 }
-newEntity{ theme={defense=true}, name="immune teleport", points = 2, rarity = 25, level_range = {1, 50},
+newEntity{ theme={defense=true}, name="generic immune teleport", points = 2, rarity = 25, level_range = {1, 50},
 	wielder = { teleport_immune = resolvers.randartmax(0.1, 0.2),  },
 }
 --------------------------------------------------------------
 -- Resist %
 --------------------------------------------------------------
-newEntity{ theme={defense=true, physical=true}, name="resist physical", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true, physical=true}, name="generic resist physical", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { resists = { [DamageType.PHYSICAL] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={defense=true, mind=true}, name="resist mind", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true, mind=true}, name="generic resist mind", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { resists = { [DamageType.MIND] = resolvers.randartmax(3, 15), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, fire=true}, name="resist fire", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, fire=true}, name="generic resist fire", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.FIRE] = resolvers.randartmax(3, 30), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, cold=true}, name="resist cold", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, cold=true}, name="generic resist cold", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.COLD] = resolvers.randartmax(3, 30), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, acid=true}, name="resist acid", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, acid=true}, name="generic resist acid", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.ACID] = resolvers.randartmax(3, 30), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, lightning=true}, name="resist lightning", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, lightning=true}, name="generic resist lightning", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.LIGHTNING] = resolvers.randartmax(3, 30), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, arcane=true}, name="resist arcane", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, arcane=true}, name="generic resist arcane", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { resists = { [DamageType.ARCANE] = resolvers.randartmax(5, 5), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, nature=true}, name="resist nature", points = 2, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, nature=true}, name="generic resist nature", points = 2, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.NATURE] = resolvers.randartmax(3, 20), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, blight=true}, name="resist blight", points = 2, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, blight=true}, name="generic resist blight", points = 2, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.BLIGHT] = resolvers.randartmax(3, 20), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, light=true}, name="resist light", points = 2, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, light=true}, name="generic resist light", points = 2, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.LIGHT] = resolvers.randartmax(3, 20), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, dark=true}, name="resist darkness", points = 2, rarity = 11, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, dark=true}, name="generic resist darkness", points = 2, rarity = 11, level_range = {1, 50},
 	wielder = { resists = { [DamageType.DARKNESS] = resolvers.randartmax(3, 20), }, },
 }
-newEntity{ theme={defense=true, antimagic=true, temporal=true}, name="resist temporal", points = 2, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true, antimagic=true, temporal=true}, name="generic resist temporal", points = 2, rarity = 15, level_range = {1, 50},
 	wielder = { resists = { [DamageType.TEMPORAL] = resolvers.randartmax(3, 15), }, },
 }
 
@@ -260,120 +260,120 @@ newEntity{ theme={defense=true, antimagic=true, temporal=true}, name="resist tem
 ----------------------------------------------------------------
 -- Elemental Retribution
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic physical retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.PHYSICAL] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={mind=true, mental=true}, name="mind retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={mind=true, mental=true}, name="generic mind retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.MIND] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={acid=true}, name="acid retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={acid=true}, name="generic acid retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.ACID] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={lightning=true}, name="lightning retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={lightning=true}, name="generic lightning retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.LIGHTNING] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={fire=true}, name="fire retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={fire=true}, name="generic fire retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.FIRE] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={cold=true}, name="cold retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={cold=true}, name="generic cold retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.COLD] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={light=true}, name="light retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={light=true}, name="generic light retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.LIGHT] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={dark=true}, name="dark retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={dark=true}, name="generic dark retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.DARKNESS] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={blight=true, spell=true}, name="blight retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={blight=true, spell=true}, name="generic blight retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.BLIGHT] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={nature=true}, name="nature retribution", points = 1, rarity = 35, level_range = {1, 50},
+newEntity{ theme={nature=true}, name="generic nature retribution", points = 1, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.NATURE] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={arcane=true, spell=true}, name="arcane retribution", points = 2, rarity = 35, level_range = {1, 50},
+newEntity{ theme={arcane=true, spell=true}, name="generic arcane retribution", points = 2, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.ARCANE] = resolvers.randartmax(2, 10), }, },
 }
-newEntity{ theme={temporal=true}, name="temporal retribution", points = 2, rarity = 35, level_range = {1, 50},
+newEntity{ theme={temporal=true}, name="generic temporal retribution", points = 2, rarity = 35, level_range = {1, 50},
 	wielder = { on_melee_hit = {[DamageType.TEMPORAL] = resolvers.randartmax(2, 10), }, },
 }
 
 ----------------------------------------------------------------
 -- Damage %
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="inc damage physical", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic inc damage physical", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.PHYSICAL] = resolvers.randartmax(3, 30), }, },
 }
-newEntity{ theme={mind=true, mental=true}, name="inc damage mind", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={mind=true, mental=true}, name="generic inc damage mind", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.MIND] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={fire=true}, name="inc damage fire", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={fire=true}, name="generic inc damage fire", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.FIRE] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={cold=true}, name="inc damage cold", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={cold=true}, name="generic inc damage cold", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.COLD] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={acid=true}, name="inc damage acid", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={acid=true}, name="generic inc damage acid", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.ACID] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={lightning=true}, name="inc damage lightning", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={lightning=true}, name="generic inc damage lightning", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.LIGHTNING] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={arcane=true, spell=true}, name="inc damage arcane", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={arcane=true, spell=true}, name="generic inc damage arcane", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.ARCANE] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={nature=true}, name="inc damage nature", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={nature=true}, name="generic inc damage nature", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.NATURE] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={blight=true, spell=true}, name="inc damage blight", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={blight=true, spell=true}, name="generic inc damage blight", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.BLIGHT] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={light=true}, name="inc damage light", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={light=true}, name="generic inc damage light", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.LIGHT] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={dark=true}, name="inc damage darkness", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={dark=true}, name="generic inc damage darkness", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.DARKNESS] = resolvers.randartmax(3, 30),  }, },
 }
-newEntity{ theme={temporal=true}, name="inc damage temporal", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={temporal=true}, name="generic inc damage temporal", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { inc_damage = { [DamageType.TEMPORAL] = resolvers.randartmax(3, 30),  }, },
 }
 
 ----------------------------------------------------------------
 -- Resist Penetration %
 ----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="resists pen physical", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={physical=true}, name="generic resists pen physical", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.PHYSICAL] = resolvers.randartmax(5, 25), }, },
 }
-newEntity{ theme={mind=true, mental=true}, name="resists pen mind", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={mind=true, mental=true}, name="generic resists pen mind", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.MIND] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={fire=true}, name="resists pen fire", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={fire=true}, name="generic resists pen fire", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.FIRE] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={cold=true}, name="resists pen cold", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={cold=true}, name="generic resists pen cold", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.COLD] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={acid=true}, name="resists pen acid", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={acid=true}, name="generic resists pen acid", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.ACID] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={lightning=true}, name="resists pen lightning", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={lightning=true}, name="generic resists pen lightning", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.LIGHTNING] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={arcane=true, spell=true}, name="resists pen arcane", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={arcane=true, spell=true}, name="generic resists pen arcane", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.ARCANE] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={nature=true}, name="resists pen nature", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={nature=true}, name="generic resists pen nature", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.NATURE] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={blight=true, spell=true}, name="resists pen blight", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={blight=true, spell=true}, name="generic resists pen blight", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.BLIGHT] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={light=true}, name="resists pen light", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={light=true}, name="generic resists pen light", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.LIGHT] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={dark=true}, name="resists pen darkness", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={dark=true}, name="generic resists pen darkness", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.DARKNESS] = resolvers.randartmax(5, 25),  }, },
 }
-newEntity{ theme={temporal=true}, name="resists pen temporal", points = 1, rarity = 16, level_range = {1, 50},
+newEntity{ theme={temporal=true}, name="generic resists pen temporal", points = 1, rarity = 16, level_range = {1, 50},
 	wielder = { resists_pen = { [DamageType.TEMPORAL] = resolvers.randartmax(5, 25),  }, },
 }
 
@@ -383,97 +383,97 @@ newEntity{ theme={temporal=true}, name="resists pen temporal", points = 1, rarit
 ----------------------------------------------------------------
 -- Stats
 ----------------------------------------------------------------
-newEntity{ theme={misc=true, physical=true}, name="stat str", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, physical=true}, name="generic stat str", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_STR] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={misc=true, physical=true}, name="stat dex", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, physical=true}, name="generic stat dex", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_DEX] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={misc=true, spell=true}, name="stat mag", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, spell=true}, name="generic stat mag", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_MAG] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={misc=true, spell=true, mental=true}, name="stat wil", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, spell=true, mental=true}, name="generic stat wil", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_WIL] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={misc=true, mental=true}, name="stat cun", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, mental=true}, name="generic stat cun", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_CUN] = resolvers.randartmax(1, 15), }, },
 }
-newEntity{ theme={misc=true, physical=true}, name="stat con", points = 1, rarity = 7, level_range = {1, 50},
+newEntity{ theme={misc=true, physical=true}, name="generic stat con", points = 1, rarity = 7, level_range = {1, 50},
 	wielder = { inc_stats = { [Stats.STAT_CON] = resolvers.randartmax(1, 15), }, },
 }
 ----------------------------------------------------------------
 -- Other
 ----------------------------------------------------------------
-newEntity{ theme={misc=true, darkness=true}, name="see invisible", points = 1, rarity = 11, level_range = {1, 50},
+newEntity{ theme={misc=true, darkness=true}, name="generic see invisible", points = 1, rarity = 11, level_range = {1, 50},
 	wielder = { see_invisible = resolvers.randartmax(3, 24), },
 }
-newEntity{ theme={misc=true, darkness=true}, name="infravision radius", points = 1, rarity = 14, level_range = {1, 50},
+newEntity{ theme={misc=true, darkness=true}, name="generic infravision radius", points = 1, rarity = 14, level_range = {1, 50},
 	wielder = { infravision = resolvers.randartmax(1, 3), },
 }
-newEntity{ theme={misc=true, light=true}, name="lite radius", points = 1, rarity = 14, level_range = {1, 50},
+newEntity{ theme={misc=true, light=true}, name="generic lite radius", points = 1, rarity = 14, level_range = {1, 50},
 	wielder = { lite = resolvers.randartmax(1, 3), },
 }
-newEntity{ theme={misc=true, mental=true}, name="telepathy", points = 60, rarity = 100, level_range = {1, 50}, unique=1,
+newEntity{ theme={misc=true, mental=true}, name="generic telepathy", points = 60, rarity = 100, level_range = {1, 50}, unique=1,
 	wielder = { esp_all = 1 },
 }
-newEntity{ theme={misc=true, mental=true}, name="orc telepathy", points = 2, rarity = 50, level_range = {1, 50}, unique=1,
+newEntity{ theme={misc=true, mental=true}, name="generic orc telepathy", points = 2, rarity = 50, level_range = {1, 50}, unique=1,
 	wielder = { esp = {["humanoid/orc"]=1}, },
 }
-newEntity{ theme={misc=true, mental=true}, name="dragon telepathy", points = 2, rarity = 40, level_range = {1, 50}, unique=1,
+newEntity{ theme={misc=true, mental=true}, name="generic dragon telepathy", points = 2, rarity = 40, level_range = {1, 50}, unique=1,
 	wielder = { esp = {dragon=1}, },
 }
-newEntity{ theme={misc=true, mental=true}, name="demon telepathy", points = 2, rarity = 40, level_range = {1, 50}, unique=1,
+newEntity{ theme={misc=true, mental=true}, name="generic demon telepathy", points = 2, rarity = 40, level_range = {1, 50}, unique=1,
 	wielder = { esp = {["demon/minor"]=1, ["demon/major"]=1}, },
 }
 
 ----------------------------------------------------------------
 -- Melee damage Projection (rare)
 ----------------------------------------------------------------
-newEntity{ theme={blight=true}, name="corrupted blood melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={blight=true}, name="generic corrupted blood melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_BLIGHT_DISEASE] = resolvers.randartmax(10, 20), }, 
 	}
 }
-newEntity{ theme={acid=true}, name="acid corrode melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={acid=true}, name="generic acid corrode melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { melee_project = {[DamageType.ITEM_ACID_CORRODE] = resolvers.randartmax(10, 20), }, 
 			}
 	 }
-newEntity{ theme={mind=true}, name="mind expose melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={mind=true}, name="generic mind expose melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_MIND_EXPOSE] = resolvers.randartmax(10, 20), }, 
 	},
 }
-newEntity{ theme={antimagic=true}, name="manaburn melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={antimagic=true}, name="generic manaburn melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_ANTIMAGIC_MANABURN] = resolvers.randartmax(10, 20), }, 
 	},
 }
-newEntity{ theme={temporal=true}, name="temporal energize melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={temporal=true}, name="generic temporal energize melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_TEMPORAL_ENERGIZE] = resolvers.randartmax(10, 20), }, 
 	},
 }
-newEntity{ theme={nature=true, antimagic=true}, name="slime melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={nature=true, antimagic=true}, name="generic slime melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_NATURE_SLOW] = resolvers.randartmax(10, 20), },
 	},
 }
-newEntity{ theme={dark=true}, name="dark numbing melee", points = 2, rarity = 20, level_range = {1, 50},
+newEntity{ theme={dark=true}, name="generic dark numbing melee", points = 2, rarity = 20, level_range = {1, 50},
 	wielder = { 
 		melee_project = {[DamageType.ITEM_DARKNESS_NUMBING] = resolvers.randartmax(10, 20), }, 
 	},
 }
 
 -- The ultimate Ghoul buff
-newEntity{ theme={physical=true, defense=true}, name="die at", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={physical=true, defense=true}, name="generic die at", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { die_at = resolvers.randartmax(-20, -80), },
 }
 
-newEntity{ theme={defense=true, misc=true}, name="ignore crit", points = 1, rarity = 15, level_range = {1, 50},
+newEntity{ theme={defense=true, misc=true}, name="generic ignore crit", points = 1, rarity = 15, level_range = {1, 50},
 	wielder = { ignore_direct_crits = resolvers.randartmax(5, 15), },
 }
 
-newEntity{ theme={defense=true, spell=true, temporal=true}, name="void", points = 1, rarity = 20, level_range = {1, 50},
+newEntity{ theme={defense=true, spell=true, temporal=true}, name="generic void", points = 1, rarity = 20, level_range = {1, 50},
 	wielder = { defense_on_teleport = resolvers.randartmax(5, 15), 
 				resist_all_on_teleport = resolvers.randartmax(5, 15), 
 				effect_reduction_on_teleport = resolvers.randartmax(5, 15)
diff --git a/game/modules/tome/data/general/objects/random-artifacts/ranged.lua b/game/modules/tome/data/general/objects/random-artifacts/ranged.lua
index f2ab0e3a7d7ba5552f2ebf72555e3cef3157dbcb..c685217f1537e073659360a101f05fa3914949f7 100644
--- a/game/modules/tome/data/general/objects/random-artifacts/ranged.lua
+++ b/game/modules/tome/data/general/objects/random-artifacts/ranged.lua
@@ -20,535 +20,24 @@
 local Stats = require "engine.interface.ActorStats"
 local Talents = require "engine.interface.ActorTalents"
 
-----------------------------------------------------------------
--- Spell Themes
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Spell damage
-----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="spellpower", points = 1, rarity = 8, level_range = {1, 50},
-	wielder = { combat_spellpower = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={spell=true}, name="spellcrit", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { combat_spellcrit = resolvers.randartmax(1, 15), },
-}
-newEntity{ theme={spell=true}, name="spell crit magnitude", points = 3, rarity = 15, level_range = {1, 50},
-	wielder = { combat_critical_power = resolvers.randartmax(5, 25), },
-}
-newEntity{ theme={spell=true}, name="spellsurge", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { spellsurge_on_crit = resolvers.randartmax(2, 10), },
-}
-----------------------------------------------------------------
--- Resources
-----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="mana regeneration", points = 1, rarity = 15, level_range = {1, 50},
-	wielder = { mana_regen = resolvers.randartmax(.04, .6), },
-}
-newEntity{ theme={spell=true}, name="increased mana", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { max_mana = resolvers.randartmax(20, 100), },
-}
-newEntity{ theme={spell=true}, name="mana on crit", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { mana_on_crit = resolvers.randartmax(1, 10), },
-}
-newEntity{ theme={spell=true}, name="increased vim", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { max_vim = resolvers.randartmax(10, 50), },
-}
-newEntity{ theme={spell=true}, name="vim on crit", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { vim_on_crit = resolvers.randartmax(1, 5), },
-}
-----------------------------------------------------------------
--- Misc
-----------------------------------------------------------------
-newEntity{ theme={spell=true}, name="phasing", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { damage_shield_penetrate = resolvers.randartmax(10, 50), },
-}
-newEntity{ theme={defense=true, spell=true}, name="void resist", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resist_all_on_teleport = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={defense=true, spell=true}, name="void defense", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { defense_on_teleport = resolvers.randartmax(5, 25), },
-}
-newEntity{ theme={defense=true, spell=true}, name="void effect reduction", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { effect_reduction_on_teleport = resolvers.randartmax(10, 40), },
-}
-
-----------------------------------------------------------------
--- Mental Themes
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Mental Damage
-----------------------------------------------------------------
-newEntity{ theme={mental=true}, name="mindpower", points = 1, rarity = 8, level_range = {1, 50},
-	wielder = { combat_mindpower = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={mental=true}, name="mindcrit", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { combat_mindcrit = resolvers.randartmax(1, 15), },
-}
-newEntity{ theme={mental=true}, name="mind crit magnitude", points = 3, rarity = 15, level_range = {1, 50},
-	wielder = { combat_critical_power = resolvers.randartmax(5, 25), },
-}
-----------------------------------------------------------------
--- Resources
-----------------------------------------------------------------
-newEntity{ theme={mental=true}, name="equilibrium on hit", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { equilibrium_regen_when_hit = resolvers.randartmax(.04, 2), },
-}
-newEntity{ theme={mental=true}, name="max hate", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { max_hate = resolvers.randartmax(2, 10), },
-}
-newEntity{ theme={mental=true}, name="hate on crit", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { hate_on_crit = resolvers.randartmax(1, 5), },
-}
-newEntity{ theme={mental=true}, name="max psi", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { max_psi = resolvers.randartmax(10, 50), },
-}
-newEntity{ theme={mental=true}, name="psi on hit", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { psi_regen_when_hit = resolvers.randartmax(.04, 2), },
-}
-
-----------------------------------------------------------------
--- Misc
-----------------------------------------------------------------
-
-newEntity{ theme={mental=true}, name="summon heal", points = 1, rarity = 16, level_range = {1, 50},
-	wielder = { heal_on_nature_summon  = resolvers.randartmax(10, 50), },
-}
-
-----------------------------------------------------------------
--- Physical Themes
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Physical Damage
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="phys dam", points = 1, rarity = 8, level_range = {1, 50},
-	wielder = { combat_dam = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={physical=true}, name="phys apr", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { combat_apr = resolvers.randartmax(1, 15), },
-}
-newEntity{ theme={physical=true}, name="phys crit", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { combat_physcrit = resolvers.randartmax(1, 15), },
-}
-newEntity{ theme={physical=true}, name="phys atk", points = 1, rarity = 10, level_range = {1, 50},
-	wielder = { combat_atk = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={physical=true}, name="phys crit magnitude", points = 3, rarity = 15, level_range = {1, 50},
-	wielder = { combat_critical_power = resolvers.randartmax(5, 25),   },
-}
-----------------------------------------------------------------
--- Resources
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="stamina regeneration", points = 1, rarity = 15, level_range = {1, 50},
-	wielder = { stamina_regen = resolvers.randartmax(.2, 3), },
-}
-newEntity{ theme={physical=true}, name="increased stamina", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { max_stamina = resolvers.randartmax(5, 75), },
-}
-newEntity{ theme={physical=true}, name="life regeneration", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { life_regen = resolvers.randartmax(.2, 3), },
-}
-newEntity{ theme={physical=true}, name="increased life", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { max_life = resolvers.randartmax(10, 150), },
-}
-newEntity{ theme={physical=true}, name="improve heal", points = 1, rarity = 15, level_range = {1, 50},
-	wielder = { healing_factor = resolvers.randartmax(0.05, .5), },
-}
-----------------------------------------------------------------
--- Misc
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="decreased fatigue", points = 1, rarity = 15, level_range = {1, 50},
-	wielder = { fatigue = -2 },
-}
-newEntity{ theme={physical=true}, name="greater max encumbrance", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { max_encumber = resolvers.randartmax(10, 100), },
-}
-
-----------------------------------------------------------------
--- Defense Themes
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Defense
-----------------------------------------------------------------
-newEntity{ theme={defense=true}, name="def", points = 2, rarity = 8, level_range = {1, 50},
-	wielder = { combat_def = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={defense=true}, name="rdef", points = 1.5, rarity = 12, level_range = {1, 50},
-	wielder = { combat_def_ranged = resolvers.randartmax(2, 20), },
-}
-newEntity{ theme={defense=true}, name="armor", points = 2, rarity = 8, level_range = {1, 50},
-	wielder = { combat_armor = resolvers.randartmax(2, 20), },
-}
-----------------------------------------------------------------
--- Saves
-----------------------------------------------------------------
-newEntity{ theme={defense=true, physical=true}, name="save physical", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { combat_physresist = resolvers.randartmax(3, 18), },
-}
-newEntity{ theme={defense=true, spell=true, antimagic=true}, name="save spell", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { combat_spellresist = resolvers.randartmax(3, 18), },
-}
-newEntity{ theme={defense=true, mental=true}, name="save mental", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { combat_mentalresist = resolvers.randartmax(3, 18), },
-}
---------------------------------------------------------------
--- Immunities
---------------------------------------------------------------
-newEntity{ theme={defense=true}, name="immune stun", points = 1, rarity = 7, level_range = {1, 50},
-	wielder = { stun_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune knockback", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { knockback_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune blind", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { blind_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune confusion", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { confusion_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune pin", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { pin_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune poison", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { poison_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune disease", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { disease_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune silence", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { silence_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune disarm", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { disarm_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune cut", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { cut_immune = resolvers.randartmax(0.05, 0.5), },
-}
-newEntity{ theme={defense=true}, name="immune teleport", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { teleport_immune = resolvers.randartmax(0.05, 0.5), },
-}
---------------------------------------------------------------
--- Resist %
---------------------------------------------------------------
-newEntity{ theme={defense=true, physical=true}, name="resist physical", points = 2, rarity = 15, level_range = {1, 50},
-	wielder = { resists = { [DamageType.PHYSICAL] = resolvers.randartmax(1, 15), }, },
-}
-newEntity{ theme={defense=true, mind=true}, name="resist mind", points = 2, rarity = 15, level_range = {1, 50},
-	wielder = { resists = { [DamageType.MIND] = resolvers.randartmax(3, 15), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, fire=true}, name="resist fire", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.FIRE] = resolvers.randartmax(3, 30), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, cold=true}, name="resist cold", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.COLD] = resolvers.randartmax(3, 30), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, acid=true}, name="resist acid", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.ACID] = resolvers.randartmax(3, 30), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, lightning=true}, name="resist lightning", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.LIGHTNING] = resolvers.randartmax(3, 30), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, arcane=true}, name="resist arcane", points = 5, rarity = 15, level_range = {1, 50},
-	wielder = { resists = { [DamageType.ARCANE] = resolvers.randartmax(5, 5), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, nature=true}, name="resist nature", points = 2, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.NATURE] = resolvers.randartmax(3, 20), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, blight=true}, name="resist blight", points = 2, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.BLIGHT] = resolvers.randartmax(3, 20), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, light=true}, name="resist light", points = 2, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.LIGHT] = resolvers.randartmax(3, 20), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, dark=true}, name="resist darkness", points = 2, rarity = 11, level_range = {1, 50},
-	wielder = { resists = { [DamageType.DARKNESS] = resolvers.randartmax(3, 20), }, },
-}
-newEntity{ theme={defense=true, antimagic=true, temporal=true}, name="resist temporal", points = 2, rarity = 15, level_range = {1, 50},
-	wielder = { resists = { [DamageType.TEMPORAL] = resolvers.randartmax(3, 15), }, },
-}
-
-----------------------------------------------------------------
---- Elemental Themes ---
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Elemental Projection
-----------------------------------------------------------------
---[[[]
-newEntity{ theme={physical=true}, name="physical melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.PHYSICAL] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind melee", points = 1, rarity = 24, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.MIND] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={acid=true}, name="acid melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.ACID] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.LIGHTNING] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={fire=true}, name="fire melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.FIRE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={cold=true}, name="cold melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.COLD] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={light=true}, name="light melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.LIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={dark=true}, name="dark melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.DARKNESS] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={blight=true, spell=true}, name="blight melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.BLIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={nature=true}, name="nature melee", points = 1, rarity = 18, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.NATURE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={arcane=true, spell=true}, name="arcane melee", points = 2, rarity = 24, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.ARCANE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal melee", points = 2, rarity = 24, level_range = {1, 50},
-	wielder = { ranged_project = {[DamageType.TEMPORAL] = resolvers.randartmax(2, 20), }, },
-}
---]]
-----------------------------------------------------------------
--- ranged damage Projection (rare)
-----------------------------------------------------------------
-newEntity{ theme={blight=true}, name="corrupted blood melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_BLIGHT_DISEASE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal energize melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_TEMPORAL_ENERGIZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={mind=true}, name="gloom mind melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_MIND_GLOOM] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid corrode melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_ACID_CORRODE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={light=true}, name="light blind melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_LIGHT_BLIND] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning daze melee", points = 2, rarity = 20, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_LIGHTNING_DAZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={antimagic=true}, name="manaburn melee", points = 2, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_ANTIMAGIC_MANABURN] = resolvers.randartmax(10, 40), }, },
-}
-newEntity{ theme={nature=true, antimagic=true}, name="slime melee", points = 2, rarity = 18, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_NATURE_SLOW] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark numbing melee", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { ranged_project = {[DamageType.ITEM_DARKNESS_NUMBING] = resolvers.randartmax(20, 40), }, },
-}
-
-----------------------------------------------------------------
--- damage burst
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.PHYSICAL] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst", points = 2, rarity = 30, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.MIND] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.ACID] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.LIGHTNING] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.FIRE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.COLD] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={light=true}, name="light burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.LIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.DARKNESS] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.BLIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst", points = 2, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.NATURE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst", points = 4, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.ARCANE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst", points = 4, rarity = 24, level_range = {1, 50},
-	combat = { burst_on_hit = {[DamageType.TEMPORAL] = resolvers.randartmax(2, 20), }, },
-}
-----------------------------------------------------------------
--- damage burst(crit)
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.PHYSICAL] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst (crit)", points = 3, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.MIND] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.ACID] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.LIGHTNING] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.FIRE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.COLD] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={light=true}, name="light burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.LIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.DARKNESS] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.BLIGHT] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.NATURE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.ARCANE] = resolvers.randartmax(2, 20), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	combat = { burst_on_crit = {[DamageType.TEMPORAL] = resolvers.randartmax(2, 20), }, },
-}
-----------------------------------------------------------------
--- damage conversion
-----------------------------------------------------------------
--- Removed due to essentially being downsides more often than not, double dipping defenses and creating massive log spam
-
-----------------------------------------------------------------
--- Damage %
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="inc damage physical", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.PHYSICAL] = resolvers.randartmax(3, 30), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="inc damage mind", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.MIND] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={fire=true}, name="inc damage fire", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.FIRE] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={cold=true}, name="inc damage cold", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.COLD] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={acid=true}, name="inc damage acid", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.ACID] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={lightning=true}, name="inc damage lightning", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.LIGHTNING] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={arcane=true, spell=true}, name="inc damage arcane", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.ARCANE] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={nature=true}, name="inc damage nature", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.NATURE] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={blight=true, spell=true}, name="inc damage blight", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.BLIGHT] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={light=true}, name="inc damage light", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.LIGHT] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={dark=true}, name="inc damage darkness", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.DARKNESS] = resolvers.randartmax(3, 30),  }, },
-}
-newEntity{ theme={temporal=true}, name="inc damage temporal", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { inc_damage = { [DamageType.TEMPORAL] = resolvers.randartmax(3, 30),  }, },
-}
-
-----------------------------------------------------------------
--- Resist Penetration %
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="resists pen physical", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.PHYSICAL] = resolvers.randartmax(5, 25), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="resists pen mind", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.MIND] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={fire=true}, name="resists pen fire", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.FIRE] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={cold=true}, name="resists pen cold", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.COLD] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={acid=true}, name="resists pen acid", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.ACID] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={lightning=true}, name="resists pen lightning", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.LIGHTNING] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={arcane=true, spell=true}, name="resists pen arcane", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.ARCANE] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={nature=true}, name="resists pen nature", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.NATURE] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={blight=true, spell=true}, name="resists pen blight", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.BLIGHT] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={light=true}, name="resists pen light", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.LIGHT] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={dark=true}, name="resists pen darkness", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.DARKNESS] = resolvers.randartmax(5, 25),  }, },
-}
-newEntity{ theme={temporal=true}, name="resists pen temporal", points = 2, rarity = 16, level_range = {1, 50},
-	wielder = { resists_pen = { [DamageType.TEMPORAL] = resolvers.randartmax(5, 25),  }, },
-}
-
-----------------------------------------------------------------
---- Misc Themes ---
-----------------------------------------------------------------
-----------------------------------------------------------------
--- Stats
-----------------------------------------------------------------
-newEntity{ theme={misc=true, physical=true}, name="stat str", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_STR] = resolvers.randartmax(1, 10), }, },
-}
-newEntity{ theme={misc=true, physical=true}, name="stat dex", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_DEX] = resolvers.randartmax(1, 10), }, },
-}
-newEntity{ theme={misc=true, spell=true}, name="stat mag", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_MAG] = resolvers.randartmax(1, 10), }, },
-}
-newEntity{ theme={misc=true, spell=true, mental=true}, name="stat wil", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_WIL] = resolvers.randartmax(1, 10), }, },
-}
-newEntity{ theme={misc=true, mental=true}, name="stat cun", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_CUN] = resolvers.randartmax(1, 10), }, },
-}
-newEntity{ theme={misc=true, physical=true}, name="stat con", points = 2, rarity = 7, level_range = {1, 50},
-	wielder = { inc_stats = { [Stats.STAT_CON] = resolvers.randartmax(1, 10), }, },
-}
-----------------------------------------------------------------
--- Other
-----------------------------------------------------------------
-newEntity{ theme={misc=true, darkness=true}, name="see invisible", points = 1, rarity = 11, level_range = {1, 50},
-	wielder = { see_invisible = resolvers.randartmax(3, 24), },
-}
-newEntity{ theme={misc=true, darkness=true}, name="infravision radius", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { infravision = resolvers.randartmax(1, 3), },
-}
-newEntity{ theme={misc=true, light=true}, name="lite radius", points = 1, rarity = 14, level_range = {1, 50},
-	wielder = { lite = resolvers.randartmax(1, 3), },
-}
-newEntity{ theme={misc=true, mental=true}, name="telepathy", points = 60, rarity = 100, level_range = {1, 50},
-	wielder = { esp_all = 1 },
-}
-newEntity{ theme={misc=true, mental=true}, name="orc telepathy", points = 15, rarity = 50, level_range = {1, 50},
-	wielder = { esp = {["humanoid/orc"]=1}, },
-}
-newEntity{ theme={misc=true, mental=true}, name="dragon telepathy", points = 8, rarity = 40, level_range = {1, 50},
-	wielder = { esp = {dragon=1}, },
-}
-newEntity{ theme={misc=true, mental=true}, name="demon telepathy", points = 8, rarity = 40, level_range = {1, 50},
-	wielder = { esp = {["demon/minor"]=1, ["demon/major"]=1}, },
-}
+-- melee.lua loads generic.lua for us, then we convert any melee specific parts to ranged
+load("/data/general/objects/random-artifacts/melee.lua", function(e)
+	if e.combat and e.combat.melee_project then
+		e.combat.ranged_project = table.clone(e.combat.melee_project)
+		e.combat.melee_project = nil
+	end
+	if e.wielder and e.wielder.melee_project then
+		e.wielder.ranged_project = table.clone(e.wielder.melee_project)
+		e.wielder.melee_project = nil
+	end
+end)
+
+----------------------------------------------------------------
+-- Ranged specific Properties
+----------------------------------------------------------------
+newEntity{ theme={physical=true}, name="ammo reload", points = 1, rarity = 10, level_range = {1, 50},
+	wielder = { ammo_reload_speed = resolvers.randartmax(1, 4), },
+}
+newEntity{ theme={physical=true}, name="travel speed", points = 1, rarity = 10, level_range = {1, 50},
+	combat = { travel_speed = resolvers.randartmax(1, 2), },
+}
\ No newline at end of file
diff --git a/game/modules/tome/data/general/objects/random-artifacts/shields.lua b/game/modules/tome/data/general/objects/random-artifacts/shields.lua
index 54f28c5cbb1e9704a808edf2987ccbadd3fcda01..4d68b700eda73c2a3017186dae9c93b29702e0a6 100644
--- a/game/modules/tome/data/general/objects/random-artifacts/shields.lua
+++ b/game/modules/tome/data/general/objects/random-artifacts/shields.lua
@@ -20,207 +20,21 @@
 local Stats = require "engine.interface.ActorStats"
 local Talents = require "engine.interface.ActorTalents"
 
-load("/data/general/objects/random-artifacts/generic.lua")
+-- melee.lua loads generic.lua for us, then we convert any melee specific parts to special_combat.melee
+load("/data/general/objects/random-artifacts/melee.lua", function(e)
+	if e.combat then
+		e.special_combat = table.clone(e.combat)
+		e.combat = nil
+	end
+end)
 
-----------------------------------------------------------------
--- Weapon Properties
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="damage", points = 1, rarity = 10, level_range = {1, 50},
-	special_combat = { dam = resolvers.randartmax(2, 20), },
+newEntity{ theme={defense=true, physical=true}, name="shield block", points = 1, rarity = 10, level_range = {1, 50},
+	special_combat = { block = resolvers.randartmax(20, 40), },
 }
-newEntity{ theme={physical=true}, name="apr", points = 1, rarity = 10, level_range = {1, 50},
-	special_combat = { apr = resolvers.randartmax(1, 15), },
+newEntity{ theme={defense=true, physical=true}, name="shield armor", points = 1, rarity = 10, level_range = {1, 50},
+	wielder = { combat_armor = resolvers.randartmax(3, 15), },
 }
-newEntity{ theme={physical=true}, name="crit", points = 1, rarity = 10, level_range = {1, 50},
-	special_combat = { physcrit = resolvers.randartmax(1, 15), },
+newEntity{ theme={defense=true}, name="shield increased life", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { max_life = resolvers.randartmax(20, 100), },
 }
-newEntity{ theme={physical=true, spell=true}, name="phasing", points = 1, rarity = 10, level_range = {1, 50},
-	special_combat = { phasing = resolvers.randartmax(10, 50), },
-}
-----------------------------------------------------------------
--- Melee damage projection
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind melee", points = 1, rarity = 24, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true, spell=true}, name="blight melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature melee", points = 1, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true, spell=true}, name="arcane melee", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal melee", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage Projection (rare)
-----------------------------------------------------------------
-newEntity{ theme={blight=true}, name="corrupted blood melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_BLIGHT_DISEASE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal energize melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_TEMPORAL_ENERGIZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={mind=true}, name="gloom mind melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_MIND_GLOOM] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid corrode melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_ACID_CORRODE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={light=true}, name="light blind melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_LIGHT_BLIND] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning daze melee", points = 2, rarity = 20, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_LIGHTNING_DAZE] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={antimagic=true}, name="manaburn melee", points = 2, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_ANTIMAGIC_MANABURN] = resolvers.randartmax(10, 40), }, },
-}
-newEntity{ theme={nature=true, antimagic=true}, name="slime melee", points = 2, rarity = 18, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_NATURE_SLOW] = resolvers.randartmax(20, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark numbing melee", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { melee_project = {[DamageType.ITEM_DARKNESS_NUMBING] = resolvers.randartmax(20, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage burst
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst", points = 2, rarity = 30, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst", points = 2, rarity = 24, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst", points = 4, rarity = 30, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst", points = 4, rarity = 30, level_range = {1, 50},
-	special_combat = { burst_on_hit = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage burst(crit)
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="physical burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.PHYSICAL] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={mind=true, mental=true}, name="mind burst (crit)", points = 3, rarity = 36, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.MIND] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={acid=true}, name="acid burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.ACID] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={lightning=true}, name="lightning burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.LIGHTNING] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={fire=true}, name="fire burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.FIRE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={cold=true}, name="cold burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.COLD] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={light=true}, name="light burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.LIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={dark=true}, name="dark burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.DARKNESS] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={blight=true}, name="blight burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.BLIGHT] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={nature=true}, name="nature burst (crit)", points = 3, rarity = 28, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.NATURE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={arcane=true}, name="arcane burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.ARCANE] = resolvers.randartmax(4, 40), }, },
-}
-newEntity{ theme={temporal=true}, name="temporal burst (crit)", points = 6, rarity = 36, level_range = {1, 50},
-	special_combat = { burst_on_crit = {[DamageType.TEMPORAL] = resolvers.randartmax(4, 40), }, },
-}
-----------------------------------------------------------------
--- Melee damage conversion
-----------------------------------------------------------------
--- Removed due to essentially being downsides more often than not, double dipping defenses and creating massive log spam
-----------------------------------------------------------------
--- Slaying
-----------------------------------------------------------------
-newEntity{ theme={physical=true}, name="slay humanoid", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {humanoid=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay undead", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {undead=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay demon", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {demon=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay dragon", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {dragon=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay animal", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {animal=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay giant", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {giant=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay elemental", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {elemental=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay horror", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {horror=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay vermin", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {vermin=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay insect", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {insect=resolvers.randartmax(5, 25),},},
-}
-newEntity{ theme={physical=true}, name="slay spiderkin", points = 1, rarity = 22, level_range = {1, 50},
-	special_combat = { inc_damage_type = {spiderkin=resolvers.randartmax(5, 25),},},
-}
\ No newline at end of file
+
diff --git a/game/modules/tome/data/general/objects/random-artifacts/staves.lua b/game/modules/tome/data/general/objects/random-artifacts/staves.lua
new file mode 100644
index 0000000000000000000000000000000000000000..c0b6b4560ede19e9ce0f7cdb0e5ad4b4eb3f69a2
--- /dev/null
+++ b/game/modules/tome/data/general/objects/random-artifacts/staves.lua
@@ -0,0 +1,103 @@
+local Stats = require "engine.interface.ActorStats"
+local Talents = require "engine.interface.ActorTalents"
+
+-- Stave randart powers trend towards reinforcing elemental themes
+load("/data/general/objects/random-artifacts/generic.lua")
+
+
+newEntity{ theme={light=true,dark=true,spell=true}, name="stave increased positive/negative energy", points = 3, rarity = 16, level_range = {1, 50},
+	wielder = {
+		max_negative = resolvers.randartmax(5,20),
+		max_positive = resolvers.randartmax(5,20),
+	},
+}
+
+newEntity{ theme={temporal=true}, name="stave paradox reduce anomalies", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = {
+		paradox_reduce_anomalies = resolvers.randartmax(5, 20),
+	},
+}
+
+newEntity{ theme={spell=true}, name="stave spellpower", points = 1, rarity = 15, level_range = {1, 50},
+	wielder = { combat_spellpower = resolvers.randartmax(2, 20), },
+}
+
+----------------------------------------------------------------
+-- Damage %
+----------------------------------------------------------------
+newEntity{ theme={physical=true}, name="stave inc damage physical", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.PHYSICAL] = resolvers.randartmax(3, 15), }, },
+}
+newEntity{ theme={mind=true, mental=true}, name="stave inc damage mind", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.MIND] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={fire=true}, name="stave inc damage fire", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.FIRE] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={cold=true}, name="stave inc damage cold", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.COLD] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={acid=true}, name="stave inc damage acid", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.ACID] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={lightning=true}, name="stave inc damage lightning", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.LIGHTNING] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={arcane=true, spell=true}, name="stave inc damage arcane", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.ARCANE] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={nature=true}, name="stave inc damage nature", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.NATURE] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={blight=true, spell=true}, name="stave inc damage blight", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.BLIGHT] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={light=true}, name="stave inc damage light", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.LIGHT] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={dark=true}, name="stave inc damage darkness", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.DARKNESS] = resolvers.randartmax(3, 15),  }, },
+}
+newEntity{ theme={temporal=true}, name="stave inc damage temporal", points = 1, rarity = 11, level_range = {1, 50},
+	wielder = { inc_damage = { [DamageType.TEMPORAL] = resolvers.randartmax(3, 15),  }, },
+}
+
+----------------------------------------------------------------
+-- Resist Penetration %
+----------------------------------------------------------------
+newEntity{ theme={physical=true}, name="stave resists pen physical", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.PHYSICAL] = resolvers.randartmax(5, 15), }, },
+}
+newEntity{ theme={mind=true, mental=true}, name="stave resists pen mind", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.MIND] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={fire=true}, name="stave resists pen fire", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.FIRE] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={cold=true}, name="stave resists pen cold", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.COLD] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={acid=true}, name="stave resists pen acid", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.ACID] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={lightning=true}, name="stave resists pen lightning", points = 11, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.LIGHTNING] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={arcane=true, spell=true}, name="stave resists pen arcane", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.ARCANE] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={nature=true}, name="stave resists pen nature", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.NATURE] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={blight=true, spell=true}, name="stave resists pen blight", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.BLIGHT] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={light=true}, name="stave resists pen light", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.LIGHT] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={dark=true}, name="stave resists pen darkness", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.DARKNESS] = resolvers.randartmax(5, 15),  }, },
+}
+newEntity{ theme={temporal=true}, name="stave resists pen temporal", points = 1, rarity = 16, level_range = {1, 50},
+	wielder = { resists_pen = { [DamageType.TEMPORAL] = resolvers.randartmax(5, 15),  }, },
+}