Skip to content

Commit 26d27b8

Browse files
committed
Add new Grand Spectrum mods and change Grand Spectrum parsing to generic one
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
1 parent 8f4a820 commit 26d27b8

File tree

3 files changed

+19
-34
lines changed

3 files changed

+19
-34
lines changed

src/Classes/Item.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1161,6 +1161,10 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
11611161
flaskData[value.key] = value.value
11621162
end
11631163
elseif self.type == "Jewel" then
1164+
if string.find(self.name, "Grand Spectrum") then
1165+
modList:NewMod("Multiplier:GrandSpectrum", "BASE", 1, self.name)
1166+
end
1167+
11641168
local jewelData = self.jewelData
11651169
for _, func in ipairs(modList:List(nil, "JewelFunc")) do
11661170
jewelData.funcList = jewelData.funcList or { }
@@ -1363,4 +1367,4 @@ function ItemClass:BuildModList()
13631367
else
13641368
self.modList = self:BuildModListForSlotNum(baseList)
13651369
end
1366-
end
1370+
end

src/Data/Uniques/jewel.lua

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -246,23 +246,27 @@ Limited to: 3
246246
Variant: Pre 3.0.0
247247
Variant: Pre 3.10.0
248248
Variant: Current - Crit Chance
249-
Variant: Current - Min Endurance Charge
249+
Variant: Current - Minion Crit Multi
250+
Variant: Current - Min Power Charge
250251
{variant:1}Gain 15 Mana per Grand Spectrum
251252
{variant:2}Gain 30 Mana per Grand Spectrum
252253
{variant:3}25% increased Critical Strike Chance per Grand Spectrum
253-
{variant:4}+1 to Minimum Endurance Charges per Grand Spectrum
254+
{variant:4}Minions have +10% to Critical Strike Multiplier per Grand Spectrum
255+
{variant:5}+1 to Minimum Power Charges per Grand Spectrum
254256
]],[[
255257
Grand Spectrum
256258
Crimson Jewel
257259
Limited to: 3
258260
Variant: Pre 3.0.0
259261
Variant: Pre 3.10.0
260262
Variant: Current - Elemental Resistances
261-
Variant: Current - Minion Crit Multi
263+
Variant: Current - Maximum Life
264+
Variant: Current - Min Endurance Charge
262265
{variant:1}Gain 75 Armour per Grand Spectrum
263266
{variant:2}Gain 200 Armour per Grand Spectrum
264267
{variant:3}+7% to all Elemental Resistances per Grand Spectrum
265-
{variant:4}Minions have +10% to Critical Strike Multiplier per Grand Spectrum
268+
{variant:4}5% increased Maximum Life per Grand Spectrum
269+
{variant:5}+1 to Minimum Endurance Charges per Grand Spectrum
266270
]],[[
267271
Grand Spectrum
268272
Viridian Jewel
@@ -271,10 +275,14 @@ Variant: Pre 2.5.0
271275
Variant: Pre 3.0.0
272276
Variant: Pre 3.10.0
273277
Variant: Current
278+
Variant: Current - Chance to avoid Ailments
279+
Variant: Current - Min Frenzy Charge
274280
{variant:1}5% increased Elemental Damage per Grand Spectrum
275281
{variant:2}4% increased Elemental Damage per Grand Spectrum
276282
{variant:3}12% increased Elemental Damage per Grand Spectrum
277283
{variant:4}15% increased Elemental Damage per Grand Spectrum
284+
{variant:5}15% chance to Avoid Elemental Ailments per Grand Spectrum
285+
{variant:6}+1 to Minimum Frenzy Charges per Grand Spectrum
278286
]],[[
279287
The Green Dream
280288
Viridian Jewel

src/Modules/ModParser.lua

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1089,6 +1089,7 @@ local modTagList = {
10891089
["per allocated mastery passive skill"] = { tag = { type = "Multiplier", var = "AllocatedMastery" } },
10901090
["per allocated notable passive skill"] = { tag = { type = "Multiplier", var = "AllocatedNotable" } },
10911091
["for each different type of mastery you have allocated"] = { tag = { type = "Multiplier", var = "AllocatedMasteryType" } },
1092+
["per grand spectrum"] = { tag = { type = "Multiplier", var = "GrandSpectrum" } },
10921093
-- Per stat
10931094
["per (%d+)%% of maximum mana they reserve"] = function(num) return { tag = { type = "PerStat", stat = "ManaReservedPercent", div = num } } end,
10941095
["per (%d+) strength"] = function(num) return { tag = { type = "PerStat", stat = "Str", div = num } } end,
@@ -1134,7 +1135,7 @@ local modTagList = {
11341135
["per endurance, frenzy or power charge"] = { tag = { type = "PerStat", stat = "TotalCharges" } },
11351136
["per fortification"] = { tag = { type = "PerStat", stat = "FortificationStacks" } },
11361137
["per totem"] = { tag = { type = "PerStat", stat = "TotemsSummoned" } },
1137-
["per summoned totem"] = { tag = { type = "PerStat", stat = "TotemsSummoned" } },
1138+
["per summoned totem"] = { tag = { type = "PerStat", stat = "TotemsSummoned" } },
11381139
["for each summoned totem"] = { tag = { type = "PerStat", stat = "TotemsSummoned" } },
11391140
["for each time they have chained"] = { tag = { type = "PerStat", stat = "Chain" } },
11401141
["for each time it has chained"] = { tag = { type = "PerStat", stat = "Chain" } },
@@ -3291,34 +3292,6 @@ local specialModList = {
32913292
["only affects passives in large ring"] = { mod("JewelData", "LIST", { key = "radiusIndex", value = 6 }) },
32923293
["only affects passives in very large ring"] = { mod("JewelData", "LIST", { key = "radiusIndex", value = 7 }) },
32933294
["only affects passives in massive ring"] = { mod("JewelData", "LIST", { key = "radiusIndex", value = 8 }) },
3294-
["(%d+)%% increased elemental damage per grand spectrum"] = function(num) return {
3295-
mod("ElementalDamage", "INC", num, { type = "Multiplier", var = "GrandSpectrum" }),
3296-
mod("Multiplier:GrandSpectrum", "BASE", 1),
3297-
} end,
3298-
["gain (%d+) armour per grand spectrum"] = function(num) return {
3299-
mod("Armour", "BASE", num, { type = "Multiplier", var = "GrandSpectrum" }),
3300-
mod("Multiplier:GrandSpectrum", "BASE", 1),
3301-
} end,
3302-
["+(%d+)%% to all elemental resistances per grand spectrum"] = function(num) return {
3303-
mod("ElementalResist", "BASE", num, { type = "Multiplier", var = "GrandSpectrum" }),
3304-
mod("Multiplier:GrandSpectrum", "BASE", 1)
3305-
} end,
3306-
["gain (%d+) mana per grand spectrum"] = function(num) return {
3307-
mod("Mana", "BASE", num, { type = "Multiplier", var = "GrandSpectrum" }),
3308-
mod("Multiplier:GrandSpectrum", "BASE", 1),
3309-
} end,
3310-
["(%d+)%% increased critical strike chance per grand spectrum"] = function(num) return {
3311-
mod("CritChance", "INC", num, { type = "Multiplier", var = "GrandSpectrum" }),
3312-
mod("Multiplier:GrandSpectrum", "BASE", 1)
3313-
} end,
3314-
["%+(%d+) to minimum endurance charges per grand spectrum"] = function(num) return {
3315-
mod("EnduranceChargesMin", "BASE", num, { type = "Multiplier", var = "GrandSpectrum" }),
3316-
mod("Multiplier:GrandSpectrum", "BASE", 1)
3317-
} end,
3318-
["minions have %+(%d+)%% to critical strike multiplier per grand spectrum"] = function(num) return {
3319-
mod("MinionModifier", "LIST", { mod = mod("CritMultiplier", "BASE", num, { type = "Multiplier", actor = "parent", var = "GrandSpectrum" }) }),
3320-
mod("Multiplier:GrandSpectrum", "BASE", 1)
3321-
} end,
33223295
["primordial"] = { mod("Multiplier:PrimordialItem", "BASE", 1) },
33233296
["spectres have a base duration of (%d+) seconds"] = function(num) return { mod("SkillData", "LIST", { key = "duration", value = 6 }, { type = "SkillName", skillName = "Raise Spectre" }) } end,
33243297
["flasks applied to you have (%d+)%% increased effect"] = function(num) return { mod("FlaskEffect", "INC", num) } end,

0 commit comments

Comments
 (0)