diff --git a/Classes/CalcBreakdownControl.lua b/Classes/CalcBreakdownControl.lua index b6eb186f..30cfed54 100644 --- a/Classes/CalcBreakdownControl.lua +++ b/Classes/CalcBreakdownControl.lua @@ -185,7 +185,7 @@ function CalcBreakdownClass:AddModSection(sectionData) local build = self.calcsTab.build -- Build list of modifiers to display - local cfg = (sectionData.cfg and copyTable(env.mainSkill[sectionData.cfg.."Cfg"])) or { } + local cfg = (sectionData.cfg and env.mainSkill[sectionData.cfg.."Cfg"] and copyTable(env.mainSkill[sectionData.cfg.."Cfg"])) or { } cfg.source = sectionData.modSource cfg.tabulate = true local rowList diff --git a/Classes/ConfigTab.lua b/Classes/ConfigTab.lua index 4754a77d..1994472d 100644 --- a/Classes/ConfigTab.lua +++ b/Classes/ConfigTab.lua @@ -118,6 +118,9 @@ local varList = { { var = "conditionConsumedCorpseRecently", type = "check", label = "Consumed a corpse Recently?", ifCond = "ConsumedCorpseRecently", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "ConsumedCorpseRecently" }, "Config", { type = "Condition", var = "Combat" }) end }, + { var = "conditionTauntedEnemyRecently", type = "check", label = "Taunted an Enemy Recently?", ifCond = "TauntedEnemyRecently", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "Condition", var = "TauntedEnemyRecently" }, "Config", { type = "Condition", var = "Combat" }) + end }, { var = "conditionUsedFireSkillInPast10Sec", type = "check", label = "Used a Fire Skill in the past 10s?", ifNode = 61259, apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "UsedFireSkillInPast10Sec" }, "Config", { type = "Condition", var = "Combat" }) end }, @@ -161,6 +164,9 @@ local varList = { { var = "conditionEnemyBlinded", type = "check", label = "Is the enemy Blinded?", tooltip = "In addition to allowing 'against Blinded Enemies' modifiers to apply,\nthis will lessen the enemy's chance to hit, and thereby increase your evade chance.", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "EnemyBlinded" }, "Config", { type = "Condition", var = "Effective" }) end }, + { var = "conditionEnemyTaunted", type = "check", label = "Is the enemy Taunted?", ifCond = "EnemyTaunted", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "Condition", var = "EnemyTaunted" }, "Config", { type = "Condition", var = "Effective" }) + end }, { var = "conditionEnemyBurning", type = "check", label = "Is the enemy Burning?", ifCond = "EnemyBurning", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "EnemyBurning" }, "Config", { type = "Condition", var = "Effective" }) end }, @@ -220,6 +226,7 @@ local varList = { { var = "enemyConditionHitByLightningDamage", type = "check", label = "Enemy was Hit by Light. Damage?", ifNode = 39085, apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "EnemyCondition", var = "HitByLightningDamage" }, "Config") end }, + { var = "EEIgnoreHitDamage", type = "check", label = "Ignore Skill Hit Damage?", ifNode = 39085, tooltip = "This option prevents EE from being reset by the hit damage of your main skill." }, } local ConfigTabClass = common.NewClass("ConfigTab", "UndoHandler", "ControlHost", "Control", function(self, build) diff --git a/Classes/EditControl.lua b/Classes/EditControl.lua index 8d723b2d..f540715a 100644 --- a/Classes/EditControl.lua +++ b/Classes/EditControl.lua @@ -498,8 +498,19 @@ function EditClass:OnKeyDown(key, doubleClick) if self.sel and self.sel ~= self.caret then self:ReplaceSel("") elseif self.caret > 1 then - self.buf = self.buf:sub(1, self.caret - 2) .. self.buf:sub(self.caret) - self.caret = self.caret - 1 + local len = 1 + if IsKeyDown("CTRL") then + while self.caret - len > 1 and self.buf:sub(self.caret - len, self.caret - len):match("%s") and not self.buf:sub(self.caret - len - 1, self.caret - len - 1):match("\n") do + len = len + 1 + end + if self.buf:sub(self.caret - len, self.caret - len):match("%w") then + while self.caret - len > 1 and self.buf:sub(self.caret - len - 1, self.caret - len - 1):match("%w") do + len = len + 1 + end + end + end + self.buf = self.buf:sub(1, self.caret - 1 - len) .. self.buf:sub(self.caret) + self.caret = self.caret - len self.sel = nil self:ScrollCaretIntoView() self.blinkStart = GetTime() @@ -512,7 +523,18 @@ function EditClass:OnKeyDown(key, doubleClick) if self.sel and self.sel ~= self.caret then self:ReplaceSel("") elseif self.caret <= #self.buf then - self.buf = self.buf:sub(1, self.caret - 1) .. self.buf:sub(self.caret + 1) + local len = 1 + if IsKeyDown("CTRL") then + while self.caret + len <= #self.buf and self.buf:sub(self.caret + len - 1, self.caret + len - 1):match("%s") and not self.buf:sub(self.caret + len, self.caret + len):match("\n") do + len = len + 1 + end + if self.buf:sub(self.caret + len - 1, self.caret + len - 1):match("%w") then + while self.caret + len <= #self.buf and self.buf:sub(self.caret + len, self.caret + len):match("%w") do + len = len + 1 + end + end + end + self.buf = self.buf:sub(1, self.caret - 1) .. self.buf:sub(self.caret + len) self.sel = nil self.blinkStart = GetTime() if self.changeFunc then diff --git a/Data/Gems/act_dex.lua b/Data/Gems/act_dex.lua index 86127913..ab963712 100644 --- a/Data/Gems/act_dex.lua +++ b/Data/Gems/act_dex.lua @@ -1654,7 +1654,7 @@ gems["Flicker Strike"] = { mod("Speed", "MORE", 20, ModFlag.Attack), --"flicker_strike_more_attack_speed_+%_final" = 20 mod("Speed", "INC", 10, ModFlag.Attack, 0, { type = "Multiplier", var = "FrenzyCharge" }), --"base_attack_speed_+%_per_frenzy_charge" = 10 --"ignores_proximity_shield" = ? - skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ? + nil, --"base_skill_show_average_damage_instead_of_dps" = ? }, qualityMods = { mod("Damage", "INC", 1, 0, 0, nil), --"damage_+%" = 1 diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index ff3bf597..36be24fc 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -2278,7 +2278,7 @@ local function performCalcs(env) output.TotalMin = totalHitMin output.TotalMax = totalHitMax - if output.FireHitAverage + output.ColdHitAverage + output.LightningHitAverage > 0 then + if not env.configInput.EEIgnoreHitDamage and (output.FireHitAverage + output.ColdHitAverage + output.LightningHitAverage > 0) then -- Update enemy hit-by-damage-type conditions enemyDB.conditions.HitByFireDamage = output.FireHitAverage > 0 enemyDB.conditions.HitByColdDamage = output.ColdHitAverage > 0 diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index 57d663b2..1b78d0ef 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -426,6 +426,7 @@ local modTagList = { ["if you've attacked recently"] = { tag = { type = "Condition", var = "AttackedRecently" } }, ["if you've cast a spell recently"] = { tag = { type = "Condition", var = "CastSpellRecently" } }, ["if you have consumed a corpse recently"] = { tag = { type = "Condition", var = "ConsumedCorpseRecently" } }, + ["if you've taunted an enemy recently"] = { tag = { type = "Condition", var = "TauntedEnemyRecently" } }, ["if you've used a fire skill in the past 10 seconds"] = { tag = { type = "Condition", var = "UsedFireSkillInPast10Sec" } }, ["if you've used a cold skill in the past 10 seconds"] = { tag = { type = "Condition", var = "UsedColdSkillInPast10Sec" } }, ["if you've used a lightning skill in the past 10 seconds"] = { tag = { type = "Condition", var = "UsedLightningSkillInPast10Sec" } }, @@ -542,6 +543,7 @@ local specialModList = { } end, ["you and nearby allies have (%d+)%% increased attack, cast and movement speed if you've used a warcry recently"] = function(num) return { mod("Speed", "INC", num, { type = "Condition", var = "UsedWarcryRecently" }), mod("MovementSpeed", "INC", num, { type = "Condition", var = "UsedWarcryRecently" }) } end, ["warcries cost no mana"] = { mod("ManaCost", "MORE", -100, nil, 0, KeywordFlag.Warcry) }, + ["enemies you taunt take (%d+)%% increased damage"] = function(num) return { mod("Misc", "LIST", { type = "EnemyModifier", mod = mod("DamageTaken", "INC", num) }, { type = "Condition", var = "EnemyTaunted" }) } end, -- Special node types ["(%d+)%% of block chance applied to spells"] = function(num) return { mod("BlockChanceConv", "BASE", num) } end, ["(%d+)%% additional block chance with staves"] = function(num) return { mod("BlockChance", "BASE", num, { type = "Condition", var = "UsingStaff" }) } end, diff --git a/README.md b/README.md index d0c92fbb..a0b877e2 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,11 @@ Head over to the [Releases](https://github.com/Openarl/PathOfBuilding/releases) ![ss3](https://cloud.githubusercontent.com/assets/19189971/18089780/f0ff234a-6f04-11e6-8c88-6193fe59a5c4.png) ## Changelog +### 1.3.8 - 2017/02/22 + * Flicker Strike now shows DPS instead of Average Damage + * Added an extra option for Elemental Equilibrium to ignore the hit damage of your main skill + * Added options to the Configuration tab for "Taunted an Enemy Recently" and "Enemy is Taunted" + ### 1.3.7 - 2017/02/22 * The "enemy is a Boss" option in the Configuration tab now has 2 modes: Standard Boss, and Shaper/Guardian * Standard Boss is equivelant to the old boss setting (30/30/30/15 resists, -60% curse effect) diff --git a/changelog.txt b/changelog.txt index fa340c6d..86072c80 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +VERSION[1.3.8][2017/02/22] + * Flicker Strike now shows DPS instead of Average Damage + * Added an extra option for Elemental Equilibrium to ignore the hit damage of your main skill + * Added options to the Configuration tab for "Taunted an Enemy Recently" and "Enemy is Taunted" VERSION[1.3.7][2017/02/22] * The "enemy is a Boss" option in the Configuration tab now has 2 modes: Standard Boss, and Shaper/Guardian * Standard Boss is equivelant to the old boss setting (30/30/30/15 resists, -60% curse effect) diff --git a/manifest.xml b/manifest.xml index aae768a0..a69c6ab1 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,24 +1,24 @@ - + - + - + - + - + @@ -44,13 +44,13 @@ - + - + @@ -58,7 +58,7 @@ - +