Skip to content

Commit 206af3b

Browse files
LocalIdentityLocalIdentity
andauthored
Add new 3.28 Uniques (#9618)
* Add new 3.28 Uniques Adds the new uniques and support for some of their mods Updates the pre-release uniques with their mod rolls * Desecrated Chalice and Desecrated Chalice flask mods Adds a new config option to only show if a condition is true already Moves the flask conditions for HaveAmethystFlask or other base types to CalcSetup as the previous handling in CalcPerform only enabled the condition if the flask was active instead of in the item slot which is what is meant to be for * Flame of Hope * Screams of the Desiccated Adds support for all the shrine mods and also the greater freezing / shocking / skeletal shrine buffs * Fix while affected by no flasks when using instant flasks The Screams of the Desiccated belt only grants you the shrine effects when you do not have any active flask effects Mana and Life flasks with instant effects do not ever count as being under the effect of a flask Same with having a utility flask but having the Bloodline for utility flasks are disabled Added support flasks are instant while on low life and made a helper function in CalcPerform as there are 2 different spots where instPerc are used Tested Vaal Pact and the mana flask mod for effect is instant at end of duration and those both disable the shrine The life flask mod for additional recovery over x seconds does not count as being under a flask effect however --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent 85a6e16 commit 206af3b

12 files changed

Lines changed: 412 additions & 84 deletions

File tree

src/Classes/ConfigTab.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,18 @@ local ConfigTabClass = newClass("ConfigTab", "UndoHandler", "ControlHost", "Cont
330330
return out
331331
end))
332332
end
333+
if varData.ifCondTrue then
334+
t_insert(shownFuncs, listOrSingleIfOption(varData.ifCondTrue, function(ifOption)
335+
return self.build.calcsTab.mainEnv.player.modDB.conditions[ifOption]
336+
end))
337+
t_insert(tooltipFuncs, listOrSingleIfTooltip(varData.ifCondTrue, function(ifOption)
338+
if not launch.devModeAlt then
339+
return
340+
end
341+
local out = "Condition state: " .. ifOption .. "=" .. tostring(self.build.calcsTab.mainEnv.player.modDB.conditions[ifOption])
342+
return out
343+
end))
344+
end
333345
if varData.ifMult then
334346
t_insert(shownFuncs, listOrSingleIfOption(varData.ifMult, function(ifOption)
335347
if implyCond(varData) then

src/Classes/Item.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1568,6 +1568,7 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
15681568
if self.base.flask.life or self.base.flask.mana then
15691569
-- Recovery flask
15701570
flaskData.instantPerc = calcLocal(modList, "FlaskInstantRecovery", "BASE", 0)
1571+
flaskData.instantLowLifePerc = calcLocal(modList, "FlaskLowLifeInstantRecovery", "BASE", 0)
15711572
local recoveryMod = 1 + calcLocal(modList, "FlaskRecovery", "INC", 0) / 100
15721573
local rateMod = 1 + calcLocal(modList, "FlaskRecoveryRate", "INC", 0) / 100
15731574
flaskData.duration = round(self.base.flask.duration * (1 + durationInc / 100) / rateMod * durationMore, 1)

src/Data/ModCache.lua

Lines changed: 52 additions & 11 deletions
Large diffs are not rendered by default.

src/Data/Skills/act_str.lua

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6171,12 +6171,6 @@ skills["HolyStrike"] = {
61716171
["Staff"] = true,
61726172
["Two Handed Mace"] = true,
61736173
},
6174-
statMap = {
6175-
["skill_physical_damage_%_to_convert_to_lightning"] = {
6176-
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil),
6177-
mod("MinionModifier", "LIST", { mod = mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0) })
6178-
},
6179-
},
61806174
statDescriptionScope = "minion_attack_skill_stat_descriptions",
61816175
castTime = 1,
61826176
minionList = {
@@ -6185,6 +6179,12 @@ skills["HolyStrike"] = {
61856179
minionUses = {
61866180
["Weapon 1"] = true,
61876181
},
6182+
statMap = {
6183+
["skill_physical_damage_%_to_convert_to_lightning"] = {
6184+
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil),
6185+
mod("MinionModifier", "LIST", { mod = mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0) })
6186+
},
6187+
},
61886188
baseFlags = {
61896189
attack = true,
61906190
minion = true,

src/Data/Skills/other.lua

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -704,6 +704,38 @@ skills["CeaselessFleshUnique"] = {
704704
[25] = { 80, levelRequirement = 72, statInterpolation = { 1, }, },
705705
},
706706
}
707+
skills["ResentmentUniqueSkill"] = {
708+
name = "Cinders",
709+
hidden = true,
710+
color = 2,
711+
description = "While active, your bow attacks inflict Cinderflame. Cinderflame deals fire damage over time, and can stack up to ten times. This skill cannot be cast by Totems.",
712+
skillTypes = { [SkillType.Spell] = true, [SkillType.Buff] = true, [SkillType.Duration] = true, [SkillType.Triggerable] = true, [SkillType.Triggered] = true, [SkillType.Instant] = true, [SkillType.Cooldown] = true, [SkillType.DamageOverTime] = true, [SkillType.Fire] = true, [SkillType.CausesBurning] = true, },
713+
statDescriptionScope = "skill_stat_descriptions",
714+
castTime = 0,
715+
fromItem = true,
716+
statMap = {
717+
["base_fire_damage_to_deal_per_minute"] = {
718+
skill("FireDot", nil, { type = "Multiplier", var = "CinderflameStacks", limit = 10 }),
719+
div = 60,
720+
},
721+
},
722+
baseFlags = {
723+
spell = true,
724+
duration = true,
725+
},
726+
constantStats = {
727+
{ "base_skill_effect_duration", 3000 },
728+
{ "base_fire_damage_to_deal_per_minute", 20000 },
729+
},
730+
stats = {
731+
"cast_on_gain_skill",
732+
"spell_uncastable_if_triggerable",
733+
"no_cost",
734+
},
735+
levels = {
736+
[20] = { cooldown = 1, levelRequirement = 0, storedUses = 1, },
737+
},
738+
}
707739
skills["ColdAegis"] = {
708740
name = "Cold Aegis",
709741
hidden = true,

src/Data/Uniques/Special/New.lua

Lines changed: 192 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,84 +5,176 @@
55
data.uniques.new = {
66
-- New
77
[[
8-
Screams of the desiccated
9-
Leather Belt
10-
LevelReq: 56
11-
Implicits: 1
12-
{tags:life}+(25-40) to maximum Life
13-
You have Diamond Shrine Buff while affected by no Flasks
14-
You have Resistance Shrine Buff while affected by no Flasks
15-
+30 to Intelligence
16-
+28% to Chaos Resistance
17-
]],
18-
[[
19-
Skysunder
8+
Fleshrender
209
Exquisite Blade
2110
League: Mirage
2211
Source: Obtained by using a Coin of Restoration on unique{Fleshrender}
2312
Implicits: 1
24-
+50% to global critical strike chance
25-
(130-160)% increased Physical Damage
13+
+50% to Global Critical Strike Multiplier
14+
(180-240)% increased Physical Damage
2615
+(20-40)% to Damage over Time Multiplier
2716
(20-40)% increased Critical Strike Chance
28-
100% of Physical Damage Converted to Fire Damage
29-
Ignites you cause are reflected back to you
30-
50% less Duration of Ignites you inflict
31-
Ignites you inflict with this weapon spread to other Enemies within 2.8 metres
32-
Unaffected by Ignite
33-
]],
34-
[[
35-
The Sands of Time
36-
Tyrant's Sekhem
37-
Requires Level 58, 99 Str, 99 Int
38-
Implicits: 1
39-
26% increased Elemental Damage
40-
Trigger level 20 Suspend in Time on Casting a Spell
41-
60% increased Spell Damage
42-
65% increased Mana Regeneration Rate
43-
10% increased Cooldown Recovery Rate
44-
10% increased Cast Speed for each different Non-Instant Spell you've Cast Recently
17+
Cannot Poison Enemies with at least 12 Poisons on them
18+
Inflict (2-3) additional Poisons on the same Target
19+
when you inflict Poison with this weapon
20+
Wither on Hit with this weapon against Enemies with at least 12 Poisons on them
4521
]],
4622
[[
4723
Khatal's Geyser
4824
Lapis Amulet
25+
League: Mirage
26+
Source: Obtained by using a Coin of Restoration on unique{Khatal's Weeping}
4927
LevelReq: 56
5028
Implicits: 1
5129
{tags:jewellery_attribute}+(20-30) to Intelligence
5230
Can't use Life Flasks
53-
+65 to maximum Mana
54-
Increases and Reductions to Effect of Flasks applied to you also applies to Effect of Arcane Surge on you at 210% of their value
31+
+(55-70) to maximum Mana
32+
Increases and Reductions to Effect of Flasks applied to you also applies to Effect of Arcane Surge on you at (200-250)% of their value
5533
You have Arcane Surge during Effect of any Mana Flask
5634
Mana Flask Effects are not removed when Unreserved Mana is Filled
5735
Mana Flask Effects do not Queue
5836
]],
5937
[[
38+
Khatal's Weeping
39+
Lapis Amulet
40+
League: Mirage
41+
Source: Drops from Mirage encounter
42+
LevelReq: 56
43+
Implicits: 1
44+
{tags:jewellery_attribute}+(20-30) to Intelligence
45+
{tags:life}+(80-100) to maximum Life
46+
Can't use Mana Flasks
47+
On non-channelling Attack, set a Life Flask with greater than 50% of maximum Charges remaining to 50%
48+
For each Charge removed this way, that Attack gains +2% to Damage over time Multiplier
49+
{tags:life}While on Low Life, Life Flasks gain (3-6) Charges every 3 seconds
50+
]],
51+
[[
6052
Replica Gifts from Above
53+
League: Heist
54+
Source: Steal from a unique{Curio Display} during a Grand Heist
6155
Diamond Ring
6256
Requires Level 28
6357
Implicits: 1
6458
{tags:critical}(20-30)% increased Global Critical Strike Chance
6559
Trigger level 10 Consecrate when you deal a Critical Strike
66-
31% increased Global Critical Strike Chance
67-
14% increased Light Radius
68-
47% increased Rarity of Items Dropped by Enemies killed with a Critical Strike
60+
{tags:critical}(30-35)% increased Global Critical Strike Chance
61+
(10-15)% increased Light Radius
62+
{tags:critical}(40-50)% increased Rarity of Items Dropped by Enemies killed with a Critical Strike
6963
Inflict Hallowing Flame on Hit while on Consecrated Ground
7064
]],
7165
[[
72-
Khatal's Weeping
73-
Lapis Amulet
66+
Saresh's Darkness
67+
Chain Belt
68+
League: Mirage
69+
Source: Drops from unique{Saresh, of the Weeping Black}
70+
LevelReq: 24
71+
Implicits: 1
72+
{tags:jewellery_defense}+(9-20) to maximum Energy Shield
73+
{tags:jewellery_resistance}+(23-37)% to Chaos Resistance
74+
(10-25)% increased Poison Duration
75+
Enemies Poisoned by you cannot deal Critical Strikes
76+
Grants Level 20 Caustic Retribution
77+
]],
78+
[[
79+
Screams of the Desiccated
80+
Leather Belt
81+
League: Mirage
82+
Source: Drops from unique{Saresh, of the Weeping Black}
83+
Has Alt Variant: true
84+
Selected Variant: 1
85+
Selected Alt Variant: 1
86+
Variant: Acceleration
87+
Variant: Brutal
88+
Variant: Diamond
89+
Variant: Echoing
90+
Variant: Gloom
91+
Variant: Greater Freezing
92+
Variant: Greater Shocking
93+
Variant: Greater Skeletal
94+
Variant: Impenetrable
95+
Variant: Massive
96+
Variant: Replenishing
97+
Variant: Resistance
98+
Variant: Resonating
7499
LevelReq: 56
75100
Implicits: 1
76-
{tags:jewellery_attribute}+(20-30) to Intelligence
77-
+89 to maximum Life
78-
Can't use Mana Flasks
79-
On non-channelling Attack, set a Life Flask with greater than 50% of maximum Charges remaining to 50%
80-
For each Charge removed this way, that Attack gains +2% to Damage over time Multiplier
81-
While on Low Life, Life Flasks gain 4 Charges every 3 seconds
101+
{tags:life}+(25-40) to maximum Life
102+
{tags:jewellery_attribute}+(23-32) to Intelligence
103+
{tags:jewellery_resistance}+(23-37)% to Chaos Resistance
104+
{variant:1}You have Acceleration Shrine Buff while affected by no Flasks
105+
{variant:2}You have Brutal Shrine Buff while affected by no Flasks
106+
{variant:3}You have Diamond Shrine Buff while affected by no Flasks
107+
{variant:4}You have Echoing Shrine Buff while affected by no Flasks
108+
{variant:5}You have Gloom Shrine Buff while affected by no Flasks
109+
{variant:6}You have Greater Freezing Shrine Buff while affected by no Flasks
110+
{variant:6}(15—20)% increased Effect of Shrine Buffs on you
111+
{variant:7}You have Greater Shocking Shrine Buff while affected by no Flasks
112+
{variant:7}(15—20)% increased Effect of Shrine Buffs on you
113+
{variant:8}You have Greater Skeletal Shrine Buff while affected by no Flasks
114+
{variant:8}(15—20)% increased Effect of Shrine Buffs on you
115+
{variant:9}You have Impenetrable Shrine Buff while affected by no Flasks
116+
{variant:10}You have Massive Shrine Buff while affected by no Flasks
117+
{variant:11}You have Replenishing Shrine Buff while affected by no Flasks
118+
{variant:12}You have Resistance Shrine Buff while affected by no Flasks
119+
{variant:13}You have Resonating Shrine Buff while affected by no Flasks
120+
]],
121+
[[
122+
Skysunder
123+
Exquisite Blade
124+
League: Mirage
125+
Source: Obtained by using a Coin of Restoration on unique{Fleshrender}
126+
Implicits: 1
127+
+50% to Global Critical Strike Multiplier
128+
(130-160)% increased Physical Damage
129+
+(20-40)% to Damage over Time Multiplier
130+
(20-40)% increased Critical Strike Chance
131+
100% of Physical Damage Converted to Fire Damage
132+
Ignites you cause are reflected back to you
133+
50% less Duration of Ignites you inflict
134+
Ignites you inflict with this weapon spread to other Enemies within 2.8 metres
135+
Unaffected by Ignite
136+
]],
137+
[[
138+
Solerai's Radiance
139+
Chain Belt
140+
League: Mirage
141+
Source: Obtained by using a Coin of Restoration on unique{Saresh's Darkness}
142+
LevelReq: 24
143+
Implicits: 1
144+
{tags:jewellery_defense}+(9-20) to maximum Energy Shield
145+
{tags:jewellery_resistance}+(35-50)% to Fire Resistance
146+
(10-25)% increased Ignite Duration on Enemies
147+
Enemies Blinded by you cannot inflict Damaging Ailments
148+
Grants Level 20 Blazing Glare
149+
]],
150+
[[
151+
The Bandit Lord's Band
152+
Gold Ring
153+
League: Settlers
154+
Source: Drops from unique{Sasan, the Bandit Lord}
155+
Requires Level 44
156+
Implicits: 1
157+
(6-15)% increased Rarity of Items found
158+
(25-35)% increased Quantity of Gold Dropped by Slain Enemies
159+
]],
160+
[[
161+
The Bane of Hope
162+
Maraketh Bow
163+
League: Mirage
164+
Source: Drops from Mirage encounter
165+
Requires Level 71
166+
Implicits: 1
167+
10% increased Movement Speed
168+
(90-130)% increased Physical Damage
169+
+(28-35)% to Physical Damage over Time Multiplier
170+
Adds (20-30) to (40-50) Physical Damage
171+
(15-30)% chance to Impale Enemies on Hit with Attacks
172+
Trigger Level 20 Tears of Rot when Equipped
82173
]],
83174
[[
84175
The Broken Elegy
85176
Foul Staff
177+
League: Mirage
86178
Source: Drops from unique{Saresh, of the Weeping Black}
87179
LevelReq: 64
88180
Implicits: 1
@@ -92,5 +184,61 @@ Minions deal (113-157)% increased Damage
92184
(17-31)% increased Minion Duration
93185
When a nearby Minion dies, gain Rotten Bulwark equal to (7-9)% of its maximum Life
94186
Minions gain (59-83)% of Physical Damage as Extra Chaos Damage
187+
]],
188+
[[
189+
The Desecrated Chalice
190+
Coronal Maul
191+
League: Mirage
192+
Source: Drops from Mirage encounter
193+
Requires Level 69
194+
Implicits: 1
195+
20% increased Area of Effect
196+
(120-160)% increased Physical Damage
197+
(20-30)% increased Critical Strike Chance
198+
(0.4-0.5)% of Chaos Damage Leeched as Life
199+
Gain a Flask Charge when you deal a Critical Strike
200+
Gain (40-75)% of Physical Damage as Extra Chaos Damage if you've used an Amethyst Flask Recently
201+
]],
202+
[[
203+
The Flame of Hope
204+
Maraketh Bow
205+
League: Mirage
206+
Source: Obtained by using a Coin of Restoration on unique{The Bane of Hope}
207+
Requires Level 71
208+
Implicits: 1
209+
10% increased Movement Speed
210+
(90-110)% increased Fire Damage
211+
Adds (180-230) to (310-360) Fire Damage
212+
(14-18)% increased Attack Speed
213+
Inflict Fire Exposure on Hit against Enemies with 5 Cinderflame, applying -25% to Fire Resistance
214+
Trigger Level 20 Cinders when Equipped
215+
]],
216+
[[
217+
The Sacred Chalice
218+
Coronal Maul
219+
League: Mirage
220+
Source: Obtained by using a Coin of Restoration on unique{The Desecrated Chalice}
221+
Requires Level 69
222+
Implicits: 1
223+
20% increased Area of Effect
224+
(120-160)% increased Physical Damage
225+
(20-30)% increased Critical Strike Chance
226+
Gain a Flask Charge when you deal a Critical Strike
227+
Gain (20-40)% of Physical Damage as Extra Cold Damage if you've used a Sapphire Flask Recently
228+
Gain (20-40)% of Physical Damage as Extra Lightning Damage if you've used a Topaz Flask Recently
229+
]],
230+
[[
231+
The Sands of Time
232+
Tyrant's Sekhem
233+
League: Mirage
234+
Source: Drops from unique{Saresh, of the Weeping Black}
235+
Requires Level 58, 99 Str, 99 Int
236+
Implicits: 1
237+
26% increased Elemental Damage
238+
Trigger level 20 Suspend in Time on Casting a Spell
239+
(60-80)% increased Spell Damage
240+
(60-80)% increased Mana Regeneration Rate
241+
(10-15)% increased Cooldown Recovery Rate
242+
10% increased Cast Speed for each different Non-Instant Spell you've Cast Recently
95243
]]
96244
}

src/Export/Skills/other.txt

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,17 @@ local skills, mod, flag, skill = ...
246246
},
247247
#mods
248248

249+
#skill ResentmentUniqueSkill
250+
#flags spell duration
251+
fromItem = true,
252+
statMap = {
253+
["base_fire_damage_to_deal_per_minute"] = {
254+
skill("FireDot", nil, { type = "Multiplier", var = "CinderflameStacks", limit = 10 }),
255+
div = 60,
256+
},
257+
},
258+
#mods
259+
249260
#skill ColdAegis
250261
#flags spell
251262
fromItem = true,

0 commit comments

Comments
 (0)