@@ -615,16 +615,15 @@ function calcs.buildActiveSkillModList(env, activeSkill)
615615 end
616616 end
617617
618- if skillModList :Sum (" BASE" , activeSkill .skillCfg , " Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " MaxStages" ) > 0 then
618+ local limit = skillModList :Sum (" BASE" , activeSkill .skillCfg , " Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " MaxStages" )
619+ activeSkill .skillData .stagesMax = limit > 0 and limit or nil
620+ if limit > 0 then
619621 skillFlags .multiStage = true
620- activeSkill .activeStageCount = m_max ((env .mode == " CALCS" and activeEffect .srcInstance .skillStageCountCalcs ) or (env .mode ~= " CALCS" and activeEffect .srcInstance .skillStageCount ) or 1 , 1 + skillModList :Sum (" BASE" , activeSkill .skillCfg , " Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " MinimumStage" ))
621- local limit = skillModList :Sum (" BASE" , activeSkill .skillCfg , " Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " MaxStages" )
622- if limit > 0 then
623- if activeSkill .activeStageCount and activeSkill .activeStageCount > 0 then
624- skillModList :NewMod (" Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " Stage" , " BASE" , m_min (limit , activeSkill .activeStageCount ), " Base" )
625- activeSkill .activeStageCount = (activeSkill .activeStageCount or 0 ) - 1
626- skillModList :NewMod (" Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " StageAfterFirst" , " BASE" , m_min (limit - 1 , activeSkill .activeStageCount ), " Base" )
627- end
622+ activeSkill .activeStageCount = m_max ((env .mode == " CALCS" and activeEffect .srcInstance .skillStageCountCalcs ) or (env .mode ~= " CALCS" and activeEffect .srcInstance .skillStageCount ) or activeSkill .skillData .stagesMax or 1 , 1 + skillModList :Sum (" BASE" , activeSkill .skillCfg , " Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " MinimumStage" ))
623+ if activeSkill .activeStageCount and activeSkill .activeStageCount > 0 then
624+ skillModList :NewMod (" Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " Stage" , " BASE" , m_min (limit , activeSkill .activeStageCount ), " Base" )
625+ activeSkill .activeStageCount = (activeSkill .activeStageCount or 0 ) - 1
626+ skillModList :NewMod (" Multiplier:" .. activeGrantedEffect .name :gsub (" %s+" , " " ).. " StageAfterFirst" , " BASE" , m_min (limit - 1 , activeSkill .activeStageCount ), " Base" )
628627 end
629628 elseif noPotentialStage and activeEffect .srcInstance and not (activeEffect .gemData and activeEffect .gemData .secondaryGrantedEffect ) then
630629 activeEffect .srcInstance .skillStageCountCalcs = nil
0 commit comments