Skip to content
Snippets Groups Projects
Commit 8bae2d4a authored by Chris Davidson's avatar Chris Davidson
Browse files

Update and restructure randart powers

- Now most files are based off the melee/generic files and just filter out the irrelevant entries+add specific ones.  This makes it easier to read/update.

- Add a stave-specific randart file
parent 9eb3bc03
No related branches found
No related tags found
No related merge requests found
......@@ -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
......@@ -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
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), }, },
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment