Skip to content

Commit 6d574e1

Browse files
author
LocalIdentity
committed
Fix FullDPS count and Minion selections not persisting
The fullDPS count wasn't persisting when importing Minion Item sets selections and also minion index were not persisting
1 parent 91beb75 commit 6d574e1

2 files changed

Lines changed: 47 additions & 0 deletions

File tree

spec/System/TestImportReimport_spec.lua

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,33 @@ Added Fire Damage 1/0 DISABLED 1
131131
assert.is_false(socketGroup.gemList[3].enabled)
132132
end)
133133

134+
it("preserves active skill count when reimporting items and skills", function()
135+
build.skillsTab:PasteSocketGroup([[
136+
Slot: Helmet
137+
Cleave 1/0 1
138+
Heavy Strike 1/0 1
139+
Added Fire Damage 1/0 DISABLED 1
140+
]])
141+
runCallback("OnFrame")
142+
143+
local socketGroup = build.skillsTab.socketGroupList[1]
144+
socketGroup.includeInFullDPS = true
145+
socketGroup.mainActiveSkill = 2
146+
socketGroup.gemList[2].count = 7
147+
runCallback("OnFrame")
148+
149+
reimportSocketedItemsWithOptions("Iron Hat", "Helm", {
150+
makeSocketedGemEntry(0, false, "Cleave", 1),
151+
makeSocketedGemEntry(1, false, "Heavy Strike", 1),
152+
makeSocketedGemEntry(2, true, "Added Fire Damage Support", 2),
153+
}, false)
154+
155+
socketGroup = build.skillsTab.socketGroupList[1]
156+
assert.are.equal("Helmet", socketGroup.slot)
157+
assert.are.equal(2, socketGroup.mainActiveSkill)
158+
assert.are.equal(7, socketGroup.gemList[2].count)
159+
end)
160+
134161
it("preserves full DPS state and disabled gems when reimporting with deleted equipment", function()
135162
build.skillsTab:PasteSocketGroup([[
136163
Slot: Helmet
@@ -223,4 +250,14 @@ Blight 20/0 1
223250
it("preserves minion skill when reimporting items and skills", function()
224251
assertReimportPreservesSkillSubstate("Gloves", "Rawhide Gloves", "Gloves", "Summon Chaos Golem", "skillMinionSkill", 3)
225252
end)
253+
254+
it("preserves minion type selection when reimporting items and skills", function()
255+
assertReimportPreservesSkillSubstate("Gloves", "Rawhide Gloves", "Gloves", "Summon Skeletons", "skillMinion", "RaisedSkeletonCaster")
256+
end)
257+
258+
it("preserves minion item set selection when reimporting items and skills", function()
259+
local itemSet = build.itemsTab:NewItemSet()
260+
table.insert(build.itemsTab.itemSetOrderList, itemSet.id)
261+
assertReimportPreservesSkillSubstate("Weapon 1", "Driftwood Wand", "Weapon", "Animate Weapon", "skillMinionItemSet", itemSet.id)
262+
end)
226263
end)

src/Classes/ImportTab.lua

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -808,12 +808,17 @@ local function snapshotSocketGroupReimportState(socketGroup, isMainGroup)
808808
for gemIndex, gem in ipairs(socketGroup.gemList) do
809809
gemStates[gemIndex] = {
810810
enabled = gem.enabled,
811+
count = gem.count,
811812
skillPart = gem.skillPart,
812813
skillPartCalcs = gem.skillPartCalcs,
813814
skillStageCount = gem.skillStageCount,
814815
skillStageCountCalcs = gem.skillStageCountCalcs,
815816
skillMineCount = gem.skillMineCount,
816817
skillMineCountCalcs = gem.skillMineCountCalcs,
818+
skillMinion = gem.skillMinion,
819+
skillMinionCalcs = gem.skillMinionCalcs,
820+
skillMinionItemSet = gem.skillMinionItemSet,
821+
skillMinionItemSetCalcs = gem.skillMinionItemSetCalcs,
817822
skillMinionSkill = gem.skillMinionSkill,
818823
skillMinionSkillCalcs = gem.skillMinionSkillCalcs,
819824
enableGlobal1 = gem.enableGlobal1,
@@ -834,12 +839,17 @@ end
834839

835840
local function applyGemReimportState(gem, state)
836841
gem.enabled = state.enabled
842+
gem.count = state.count
837843
gem.skillPart = state.skillPart
838844
gem.skillPartCalcs = state.skillPartCalcs
839845
gem.skillStageCount = state.skillStageCount
840846
gem.skillStageCountCalcs = state.skillStageCountCalcs
841847
gem.skillMineCount = state.skillMineCount
842848
gem.skillMineCountCalcs = state.skillMineCountCalcs
849+
gem.skillMinion = state.skillMinion
850+
gem.skillMinionCalcs = state.skillMinionCalcs
851+
gem.skillMinionItemSet = state.skillMinionItemSet
852+
gem.skillMinionItemSetCalcs = state.skillMinionItemSetCalcs
843853
gem.skillMinionSkill = state.skillMinionSkill
844854
gem.skillMinionSkillCalcs = state.skillMinionSkillCalcs
845855
gem.enableGlobal1 = state.enableGlobal1

0 commit comments

Comments
 (0)