diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 1c1b9a64e..ef3b31791 100644 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -3316,8 +3316,7 @@ c["Abyssal Wasting also applies % to Lightning Resistance Projectiles have 50% c c["Abyssal Wasting you inflict has Infinite Duration"]={nil,"Abyssal Wasting you inflict has Infinite Duration "} c["Abyssal Wasting you inflict has Infinite Duration Abyssal Wasting also applies % to Fire Resistance"]={nil,"Abyssal Wasting you inflict has Infinite Duration Abyssal Wasting also applies % to Fire Resistance "} c["Accuracy Rating is Doubled"]={{[1]={[1]={globalLimit=100,globalLimitKey="AccuracyDoubledLimit",type="Multiplier",var="AccuracyDoubled"},flags=0,keywordFlags=0,name="Accuracy",type="MORE",value=100},[2]={flags=0,keywordFlags=0,name="Multiplier:AccuracyDoubled",type="OVERRIDE",value=1}},nil} -c["Adapt to the highest Elemental Damage Type of each Hit you take"]={nil,"Adapt to the highest Elemental Damage Type of each Hit you take "} -c["Adapt to the highest Elemental Damage Type of each Hit you take Each Adaptation grants 10% less Damage taken of that Adaptation's type"]={nil,"Adapt to the highest Elemental Damage Type of each Hit you take Each Adaptation grants 10% less Damage taken of that Adaptation's type "} +c["Adapt to the highest Elemental Damage Type of each Hit you take"]={{[1]={flags=0,keywordFlags=0,name="ElementalAdaptation",type="FLAG",value=true},[2]={flags=0,keywordFlags=0,name="Condition:ElementalAdaptation",type="FLAG",value=true}},nil} c["Adaptations have a duration of 5 seconds"]={nil,"Adaptations have a duration of 5 seconds "} c["Adaptations have a duration of 5 seconds Double Adaptation Effect"]={{[1]={[1]={globalLimit=100,globalLimitKey="DurationDoubledLimit",type="Multiplier",var="DurationDoubled"},flags=0,keywordFlags=0,name="Duration",type="MORE",value=100},[2]={flags=0,keywordFlags=0,name="Multiplier:DurationDoubled",type="OVERRIDE",value=1}},"Adaptations have a of 5 seconds Adaptation Effect "} c["Adds 1 to 10 Lightning Damage to Attacks per 20 Intelligence"]={{[1]={[1]={div=20,stat="Int",type="PerStat"},flags=0,keywordFlags=65536,name="LightningMin",type="BASE",value=1},[2]={[1]={div=20,stat="Int",type="PerStat"},flags=0,keywordFlags=65536,name="LightningMax",type="BASE",value=10}},nil} @@ -4748,13 +4747,13 @@ c["Dodge Roll cannot Avoid Damage"]={nil,"Dodge Roll cannot Avoid Damage "} c["Dodge Roll cannot Avoid Damage Take 30% less Damage from Hits while Dodge Rolling"]={nil,"Dodge Roll cannot Avoid Damage Take 30% less Damage from Hits while Dodge Rolling "} c["Dodge Roll passes through Enemies"]={nil,"Dodge Roll passes through Enemies "} c["Double Activation Delay of Curses"]={{[1]={flags=0,keywordFlags=0,name="CurseDelay",type="MORE",value=100}},nil} -c["Double Adaptation Effect"]={{[1]={[1]={globalLimit=100,globalLimitKey="LocalEffectDoubledLimit",type="Multiplier",var="LocalEffectDoubled"},flags=0,keywordFlags=0,name="LocalEffect",type="MORE",value=100},[2]={flags=0,keywordFlags=0,name="Multiplier:LocalEffectDoubled",type="OVERRIDE",value=1}}," Adaptation "} +c["Double Adaptation Effect"]={{[1]={flags=0,keywordFlags=0,name="Condition:DoubleElementalAdaptation",type="FLAG",value=true}},nil} c["Double Stun Threshold while Shield is Raised"]={{[1]={[1]={globalLimit=100,globalLimitKey="StunThresholdDoubledLimit",type="Multiplier",var="StunThresholdDoubled"},flags=0,keywordFlags=0,name="StunThreshold",type="MORE",value=100},[2]={flags=0,keywordFlags=0,name="Multiplier:StunThresholdDoubled",type="OVERRIDE",value=1}}," while Shield is Raised "} c["Double the number of your Poisons that targets can be affected by at the same time"]={{[1]={flags=0,keywordFlags=0,name="PoisonCanStack",type="FLAG",value=true},[2]={flags=0,keywordFlags=0,name="PoisonStacks",type="MORE",value=100}},nil} c["Doubles Mana Costs"]={{[1]={flags=0,keywordFlags=0,name="ManaCost",type="MORE",value=100}},nil} c["Drop Ignited Ground while moving, which lasts 8 seconds and Ignites as though dealing Fire Damage equal to 10% of your maximum Life"]={nil,"Drop Ignited Ground while moving, which lasts 8 seconds and Ignites as though dealing Fire Damage equal to 10% of your maximum Life "} c["Drop Shocked Ground while moving, lasting 8 seconds"]={nil,"Drop Shocked Ground while moving, lasting 8 seconds "} -c["Each Adaptation grants 10% less Damage taken of that Adaptation's type"]={nil,"Each Adaptation grants 10% less Damage taken of that Adaptation's type "} +c["Each Adaptation grants 10% less Damage taken of that Adaptation's type"]={{},nil} c["Each Arrow fired is a Crescendo, Splinter, Reversing, Diamond, Covetous, or Blunt Arrow"]={nil,"Each Arrow fired is a Crescendo, Splinter, Reversing, Diamond, Covetous, or Blunt Arrow "} c["Each Totem applies 2% increased Damage taken to Enemies in their Presence"]={{[1]={flags=0,keywordFlags=0,name="EnemyModifier",type="LIST",value={mod={[1]={type="Multiplier",var="TotemsSummoned"},flags=0,keywordFlags=0,name="DamageTaken",type="INC",value=2}}}},nil} c["Effect is not removed when Unreserved Life is Filled"]={nil,"Effect is not removed when Unreserved Life is Filled "} diff --git a/src/Modules/ConfigOptions.lua b/src/Modules/ConfigOptions.lua index 2dc4ced25..53dd94d5a 100644 --- a/src/Modules/ConfigOptions.lua +++ b/src/Modules/ConfigOptions.lua @@ -1200,6 +1200,20 @@ Huge sets the radius to 11. { var = "multiplierStunnedRecently", type = "count", label = "# of times Stunned Recently:", ifOption = "conditionStunnedRecently", defaultPlaceholderState = 1, apply = function(val, modList, enemyModList) modList:NewMod("Multiplier:StunnedRecently", "BASE", m_min(val, 100), "Config", { type = "Condition", var = "Combat" }, { type = "Condition", var = "StunnedRecently" } ) end }, + + { var = "FireAdaptationCount", type = "countAllowZero", label = "# of fire adaptation:", ifFlag = "ElementalAdaptation", tooltip = "You can only have 3 Adaptations in total", apply = function(val, modList, enemyModList) + modList:NewMod("FireDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "ElementalAdaptation"}) + modList:NewMod("FireDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "DoubleElementalAdaptation"}) + end }, + { var = "ColdAdaptationCount", type = "countAllowZero", label = "# of cold adaptation:", ifFlag = "ElementalAdaptation", tooltip = "You can only have 3 Adaptations in total", apply = function(val, modList, enemyModList) + modList:NewMod("ColdDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "ElementalAdaptation"}) + modList:NewMod("ColdDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "DoubleElementalAdaptation"}) + end }, + { var = "LightningAdaptationCount", type = "countAllowZero", label = "# of lightning adaptation:", ifFlag = "ElementalAdaptation", tooltip = "You can only have 3 Adaptations in total", apply = function(val, modList, enemyModList) + modList:NewMod("LightningDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "ElementalAdaptation"}) + modList:NewMod("LightningDamageTaken", "MORE", -val*10, "Config", { type = "Condition", var = "DoubleElementalAdaptation"}) + end }, + { var = "conditionBeenHitRecently", type = "check", label = "Have you been Hit Recently?", ifCond = "BeenHitRecently", apply = function(val, modList, enemyModList) modList:NewMod("Condition:BeenHitRecently", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 634883a99..8b165a0e8 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -3274,6 +3274,14 @@ local specialModList = { ["gain the benefits of bonded modifiers on runes and idols"] = { flag("Condition:CanUseBondedModifiers"), }, + -- Druid -- Shaman + ["adapt to the highest elemental damage type of each hit you take"] = { + flag("ElementalAdaptation"), + flag("Condition:ElementalAdaptation"), + + }, + ["each adaptation grants (%d+)%% less damage taken of that adaptation's type"] = { }, + ["double adaptation effect"] = { flag("Condition:DoubleElementalAdaptation") }, -- Item local modifiers ["has no sockets"] = { flag("NoSockets") }, ["reflects your other ring"] = {