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), }, }, +}