Skip to content

Commit 1474566

Browse files
LocalIdentityLocalIdentity
andauthored
Fix Prism of Belief not working with some Skill Gems (#1435)
Prism of Belief wasn't working with some skill gems as it was trying to match the GrantedEffect Id instead of the Gem Id in a few cases If has 2 manual name overrides for Spectres and Companions Prism of Belief also was generating variants for skills that came from the tree or only from item. Technically it should be using the gem list in SkillGemForUniqueStat.dat but after correctly tagging all the gems that come from items, we only need to manually excluded 2 gems Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent 876cabf commit 1474566

10 files changed

Lines changed: 38 additions & 456 deletions

File tree

src/Data/Gems.lua

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6447,35 +6447,6 @@ return {
64476447
Tier = 1,
64486448
naturalMaxLevel = 20,
64496449
},
6450-
["Metadata/Items/Gems/SkillGemElementalSiphon"] = {
6451-
name = "Elemental Siphon",
6452-
baseTypeName = "Elemental Siphon",
6453-
gameId = "Metadata/Items/Gem/SkillGemElementalSiphon",
6454-
variantId = "ElementalSiphon",
6455-
grantedEffectId = "ElementalSiphonPlayer",
6456-
additionalStatSet1 = "ElementalSiphonColdPlayer",
6457-
additionalStatSet2 = "ElementalSiphonFirePlayer",
6458-
additionalStatSet3 = "ElementalSiphonLightningPlayer",
6459-
tags = {
6460-
dexterity = true,
6461-
grants_active_skill = true,
6462-
attack = true,
6463-
melee = true,
6464-
strike = true,
6465-
lightning = true,
6466-
cold = true,
6467-
fire = true,
6468-
duration = true,
6469-
},
6470-
gemType = "Attack",
6471-
tagString = "Melee, Strike, Lightning, Cold, Fire, Duration",
6472-
weaponRequirements = "Spear",
6473-
reqStr = 0,
6474-
reqDex = 100,
6475-
reqInt = 0,
6476-
Tier = 0,
6477-
naturalMaxLevel = 20,
6478-
},
64796450
["Metadata/Items/Gems/SkillGemThunderousLeap"] = {
64806451
name = "Thunderous Leap",
64816452
baseTypeName = "Thunderous Leap",

src/Data/ModCache.lua

Lines changed: 5 additions & 96 deletions
Large diffs are not rendered by default.

src/Data/Skills/act_dex.lua

Lines changed: 1 addition & 307 deletions
Large diffs are not rendered by default.

src/Data/Skills/act_int.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4077,6 +4077,7 @@ skills["ConvalescenceActivePlayer"] = {
40774077
skills["CracklingPalmPlayer"] = {
40784078
name = "Crackling Palm",
40794079
baseTypeName = "Crackling Palm",
4080+
fromItem = true,
40804081
color = 3,
40814082
description = "When you Hit with Unarmed Melee Attacks, calls down lightning bolts which deal Unarmed Attack damage to all surrounding enemies.",
40824083
skillTypes = { [SkillType.Buff] = true, [SkillType.HasReservation] = true, [SkillType.Area] = true, [SkillType.Lightning] = true, [SkillType.Attack] = true, [SkillType.OngoingSkill] = true, [SkillType.Persistent] = true, [SkillType.NoAttackOrCastTime] = true, },
@@ -4256,6 +4257,7 @@ skills["CracklingPalmPlayer"] = {
42564257
skills["MetaCastCurseOnBlockPlayer"] = {
42574258
name = "Curse on Block",
42584259
baseTypeName = "Curse on Block",
4260+
fromItem = true,
42594261
color = 3,
42604262
description = "While active, gains Energy when you Block and triggers socketed Curses on reaching maximum Energy.",
42614263
skillTypes = { [SkillType.HasReservation] = true, [SkillType.OngoingSkill] = true, [SkillType.Meta] = true, [SkillType.Persistent] = true, [SkillType.Buff] = true, [SkillType.CanHaveMultipleOngoingSkillInstances] = true, [SkillType.GeneratesEnergy] = true, [SkillType.Triggers] = true, },
@@ -4369,6 +4371,7 @@ skills["MetaCastCurseOnBlockPlayer"] = {
43694371
skills["SupportMetaCastCurseOnBlockPlayer"] = {
43704372
name = "SupportMetaCastCurseOnBlockPlayer",
43714373
hidden = true,
4374+
fromItem = true,
43724375
support = true,
43734376
requireSkillTypes = { SkillType.AppliesCurse, SkillType.Triggerable, SkillType.AND, },
43744377
addSkillTypes = { SkillType.Triggered, SkillType.Cooldown, },
@@ -6906,6 +6909,7 @@ skills["FallingThunderPlayer"] = {
69066909
skills["FeastOfFleshPlayer"] = {
69076910
name = "Feast of Flesh",
69086911
baseTypeName = "Feast of Flesh",
6912+
fromItem = true,
69096913
color = 3,
69106914
description = "Consume Corpses near you to recover Life and Mana over a short time per Corpse Consumed.",
69116915
skillTypes = { [SkillType.Spell] = true, [SkillType.Area] = true, [SkillType.Triggerable] = true, [SkillType.AreaSpell] = true, [SkillType.Nova] = true, [SkillType.NoAttackInPlace] = true, [SkillType.Unleashable] = true, [SkillType.Buff] = true, },
@@ -9956,6 +9960,7 @@ skills["FrozenLocusPlayer"] = {
99569960
skills["FulminationPlayer"] = {
99579961
name = "Fulmination",
99589962
baseTypeName = "Fulmination",
9963+
fromItem = true,
99599964
color = 3,
99609965
description = "While active, the first time any Skill Hits a Shocked enemy in your Presence, that Skill also Hits other Shocked enemies in your Presence, up to a maximum.",
99619966
skillTypes = { [SkillType.Buff] = true, [SkillType.HasReservation] = true, [SkillType.Aura] = true, [SkillType.OngoingSkill] = true, [SkillType.Persistent] = true, [SkillType.AffectsPresence] = true, [SkillType.Damage] = true, [SkillType.NoAttackInPlace] = true, [SkillType.NoAttackOrCastTime] = true, [SkillType.Lightning] = true, },

src/Data/Skills/act_str.lua

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1264,6 +1264,7 @@ skills["BerserkPlayer"] = {
12641264
skills["BlackPowderBlitzReservationPlayer"] = {
12651265
name = "Black Powder Blitz",
12661266
baseTypeName = "Black Powder Blitz",
1267+
fromItem = true,
12671268
color = 1,
12681269
description = "Replaces your dodge roll with an explosive-assisted leap, firing off a round from your prosthetic cannon leg that Blinds and Ignites enemies in the area you escape from. The explosion will cause any Grenades in its area of effect to also explode.",
12691270
skillTypes = { [SkillType.OngoingSkill] = true, [SkillType.HasReservation] = true, [SkillType.Buff] = true, [SkillType.Persistent] = true, [SkillType.DodgeReplacement] = true, [SkillType.Detonator] = true, },
@@ -1373,6 +1374,7 @@ skills["BlackPowderBlitzReservationPlayer"] = {
13731374
skills["BlackPowderBlitzPlayer"] = {
13741375
name = "Black Powder Blitz",
13751376
hidden = true,
1377+
fromItem = true,
13761378
skillTypes = { [SkillType.UsableWhileMoving] = true, [SkillType.Cooldown] = true, [SkillType.Travel] = true, [SkillType.CanCancelActions] = true, [SkillType.Area] = true, [SkillType.Damage] = true, [SkillType.Physical] = true, [SkillType.Fire] = true, [SkillType.Jumping] = true, },
13771379
castTime = 0.7,
13781380
qualityStats = {
@@ -4683,6 +4685,7 @@ skills["ToxicGrenadePlayer"] = {
46834685
skills["GeminiSurgePlayer"] = {
46844686
name = "Gemini Surge",
46854687
baseTypeName = "Gemini Surge",
4688+
fromItem = true,
46864689
color = 1,
46874690
description = "Grants your weapon Surges. Non-Melee Projectile Attacks with that weapon Consume Surges to cause the Projectiles fired to explode at the end of their flight.",
46884691
skillTypes = { [SkillType.Attack] = true, [SkillType.Area] = true, [SkillType.Fire] = true, [SkillType.Cold] = true, [SkillType.Triggered] = true, [SkillType.Triggerable] = true, [SkillType.NoAttackOrCastTime] = true, },
@@ -14260,6 +14263,7 @@ skills["SuperchargedSlamPlayer"] = {
1426014263
skills["MetaCastLightningSpellOnHitPlayer"] = {
1426114264
name = "Thundergod's Wrath",
1426214265
baseTypeName = "Thundergod's Wrath",
14266+
fromItem = true,
1426314267
color = 1,
1426414268
description = "While active, gains Energy when you Hit enemies with Melee Attacks and triggers socketed Lightning spells on reaching maximum Energy.",
1426514269
skillTypes = { [SkillType.HasReservation] = true, [SkillType.OngoingSkill] = true, [SkillType.Meta] = true, [SkillType.Persistent] = true, [SkillType.Buff] = true, [SkillType.Lightning] = true, [SkillType.CanHaveMultipleOngoingSkillInstances] = true, [SkillType.GeneratesEnergy] = true, [SkillType.Triggers] = true, },
@@ -14374,6 +14378,7 @@ skills["MetaCastLightningSpellOnHitPlayer"] = {
1437414378
skills["SupportMetaCastLightningSpellOnHitPlayer"] = {
1437514379
name = "SupportMetaCastLightningSpellOnHitPlayer",
1437614380
hidden = true,
14381+
fromItem = true,
1437714382
support = true,
1437814383
requireSkillTypes = { SkillType.Spell, SkillType.Triggerable, SkillType.Lightning, SkillType.AND, SkillType.AND, },
1437914384
addSkillTypes = { SkillType.Triggered, SkillType.Cooldown, },
@@ -14600,6 +14605,7 @@ skills["TimeOfNeedPlayer"] = {
1460014605
skills["ValakosChargePlayer"] = {
1460114606
name = "Valako's Charge",
1460214607
baseTypeName = "Valako's Charge",
14608+
fromItem = true,
1460314609
color = 1,
1460414610
description = "While active, taking Lightning damage builds up charge on you. Reaching full charge expends all charge to Trigger this skill, creating a Chaining lightning bolt that arcs to nearby enemies.",
1460514611
skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Chains] = true, [SkillType.Triggerable] = true, [SkillType.Lightning] = true, [SkillType.UsableWhileMoving] = true, [SkillType.Area] = true, [SkillType.AreaSpell] = true, [SkillType.NoAttackInPlace] = true, [SkillType.Cooldown] = true, [SkillType.InbuiltTrigger] = true, [SkillType.Triggered] = true, [SkillType.NoAttackOrCastTime] = true, },

src/Data/Uniques/Special/Generated.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,13 @@ end
7575

7676
do
7777
local excludedGems = {
78+
"Detonate Minion",
79+
"Rhoa Mount",
7880
}
7981
local gems = { }
8082
for _, gemData in pairs(data.gems) do
81-
if not gemData.tags.support and not isValueInArray(excludedGems, gemData.name) then
83+
if not gemData.tags.support and not isValueInArray(excludedGems, gemData.name) and not gemData.grantedEffect.hidden and not gemData.grantedEffect.fromItem and not gemData.grantedEffect.fromTree then
84+
gemData.name = gemData.name:gsub("Spectre: {0}", "Summon Spectre"):gsub("Companion: {0}", "Tamed Companion")
8285
table.insert(gems, gemData.name)
8386
end
8487
end

src/Export/Skills/act_dex.txt

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -147,21 +147,6 @@ statMap = {
147147
#mods
148148
#skillEnd
149149

150-
#skill ElementalSiphonPlayer
151-
#set ElementalSiphonPlayer
152-
#flags attack area melee
153-
#mods
154-
#set ElementalSiphonColdPlayer
155-
#flags
156-
#mods
157-
#set ElementalSiphonFirePlayer
158-
#flags
159-
#mods
160-
#set ElementalSiphonLightningPlayer
161-
#flags
162-
#mods
163-
#skillEnd
164-
165150
#skill ElementalSunderingPlayer
166151
#set ElementalSunderingPlayer
167152
#flags
@@ -344,6 +329,7 @@ statMap = {
344329
#mods
345330
#skillEnd
346331

332+
#from item
347333
#skill PhantasmalArrowPlayer
348334
#set PhantasmalArrowPlayer
349335
#flags attack projectile duration

src/Export/Skills/act_int.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,7 @@ statMap = {
289289
#mods
290290
#skillEnd
291291

292+
#from item
292293
#skill CracklingPalmPlayer
293294
#set CracklingPalmPlayer
294295
#flags
@@ -298,12 +299,14 @@ statMap = {
298299
#mods
299300
#skillEnd
300301

302+
#from item
301303
#skill MetaCastCurseOnBlockPlayer
302304
#set MetaCastCurseOnBlockPlayer
303305
#flags
304306
#mods
305307
#skillEnd
306308

309+
#from item
307310
#skill SupportMetaCastCurseOnBlockPlayer
308311
#set SupportMetaCastCurseOnBlockPlayer
309312
#mods
@@ -451,6 +454,7 @@ statMap = {
451454
#mods
452455
#skillEnd
453456

457+
#from item
454458
#skill FeastOfFleshPlayer
455459
#set FeastOfFleshPlayer
456460
#flags
@@ -623,6 +627,7 @@ statMap = {
623627
#mods
624628
#skillEnd
625629

630+
#from item
626631
#skill FulminationPlayer
627632
#set FulminationPlayer
628633
#flags

src/Export/Skills/act_str.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,12 +100,14 @@ statMap = {
100100
#mods
101101
#skillEnd
102102

103+
#from item
103104
#skill BlackPowderBlitzReservationPlayer
104105
#set BlackPowderBlitzReservationPlayer
105106
#flags
106107
#mods
107108
#skillEnd
108109

110+
#from item
109111
#skill BlackPowderBlitzPlayer
110112
#set BlackPowderBlitzPlayer
111113
#flags hit area
@@ -327,6 +329,7 @@ statMap = {
327329
#mods
328330
#skillEnd
329331

332+
#from item
330333
#skill GeminiSurgePlayer
331334
#set GeminiSurgeColdPlayer
332335
#flags attack area
@@ -842,12 +845,14 @@ statMap = {
842845
#mods
843846
#skillEnd
844847

848+
#from item
845849
#skill MetaCastLightningSpellOnHitPlayer
846850
#set MetaCastLightningSpellOnHitPlayer
847851
#flags
848852
#mods
849853
#skillEnd
850854

855+
#from item
851856
#skill SupportMetaCastLightningSpellOnHitPlayer
852857
#set SupportMetaCastLightningSpellOnHitPlayer
853858
#flags
@@ -860,6 +865,7 @@ statMap = {
860865
#mods
861866
#skillEnd
862867

868+
#from item
863869
#skill ValakosChargePlayer
864870
#set ValakosChargePlayer
865871
#flags area

src/Modules/ModParser.lua

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2070,14 +2070,11 @@ local function flag(name, ...)
20702070
return mod(name, "FLAG", true, ...)
20712071
end
20722072

2073-
local gemIdLookup = {
2074-
["power charge on critical hit"] = "SupportPowerChargeOnCritical",
2075-
}
2076-
for name, grantedEffect in pairs(data.skills) do
2077-
if not grantedEffect.hidden or grantedEffect.fromItem or grantedEffect.fromTree then
2078-
local gemName = grantedEffect.baseTypeName and grantedEffect.baseTypeName:lower() or grantedEffect.name:lower()
2079-
gemIdLookup[gemName] = grantedEffect.id
2080-
end
2073+
local gemIdLookup = { }
2074+
for gemId, gemData in pairs(data.gems) do
2075+
local grantedEffect = gemData.grantedEffect
2076+
local gemName = (grantedEffect.fromItem or grantedEffect.fromTree) and grantedEffect.baseTypeName and grantedEffect.baseTypeName:lower() or gemData.name:lower()
2077+
gemIdLookup[gemName] = grantedEffect.id
20812078
end
20822079
local function grantedExtraSkill(name, level, noSupports)
20832080
name = name:gsub(" skill","")

0 commit comments

Comments
 (0)