diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index a47ea67104..b7bc76418d 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -5172,7 +5172,7 @@ c["Offerings have 15% increased Maximum Life"]={nil,"Offerings have 15% increase c["Offerings have 30% increased Maximum Life"]={nil,"Offerings have 30% increased Maximum Life "} c["Offerings have 30% increased Maximum Life Recover 3% of maximum Life when you create an Offering"]={nil,"Offerings have 30% increased Maximum Life Recover 3% of maximum Life when you create an Offering "} c["Offerings have 30% reduced Maximum Life"]={nil,"Offerings have 30% reduced Maximum Life "} -c["On Freezing Enemies create Chilled Ground"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="OnChilledGround"},flags=0,keywordFlags=0,name="ChillBase",type="BASE",value=10}},nil} +c["On Freezing Enemies create Chilled Ground"]={{[1]={[1]={actor="enemy",type="ActorCondition",var="OnChilledGround"},flags=0,keywordFlags=0,name="ChillBase",type="BASE",value=30}},nil} c["On Heavy Stunning a Rare or Unique Enemy, your next Attack within 4 seconds will be Ancestrally Boosted"]={nil,"On Heavy Stunning a Rare or Unique Enemy, your next Attack within 4 seconds will be Ancestrally Boosted "} c["On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed"]={nil,"On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed "} c["On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed Gain 1% of damage as Physical damage for 3 seconds per Charge consumed this way"]={nil,"On Hitting an Enemy while a Life Flask is at full Charges, 40% of its Charges are consumed Gain 1% of damage as Physical damage for 3 seconds per Charge consumed this way "} diff --git a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua index 119cac9261..c2dba6adb8 100644 --- a/src/Data/Skills/sup_int.lua +++ b/src/Data/Skills/sup_int.lua @@ -2049,6 +2049,11 @@ skills["SupportEmbitterPlayer"] = { label = "Embitter", incrementalEffectiveness = 0.054999999701977, statDescriptionScope = "gem_stat_descriptions", + statMap = { + ["all_damage_gained_as_cold_instead"] = { + flag("DamageGainIsOnlyCold"), + }, + }, baseFlags = { }, stats = { diff --git a/src/Export/Skills/sup_int.txt b/src/Export/Skills/sup_int.txt index 172ee01dfe..f8d5f30111 100644 --- a/src/Export/Skills/sup_int.txt +++ b/src/Export/Skills/sup_int.txt @@ -442,6 +442,11 @@ statMap = { #skill SupportEmbitterPlayer #set SupportEmbitterPlayer +statMap = { + ["all_damage_gained_as_cold_instead"] = { + flag("DamageGainIsOnlyCold"), + }, +}, #mods #skillEnd diff --git a/src/Modules/CalcOffence.lua b/src/Modules/CalcOffence.lua index 72619e29e1..6d620e3d80 100644 --- a/src/Modules/CalcOffence.lua +++ b/src/Modules/CalcOffence.lua @@ -2170,7 +2170,11 @@ function calcs.offence(env, actor, activeSkill) "Skill"..damageType.."DamageGainAs"..toType, isElemental[damageType] and "SkillElementalDamageGainAs"..toType or nil, damageType ~= "Chaos" and "SkillNonChaosDamageGainAs"..toType or nil), 0) - activeSkill.gainTable[damageType][toType] = (globalGain + skillGain) / 100 + if skillModList:Flag(skillCfg, "DamageGainIsOnlyCold") and toType ~= "Cold" then + activeSkill.gainTable[damageType]["Cold"] = (activeSkill.gainTable[damageType]["Cold"] or 0) + (globalGain + skillGain) / 100 + else + activeSkill.gainTable[damageType][toType] = (activeSkill.gainTable[damageType][toType] or 0) + (globalGain + skillGain) / 100 + end end end diff --git a/src/Modules/CalcSections.lua b/src/Modules/CalcSections.lua index 3fde851089..962ae79419 100644 --- a/src/Modules/CalcSections.lua +++ b/src/Modules/CalcSections.lua @@ -30,6 +30,7 @@ local function fillConvert(damageType) table.insert(convert, damageType.."DamageConvertTo"..type) table.insert(convert, "DamageGainAs"..type) table.insert(convert, damageType.."DamageGainAs"..type) + table.insert(convert, "DamageGainIsOnly"..type) if type ~= "Chaos" and type ~= "Physical" then table.insert(convert, "ElementalDamageConvertTo"..type) @@ -153,23 +154,23 @@ return { { format = "{0:output:TotalMin} to {0:output:TotalMax}", }, { format = "{0:output:PhysicalMin} to {0:output:PhysicalMax}", { breakdown = "Physical" }, - { label = "Conversions", modType = "BASE", cfg = "skill", modName = physicalConvert }, + { label = "Conversions", cfg = "skill", modName = physicalConvert }, }, { format = "{0:output:LightningMin} to {0:output:LightningMax}", { breakdown = "Lightning" }, - { label = "Conversions", modType = "BASE", cfg = "skill", modName = lightningConvert }, + { label = "Conversions", cfg = "skill", modName = lightningConvert }, }, { format = "{0:output:ColdMin} to {0:output:ColdMax}", { breakdown = "Cold" }, - { label = "Conversions", modType = "BASE", cfg = "skill", modName = coldConvert }, + { label = "Conversions", cfg = "skill", modName = coldConvert }, }, { format = "{0:output:FireMin} to {0:output:FireMax}", { breakdown = "Fire" }, - { label = "Conversions", modType = "BASE", cfg = "skill", modName = fireConvert }, + { label = "Conversions", cfg = "skill", modName = fireConvert }, }, { format = "{0:output:ChaosMin} to {0:output:ChaosMax}", { breakdown = "Chaos" }, - { label = "Conversions", modType = "BASE", cfg = "skill", modName = chaosConvert }, + { label = "Conversions", cfg = "skill", modName = chaosConvert }, }, }, { label = "Skill Average Hit", notFlag = "attack", { format = "{1:output:AverageHit}", { breakdown = "AverageHit" }, }, }, @@ -225,23 +226,23 @@ return { { format = "{0:output:MainHand.TotalMin} to {0:output:MainHand.TotalMax}", }, { format = "{0:output:MainHand.PhysicalMin} to {0:output:MainHand.PhysicalMax}", { breakdown = "MainHand.Physical" }, - { label = "Conversions", modType = "BASE", cfg = "weapon1", modName = physicalConvert }, + { label = "Conversions", cfg = "weapon1", modName = physicalConvert }, }, { format = "{0:output:MainHand.LightningMin} to {0:output:MainHand.LightningMax}", { breakdown = "MainHand.Lightning" }, - { label = "Conversions", modType = "BASE", cfg = "weapon1", modName = lightningConvert }, + { label = "Conversions", cfg = "weapon1", modName = lightningConvert }, }, { format = "{0:output:MainHand.ColdMin} to {0:output:MainHand.ColdMax}", { breakdown = "MainHand.Cold" }, - { label = "Conversions", modType = "BASE", cfg = "weapon1", modName = coldConvert }, + { label = "Conversions", cfg = "weapon1", modName = coldConvert }, }, { format = "{0:output:MainHand.FireMin} to {0:output:MainHand.FireMax}", { breakdown = "MainHand.Fire" }, - { label = "Conversions", modType = "BASE", cfg = "weapon1", modName = fireConvert }, + { label = "Conversions", cfg = "weapon1", modName = fireConvert }, }, { format = "{0:output:MainHand.ChaosMin} to {0:output:MainHand.ChaosMax}", { breakdown = "MainHand.Chaos" }, - { label = "Conversions", modType = "BASE", cfg = "weapon1", modName = chaosConvert }, + { label = "Conversions", cfg = "weapon1", modName = chaosConvert }, }, }, { label = "MH Average Hit", bgCol = colorCodes.MAINHANDBG, flag = "weapon1Attack", { format = "{1:output:MainHand.AverageHit}", { breakdown = "MainHand.AverageHit" }, }, }, @@ -297,23 +298,23 @@ return { { format = "{0:output:OffHand.TotalMin} to {0:output:OffHand.TotalMax}", }, { format = "{0:output:OffHand.PhysicalMin} to {0:output:OffHand.PhysicalMax}", { breakdown = "OffHand.Physical" }, - { label = "Conversions", modType = "BASE", cfg = "weapon2", modName = physicalConvert }, + { label = "Conversions", cfg = "weapon2", modName = physicalConvert }, }, { format = "{0:output:OffHand.LightningMin} to {0:output:OffHand.LightningMax}", { breakdown = "OffHand.Lightning" }, - { label = "Conversions", modType = "BASE", cfg = "weapon2", modName = lightningConvert }, + { label = "Conversions", cfg = "weapon2", modName = lightningConvert }, }, { format = "{0:output:OffHand.ColdMin} to {0:output:OffHand.ColdMax}", { breakdown = "OffHand.Cold" }, - { label = "Conversions", modType = "BASE", cfg = "weapon2", modName = coldConvert }, + { label = "Conversions", cfg = "weapon2", modName = coldConvert }, }, { format = "{0:output:OffHand.FireMin} to {0:output:OffHand.FireMax}", { breakdown = "OffHand.Fire" }, - { label = "Conversions", modType = "BASE", cfg = "weapon2", modName = fireConvert }, + { label = "Conversions", cfg = "weapon2", modName = fireConvert }, }, { format = "{0:output:OffHand.ChaosMin} to {0:output:OffHand.ChaosMax}", { breakdown = "OffHand.Chaos" }, - { label = "Conversions", modType = "BASE", cfg = "weapon2", modName = chaosConvert }, + { label = "Conversions", cfg = "weapon2", modName = chaosConvert }, }, }, { label = "OH Average Hit", bgCol = colorCodes.OFFHANDBG, flag = "weapon2Attack", { format = "{1:output:OffHand.AverageHit}", { breakdown = "OffHand.AverageHit" }, }, }, diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index 8e7dc52539..03309708d3 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -70,7 +70,8 @@ function calcs.initModDB(env, modDB) modDB:NewMod("Damage", "MORE", -10, "Base", { type = "Condition", var = "Debilitated"}) modDB:NewMod("Condition:Burning", "FLAG", true, "Base", { type = "IgnoreCond" }, { type = "Condition", var = "Ignited" }) modDB:NewMod("Condition:Poisoned", "FLAG", true, "Base", { type = "IgnoreCond" }, { type = "MultiplierThreshold", var = "PoisonStack", threshold = 1 }) - modDB:NewMod("ShockBase", "BASE", 20, "Base", { type = "ActorCondition", actor = "enemy", var = "Shocked" }) + modDB:NewMod("ShockBase", "BASE", data.gameConstants["BaseShockMagnitude"], "Base", { type = "ActorCondition", actor = "enemy", var = "Shocked" }) + modDB:NewMod("ChillBase", "BASE", 30, "Base", { type = "ActorCondition", actor = "enemy", var = "Chilled" }) modDB:NewMod("Blind", "FLAG", true, "Base", { type = "Condition", var = "Blinded" }) modDB:NewMod("Chill", "FLAG", true, "Base", { type = "Condition", var = "Chilled" }) modDB:NewMod("Freeze", "FLAG", true, "Base", { type = "Condition", var = "Frozen" }) diff --git a/src/Modules/Data.lua b/src/Modules/Data.lua index 257dc107ce..e49616b8e2 100644 --- a/src/Modules/Data.lua +++ b/src/Modules/Data.lua @@ -337,9 +337,9 @@ data.nonDamagingAilmentTypeList = { "Chill", "Freeze", "Shock" } data.nonElementalAilmentTypeList = { "Bleed", "Poison" } data.nonDamagingAilment = { - ["Chill"] = { associatedType = "Cold", alt = false, default = 10, min = 5, max = data.gameConstants["ChillMaxEffect"], precision = 0, duration = data.gameConstants["BaseChillDuration"] }, + ["Chill"] = { associatedType = "Cold", alt = false, default = 30, min = 30, max = data.gameConstants["ChillMaxEffect"], precision = 0, duration = data.gameConstants["BaseChillDuration"] }, ["Freeze"] = { associatedType = "Cold", alt = false, default = nil, min = 0.3, max = 3, precision = 2, duration = data.gameConstants["FreezeDuration"] }, - ["Shock"] = { associatedType = "Lightning", alt = false, default = 20, min = 20, max = 100, precision = 0, duration = data.gameConstants["BaseShockDuration"] }, + ["Shock"] = { associatedType = "Lightning", alt = false, default = data.gameConstants["BaseShockMagnitude"], min = data.gameConstants["BaseShockMagnitude"], max = 100, precision = 0, duration = data.gameConstants["BaseShockDuration"] }, } data.defaultAilmentDamageTypes = {