diff --git a/src/Classes/CalcsTab.lua b/src/Classes/CalcsTab.lua index 7d79e865d98..392b5a8f869 100644 --- a/src/Classes/CalcsTab.lua +++ b/src/Classes/CalcsTab.lua @@ -458,6 +458,7 @@ function CalcsTabClass:BuildOutput() self.mainEnv = self.calcs.buildOutput(self.build, "MAIN") self.mainOutput = self.mainEnv.player.output + self.build.configTab.varControls.heraldOfAgonyVirulenceStack:SetPlaceholder(self.mainEnv.player.modDB:GetMultiplier("VirulenceStacksMax")) self.calcsEnv = self.calcs.buildOutput(self.build, "CALCS") self.calcsOutput = self.calcsEnv.player.output diff --git a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua index 796d4a4e57b..46de535f6f7 100644 --- a/src/Data/Skills/act_dex.lua +++ b/src/Data/Skills/act_dex.lua @@ -9340,6 +9340,7 @@ skills["HeraldOfAgony"] = { minionSkillTypes = { [SkillType.Damage] = true, [SkillType.Attack] = true, [SkillType.Chaos] = true, [SkillType.Projectile] = true, [SkillType.RangedAttack] = true, }, statDescriptionScope = "minion_skill_stat_descriptions", castTime = 0, + defaultMinionSkill = "HeraldOfAgonyMinionTailSpike", minionList = { "HeraldOfAgonySpiderPlated", }, diff --git a/src/Export/Skills/act_dex.txt b/src/Export/Skills/act_dex.txt index 3329d8c7e3d..b932dd59ee0 100644 --- a/src/Export/Skills/act_dex.txt +++ b/src/Export/Skills/act_dex.txt @@ -1909,6 +1909,7 @@ return function(skills, mod, flag, skill) #skill HeraldOfAgony #flags cast minion permanentMinion + defaultMinionSkill = "HeraldOfAgonyMinionTailSpike", minionList = { "HeraldOfAgonySpiderPlated", }, diff --git a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua index de16231644e..eb51acef6d8 100644 --- a/src/Modules/CalcActiveSkill.lua +++ b/src/Modules/CalcActiveSkill.lua @@ -920,12 +920,19 @@ function calcs.createMinionSkills(env, activeSkill) minionSkill.skillData.damageEffectiveness = 1 + (activeSkill.skillData.minionDamageEffectiveness or 0) / 100 t_insert(minion.activeSkillList, minionSkill) end - local skillIndex + local defaultSkillIndex = 1 + for index, skillId in ipairs(skillIdList) do + if skillId == activeEffect.grantedEffect.defaultMinionSkill then + defaultSkillIndex = index + break + end + end + local skillIndex if env.mode == "CALCS" then - skillIndex = m_max(m_min(activeEffect.srcInstance.skillMinionSkillCalcs or 1, #minion.activeSkillList), 1) + skillIndex = m_max(m_min(activeEffect.srcInstance.skillMinionSkillCalcs or defaultSkillIndex, #minion.activeSkillList), 1) activeEffect.srcInstance.skillMinionSkillCalcs = skillIndex else - skillIndex = m_max(m_min(activeEffect.srcInstance.skillMinionSkill or 1, #minion.activeSkillList), 1) + skillIndex = m_max(m_min(activeEffect.srcInstance.skillMinionSkill or defaultSkillIndex, #minion.activeSkillList), 1) if env.mode == "MAIN" then activeEffect.srcInstance.skillMinionSkill = skillIndex end diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index 70301168360..45cae3b845f 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -647,6 +647,7 @@ function calcs.initEnv(build, mode, override, specEnv) modDB:NewMod("ManaDegenPercentTincture", "BASE", 1, "Base", { type = "Multiplier", var = "EffectiveManaBurnStacks" }) modDB:NewMod("LifeDegenPercentTincture", "BASE", 1, "Base", { type = "Multiplier", var = "WeepingWoundsStacks" }) modDB:NewMod("PresenceRadius", "BASE", data.characterConstants["base_presence_radius"], "Base") + modDB:NewMod("Multiplier:VirulenceStack", "BASE", 1, "Base", { type = "Multiplier", var = "VirulenceStacksMax" }) -- Add bandit mods if env.configInput.bandit == "Alira" then diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index 8ff3e6f8c79..86bc46c42ae 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -483,8 +483,8 @@ return { modList:NewMod("Multiplier:HexDoomStack", "BASE", val, "Config") end }, { label = "Herald of Agony:", ifSkill = "Herald of Agony" }, - { var = "heraldOfAgonyVirulenceStack", type = "count", label = "# of Virulence Stacks:", ifSkill = "Herald of Agony", apply = function(val, modList, enemyModList) - modList:NewMod("Multiplier:VirulenceStack", "BASE", val, "Config") + { var = "heraldOfAgonyVirulenceStack", type = "countAllowZero", label = "# of Virulence Stacks (if not maximum):", ifSkill = "Herald of Agony", apply = function(val, modList, enemyModList) + modList:NewMod("Multiplier:VirulenceStack", "OVERRIDE", val, "Config") end }, { label = "Herald of Ash:", ifSkill = "Herald of Ash" }, { var = "hoaOverkill", type = "count", label = "Overkill damage:", tooltip = "Herald of Ash's base ^xB97123Burning ^7damage is equal to 25% of Overkill damage.", ifSkill = "Herald of Ash", apply = function(val, modList, enemyModList)