Skip to content

Commit 02d8258

Browse files
author
LocalIdentity
committed
Skill fixes
Remove orbs in area calc for new Storm Burst Change Shock Nova to use Ring + Nova calc by default
1 parent 78e76a8 commit 02d8258

2 files changed

Lines changed: 16 additions & 34 deletions

File tree

src/Data/Skills/act_int.lua

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -16157,18 +16157,18 @@ skills["ShockNova"] = {
1615716157
castTime = 0.7,
1615816158
parts = {
1615916159
{
16160-
name = "Ring",
16160+
name = "Ring + Nova",
1616116161
},
1616216162
{
16163-
name = "Nova",
16163+
name = "Ring",
1616416164
},
1616516165
{
16166-
name = "Ring + Nova",
16166+
name = "Nova",
1616716167
},
1616816168
},
1616916169
statMap = {
1617016170
["shock_nova_ring_chance_to_shock_+%"] = {
16171-
mod("EnemyShockChance", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 2, 3 } }),
16171+
mod("EnemyShockChance", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 1, 2 } }),
1617216172
},
1617316173
},
1617416174
baseFlags = {
@@ -16177,7 +16177,7 @@ skills["ShockNova"] = {
1617716177
},
1617816178
baseMods = {
1617916179
skill("radius", 26),
16180-
skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 3 }),
16180+
skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 }),
1618116181
},
1618216182
qualityStats = {
1618316183
Default = {
@@ -16252,10 +16252,10 @@ skills["ShockNovaAltX"] = {
1625216252
castTime = 0.25,
1625316253
parts = {
1625416254
{
16255-
name = "Nova",
16255+
name = "Ring + Nova",
1625616256
},
1625716257
{
16258-
name = "Ring + Nova",
16258+
name = "Nova",
1625916259
},
1626016260
},
1626116261
baseFlags = {
@@ -16264,7 +16264,7 @@ skills["ShockNovaAltX"] = {
1626416264
},
1626516265
baseMods = {
1626616266
skill("radius", 26),
16267-
skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 }),
16267+
skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 }),
1626816268
},
1626916269
qualityStats = {
1627016270
Default = {
@@ -18433,21 +18433,12 @@ skills["StormBurstAltX"] = {
1843318433
{
1843418434
name = "1 Orb Tick"
1843518435
},
18436-
{
18437-
name = "Max Channelled Orbs"
18438-
},
1843918436
{
1844018437
name = "Max Duration Explode"
1844118438
},
1844218439
},
1844318440
preDamageFunc = function(activeSkill, output)
1844418441
if activeSkill.skillPart == 2 then
18445-
local duration = activeSkill.skillData.duration * output.DurationMod
18446-
-- duration * 10 / (jump * 10), instead of duration / jump to avoid floating point issues
18447-
local jumpPeriod = activeSkill.skillData.repeatFrequency * 10
18448-
-- additional 1 tick upon spawn of orb
18449-
activeSkill.skillData.dpsMultiplier = (activeSkill.skillData.dpsMultiplier or 1) * (1 + math.floor(duration * 10 / jumpPeriod))
18450-
elseif activeSkill.skillPart == 3 then
1845118442
local remainingJumps = math.floor((activeSkill.skillData.duration * output.DurationMod + 0.001) / activeSkill.skillData.repeatFrequency)
1845218443
-- Tested in-game and the skill grants more damage only after you have at least 0.8s duration
1845318444
activeSkill.skillModList:NewMod("Damage", "MORE", math.max(activeSkill.skillData.remainingDurationDamage * remainingJumps - 100, 0), "Skill:StormBurst")

src/Export/Skills/act_int.txt

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3674,36 +3674,36 @@ local skills, mod, flag, skill = ...
36743674
#flags spell area
36753675
parts = {
36763676
{
3677-
name = "Ring",
3677+
name = "Ring + Nova",
36783678
},
36793679
{
3680-
name = "Nova",
3680+
name = "Ring",
36813681
},
36823682
{
3683-
name = "Ring + Nova",
3683+
name = "Nova",
36843684
},
36853685
},
36863686
statMap = {
36873687
["shock_nova_ring_chance_to_shock_+%"] = {
3688-
mod("EnemyShockChance", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 2, 3 } }),
3688+
mod("EnemyShockChance", "BASE", nil, 0, 0, { type = "SkillPart", skillPartList = { 1, 2 } }),
36893689
},
36903690
},
36913691
#baseMod skill("radius", 26)
3692-
#baseMod skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 3 })
3692+
#baseMod skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 })
36933693
#mods
36943694

36953695
#skill ShockNovaAltX
36963696
#flags spell area
36973697
parts = {
36983698
{
3699-
name = "Nova",
3699+
name = "Ring + Nova",
37003700
},
37013701
{
3702-
name = "Ring + Nova",
3702+
name = "Nova",
37033703
},
37043704
},
37053705
#baseMod skill("radius", 26)
3706-
#baseMod skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 2 })
3706+
#baseMod skill("dpsMultiplier", 2, { type = "SkillPart", skillPart = 1 })
37073707
#mods
37083708

37093709
#skill SigilOfPower
@@ -4087,21 +4087,12 @@ local skills, mod, flag, skill = ...
40874087
{
40884088
name = "1 Orb Tick"
40894089
},
4090-
{
4091-
name = "Max Channelled Orbs"
4092-
},
40934090
{
40944091
name = "Max Duration Explode"
40954092
},
40964093
},
40974094
preDamageFunc = function(activeSkill, output)
40984095
if activeSkill.skillPart == 2 then
4099-
local duration = activeSkill.skillData.duration * output.DurationMod
4100-
-- duration * 10 / (jump * 10), instead of duration / jump to avoid floating point issues
4101-
local jumpPeriod = activeSkill.skillData.repeatFrequency * 10
4102-
-- additional 1 tick upon spawn of orb
4103-
activeSkill.skillData.dpsMultiplier = (activeSkill.skillData.dpsMultiplier or 1) * (1 + math.floor(duration * 10 / jumpPeriod))
4104-
elseif activeSkill.skillPart == 3 then
41054096
local remainingJumps = math.floor((activeSkill.skillData.duration * output.DurationMod + 0.001) / activeSkill.skillData.repeatFrequency)
41064097
-- Tested in-game and the skill grants more damage only after you have at least 0.8s duration
41074098
activeSkill.skillModList:NewMod("Damage", "MORE", math.max(activeSkill.skillData.remainingDurationDamage * remainingJumps - 100, 0), "Skill:StormBurst")

0 commit comments

Comments
 (0)