From 6b1ade0c7cda4586403d9ffda4d856e2ed9b7896 Mon Sep 17 00:00:00 2001 From: Openarl Date: Fri, 4 Nov 2016 00:56:10 +1000 Subject: [PATCH] Release 1.2.2 - Fixed Lioneye's Fall + Serpent Stance interaction - Added support for Cast on Critical Strike gem --- Data/Gems/sup_dex.lua | 48 ++++++++++++++++++++++++++++++++++++++++++- Modules/Calcs.lua | 3 +++ Modules/ModParser.lua | 15 ++++++++++++++ README.md | 4 ++++ changelog.txt | 3 +++ manifest.xml | 10 ++++----- 6 files changed, 77 insertions(+), 6 deletions(-) diff --git a/Data/Gems/sup_dex.lua b/Data/Gems/sup_dex.lua index 6c69e4a5..7d9995ff 100644 --- a/Data/Gems/sup_dex.lua +++ b/Data/Gems/sup_dex.lua @@ -164,7 +164,53 @@ gems["Cast On Critical Strike"] = { support = true, spell = true, trigger = true, - unsupported = true, + color = 2, + requireSkillTypes = { 1, 36, }, + addSkillTypes = { 42, }, + excludeSkillTypes = { 37, 41, 30, 44, }, + baseMods = { + mod("ManaCost", "MORE", 40), + --"cast_linked_spells_on_attack_crit_%" = 100 + --"spell_uncastable_if_triggerable" = ? + }, + qualityMods = { + mod("CritChance", "INC", 1, 0, 0, nil), --"critical_strike_chance_+%" = 1 + }, + levelMods = { + [1] = mod("Damage", "MORE", nil, ModFlag.Spell), --"support_cast_on_crit_spell_damage_+%_final" + }, + levels = { + [1] = { 20, }, + [2] = { 21, }, + [3] = { 22, }, + [4] = { 23, }, + [5] = { 24, }, + [6] = { 25, }, + [7] = { 26, }, + [8] = { 27, }, + [9] = { 28, }, + [10] = { 29, }, + [11] = { 30, }, + [12] = { 31, }, + [13] = { 32, }, + [14] = { 33, }, + [15] = { 34, }, + [16] = { 35, }, + [17] = { 36, }, + [18] = { 37, }, + [19] = { 38, }, + [20] = { 39, }, + [21] = { 40, }, + [22] = { 41, }, + [23] = { 42, }, + [24] = { 43, }, + [25] = { 44, }, + [26] = { 45, }, + [27] = { 46, }, + [28] = { 47, }, + [29] = { 48, }, + [30] = { 49, }, + }, } gems["Cast on Death"] = { dexterity = true, diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index d692e364..3cb5cfc0 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -973,6 +973,9 @@ local function performCalcs(env) if env.itemList["Weapon 1"] and env.itemList["Weapon 1"].type == "Staff" then condList["UsingStaff"] = true end + if env.itemList["Weapon 1"] and env.itemList["Weapon 1"].type == "Bow" then + condList["UsingBow"] = true + end if env.itemList["Weapon 2"] and env.itemList["Weapon 2"].type == "Shield" then condList["UsingShield"] = true end diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index db21a72f..bd25004b 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -607,6 +607,21 @@ local jewelFuncs = { if band(mod.flags, mask1) ~= 0 or band(mod.flags, mask2) == mask2 or band(mod.flags, mask3) == mask3 then out:NewMod(mod.name, mod.type, -mod.value, "Tree:Jewel", mod.flags, mod.keywordFlags, unpack(mod.tagList)) out:NewMod(mod.name, mod.type, mod.value, "Tree:Jewel", bor(band(mod.flags, bnot(bor(mask1, mask2, mask3))), ModFlag.Bow), mod.keywordFlags, unpack(mod.tagList)) + elseif mod.tagList[1] then + for _, tag in ipairs(mod.tagList) do + if tag.type == "Condition" and tag.var == "UsingStaff" then + local newTagList = copyTable(mod.tagList) + for _, tag in ipairs(newTagList) do + if tag.type == "Condition" and tag.var == "UsingStaff" then + tag.var = "UsingBow" + break + end + end + out:NewMod(mod.name, mod.type, -mod.value, "Tree:Jewel", mod.flags, mod.keywordFlags, unpack(mod.tagList)) + out:NewMod(mod.name, mod.type, mod.value, "Tree:Jewel", mod.flags, mod.keywordFlags, unpack(newTagList)) + break + end + end end end end diff --git a/README.md b/README.md index cbeb2890..ff72250b 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,10 @@ 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.2.2 - 2016/11/04 + * Fixed interaction between Lioneye's Fall and Serpent Stance + * Added support for the Cast on Critical Strike gem (just the gem, no special calculations for CoC yet) + ### 1.2.1 - 2016/11/03 * Fixed error caused by Lioneye's Fall diff --git a/changelog.txt b/changelog.txt index 5e4a9861..75b48116 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,6 @@ +VERSION[1.2.2][2016/11/04] + * Fixed interaction between Lioneye's Fall and Serpent Stance + * Added support for the Cast on Critical Strike gem (just the gem, no special calculations for CoC yet) VERSION[1.2.1][2016/11/03] * Fixed error caused by Lioneye's Fall VERSION[1.2.0][2016/11/02] diff --git a/manifest.xml b/manifest.xml index aec2c169..d218ad32 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,13 +1,13 @@ - + - + @@ -43,13 +43,13 @@ - + - + @@ -59,7 +59,7 @@ - +