diff --git a/src/Data/Gems.lua b/src/Data/Gems.lua index fdfac6a9..114fb561 100644 --- a/src/Data/Gems.lua +++ b/src/Data/Gems.lua @@ -5359,6 +5359,26 @@ return { reqInt = 100, naturalMaxLevel = 20, }, + ["Metadata/Items/Gems/SkillGemStormCallAltX"] = { + name = "Storm Call of Trarthus", + baseTypeName = "Storm Call of Trarthus", + gameId = "Metadata/Items/Gems/SkillGemStormCall", + variantId = "StormCallAltX", + grantedEffectId = "StormCallAltX", + tags = { + intelligence = true, + grants_active_skill = true, + spell = true, + area = true, + duration = true, + physical = true, + }, + tagString = "Spell, AoE, Duration, Physical", + reqStr = 0, + reqDex = 0, + reqInt = 100, + naturalMaxLevel = 20, + }, ["Metadata/Items/Gems/SkillGemVaalStormCall"] = { name = "Vaal Storm Call", baseTypeName = "Vaal Storm Call", @@ -8115,6 +8135,26 @@ return { reqInt = 100, naturalMaxLevel = 20, }, + ["Metadata/Items/Gems/SkillGemDarkPactAltX"] = { + name = "Dark Pact of Trarthus", + baseTypeName = "Dark Pact of Trarthus", + gameId = "Metadata/Items/Gems/SkillGemDarkPact", + variantId = "DarkPactAltX", + grantedEffectId = "DarkPactAltX", + tags = { + intelligence = true, + grants_active_skill = true, + spell = true, + area = true, + chaos = true, + nova = true, + }, + tagString = "Spell, AoE, Chaos, Nova", + reqStr = 0, + reqDex = 0, + reqInt = 100, + naturalMaxLevel = 20, + }, ["Metadata/Items/Gems/SkillGemScorchingRay"] = { name = "Scorching Ray", baseTypeName = "Scorching Ray", @@ -9709,6 +9749,28 @@ return { reqInt = 60, naturalMaxLevel = 20, }, + ["Metadata/Items/Gems/SkillGemWaveOfConvictionAltY"] = { + name = "Wave of Conviction of Trarthus", + baseTypeName = "Wave of Conviction of Trarthus", + gameId = "Metadata/Items/Gems/SkillGemPurge", + variantId = "WaveOfConvictionAltY", + grantedEffectId = "WaveOfConvictionAltY", + tags = { + intelligence = true, + grants_active_skill = true, + spell = true, + area = true, + duration = true, + physical = true, + fire = true, + nova = true, + }, + tagString = "Spell, AoE, Duration, Physical, Fire, Nova", + reqStr = 40, + reqDex = 0, + reqInt = 60, + naturalMaxLevel = 20, + }, ["Metadata/Items/Gems/SkillGemZealotry"] = { name = "Zealotry", baseTypeName = "Zealotry", diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index dad0b36d..34fb1d33 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -10643,6 +10643,7 @@ c["Socketed Gems are Supported by Level 10 Fire Penetration"]={{[1]={[1]={slotNa c["Socketed Gems are Supported by Level 10 Fist of War"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFistofWar"}}},nil} c["Socketed Gems are Supported by Level 10 Flamewood"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFlamewood"}},[2]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=10,skillId="AvengingFlame"}}},nil} c["Socketed Gems are Supported by Level 10 Focused Ballista"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFocusedBallista"}}},nil} +c["Socketed Gems are Supported by Level 10 Focused Channelling"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFocusedChannelling"}}},nil} c["Socketed Gems are Supported by Level 10 Fork"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFork"}}},nil} c["Socketed Gems are Supported by Level 10 Fortify"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFortify"}}},nil} c["Socketed Gems are Supported by Level 10 Fresh Meat"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=10,skillId="SupportFreshMeat"}}},nil} @@ -10874,6 +10875,7 @@ c["Socketed Gems are Supported by Level 35 Fire Penetration"]={{[1]={[1]={slotNa c["Socketed Gems are Supported by Level 35 Fist of War"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFistofWar"}}},nil} c["Socketed Gems are Supported by Level 35 Flamewood"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFlamewood"}},[2]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=35,skillId="AvengingFlame"}}},nil} c["Socketed Gems are Supported by Level 35 Focused Ballista"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFocusedBallista"}}},nil} +c["Socketed Gems are Supported by Level 35 Focused Channelling"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFocusedChannelling"}}},nil} c["Socketed Gems are Supported by Level 35 Fork"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFork"}}},nil} c["Socketed Gems are Supported by Level 35 Fortify"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFortify"}}},nil} c["Socketed Gems are Supported by Level 35 Fresh Meat"]={{[1]={[1]={slotName="{SlotName}",type="SocketedIn"},flags=0,keywordFlags=0,name="ExtraSupport",type="LIST",value={level=35,skillId="SupportFreshMeat"}}},nil} @@ -11336,8 +11338,7 @@ c["Trigger Level 20 Lightning Bolt when you deal a Critical Strike"]={{[1]={flag c["Trigger Level 20 Shade Form when Hit"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="ShadeForm",triggered=true}}},nil} c["Trigger Level 20 Shield Shatter when you Block"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="ShieldShatter",triggered=true}}},nil} c["Trigger Level 20 Spirit Burst when you Use a Skill while you have a Spirit Charge"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SpiritBurst",triggered=true}}},nil} -c["Trigger Level 20 Starfall on Melee Critical Strike"]={nil,"Trigger Level 20 Starfall on Melee Critical Strike "} -c["Trigger Level 20 Starfall on Melee Critical Strike +17 to all Attributes"]={nil,"Trigger Level 20 Starfall on Melee Critical Strike +17 to all Attributes "} +c["Trigger Level 20 Starfall on Melee Critical Strike"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="TriggeredStarfall",triggered=true}},[2]={[1]={skillId="TriggeredStarfall",type="SkillId"},flags=0,keywordFlags=0,name="ExtraSkillMod",type="LIST",value={mod={flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="triggerOnCrit",value=true}}}}},nil} c["Trigger Level 20 Storm Cascade when you Attack"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="StormCascadeTriggered",triggered=true}}},nil} c["Trigger Level 20 Summon Phantasm Skill when you Consume a Corpse"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="TriggeredSummonGhostOnKill",triggered=true}}},nil} c["Trigger Level 20 Tawhoa's Chosen when you Attack with a Non-Vaal Slam or Strike Skill near an Enemy"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonMirageChieftain",triggered=true}}},nil} diff --git a/src/Data/Skills/act_int.lua b/src/Data/Skills/act_int.lua index 0514d3bb..41c196eb 100644 --- a/src/Data/Skills/act_int.lua +++ b/src/Data/Skills/act_int.lua @@ -3904,6 +3904,118 @@ skills["DarkPact"] = { [40] = { 0.80000001192093, 1.2000000476837, 199, critChance = 5, levelRequirement = 100, statInterpolation = { 3, 3, 1, }, cost = { Mana = 17, }, }, }, } +skills["DarkPactAltX"] = { + name = "Dark Pact of Trarthus", + baseTypeName = "Dark Pact of Trarthus", + color = 3, + baseEffectiveness = 0.80000001192093, + incrementalEffectiveness = 0.037999998778105, + description = "This spell deals chaos damage in an area around you. Casting this spell will cause you to gain Ruin. If this spell inflicts your seventh Ruin, it will sacrifice a large portion of your life to deal extra chaos damage based on the amount sacrificed, and remove all Ruin from you.", + skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Mineable] = true, [SkillType.Totemable] = true, [SkillType.Area] = true, [SkillType.Trappable] = true, [SkillType.Triggerable] = true, [SkillType.Multicastable] = true, [SkillType.Chaos] = true, [SkillType.CanRapidFire] = true, [SkillType.AreaSpell] = true, [SkillType.Nova] = true, }, + statDescriptionScope = "skill_stat_descriptions", + castTime = 0.5, + parts = { + { + name = "Average", + }, + { + name = "Max Ruin", + }, + }, + preDamageFunc = function(activeSkill, output) + local life + if activeSkill.skillFlags.totem then + life = output.TotemLife + else + life = output.Life + end + local add = life * activeSkill.skillData.percentageLifeSacrificed / 100 * (activeSkill.skillData.percentageSacrificedDealtAsChaos / 100) + if activeSkill.skillPart == 2 then + activeSkill.skillData.ChaosMin = activeSkill.skillData.ChaosMin + math.floor(add) + activeSkill.skillData.ChaosMax = activeSkill.skillData.ChaosMax + math.floor(add) + else + local avgCastsTillRuin = 7 / (1 + math.min(100, activeSkill.skillData.additionalRuinChance or 0) / 100) + activeSkill.skillData.ChaosMin = activeSkill.skillData.ChaosMin + math.floor(add / avgCastsTillRuin) + activeSkill.skillData.ChaosMax = activeSkill.skillData.ChaosMax + math.floor(add / avgCastsTillRuin) + end + end, + statMap = { + ["dark_pact_sacrifice_%_life_from_max_ruin"] = { + skill("percentageLifeSacrificed", nil), + }, + ["dark_pact_chaos_damage_added_from_sacrifice_+%"] = { + skill("percentageSacrificedDealtAsChaos", nil), + }, + ["dark_pact_chance_to_gain_an_additional_ruin_%"] = { + skill("additionalRuinChance"), + }, + }, + baseFlags = { + spell = true, + area = true, + }, + baseMods = { + skill("radius", 26), + skill("showAverage", true, { type = "SkillPart", skillPart = 2 }), + }, + qualityStats = { + Default = { + { "dark_pact_chance_to_gain_an_additional_ruin_%", 1 }, + }, + }, + constantStats = { + { "dark_pact_sacrifice_%_life_from_max_ruin", 50 }, + { "dark_pact_chaos_damage_added_from_sacrifice_+%", 400 }, + { "active_skill_ailment_damage_+%_final", -50 }, + }, + stats = { + "spell_minimum_base_chaos_damage", + "spell_maximum_base_chaos_damage", + "is_area_damage", + }, + levels = { + [1] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 28, statInterpolation = { 3, 3, }, cost = { Mana = 7, }, }, + [2] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 31, statInterpolation = { 3, 3, }, cost = { Mana = 7, }, }, + [3] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 34, statInterpolation = { 3, 3, }, cost = { Mana = 8, }, }, + [4] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 37, statInterpolation = { 3, 3, }, cost = { Mana = 8, }, }, + [5] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 40, statInterpolation = { 3, 3, }, cost = { Mana = 9, }, }, + [6] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 42, statInterpolation = { 3, 3, }, cost = { Mana = 9, }, }, + [7] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 44, statInterpolation = { 3, 3, }, cost = { Mana = 9, }, }, + [8] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 46, statInterpolation = { 3, 3, }, cost = { Mana = 10, }, }, + [9] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 48, statInterpolation = { 3, 3, }, cost = { Mana = 10, }, }, + [10] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 50, statInterpolation = { 3, 3, }, cost = { Mana = 10, }, }, + [11] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 52, statInterpolation = { 3, 3, }, cost = { Mana = 11, }, }, + [12] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 54, statInterpolation = { 3, 3, }, cost = { Mana = 11, }, }, + [13] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 56, statInterpolation = { 3, 3, }, cost = { Mana = 11, }, }, + [14] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 58, statInterpolation = { 3, 3, }, cost = { Mana = 11, }, }, + [15] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 60, statInterpolation = { 3, 3, }, cost = { Mana = 12, }, }, + [16] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 62, statInterpolation = { 3, 3, }, cost = { Mana = 12, }, }, + [17] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 64, statInterpolation = { 3, 3, }, cost = { Mana = 12, }, }, + [18] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 66, statInterpolation = { 3, 3, }, cost = { Mana = 13, }, }, + [19] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 68, statInterpolation = { 3, 3, }, cost = { Mana = 13, }, }, + [20] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 70, statInterpolation = { 3, 3, }, cost = { Mana = 13, }, }, + [21] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 72, statInterpolation = { 3, 3, }, cost = { Mana = 13, }, }, + [22] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 74, statInterpolation = { 3, 3, }, cost = { Mana = 14, }, }, + [23] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 76, statInterpolation = { 3, 3, }, cost = { Mana = 14, }, }, + [24] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 78, statInterpolation = { 3, 3, }, cost = { Mana = 14, }, }, + [25] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 80, statInterpolation = { 3, 3, }, cost = { Mana = 15, }, }, + [26] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 82, statInterpolation = { 3, 3, }, cost = { Mana = 15, }, }, + [27] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 84, statInterpolation = { 3, 3, }, cost = { Mana = 15, }, }, + [28] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 86, statInterpolation = { 3, 3, }, cost = { Mana = 15, }, }, + [29] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 88, statInterpolation = { 3, 3, }, cost = { Mana = 16, }, }, + [30] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 90, statInterpolation = { 3, 3, }, cost = { Mana = 16, }, }, + [31] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 91, statInterpolation = { 3, 3, }, cost = { Mana = 16, }, }, + [32] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 92, statInterpolation = { 3, 3, }, cost = { Mana = 16, }, }, + [33] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 93, statInterpolation = { 3, 3, }, cost = { Mana = 16, }, }, + [34] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 94, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [35] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 95, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [36] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 96, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [37] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 97, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [38] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 98, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [39] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 99, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + [40] = { 0.80000001192093, 1.2000000476837, critChance = 5, levelRequirement = 100, statInterpolation = { 3, 3, }, cost = { Mana = 17, }, }, + }, +} skills["Despair"] = { name = "Despair", baseTypeName = "Despair", @@ -16674,6 +16786,90 @@ skills["StormCall"] = { [40] = { 0.69999998807907, 1.2999999523163, 11, damageEffectiveness = 2.5, critChance = 6, levelRequirement = 100, statInterpolation = { 3, 3, 1, }, cost = { Mana = 22, }, }, }, } +skills["StormCallAltX"] = { + name = "Storm Call of Trarthus", + baseTypeName = "Storm Call of Trarthus", + color = 3, + baseEffectiveness = 2.4012999534607, + incrementalEffectiveness = 0.044100001454353, + description = "Sets a marker at a location. After a short duration, a bolt strikes the marker, dealing physical damage around it and causing bolts to strike at any other markers you've cast. Bolt impacts will leave behind a pool of boiling blood, which deals physical damage over time to enemies within it for a secondary duration.", + skillTypes = { [SkillType.Spell] = true, [SkillType.Damage] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Triggerable] = true, [SkillType.Multicastable] = true, [SkillType.Cascadable] = true, [SkillType.CanRapidFire] = true, [SkillType.AreaSpell] = true, [SkillType.Physical] = true, [SkillType.DamageOverTime] = true, }, + statDescriptionScope = "skill_stat_descriptions", + castTime = 0.75, + statMap = { + ["base_skill_show_average_damage_instead_of_dps"] = { + }, + }, + baseFlags = { + spell = true, + area = true, + duration = true, + }, + baseMods = { + skill("radius", 20), + }, + qualityStats = { + Default = { + { "base_secondary_skill_effect_duration", 50 }, + }, + }, + constantStats = { + { "base_skill_effect_duration", 2000 }, + { "base_secondary_skill_effect_duration", 4000 }, + }, + stats = { + "spell_minimum_base_physical_damage", + "spell_maximum_base_physical_damage", + "base_physical_damage_to_deal_per_minute", + "active_skill_base_radius_+", + "is_area_damage", + "base_skill_show_average_damage_instead_of_dps", + "console_skill_dont_chase", + "spell_damage_modifiers_apply_to_skill_dot", + }, + levels = { + [1] = { 0.80000001192093, 1.2000000476837, 100.66666828096, 0, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 12, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 13, }, }, + [2] = { 0.80000001192093, 1.2000000476837, 98.499999658515, 0, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 15, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 14, }, }, + [3] = { 0.80000001192093, 1.2000000476837, 96.50000152116, 1, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 19, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 17, }, }, + [4] = { 0.80000001192093, 1.2000000476837, 94.333332898716, 1, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 23, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 18, }, }, + [5] = { 0.80000001192093, 1.2000000476837, 92.333334761361, 1, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 27, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 20, }, }, + [6] = { 0.80000001192093, 1.2000000476837, 91.000002669791, 2, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 31, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 21, }, }, + [7] = { 0.80000001192093, 1.2000000476837, 89.666670578222, 2, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 35, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 22, }, }, + [8] = { 0.80000001192093, 1.2000000476837, 88.333338486652, 2, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 38, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 24, }, }, + [9] = { 0.80000001192093, 1.2000000476837, 87.166668932885, 3, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 41, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 26, }, }, + [10] = { 0.80000001192093, 1.2000000476837, 85.833336841315, 3, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 44, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 26, }, }, + [11] = { 0.80000001192093, 1.2000000476837, 84.666667287548, 3, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 47, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 27, }, }, + [12] = { 0.80000001192093, 1.2000000476837, 83.500005681068, 4, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 50, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 28, }, }, + [13] = { 0.80000001192093, 1.2000000476837, 82.333336127301, 4, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 53, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 30, }, }, + [14] = { 0.80000001192093, 1.2000000476837, 81.166666573534, 4, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 56, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 31, }, }, + [15] = { 0.80000001192093, 1.2000000476837, 80.000004967054, 5, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 59, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 32, }, }, + [16] = { 0.80000001192093, 1.2000000476837, 78.833335413287, 5, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 62, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 34, }, }, + [17] = { 0.80000001192093, 1.2000000476837, 77.500003321717, 5, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 64, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 34, }, }, + [18] = { 0.80000001192093, 1.2000000476837, 76.166671230147, 6, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 66, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 35, }, }, + [19] = { 0.80000001192093, 1.2000000476837, 75.500005184362, 6, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 68, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 36, }, }, + [20] = { 0.80000001192093, 1.2000000476837, 74.499998168399, 6, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 70, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 37, }, }, + [21] = { 0.80000001192093, 1.2000000476837, 73.499999099721, 7, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 72, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 38, }, }, + [22] = { 0.80000001192093, 1.2000000476837, 72.333337493241, 7, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 74, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 38, }, }, + [23] = { 0.80000001192093, 1.2000000476837, 71.333338424564, 7, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 76, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 39, }, }, + [24] = { 0.80000001192093, 1.2000000476837, 70.3333314086, 8, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 78, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 40, }, }, + [25] = { 0.80000001192093, 1.2000000476837, 69.333332339923, 8, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 80, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 41, }, }, + [26] = { 0.80000001192093, 1.2000000476837, 68.333333271245, 8, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 82, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 42, }, }, + [27] = { 0.80000001192093, 1.2000000476837, 67.333334202568, 9, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 84, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 42, }, }, + [28] = { 0.80000001192093, 1.2000000476837, 66.500001645337, 9, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 86, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 43, }, }, + [29] = { 0.80000001192093, 1.2000000476837, 65.500002576659, 9, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 88, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 44, }, }, + [30] = { 0.80000001192093, 1.2000000476837, 64.499999534339, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 90, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 45, }, }, + [31] = { 0.80000001192093, 1.2000000476837, 64, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 91, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 46, }, }, + [32] = { 0.80000001192093, 1.2000000476837, 63.666666977108, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 92, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 46, }, }, + [33] = { 0.80000001192093, 1.2000000476837, 63.166667442769, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 93, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 46, }, }, + [34] = { 0.80000001192093, 1.2000000476837, 62.66666790843, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 94, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 47, }, }, + [35] = { 0.80000001192093, 1.2000000476837, 62.333334885538, 10, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 95, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 47, }, }, + [36] = { 0.80000001192093, 1.2000000476837, 61.833335351199, 11, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 96, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 48, }, }, + [37] = { 0.80000001192093, 1.2000000476837, 61.33333581686, 11, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 97, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 48, }, }, + [38] = { 0.80000001192093, 1.2000000476837, 61.000002793968, 11, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 98, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 48, }, }, + [39] = { 0.80000001192093, 1.2000000476837, 60.500003259629, 11, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 99, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 49, }, }, + [40] = { 0.80000001192093, 1.2000000476837, 59.999999751647, 11, damageEffectiveness = 2.35, critChance = 6, levelRequirement = 100, statInterpolation = { 3, 3, 3, 1, }, cost = { Life = 49, }, }, + }, +} skills["VaalStormCall"] = { name = "Vaal Storm Call", baseTypeName = "Vaal Storm Call", @@ -19075,6 +19271,85 @@ skills["WaveOfConviction"] = { [40] = { 0.80000001192093, 1.2000000476837, 840, damageEffectiveness = 3.3, critChance = 6, levelRequirement = 100, statInterpolation = { 3, 3, 1, }, cost = { Mana = 31, }, }, }, } +skills["WaveOfConvictionAltY"] = { + name = "Wave of Conviction of Trarthus", + baseTypeName = "Wave of Conviction of Trarthus", + color = 3, + baseEffectiveness = 1.8079999685287, + incrementalEffectiveness = 0.049699999392033, + description = "An expanding wave of energy surges outwards from you, damaging enemies in a ring-shaped area over a duration. The ring then returns, damaging enemies again on the way back. Only one Wave of Conviction can be active at a time", + skillTypes = { [SkillType.Spell] = true, [SkillType.Area] = true, [SkillType.Damage] = true, [SkillType.Duration] = true, [SkillType.Trappable] = true, [SkillType.Totemable] = true, [SkillType.Mineable] = true, [SkillType.Triggerable] = true, [SkillType.CanRapidFire] = true, [SkillType.Multicastable] = true, [SkillType.AreaSpell] = true, [SkillType.Physical] = true, [SkillType.Fire] = true, [SkillType.Nova] = true, }, + statDescriptionScope = "debuff_skill_stat_descriptions", + castTime = 0.7, + preDamageFunc = function(activeSkill, output) + local duration = math.floor(math.ceil(activeSkill.skillData.duration * data.misc.ServerTickRate) / data.misc.ServerTickRate * output.DurationMod * 10) + activeSkill.skillModList:NewMod("DotMultiplier", "BASE", activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "WaveOfConvictionDurationDotMulti") * duration / 100, "Skill:Purge", 0, { type = "Multiplier", var = "WoCDurationExpired"}) + end, + baseFlags = { + spell = true, + area = true, + duration = true, + }, + qualityStats = { + Default = { + { "base_penetrate_elemental_resistances_%", 0.75 }, + }, + }, + constantStats = { + { "skill_physical_damage_%_to_convert_to_fire", 50 }, + { "shock_art_variation", 2 }, + { "ignite_art_variation", 7 }, + }, + stats = { + "spell_minimum_base_physical_damage", + "spell_maximum_base_physical_damage", + "base_skill_effect_duration", + "is_area_damage", + "visual_hit_effect_elemental_is_holy", + }, + levels = { + [1] = { 0.80000001192093, 1.2000000476837, 400, damageEffectiveness = 1.8, critChance = 6, levelRequirement = 16, statInterpolation = { 3, 3, 1, }, cost = { Mana = 9, }, }, + [2] = { 0.80000001192093, 1.2000000476837, 410, damageEffectiveness = 1.8, critChance = 6, levelRequirement = 20, statInterpolation = { 3, 3, 1, }, cost = { Mana = 10, }, }, + [3] = { 0.80000001192093, 1.2000000476837, 410, damageEffectiveness = 1.9, critChance = 6, levelRequirement = 24, statInterpolation = { 3, 3, 1, }, cost = { Mana = 11, }, }, + [4] = { 0.80000001192093, 1.2000000476837, 420, damageEffectiveness = 1.9, critChance = 6, levelRequirement = 28, statInterpolation = { 3, 3, 1, }, cost = { Mana = 12, }, }, + [5] = { 0.80000001192093, 1.2000000476837, 420, damageEffectiveness = 2, critChance = 6, levelRequirement = 31, statInterpolation = { 3, 3, 1, }, cost = { Mana = 13, }, }, + [6] = { 0.80000001192093, 1.2000000476837, 430, damageEffectiveness = 2, critChance = 6, levelRequirement = 34, statInterpolation = { 3, 3, 1, }, cost = { Mana = 14, }, }, + [7] = { 0.80000001192093, 1.2000000476837, 430, damageEffectiveness = 2.1, critChance = 6, levelRequirement = 37, statInterpolation = { 3, 3, 1, }, cost = { Mana = 15, }, }, + [8] = { 0.80000001192093, 1.2000000476837, 440, damageEffectiveness = 2.1, critChance = 6, levelRequirement = 40, statInterpolation = { 3, 3, 1, }, cost = { Mana = 15, }, }, + [9] = { 0.80000001192093, 1.2000000476837, 440, damageEffectiveness = 2.2, critChance = 6, levelRequirement = 43, statInterpolation = { 3, 3, 1, }, cost = { Mana = 16, }, }, + [10] = { 0.80000001192093, 1.2000000476837, 450, damageEffectiveness = 2.2, critChance = 6, levelRequirement = 46, statInterpolation = { 3, 3, 1, }, cost = { Mana = 17, }, }, + [11] = { 0.80000001192093, 1.2000000476837, 450, damageEffectiveness = 2.3, critChance = 6, levelRequirement = 49, statInterpolation = { 3, 3, 1, }, cost = { Mana = 18, }, }, + [12] = { 0.80000001192093, 1.2000000476837, 460, damageEffectiveness = 2.3, critChance = 6, levelRequirement = 52, statInterpolation = { 3, 3, 1, }, cost = { Mana = 18, }, }, + [13] = { 0.80000001192093, 1.2000000476837, 460, damageEffectiveness = 2.4, critChance = 6, levelRequirement = 55, statInterpolation = { 3, 3, 1, }, cost = { Mana = 19, }, }, + [14] = { 0.80000001192093, 1.2000000476837, 470, damageEffectiveness = 2.4, critChance = 6, levelRequirement = 58, statInterpolation = { 3, 3, 1, }, cost = { Mana = 20, }, }, + [15] = { 0.80000001192093, 1.2000000476837, 470, damageEffectiveness = 2.5, critChance = 6, levelRequirement = 60, statInterpolation = { 3, 3, 1, }, cost = { Mana = 20, }, }, + [16] = { 0.80000001192093, 1.2000000476837, 480, damageEffectiveness = 2.5, critChance = 6, levelRequirement = 62, statInterpolation = { 3, 3, 1, }, cost = { Mana = 21, }, }, + [17] = { 0.80000001192093, 1.2000000476837, 480, damageEffectiveness = 2.5, critChance = 6, levelRequirement = 64, statInterpolation = { 3, 3, 1, }, cost = { Mana = 21, }, }, + [18] = { 0.80000001192093, 1.2000000476837, 490, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 66, statInterpolation = { 3, 3, 1, }, cost = { Mana = 22, }, }, + [19] = { 0.80000001192093, 1.2000000476837, 490, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 68, statInterpolation = { 3, 3, 1, }, cost = { Mana = 22, }, }, + [20] = { 0.80000001192093, 1.2000000476837, 500, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 70, statInterpolation = { 3, 3, 1, }, cost = { Mana = 23, }, }, + [21] = { 0.80000001192093, 1.2000000476837, 500, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 72, statInterpolation = { 3, 3, 1, }, cost = { Mana = 24, }, }, + [22] = { 0.80000001192093, 1.2000000476837, 510, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 74, statInterpolation = { 3, 3, 1, }, cost = { Mana = 24, }, }, + [23] = { 0.80000001192093, 1.2000000476837, 510, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 76, statInterpolation = { 3, 3, 1, }, cost = { Mana = 25, }, }, + [24] = { 0.80000001192093, 1.2000000476837, 520, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 78, statInterpolation = { 3, 3, 1, }, cost = { Mana = 25, }, }, + [25] = { 0.80000001192093, 1.2000000476837, 520, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 80, statInterpolation = { 3, 3, 1, }, cost = { Mana = 26, }, }, + [26] = { 0.80000001192093, 1.2000000476837, 530, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 82, statInterpolation = { 3, 3, 1, }, cost = { Mana = 26, }, }, + [27] = { 0.80000001192093, 1.2000000476837, 530, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 84, statInterpolation = { 3, 3, 1, }, cost = { Mana = 27, }, }, + [28] = { 0.80000001192093, 1.2000000476837, 540, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 86, statInterpolation = { 3, 3, 1, }, cost = { Mana = 27, }, }, + [29] = { 0.80000001192093, 1.2000000476837, 540, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 88, statInterpolation = { 3, 3, 1, }, cost = { Mana = 28, }, }, + [30] = { 0.80000001192093, 1.2000000476837, 550, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 90, statInterpolation = { 3, 3, 1, }, cost = { Mana = 28, }, }, + [31] = { 0.80000001192093, 1.2000000476837, 550, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 91, statInterpolation = { 3, 3, 1, }, cost = { Mana = 28, }, }, + [32] = { 0.80000001192093, 1.2000000476837, 550, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 92, statInterpolation = { 3, 3, 1, }, cost = { Mana = 29, }, }, + [33] = { 0.80000001192093, 1.2000000476837, 550, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 93, statInterpolation = { 3, 3, 1, }, cost = { Mana = 29, }, }, + [34] = { 0.80000001192093, 1.2000000476837, 560, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 94, statInterpolation = { 3, 3, 1, }, cost = { Mana = 29, }, }, + [35] = { 0.80000001192093, 1.2000000476837, 560, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 95, statInterpolation = { 3, 3, 1, }, cost = { Mana = 29, }, }, + [36] = { 0.80000001192093, 1.2000000476837, 560, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 96, statInterpolation = { 3, 3, 1, }, cost = { Mana = 30, }, }, + [37] = { 0.80000001192093, 1.2000000476837, 560, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 97, statInterpolation = { 3, 3, 1, }, cost = { Mana = 30, }, }, + [38] = { 0.80000001192093, 1.2000000476837, 570, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 98, statInterpolation = { 3, 3, 1, }, cost = { Mana = 30, }, }, + [39] = { 0.80000001192093, 1.2000000476837, 570, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 99, statInterpolation = { 3, 3, 1, }, cost = { Mana = 30, }, }, + [40] = { 0.80000001192093, 1.2000000476837, 570, damageEffectiveness = 2.6, critChance = 6, levelRequirement = 100, statInterpolation = { 3, 3, 1, }, cost = { Mana = 31, }, }, + }, +} skills["WinterOrb"] = { name = "Winter Orb", baseTypeName = "Winter Orb", diff --git a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua index de92410c..e7216536 100644 --- a/src/Data/Skills/other.lua +++ b/src/Data/Skills/other.lua @@ -756,6 +756,36 @@ skills["SupportUniqueCosprisMaliceColdSpellsCastOnMeleeCriticalStrike"] = { [1] = { storedUses = 1, levelRequirement = 1, cooldown = 0.25, }, }, } +skills["TriggeredStarfall"] = { + name = "Starfall", + hidden = true, + color = 2, + baseEffectiveness = 0, + description = "Stars fall, raining destruction down over an area. Falling stars deal Attack Damage.\nCannot be Supported by Trigger Support Gems.", + skillTypes = { [SkillType.Attack] = true, [SkillType.RangedAttack] = true, [SkillType.Area] = true, [SkillType.ProjectileSpeed] = true, [SkillType.ProjectileNumber] = true, [SkillType.Triggerable] = true, [SkillType.Rain] = true, [SkillType.Triggered] = true, [SkillType.Cooldown] = true, [SkillType.InbuiltTrigger] = true, [SkillType.DisallowTriggerSupports] = true, }, + statDescriptionScope = "skill_stat_descriptions", + castTime = 1, + fromItem = true, + baseFlags = { + spell = true, + }, + baseMods = { + skill("showAverage", true), + }, + constantStats = { + { "skill_art_variation", 11 }, + { "attack_trigger_on_melee_critical_hit_%", 100 }, + }, + stats = { + "base_number_of_projectiles", + "base_is_projectile", + "is_area_damage", + "cannot_pierce", + }, + levels = { + [20] = { 22, baseMultiplier = 0.6, storedUses = 1, damageEffectiveness = 0.6, cooldown = 0.15, levelRequirement = 0, statInterpolation = { 1, }, }, + }, +} skills["TriggeredSummonLesserShrine"] = { name = "Create Lesser Shrine", hidden = true, diff --git a/src/Export/Skills/act_int.txt b/src/Export/Skills/act_int.txt index 355ee85c..74c60fa7 100644 --- a/src/Export/Skills/act_int.txt +++ b/src/Export/Skills/act_int.txt @@ -788,6 +788,48 @@ local skills, mod, flag, skill = ... #baseMod skill("radius", 26) #mods +#skill DarkPactAltX +#flags spell area + parts = { + { + name = "Average", + }, + { + name = "Max Ruin", + }, + }, + preDamageFunc = function(activeSkill, output) + local life + if activeSkill.skillFlags.totem then + life = output.TotemLife + else + life = output.Life + end + local add = life * activeSkill.skillData.percentageLifeSacrificed / 100 * (activeSkill.skillData.percentageSacrificedDealtAsChaos / 100) + if activeSkill.skillPart == 2 then + activeSkill.skillData.ChaosMin = activeSkill.skillData.ChaosMin + math.floor(add) + activeSkill.skillData.ChaosMax = activeSkill.skillData.ChaosMax + math.floor(add) + else + local avgCastsTillRuin = 7 / (1 + math.min(100, activeSkill.skillData.additionalRuinChance or 0) / 100) + activeSkill.skillData.ChaosMin = activeSkill.skillData.ChaosMin + math.floor(add / avgCastsTillRuin) + activeSkill.skillData.ChaosMax = activeSkill.skillData.ChaosMax + math.floor(add / avgCastsTillRuin) + end + end, + statMap = { + ["dark_pact_sacrifice_%_life_from_max_ruin"] = { + skill("percentageLifeSacrificed", nil), + }, + ["dark_pact_chaos_damage_added_from_sacrifice_+%"] = { + skill("percentageSacrificedDealtAsChaos", nil), + }, + ["dark_pact_chance_to_gain_an_additional_ruin_%"] = { + skill("additionalRuinChance"), + }, + }, +#baseMod skill("radius", 26) +#baseMod skill("showAverage", true, { type = "SkillPart", skillPart = 2 }) +#mods + #skill Despair #flags spell curse area duration hex statMap = { @@ -3667,6 +3709,15 @@ local skills, mod, flag, skill = ... #baseMod skill("radius", 20) #mods +#skill StormCallAltX +#flags spell area duration + statMap = { + ["base_skill_show_average_damage_instead_of_dps"] = { + }, + }, +#baseMod skill("radius", 20) +#mods + #skill VaalStormCall #flags spell area duration #baseMod skill("radius", 16) @@ -4049,6 +4100,14 @@ local skills, mod, flag, skill = ... }, #mods +#skill WaveOfConvictionAltY +#flags spell area duration + preDamageFunc = function(activeSkill, output) + local duration = math.floor(math.ceil(activeSkill.skillData.duration * data.misc.ServerTickRate) / data.misc.ServerTickRate * output.DurationMod * 10) + activeSkill.skillModList:NewMod("DotMultiplier", "BASE", activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "WaveOfConvictionDurationDotMulti") * duration / 100, "Skill:Purge", 0, { type = "Multiplier", var = "WoCDurationExpired"}) + end, +#mods + #skill WinterOrb #flags spell projectile area duration parts = { diff --git a/src/Export/Skills/other.txt b/src/Export/Skills/other.txt index a7ed919c..448a0890 100644 --- a/src/Export/Skills/other.txt +++ b/src/Export/Skills/other.txt @@ -262,6 +262,12 @@ local skills, mod, flag, skill = ... fromItem = true, #mods +#skill TriggeredStarfall +#flags spell +#baseMod skill("showAverage", true) + fromItem = true, +#mods + #skill TriggeredSummonLesserShrine #flags spell duration fromItem = true, diff --git a/src/Modules/CalcTriggers.lua b/src/Modules/CalcTriggers.lua index 16cfc13a..226c6c2c 100644 --- a/src/Modules/CalcTriggers.lua +++ b/src/Modules/CalcTriggers.lua @@ -966,6 +966,9 @@ local configTable = { ["cameria's avarice"] = function() return {triggerName = "Icicle Burst", triggerSkillCond = function(env, skill) return (skill.skillTypes[SkillType.Damage] or skill.skillTypes[SkillType.Attack]) end} end, + ["starcaller"] = function() + return {triggerName = "Starfall", triggerSkillCond = function(env, skill) return (skill.skillTypes[SkillType.Damage] or skill.skillTypes[SkillType.Attack]) end} + end, ["uul-netol's embrace"] = function() return {triggerName = "Bone Nova", triggerSkillCond = function(env, skill) return (skill.skillTypes[SkillType.Damage] or skill.skillTypes[SkillType.Attack]) end} end, diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 1463d139..86fc5794 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2955,6 +2955,7 @@ local specialModList = { ["trigger level (%d+) (.+) when you gain avian's might or avian's flight"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) on melee hit if you have at least (%d+) strength"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["trigger level (%d+) (.+) on critical strike with cleave or reave"] = function(num, _, skill) return triggerExtraSkill(skill, num, {onCrit = true}) end, + ["trigger level (%d+) (.+) on melee critical strike"] = function(num, _, skill) return triggerExtraSkill(skill, num, {onCrit = true}) end, ["triggers level (%d+) (.+)"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["triggers level (%d+) (.+) when equipped"] = function(num, _, skill) return triggerExtraSkill(skill, num) end, ["triggers level (%d+) (.+) when allocated"] = function(num, _, skill) return triggerExtraSkill(skill, num) end,