From e44af752e3daec80121a31d3fe1993461ee236a9 Mon Sep 17 00:00:00 2001 From: Nostrademous Date: Thu, 11 Mar 2021 09:17:49 -0500 Subject: [PATCH] proper Poet's Pen granted skill support --- Data/SkillStatMap.lua | 5 ++++- Data/Skills/other.lua | 22 ++++++++++++++++++++++ Export/Skills/other.txt | 4 ++++ Modules/CalcPerform.lua | 3 ++- Modules/ModParser.lua | 2 +- 5 files changed, 33 insertions(+), 3 deletions(-) diff --git a/Data/SkillStatMap.lua b/Data/SkillStatMap.lua index 2745b0d0..1bd4b1be 100644 --- a/Data/SkillStatMap.lua +++ b/Data/SkillStatMap.lua @@ -165,7 +165,10 @@ return { skill("triggeredByMjolner", true, { type = "SkillType", skillType = SkillType.Triggerable }, { type = "SkillType", skillType = SkillType.LightningSkill }), }, ["unique_cospris_malice_cold_spells_triggered"] = { - skill("triggeredByCospris", true, { type = "SkillType", skillType = SkillType.Triggerable }, { type = "SkillType", skillType = SkillType.ColdSkill }), + skill("triggeredByCospris", true, { type = "SkillType", skillType = SkillType.Triggerable }, { type = "SkillType", skillType = SkillType.Spell }, { type = "SkillType", skillType = SkillType.ColdSkill }), +}, +["skill_has_trigger_from_unique_item"] = { + skill("triggeredByPoets", nil, { type = "SkillType", skillType = SkillType.Triggerable }, { type = "SkillType", skillType = SkillType.Spell }), }, ["display_mirage_warriors_no_spirit_strikes"] = { skill("triggeredBySaviour", true, { type = "SkillType", skillType = SkillType.Attack } ), diff --git a/Data/Skills/other.lua b/Data/Skills/other.lua index 13caf08f..70a9e9d6 100644 --- a/Data/Skills/other.lua +++ b/Data/Skills/other.lua @@ -3031,4 +3031,26 @@ skills["Unhinge"] = { levels = { [20] = { cooldown = 5, levelRequirement = 70, statInterpolation = { }, }, }, +} +skills["SupportTriggerSpellOnAttack"] = { + name = "The Poet's Pen", + hidden = true, + color = 4, + support = true, + requireSkillTypes = { SkillType.Spell, SkillType.Triggerable, SkillType.AND, }, + addSkillTypes = { SkillType.Triggered, SkillType.SecondWindSupport, }, + excludeSkillTypes = { SkillType.Trap, SkillType.Mine, SkillType.Totem, SkillType.Aura, SkillType.TriggeredGrantedSkill, }, + statDescriptionScope = "gem_stat_descriptions", + fromItem = true, + baseMods = { + }, + qualityStats = { + }, + stats = { + "skill_has_trigger_from_unique_item", + "socketed_triggered_skills_use_weapon_attack_time_for_pvp_scaling", + }, + levels = { + [1] = { 1, cooldown = 0.15, levelRequirement = 1, statInterpolation = { 1, }, }, + }, } \ No newline at end of file diff --git a/Export/Skills/other.txt b/Export/Skills/other.txt index fccfe781..eca72c2e 100644 --- a/Export/Skills/other.txt +++ b/Export/Skills/other.txt @@ -762,3 +762,7 @@ local skills, mod, flag, skill = ... #flags spell fromItem = true, #mods + +#skill SupportTriggerSpellOnAttack The Poet's Pen + fromItem = true, +#mods \ No newline at end of file diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index ec4bdeab..f505bc41 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -1957,11 +1957,12 @@ function calcs.perform(env) end -- Poet's Pen - if env.player.mainSkill.skillData.triggeredByPoets and not env.player.mainSkill.skillFlags.minion then + if env.player.mainSkill.skillData.triggeredByPoets then --and not env.player.mainSkill.skillFlags.minion then local spellCount = {} local icdr = calcLib.mod(env.player.mainSkill.skillModList, env.player.mainSkill.skillCfg, "CooldownRecovery") local trigRate = 0 local source = nil + ConPrintf("HI") end -- Cast On Critical Strike Support (CoC) diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index bd3869fb..ddc73480 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -1737,7 +1737,7 @@ local specialModList = { ["instant recovery"] = { mod("FlaskInstantRecovery", "BASE", 100) }, ["(%d+)%% of recovery applied instantly"] = function(num) return { mod("FlaskInstantRecovery", "BASE", num) } end, ["has no attribute requirements"] = { flag("NoAttributeRequirements") }, - ["trigger a socketed spell when you attack with this weapon"] = { mod("SkillData", "LIST", { key = "triggeredByPoets", value = true }, { type = "SkillType", skillType = SkillType.Triggerable }, { type = "SkillType", skillType = SkillType.Spell }) }, + ["trigger a socketed spell when you attack with this weapon"] = { mod("ExtraSupport", "LIST", { skillId = "SupportTriggerSpellOnAttack", level = 1 }, { type = "SocketedIn", slotName = "{SlotName}" }) }, -- Socketed gem modifiers ["%+(%d+) to level of socketed gems"] = function(num) return { mod("GemProperty", "LIST", { keyword = "all", key = "level", value = num }, { type = "SocketedIn", slotName = "{SlotName}" }) } end, ["%+(%d+) to level of socketed ([%a ]+) gems"] = function(num, _, type) return { mod("GemProperty", "LIST", { keyword = type, key = "level", value = num }, { type = "SocketedIn", slotName = "{SlotName}" }) } end,