diff --git a/Classes/ConfigTab.lua b/Classes/ConfigTab.lua index 113c6ce1..73087eb6 100644 --- a/Classes/ConfigTab.lua +++ b/Classes/ConfigTab.lua @@ -40,6 +40,15 @@ local varList = { { var = "conditionOnConsecratedGround", type = "check", label = "Are you on Consecrated Ground?", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "OnConsecratedGround" }, "Config", { type = "Condition", var = "Combat" }) end }, + { var = "conditionIgnited", type = "check", label = "Are you Ignited?", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "Condition", var = "PlayerIgnited" }, "Config", { type = "Condition", var = "Combat" }) + end }, + { var = "conditionFrozen", type = "check", label = "Are you Frozen?", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "Condition", var = "PlayerFrozen" }, "Config", { type = "Condition", var = "Combat" }) + end }, + { var = "conditionShocked", type = "check", label = "Are you Shocked?", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "Condition", var = "PlayerShocked" }, "Config", { type = "Condition", var = "Combat" }) + end }, { var = "conditionHitRecently", type = "check", label = "Have you Hit Recently?", tooltip = "You will automatically be considered to have Hit Recently if your main skill is self-cast,\nbut you can use this option to force it if necessary.", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "Condition", var = "HitRecently" }, "Config", { type = "Condition", var = "Combat" }) end }, diff --git a/Data/Gems/act_int.lua b/Data/Gems/act_int.lua index 97654259..6ef9084f 100644 --- a/Data/Gems/act_int.lua +++ b/Data/Gems/act_int.lua @@ -806,7 +806,7 @@ gems["Discharge"] = { skill("damageEffectiveness", 1.5), skill("critChance", 7), --"skill_override_pvp_scaling_time_ms" = 1400 - --"triggered_discharge_damage_+%_final" = -35 + mod("Damage", "MORE", -35, ModFlag.Spell, 0, { type = "Condition", var = "SkillIsTriggered" }), --"triggered_discharge_damage_+%_final" = -35 skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ? --"is_area_damage" = ? }, diff --git a/Data/Gems/other.lua b/Data/Gems/other.lua index 897f5b44..80a056ad 100644 --- a/Data/Gems/other.lua +++ b/Data/Gems/other.lua @@ -105,7 +105,7 @@ gems["Abberath's Fury"] = { mod("EnemyIgniteChance", "BASE", 10), --"base_chance_to_ignite_%" = 10 --"cast_on_gain_skill" = ? --"cannot_knockback" = ? - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? --"is_area_damage" = ? --"skill_can_add_multiple_charges_per_action" = ? }, @@ -131,7 +131,7 @@ gems["Bone Nova"] = { --"attack_trigger_on_killing_bleeding_enemy_%" = 100 --"monster_projectile_variation" = 15 --"projectiles_nova" = ? - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? --"base_is_projectile" = ? flag("CannotBleed"), --"cannot_cause_bleeding" = ? }, @@ -268,7 +268,7 @@ gems["Lightning Bolt"] = { skill("critChance", 6), --"cast_on_crit_%" = 100 --"is_area_damage" = ? - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? }, qualityMods = { }, diff --git a/Data/Gems/sup_dex.lua b/Data/Gems/sup_dex.lua index ed6f30e7..8b606fa2 100644 --- a/Data/Gems/sup_dex.lua +++ b/Data/Gems/sup_dex.lua @@ -171,7 +171,7 @@ gems["Cast On Critical Strike"] = { baseMods = { mod("ManaCost", "MORE", 40), --"cast_linked_spells_on_attack_crit_%" = 100 - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? skill("showAverage", true, { type = "SkillType", skillType = 36 }), }, qualityMods = { @@ -224,7 +224,7 @@ gems["Cast on Death"] = { excludeSkillTypes = { 9, 37, 41, 30, 44, }, baseMods = { --"cast_on_death_%" = 100 - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? --"spell_only_castable_on_death" = ? skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ? }, diff --git a/Data/Gems/sup_int.lua b/Data/Gems/sup_int.lua index 2eb09c3f..17871a95 100644 --- a/Data/Gems/sup_int.lua +++ b/Data/Gems/sup_int.lua @@ -169,7 +169,7 @@ gems["Cast when Stunned"] = { addSkillTypes = { 42, }, excludeSkillTypes = { 37, 41, 30, 44, }, baseMods = { - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ? }, qualityMods = { @@ -222,7 +222,7 @@ gems["Cast while Channelling"] = { excludeSkillTypes = { 30, }, baseMods = { mod("ManaCost", "MORE", 40), - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? }, qualityMods = { mod("Damage", "INC", 0.5, 0, 0, nil), --"damage_+%" = 0.5 diff --git a/Data/Gems/sup_str.lua b/Data/Gems/sup_str.lua index fba14292..14855136 100644 --- a/Data/Gems/sup_str.lua +++ b/Data/Gems/sup_str.lua @@ -170,7 +170,7 @@ gems["Cast on Melee Kill"] = { baseMods = { mod("ManaCost", "MORE", 40), --"cast_linked_spells_on_melee_kill_%" = 100 - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? }, qualityMods = { mod("Damage", "INC", 0.5, 0, 0, nil), --"damage_+%" = 0.5 @@ -222,7 +222,7 @@ gems["Cast when Damage Taken"] = { excludeSkillTypes = { 37, 41, 30, 44, }, baseMods = { --"cast_on_damage_taken_%" = 100 - --"spell_uncastable_if_triggerable" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? skill("showAverage", true), --"base_skill_show_average_damage_instead_of_dps" = ? }, qualityMods = { diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index b6bed42a..0d347d40 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -1624,6 +1624,8 @@ local function performCalcs(env) end end + env.modDB.conditions["SkillIsTriggered"] = skillData.triggered + -- Add addition stat bonuses if modDB:Sum("FLAG", nil, "IronGrip") then modDB:NewMod("PhysicalDamage", "INC", strDmgBonus, "Strength", bor(ModFlag.Attack, ModFlag.Projectile)) diff --git a/Modules/ItemTools.lua b/Modules/ItemTools.lua index ff9d8087..f00fc2e0 100644 --- a/Modules/ItemTools.lua +++ b/Modules/ItemTools.lua @@ -462,7 +462,7 @@ function itemLib.buildItemModList(item) end end end - if item.name == "Tabula Rasa, Simple Robe" then + if item.name == "Tabula Rasa, Simple Robe" or item.name == "Skin of the Loyal, Simple Robe" or item.name == "Skin of the Lords, Simple Robe" then -- Hack to remove the energy shield t_insert(baseList, { name = "Misc", type = "LIST", value = { type = "ArmourData", key = "EnergyShield" }, flags = 0, keywordFlags = 0, tagList = { } }) end diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index 4df3e4b8..d2978e20 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -366,6 +366,9 @@ local modTagList = { ["while using a flask"] = { tag = { type = "Condition", var = "UsingFlask" } }, ["during flask effect"] = { tag = { type = "Condition", var = "UsingFlask" } }, ["while on consecrated ground"] = { tag = { type = "Condition", var = "OnConsecratedGround" } }, + ["while ignited"] = { tag = { type = "Condition", var = "PlayerIgnited" } }, + ["while frozen"] = { tag = { type = "Condition", var = "PlayerFrozen" } }, + ["while shocked"] = { tag = { type = "Condition", var = "PlayerShocked" } }, ["if you have hit recently"] = { tag = { type = "Condition", var = "HitRecently" } }, ["if you've crit recently"] = { tag = { type = "Condition", var = "CritRecently" } }, ["if you've dealt a critical strike recently"] = { tag = { type = "Condition", var = "CritRecently" } }, diff --git a/README.md b/README.md index 47e452e3..cbf5de5f 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,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.2.30 - 2016/12/30 + * Added options to the Configuration tab for "Are you Ignited/Frozen/Shocked" + * Discharge's damage penalty when triggered will now apply correctly + * Skin of the Loyal and Skin of the Lords' Energy Shield values are now correctly removed + ### 1.2.29 - 2016/12/26 * Added an "Enemy is Hindered" option to the Configuration tab * Added a "Crit Chance is Lucky" option to the Configuration tab diff --git a/changelog.txt b/changelog.txt index b5458dfc..9f291daa 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,7 @@ +VERSION[1.2.30][2016/12/30] + * Added options to the Configuration tab for "Are you Ignited/Frozen/Shocked" + * Discharge's damage penalty when triggered will now apply correctly + * Skin of the Loyal and Skin of the Lords' Energy Shield values are now correctly removed VERSION[1.2.29][2016/12/26] * Added an "Enemy is Hindered" option to the Configuration tab * Added a "Crit Chance is Lucky" option to the Configuration tab diff --git a/manifest.xml b/manifest.xml index 088d34c6..2dccdcff 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,20 +1,20 @@ - + - + - + @@ -44,25 +44,25 @@ - + - + - + - + - - - - + + + +