Skip to content

Commit e861849

Browse files
committed
Restore dev-style FullDPS execution semantics
1 parent 265fdce commit e861849

1 file changed

Lines changed: 8 additions & 29 deletions

File tree

src/Modules/Calcs.lua

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -207,10 +207,6 @@ end
207207
function calcs.calcFullDPS(build, mode, override, specEnv)
208208
local fullEnv, cachedPlayerDB, cachedEnemyDB, cachedMinionDB = calcs.initEnv(build, mode, override, specEnv)
209209
local usedEnv = nil
210-
local prepassState = calcs.performActorPrepass(fullEnv, { snapshotDBs = true })
211-
local skillPassPlayerDB = prepassState.cachedPlayerDB or cachedPlayerDB
212-
local skillPassEnemyDB = prepassState.cachedEnemyDB or cachedEnemyDB
213-
local skillPassMinionDB = prepassState.cachedMinionDB or cachedMinionDB
214210

215211
local fullDPS = {
216212
combinedDPS = 0,
@@ -233,16 +229,12 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
233229
local igniteSource = ""
234230
local burningGroundSource = ""
235231
local causticGroundSource = ""
236-
237-
-- initEnv() is the shared actor-global prepass for the FullDPS run. Each included
238-
-- skill then runs through the hot skill-local path on the reused env, while perform()
239-
-- continues to populate the slim cache for trigger/source reuse within the generation.
240232
for _, activeSkill in ipairs(fullEnv.player.activeSkillList) do
241233
if activeSkill.socketGroup and activeSkill.socketGroup.includeInFullDPS then
242234
local activeSkillCount, enabled = getActiveSkillCount(activeSkill)
243235
if enabled then
244236
fullEnv.player.mainSkill = activeSkill
245-
calcs.performSkillPass(fullEnv, true, prepassState)
237+
calcs.perform(fullEnv, true)
246238
usedEnv = fullEnv
247239
local output = usedEnv.player.output
248240
local minionOutput = usedEnv.minion and usedEnv.minion.output or nil
@@ -376,9 +368,9 @@ function calcs.calcFullDPS(build, mode, override, specEnv)
376368
everything = true,
377369
}
378370
fullEnv, _, _, _ = calcs.initEnv(build, mode, override, {
379-
cachedPlayerDB = skillPassPlayerDB,
380-
cachedEnemyDB = skillPassEnemyDB,
381-
cachedMinionDB = skillPassMinionDB,
371+
cachedPlayerDB = cachedPlayerDB,
372+
cachedEnemyDB = cachedEnemyDB,
373+
cachedMinionDB = cachedMinionDB,
382374
env = fullEnv,
383375
accelerate = accelerationTbl,
384376
cacheGeneration = fullEnv.cacheGeneration,
@@ -453,26 +445,13 @@ function calcs.buildActiveSkill(env, mode, skill, targetUUID, limitedProcessingF
453445
end
454446
recursionGuards.buildingSkills[guardKey] = true
455447

456-
local accelerationTbl = env.cachedSkillBuildEnv and {
457-
nodeAlloc = true,
458-
requirementsItems = true,
459-
requirementsGems = true,
460-
skills = true,
461-
everything = true,
462-
} or nil
463-
local cachedSkillPrepassState = env.cachedSkillBuildPrepassState
464448
local fullEnv, _, _, _ = calcs.initEnv(env.build, mode, env.override, {
465-
cachedPlayerDB = cachedSkillPrepassState and cachedSkillPrepassState.cachedPlayerDB or env.cachedPlayerDB,
466-
cachedEnemyDB = cachedSkillPrepassState and cachedSkillPrepassState.cachedEnemyDB or env.cachedEnemyDB,
467-
cachedMinionDB = cachedSkillPrepassState and cachedSkillPrepassState.cachedMinionDB or env.cachedMinionDB,
468-
env = env.cachedSkillBuildEnv,
469-
accelerate = accelerationTbl,
449+
cachedPlayerDB = env.cachedPlayerDB,
450+
cachedEnemyDB = env.cachedEnemyDB,
451+
cachedMinionDB = env.cachedMinionDB,
470452
cacheGeneration = env.cacheGeneration,
471453
recursionGuards = recursionGuards,
472454
})
473-
env.cachedSkillBuildEnv = fullEnv
474-
local prepassState = cachedSkillPrepassState or calcs.performActorPrepass(fullEnv, { snapshotDBs = true })
475-
env.cachedSkillBuildPrepassState = prepassState
476455

477456
-- env.limitedSkills contains a map of uuids that should be limited in calculation
478457
-- this is in order to prevent infinite recursion loops
@@ -489,7 +468,7 @@ function calcs.buildActiveSkill(env, mode, skill, targetUUID, limitedProcessingF
489468
if activeSkillUUID == targetUUID then
490469
fullEnv.player.mainSkill = activeSkill
491470
fullEnv.requestedSkillUUID = targetUUID
492-
calcs.performSkillPass(fullEnv, true, prepassState)
471+
calcs.perform(fullEnv, true)
493472
fullEnv.requestedSkillUUID = nil
494473
recursionGuards.buildingSkills[guardKey] = nil
495474
return true

0 commit comments

Comments
 (0)