...
|
...
|
@@ -26,8 +26,63 @@ for def, e in pairs(game.state:getWorldArtifacts()) do |
26
|
26
|
print("Importing "..e.name.." into world artifacts")
|
27
|
27
|
end
|
28
|
28
|
|
29
|
|
-
|
30
|
29
|
-- This file describes artifacts not bound to a special location, they can be found anywhere
|
|
30
|
+
|
|
31
|
+newEntity{ base = "BASE_GEM",
|
|
32
|
+ power_source = {arcane=true},
|
|
33
|
+ unique = true,
|
|
34
|
+ unided_name = "windy gem",
|
|
35
|
+ name = "Windborne Azurite", subtype = "blue",
|
|
36
|
+ color = colors.BLUE, image = "object/sapphire.png",
|
|
37
|
+ level_range = {18, 40},
|
|
38
|
+ desc = [[Air currents swirl around this bright blue jewel.]],
|
|
39
|
+ rarity = 240,
|
|
40
|
+ cost = 200,
|
|
41
|
+ identified = false,
|
|
42
|
+ material_level = 4,
|
|
43
|
+ wielder = {
|
|
44
|
+ inc_stats = {[Stats.STAT_DEX] = 10, [Stats.STAT_CUN] = 10 },
|
|
45
|
+ inc_damage = {[DamageType.LIGHTNING] = 20 },
|
|
46
|
+ cancel_damage_chance = 10, -- add to tooltip
|
|
47
|
+ damage_affinity={
|
|
48
|
+ [DamageType.LIGHTNING] = 20,
|
|
49
|
+ },
|
|
50
|
+ movement_speed = 0.2,
|
|
51
|
+ },
|
|
52
|
+ imbue_powers = {
|
|
53
|
+ inc_stats = {[Stats.STAT_DEX] = 10, [Stats.STAT_CUN] = 10 },
|
|
54
|
+ inc_damage = {[DamageType.LIGHTNING] = 20 },
|
|
55
|
+ cancel_damage_chance = 10, -- add to tooltip
|
|
56
|
+ damage_affinity={
|
|
57
|
+ [DamageType.LIGHTNING] = 20,
|
|
58
|
+ },
|
|
59
|
+ movement_speed = 0.2,
|
|
60
|
+ },
|
|
61
|
+
|
|
62
|
+}
|
|
63
|
+
|
|
64
|
+-- Low base values because you can stack affinity and resist
|
|
65
|
+-- The 3rd type is pretty meaningless balance-wise. Magic debuffs hardly matter. The real advantage is the affinity.
|
|
66
|
+newEntity{ base = "BASE_INFUSION",
|
|
67
|
+ name = "Primal Infusion", unique=true, image = "object/artifact/tree_of_life.png",
|
|
68
|
+ desc = [[This wild infusion has evolved.]],
|
|
69
|
+ unided_name = "pulsing infusion",
|
|
70
|
+ level_range = {15, 40},
|
|
71
|
+ rarity = 300,
|
|
72
|
+ cost = 300,
|
|
73
|
+ material_level = 3,
|
|
74
|
+
|
|
75
|
+ inscription_kind = "protect",
|
|
76
|
+ inscription_data = {
|
|
77
|
+ cooldown = 20,
|
|
78
|
+ dur = 6,
|
|
79
|
+ power = 10,
|
|
80
|
+ use_stat_mod = 0.1,
|
|
81
|
+ what = {physical=true, mental=true, magical=true},
|
|
82
|
+ },
|
|
83
|
+ inscription_talent = "INFUSION:_PRIMAL",
|
|
84
|
+}
|
|
85
|
+
|
31
|
86
|
newEntity{ base = "BASE_STAFF",
|
32
|
87
|
power_source = {arcane=true},
|
33
|
88
|
unique = true,
|
...
|
...
|
@@ -5920,11 +5975,10 @@ newEntity{ base = "BASE_SHIELD", |
5920
|
5975
|
end,
|
5921
|
5976
|
}
|
5922
|
5977
|
|
5923
|
|
--- Disrupt the backline by attacking the frontline
|
5924
|
|
--- Effect works better fighting in the open
|
5925
|
|
--- Damage stats are pretty bad, not entirely sure they need to be
|
5926
|
|
--- Arcane if necessary, ideally nature scaling off dex. Dex is thematic with wind.
|
5927
|
|
--- Aesthetic Themes: Blue, windy, lightning, storm, speed
|
|
5978
|
+-- No longer hits your own projectiles
|
|
5979
|
+-- Hopefully fixed LUA errors with DamageType require
|
|
5980
|
+-- Significant rescaling. Base damage cut by 50%, crit by 5%. The reason these hilariously bad numbers happened was derping and not accounting for the awesomeness of the 100% dex scaling. APR is still extremely high.
|
|
5981
|
+-- Proc chance is now 100% up from 25%. No matter how I test this--even at 100% and 500% global action speed--it is often a pain in the ass to get procs just to test. This is supposed to be one of the main features of the item.
|
5928
|
5982
|
newEntity{ base = "BASE_KNIFE", --Shibari's #1
|
5929
|
5983
|
power_source = {nature=true},
|
5930
|
5984
|
unique = true,
|
...
|
...
|
@@ -5938,24 +5992,31 @@ newEntity{ base = "BASE_KNIFE", --Shibari's #1 |
5938
|
5992
|
color=colors.BLUE,
|
5939
|
5993
|
require = { stat = { dex=30}},
|
5940
|
5994
|
combat = {
|
5941
|
|
- dam = 30,
|
|
5995
|
+ dam = 15,
|
5942
|
5996
|
apr = 20,
|
5943
|
|
- physcrit = 18,
|
|
5997
|
+ physcrit = 10,
|
5944
|
5998
|
dammod = {dex=1},
|
5945
|
|
- special_on_hit = {desc="25% chance for lightning to strike and destroy any projectiles in a radius of 10, dealing damage and stunning enemies around the projectile.", on_kill=1, fct=function(combat, who, target)
|
5946
|
|
- if not rng.percent(25) then return end
|
|
5999
|
+ special_on_hit = {desc="Causes lightning to strike and destroy any projectiles in a radius of 10 dealing damage and dazing enemies in a radius of 5 around it.", on_kill=1, fct=function(combat, who, target)
|
5947
|
6000
|
local grids = core.fov.circle_grids(who.x, who.y, 10, true)
|
5948
|
6001
|
for x, yy in pairs(grids) do for y, _ in pairs(grids[x]) do
|
5949
|
6002
|
local i = 0
|
5950
|
6003
|
local p = game.level.map(x, y, engine.Map.PROJECTILE+i)
|
5951
|
|
- while p do
|
|
6004
|
+ while p do
|
|
6005
|
+ local DamageType = require "engine.DamageType" -- I don't entirely follow why this is necessary
|
|
6006
|
+ if p.src and (p.src == who) then return end -- Keep Arcane Blade procs from hitting them since the projectile is still on top of them.
|
|
6007
|
+ if p.name then
|
|
6008
|
+ game.logPlayer(who, "#GREEN#Lightning strikes the " .. p.name .. "!")
|
|
6009
|
+ else
|
|
6010
|
+ game.logPlayer(who, "#GREEN#Shantiz strikes down a projectile!")
|
|
6011
|
+ end
|
|
6012
|
+
|
5952
|
6013
|
p:terminate(x, y)
|
5953
|
6014
|
game.level:removeEntity(p, true)
|
5954
|
6015
|
p.dead = true
|
5955
|
|
- game.level.map:particleEmitter(x, y, 5, "ball_lightning_beam", {radius=5, tx=x, ty=y}) -- I'm terrible with graphical stuff but I thought I'd at least try?
|
|
6016
|
+ game.level.map:particleEmitter(x, y, 5, "ball_lightning_beam", {radius=5, tx=x, ty=y})
|
5956
|
6017
|
|
5957
|
6018
|
local tg = {type="ball", radius=5, selffire=false}
|
5958
|
|
- local dam = who:mindCrit(30+(2*who:getDex())) -- generous because of the bad damage type, spell or phys crit would both be fine
|
|
6019
|
+ local dam = 4*who:getDex() -- no more crit or base damage. no real reason, just like it better.
|
5959
|
6020
|
|
5960
|
6021
|
who:project(tg, x, y, DamageType.LIGHTNING, dam)
|
5961
|
6022
|
|
...
|
...
|
@@ -5973,9 +6034,9 @@ newEntity{ base = "BASE_KNIFE", --Shibari's #1 |
5973
|
6034
|
},
|
5974
|
6035
|
},
|
5975
|
6036
|
wielder = {
|
5976
|
|
- inc_stats = { [Stats.STAT_DEX] = 12 },
|
5977
|
|
- slow_projectiles = 40, -- synergy with proc
|
5978
|
|
- quick_weapon_swap = 1, -- thematic, also makes this more useful when caught in the open. In general I like this mechanic and would like to see more of it.
|
|
6037
|
+ inc_stats = { [Stats.STAT_DEX] = 20 },
|
|
6038
|
+ slow_projectiles = 40,
|
|
6039
|
+ quick_weapon_swap = 1,
|
5979
|
6040
|
},
|
5980
|
6041
|
}
|
5981
|
6042
|
--[=[
|
...
|
...
|
|