diff --git a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua index b208d2946f..a521ce3826 100644 --- a/src/Data/Skills/other.lua +++ b/src/Data/Skills/other.lua @@ -5287,3 +5287,72 @@ skills["EnemyExplode"] = { [1] = { damageEffectiveness = 1, baseMultiplier = 1, levelRequirement = 1, } } } + +skills["GraftSkillTulAegis"] = { + name = "Preserving Stillness", + hidden = true, + color = 2, + description = "When you apply exposure to an enemy, this Graft will apply a buff which takes elemental damage from hits for you while active.", + skillTypes = { [SkillType.Cooldown] = true, [SkillType.Duration] = true, [SkillType.Buff] = true, [SkillType.Fire] = true, [SkillType.Cold] = true, [SkillType.Lightning] = true, }, + statDescriptionScope = "skill_stat_descriptions", + castTime = 0.1, + cannotBeSupported = true, + fromItem = true, + baseFlags = { + duration = true, + }, + baseMods = { + flag("Condition:BuffedByPreservingStillness", { type = "GlobalEffect", effectType = "Buff", effectName = "Preserving Stillness" }), + }, + stats = { + "base_skill_effect_duration", + "graft_skill_tul_aegis_aegis_shield_amount_granted_on_applying_exposure", + "base_deal_no_damage", + "is_graft_skill", + }, + notMinionStat = { + "base_skill_effect_duration", + }, + levels = { + [1] = { 4000, 59, cooldown = 6, levelRequirement = 1, storedUses = 1, statInterpolation = { 1, 1, }, }, + [2] = { 4000, 66, cooldown = 6, levelRequirement = 2, storedUses = 1, statInterpolation = { 1, 1, }, }, + [3] = { 4000, 74, cooldown = 6, levelRequirement = 4, storedUses = 1, statInterpolation = { 1, 1, }, }, + [4] = { 4000, 83, cooldown = 6, levelRequirement = 7, storedUses = 1, statInterpolation = { 1, 1, }, }, + [5] = { 4000, 93, cooldown = 6, levelRequirement = 11, storedUses = 1, statInterpolation = { 1, 1, }, }, + [6] = { 4000, 104, cooldown = 6, levelRequirement = 16, storedUses = 1, statInterpolation = { 1, 1, }, }, + [7] = { 4000, 116, cooldown = 6, levelRequirement = 20, storedUses = 1, statInterpolation = { 1, 1, }, }, + [8] = { 4000, 130, cooldown = 6, levelRequirement = 24, storedUses = 1, statInterpolation = { 1, 1, }, }, + [9] = { 4000, 146, cooldown = 6, levelRequirement = 28, storedUses = 1, statInterpolation = { 1, 1, }, }, + [10] = { 4000, 164, cooldown = 6, levelRequirement = 32, storedUses = 1, statInterpolation = { 1, 1, }, }, + [11] = { 4000, 183, cooldown = 6, levelRequirement = 36, storedUses = 1, statInterpolation = { 1, 1, }, }, + [12] = { 4000, 205, cooldown = 6, levelRequirement = 40, storedUses = 1, statInterpolation = { 1, 1, }, }, + [13] = { 4000, 230, cooldown = 6, levelRequirement = 44, storedUses = 1, statInterpolation = { 1, 1, }, }, + [14] = { 4000, 257, cooldown = 6, levelRequirement = 48, storedUses = 1, statInterpolation = { 1, 1, }, }, + [15] = { 4000, 288, cooldown = 6, levelRequirement = 52, storedUses = 1, statInterpolation = { 1, 1, }, }, + [16] = { 4000, 323, cooldown = 6, levelRequirement = 56, storedUses = 1, statInterpolation = { 1, 1, }, }, + [17] = { 4000, 362, cooldown = 6, levelRequirement = 60, storedUses = 1, statInterpolation = { 1, 1, }, }, + [18] = { 4000, 405, cooldown = 6, levelRequirement = 64, storedUses = 1, statInterpolation = { 1, 1, }, }, + [19] = { 4000, 454, cooldown = 6, levelRequirement = 67, storedUses = 1, statInterpolation = { 1, 1, }, }, + [20] = { 4000, 508, cooldown = 6, levelRequirement = 70, storedUses = 1, statInterpolation = { 1, 1, }, }, + [21] = { 4000, 559, cooldown = 6, levelRequirement = 72, storedUses = 1, statInterpolation = { 1, 1, }, }, + [22] = { 4000, 615, cooldown = 6, levelRequirement = 74, storedUses = 1, statInterpolation = { 1, 1, }, }, + [23] = { 4000, 676, cooldown = 6, levelRequirement = 76, storedUses = 1, statInterpolation = { 1, 1, }, }, + [24] = { 4000, 744, cooldown = 6, levelRequirement = 78, storedUses = 1, statInterpolation = { 1, 1, }, }, + [25] = { 4000, 818, cooldown = 6, levelRequirement = 80, storedUses = 1, statInterpolation = { 1, 1, }, }, + [26] = { 4000, 900, cooldown = 6, levelRequirement = 82, storedUses = 1, statInterpolation = { 1, 1, }, }, + [27] = { 4000, 990, cooldown = 6, levelRequirement = 84, storedUses = 1, statInterpolation = { 1, 1, }, }, + [28] = { 4000, 1089, cooldown = 6, levelRequirement = 86, storedUses = 1, statInterpolation = { 1, 1, }, }, + [29] = { 4000, 1198, cooldown = 6, levelRequirement = 88, storedUses = 1, statInterpolation = { 1, 1, }, }, + [30] = { 4000, 1318, cooldown = 6, levelRequirement = 90, storedUses = 1, statInterpolation = { 1, 1, }, }, + [31] = { 4000, 1450, cooldown = 6, levelRequirement = 91, storedUses = 1, statInterpolation = { 1, 1, }, }, + [32] = { 4000, 1595, cooldown = 6, levelRequirement = 92, storedUses = 1, statInterpolation = { 1, 1, }, }, + [33] = { 4000, 1754, cooldown = 6, levelRequirement = 93, storedUses = 1, statInterpolation = { 1, 1, }, }, + [34] = { 4000, 1930, cooldown = 6, levelRequirement = 94, storedUses = 1, statInterpolation = { 1, 1, }, }, + [35] = { 4000, 2123, cooldown = 6, levelRequirement = 95, storedUses = 1, statInterpolation = { 1, 1, }, }, + [36] = { 4000, 2335, cooldown = 6, levelRequirement = 96, storedUses = 1, statInterpolation = { 1, 1, }, }, + [37] = { 4000, 2568, cooldown = 6, levelRequirement = 97, storedUses = 1, statInterpolation = { 1, 1, }, }, + [38] = { 4000, 2825, cooldown = 6, levelRequirement = 98, storedUses = 1, statInterpolation = { 1, 1, }, }, + [39] = { 4000, 3108, cooldown = 6, levelRequirement = 99, storedUses = 1, statInterpolation = { 1, 1, }, }, + [40] = { 4000, 3419, cooldown = 6, levelRequirement = 100, storedUses = 1, statInterpolation = { 1, 1, }, }, + }, +} diff --git a/src/Export/Skills/other.txt b/src/Export/Skills/other.txt index e9aabf5946..ded1d53187 100644 --- a/src/Export/Skills/other.txt +++ b/src/Export/Skills/other.txt @@ -1518,3 +1518,11 @@ skills["EnemyExplode"] = { [1] = { damageEffectiveness = 1, baseMultiplier = 1, levelRequirement = 1, } } } + +#noGem +#skill GraftSkillTulAegis +#flags duration + fromItem = true, +#baseMod flag("Condition:BuffedByPreservingStillness", { type = "GlobalEffect", effectType = "Buff", effectName = "Preserving Stillness" }) +#mods + diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index c884ca3eaf..983957c0ad 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -3078,6 +3078,7 @@ local specialModList = { ["grants (%D+)"] = function(_, skill) return grantedExtraSkill(skill, 1) end, ["grants level (%d+) (.+)"] = function(num, _, skill) return grantedExtraSkill(skill, num) end, ["grants level (%d+) (.+), which will be used by shaper memory"] = function(num, _, skill) return grantedExtraSkill(skill, num) end, + ["uses level (%d+) (.+)"] = function(num, _, skill) return grantedExtraSkill(skill, num) end, ["[ct][ar][si][tg]g?e?r?s? level (%d+) (.+) when equipped"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["[ct][ar][si][tg]g?e?r?s? level (%d+) (.+) on %a+"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["use level (%d+) (.+) on %a+"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, @@ -5541,6 +5542,7 @@ local specialModList = { end, ["immun[ei]t?y? to elemental ailments while bleeding"] = { flag("ElementalAilmentImmune", { type = "Condition", var = "Bleeding" }) }, ["mana is increased by (%d+)%% of overcapped lightning resistance"] = function(num) return { mod("Mana", "INC", num / 100, { type = "PerStat", stat = "LightningResistOverCap" }) } end, + ["preserving stillness used by this graft also grants %+(%d+)%% to all elemental resistances"] = function(num) return { mod("ElementalResist", "BASE", num, { type = "Condition", var = "BuffedByPreservingStillness" }) } end, } for _, name in ipairs(data.keystones) do specialModList[name:lower()] = { mod("Keystone", "LIST", name) }