diff --git a/CHANGELOG.md b/CHANGELOG.md index 15f4cbb3..59e43a31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,10 @@ -### 1.4.151.1 (LocalIdentity's Fork) - 2019/10/05 +### 1.4.151.2 - 2019/10/05 + * Added a display for current Elusive effect in the Calcs tab, under Movement Speed in Other Defences, which only shows up while Elusive. + * Much better support for Nightblade Support. Now gives Crit Multi and Base Crit Chance to attacks while using Claws or Daggers. + * Tweaked how I implemented Elusive Effect on gems. Now is implemented specifically for Claws/Daggers on Nightblade, and is added as a global Skill Mod for Withering Step and any future gems which give the stat. + * Are you Elusive? button works and shows up more consistently. + +### 1.4.151.1 - 2019/10/05 * Updates uniques with 3.8 Changes * Adds new 3.8 uniques * Fix tempered flesh/mind not working diff --git a/Data/3_0/SkillStatMap.lua b/Data/3_0/SkillStatMap.lua index 261c3d7b..445d223a 100644 --- a/Data/3_0/SkillStatMap.lua +++ b/Data/3_0/SkillStatMap.lua @@ -312,6 +312,9 @@ return { ["aura_effect_+%"] = { mod("AuraEffect", "INC", nil), }, +["elusive_effect_+%"] = { + mod("ElusiveEffect", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }), +}, -- -- Offensive modifiers @@ -363,6 +366,13 @@ return { ["critical_strike_multiplier_+_per_power_charge"] = { mod("CritMultiplier", "BASE", nil, 0, 0, { type = "Multiplier", var = "PowerCharge" }), }, +["additional_critical_strike_chance_permyriad_while_affected_by_elusive"] = { + mod("CritChance", "BASE", nil, 0, 0, { type = "Condition", var = "Elusive" }, { type = "Condition", varList = { "UsingClaw", "UsingDagger"} } ), + div = 100, +}, +["nightblade_elusive_grants_critical_strike_multiplier_+_to_supported_skills"] = { + mod("CritMultiplier", "BASE", nil, 0, 0, { type = "Condition", var = "Elusive" }, { type = "Condition", varList = { "UsingClaw", "UsingDagger" } } ), +}, -- Duration ["buff_effect_duration_+%_per_removable_endurance_charge"] = { mod("Duration", "INC", nil, 0, 0, { type = "Multiplier", var = "RemovableEnduranceCharge" }), diff --git a/Data/3_0/Skills/act_dex.lua b/Data/3_0/Skills/act_dex.lua index 89575204..d480c4bf 100644 --- a/Data/3_0/Skills/act_dex.lua +++ b/Data/3_0/Skills/act_dex.lua @@ -7045,11 +7045,20 @@ skills["Slither"] = { skillTypes = { [SkillType.TravelSkill] = true, [SkillType.Buff] = true, [SkillType.Instant] = true, [SkillType.Area] = true, [SkillType.ChaosSkill] = true, [SkillType.MovementSkill] = true, [SkillType.BlinkSkill] = true, [SkillType.Spell] = true, [SkillType.Triggerable] = true, [SkillType.Duration] = true, }, statDescriptionScope = "buff_skill_stat_descriptions", castTime = 0, + statMap = { + ["slither_wither_stacks"] = { + flag("Condition:CanWither"), + mod("Dummy", "DUMMY", 1, 0, 0, { type = "Condition", var = "CanWither" }), + }, + }, baseFlags = { spell = true, duration = true, }, baseMods = { + mod("ChaosDamageTaken", "INC", 6, 0, 0, { type = "GlobalEffect", effectType = "Debuff", effectName = "Withered", effectStackVar = "WitheredStackCount", effectStackLimit = 15 }), + flag("Condition:CanBeElusive"), + mod("Dummy", "DUMMY", 1, 0, 0, { type = "Condition", var = "CanBeElusive" }), }, qualityStats = { { "elusive_effect_+%", 0.5 }, diff --git a/Data/3_0/Skills/sup_dex.lua b/Data/3_0/Skills/sup_dex.lua index 78ed0826..9571b34b 100644 --- a/Data/3_0/Skills/sup_dex.lua +++ b/Data/3_0/Skills/sup_dex.lua @@ -1811,7 +1811,14 @@ skills["SupportPuncturingWeapon"] = { ignoreMinionTypes = true, statDescriptionScope = "gem_stat_descriptions", baseMods = { + flag("Condition:CanBeElusive"), + mod("Dummy", "DUMMY", 1, 0, 0, { type = "Condition", var = "CanBeElusive" }), }, + statMap = { + ["elusive_effect_+%"] = { + mod("ElusiveEffect", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Nightblade" }, { type = "Condition", varList = { "UsingClaw", "UsingDagger" } } ), + }, + }, qualityStats = { { "critical_strike_chance_+%", 1 }, }, diff --git a/Modules/CalcDefence-3_0.lua b/Modules/CalcDefence-3_0.lua index 47dfd7d6..57679fe1 100644 --- a/Modules/CalcDefence-3_0.lua +++ b/Modules/CalcDefence-3_0.lua @@ -554,6 +554,9 @@ function calcs.defence(env, actor) total = s_format("= %.2f ^8(effective movement speed modifier)", output.EffectiveMovementSpeedMod) }) end + if modDB:Flag(nil, "Elusive") then + output.ElusiveEffectMod = calcLib.mod(modDB, nil, "ElusiveEffect", "BuffEffectOnSelf") * 100 + end output.BlockChanceMax = modDB:Sum("BASE", nil, "BlockChanceMax") local baseBlockChance = 0 if actor.itemList["Weapon 2"] and actor.itemList["Weapon 2"].armourData then diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index fe5b5392..cfc9d9c8 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -353,6 +353,13 @@ local function doActorMisc(env, actor) modDB:NewMod("Speed", "INC", 20, "Her Embrace") modDB:NewMod("MovementSpeed", "INC", 20, "Her Embrace") end + if modDB:Flag(nil, "Elusive") then + local effect = 1 + modDB:Sum("INC", nil, "ElusiveEffect", "BuffEffectOnSelf") / 100 + condList["Elusive"] = true + modDB:NewMod("AttackDodgeChance", "BASE", m_floor(20 * effect), "Elusive") + modDB:NewMod("SpellDodgeChance", "BASE", m_floor(20 * effect), "Elusive") + modDB:NewMod("MovementSpeed", "INC", m_floor(40 * effect), "Elusive") + end if modDB:Flag(nil, "Chill") then local effect = m_max(m_floor(30 * calcLib.mod(modDB, nil, "SelfChillEffect")), 0) modDB:NewMod("ActionSpeed", "INC", effect * (modDB:Flag(nil, "SelfChillEffectIsReversed") and 1 or -1), "Chill") diff --git a/Modules/CalcSections-3_0.lua b/Modules/CalcSections-3_0.lua index 867bec27..a7e657d0 100644 --- a/Modules/CalcSections-3_0.lua +++ b/Modules/CalcSections-3_0.lua @@ -1001,6 +1001,7 @@ return { } }, { 1, "MiscDefences", 3, "Other Defences", colorCodes.DEFENCE, { { label = "Movement Speed", { format = "x {2:output:EffectiveMovementSpeedMod}", { breakdown = "EffectiveMovementSpeedMod" }, { modName = "MovementSpeed" }, }, }, + { label = "Effect of Elusive", haveOutput = "ElusiveEffectMod", { format = "{0:output:ElusiveEffectMod}%", { breakdown = "ElusiveEffectMod" }, { modName = { "ElusiveEffect", "BuffEffectOnSelf" }, }, } }, { label = "Dodge Chance", { format = "{0:output:AttackDodgeChance}%", { modName = "AttackDodgeChance" }, }, }, { label = "Spell Ddg. Chance", { format = "{0:output:SpellDodgeChance}%", { modName = "SpellDodgeChance" }, }, }, { label = "Block Chance", { format = "{0:output:BlockChance}%", diff --git a/Modules/ConfigOptions.lua b/Modules/ConfigOptions.lua index 250f5e36..cb518379 100644 --- a/Modules/ConfigOptions.lua +++ b/Modules/ConfigOptions.lua @@ -393,6 +393,10 @@ return { { var = "buffAdrenaline", type = "check", label = "Do you have Adrenaline?", tooltip = "This will enable the Adrenaline buff:\n100% increased Damage\n25% increased Attack, Cast and Movement Speed\n10% additional Physical Damage Reduction", apply = function(val, modList, enemyModList) modList:NewMod("Condition:Adrenaline", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, + { var = "buffElusive", type = "check", label = "Are you Elusive?", ifCond = "CanBeElusive", tooltip = "In addition to allowing any 'while Elusive' modifiers to apply,\nthis will enable the Elusive buff itself. (20% Attack and Spell Dodge, 40% increased Movement Speed)\nThe effect of Elusive decays over time.", apply = function(val, modList, enemyModList) + modList:NewMod("Condition:Elusive", "FLAG", true, "Config", { type = "Condition", varList = { "Combat", "Elusive" } }) + modList:NewMod("Elusive", "FLAG", true, "Config", { type = "Condition", varList = { "Combat", "Elusive" } }) + end }, { var = "buffDivinity", type = "check", label = "Do you have Divinity?", ifCond = "Divinity", tooltip = "This will enable the Divinity buff:\n50% more Elemental Damage\n20% less Elemental Damage Taken", apply = function(val, modList, enemyModList) modList:NewMod("Condition:Divinity", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, diff --git a/Modules/ModParser-3_0.lua b/Modules/ModParser-3_0.lua index 67dec6b8..e285dfd1 100644 --- a/Modules/ModParser-3_0.lua +++ b/Modules/ModParser-3_0.lua @@ -832,6 +832,8 @@ local modTagList = { ["while you have onslaught"] = { tag = { type = "Condition", var = "Onslaught" } }, ["while phasing"] = { tag = { type = "Condition", var = "Phasing" } }, ["while you have tailwind"] = { tag = { type = "Condition", var = "Tailwind" } }, + ["while elusive"] = { tag = { type = "Condition", var = "Elusive" } }, + ["gain elusive"] = { tag = { type = "Condition", varList = { "CanBeElusive", "Elusive" } } }, ["while you have arcane surge"] = { tag = { type = "Condition", var = "AffectedByArcaneSurge" } }, ["while you have cat's stealth"] = { tag = { type = "Condition", var = "AffectedByCat'sStealth" } }, ["while you have avian's might"] = { tag = { type = "Condition", var = "AffectedByAvian'sMight" } }, @@ -1164,6 +1166,10 @@ local specialModList = { mod("NonChaosDamageGainAsChaos", "BASE", num, { type = "Condition", var = "KilledRecently" }, { type = "Multiplier", var = "CurseOnEnemy" }), } end, ["cannot be stunned while you have energy shield"] = { mod("AvoidStun", "BASE", 100, { type = "Condition", var = "HaveEnergyShield" }) }, +-- ["inflict withered"] = { +-- flag("Condition:CanWither"), +-- mod("Dummy", "DUMMY", 1, 0, 0, { type = "Condition", var = "CanWither" }) +-- }, -- Pathfinder ["always poison on hit while using a flask"] = { mod("PoisonChance", "BASE", 100, { type = "Condition", var = "UsingFlask" }) }, ["poisons you inflict during any flask effect have (%d+)%% chance to deal (%d+)%% more damage"] = function(num, _, more) return { mod("Damage", "MORE", tonumber(more) * num / 100, nil, 0, KeywordFlag.Poison, { type = "Condition", var = "UsingFlask" }) } end, diff --git a/changelog.txt b/changelog.txt index e52a8a7d..b1c420ef 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,4 +1,9 @@ -VERSION[1.4.151.1] (LocalIdentity's Fork) - 2019/10/05 +VERSION[1.4.151.2][2019/10/05] + * Added a display for current Elusive effect in the Calcs tab, under Movement Speed in Other Defences, which only shows up while Elusive. + * Much better support for Nightblade Support. Now gives Crit Multi and Base Crit Chance to attacks while using Claws or Daggers. + * Tweaked how I implemented Elusive Effect on gems. Now is implemented specifically for Claws/Daggers on Nightblade, and is added as a global Skill Mod for Withering Step and any future gems which give the stat. + * Are you Elusive? button works and shows up more consistently. +VERSION[1.4.151.1][2019/10/05] * Updates uniques with 3.8 Changes * Adds new 3.8 uniques * Fix tempered flesh/mind not working diff --git a/manifest.xml b/manifest.xml index a9dd250d..3eb2f718 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,5 +1,5 @@ - + @@ -11,7 +11,7 @@ - + @@ -62,22 +62,22 @@ - + - + - + - + - + @@ -165,7 +165,7 @@ - + @@ -187,14 +187,14 @@ - + - + diff --git a/updatemanifest.py b/updatemanifest.py index 03157bdf..881a00fc 100644 --- a/updatemanifest.py +++ b/updatemanifest.py @@ -6,7 +6,7 @@ root = manifest.getroot() for file in root.iter("File"): path = file.get('name') - if path[-4:] != ".lua": + if path[-4:] != ".lua" and path[-4:] != ".txt": print("Skipping file type {}".format(path[-4:])) continue try: