Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions src/Modules/CalcPerform.lua
Original file line number Diff line number Diff line change
Expand Up @@ -967,6 +967,11 @@ local function doActorMisc(env, actor)
modDB:NewMod("AvoidChaosDamageChance", "BASE", m_floor(15 * effect), "Elusive")
modDB:NewMod("MovementSpeed", "INC", m_floor(30 * effect), "Elusive")
end
if modDB:Max(nil, "WitherEffectStack") then
modDB:NewMod("Condition:CanWither", "FLAG", true, "Config")
local effect = modDB:Max(nil, "WitherEffectStack")
enemyDB:NewMod("ChaosDamageTaken", "INC", effect, "Withered", { type = "Multiplier", var = "WitheredStack", limit = 15 } )
end
if modDB:Flag(nil, "Blind") then
if not modDB:Flag(nil, "IgnoreBlindHitChance") then
local effect = 1 + modDB:Sum("INC", nil, "BlindEffect", "BuffEffectOnSelf") / 100
Expand Down Expand Up @@ -1232,14 +1237,9 @@ function calcs.perform(env, avoidCache)
end
end
end
if activeSkill.skillModList:Flag(nil, "Condition:CanWither") and not modDB:Flag(nil, "AlreadyWithered") then
modDB:NewMod("Condition:CanWither", "FLAG", true, "Config")
if activeSkill.skillModList:Flag(nil, "Condition:CanWither") then
local effect = activeSkill.minion and 6 or m_floor(6 * (1 + modDB:Sum("INC", nil, "WitherEffect") / 100))
enemyDB:NewMod("ChaosDamageTaken", "INC", effect, "Withered", { type = "Multiplier", var = "WitheredStack", limit = 15 } )
if modDB:Flag(nil, "Condition:CanElementalWithered") then
enemyDB:NewMod("ElementalDamageTaken", "INC", 4, "Withered", ModFlag.Hit, { type = "Multiplier", var = "WitheredStack", limit = 15 } )
end
modDB:NewMod("AlreadyWithered", "FLAG", true, "Config") -- Prevents effect from applying multiple times
modDB:NewMod("WitherEffectStack", "MAX", effect)
end
if activeSkill.skillFlags.warcry and not modDB:Flag(nil, "AlreadyGlobalWarcryCooldown") then
local cooldown = calcSkillCooldown(activeSkill.skillModList, activeSkill.skillCfg, activeSkill.skillData)
Expand Down
3 changes: 1 addition & 2 deletions src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -2584,8 +2584,7 @@ local specialModList = {
["(%d+)%% chance to inflict withered for (%d+) seconds on hit with this weapon"] = { flag("Condition:CanWither") },
["(%d+)%% chance to inflict withered for two seconds on hit if there are (%d+) or fewer withered debuffs on enemy"] = { flag("Condition:CanWither") },
["inflict withered for (%d+) seconds on hit with this weapon"] = { flag("Condition:CanWither") },
["enemies take (%d+)%% increased elemental damage from your hits for"] = { flag("Condition:CanElementalWithered") },
["each withered you have inflicted on them"] = { },
["enemies take (%d+)%% increased elemental damage from your hits for each withered you have inflicted on them"] = function(num) return { mod("EnemyModifier", "LIST", { mod = mod("ElementalDamageTaken", "INC", num, { type = "Multiplier", var = "WitheredStack" }) }) } end,
["your hits cannot penetrate or ignore elemental resistances"] = { flag("CannotElePenIgnore") },
["nearby enemies have malediction"] = { mod("EnemyModifier", "LIST", { mod = flag("HasMalediction") }) },
["elemental damage you deal with hits is resisted by lowest elemental resistance instead"] = { flag("ElementalDamageUsesLowestResistance") },
Expand Down