Skip to content

Commit 30c5f90

Browse files
author
LocalIdentity
committed
Fix channel times showing for all skills with hit time override
1 parent 4aeead9 commit 30c5f90

File tree

3 files changed

+23
-10
lines changed

3 files changed

+23
-10
lines changed

src/Data/Skills/act_int.lua

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2790,9 +2790,11 @@ skills["DivineTempest"] = {
27902790
statDescriptionScope = "skill_stat_descriptions",
27912791
castTime = 0.22,
27922792
preDamageFunc = function(activeSkill, output)
2793-
local skillCfg = activeSkill.skillCfg
2794-
local skillModList = activeSkill.skillModList
2795-
activeSkill.skillData.hitTimeMultiplier = math.max(skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreStage") / (1 + skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreUniqueEnemyCount") + skillModList:Sum("BASE", skillCfg, "NormalEnemyHitMultiplier") * skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreNormalEnemyCount")), 1)
2793+
if activeSkill.skillPart == 2 then
2794+
local skillCfg = activeSkill.skillCfg
2795+
local skillModList = activeSkill.skillModList
2796+
activeSkill.skillData.hitTimeMultiplier = math.max(skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreStage") / (1 + skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreUniqueEnemyCount") + skillModList:Sum("BASE", skillCfg, "NormalEnemyHitMultiplier") * skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreNormalEnemyCount")), 1)
2797+
end
27962798
end,
27972799
parts = {
27982800
{
@@ -2803,6 +2805,7 @@ skills["DivineTempest"] = {
28032805
name = "Release",
28042806
area = true,
28052807
stages = true,
2808+
channelRelease = true,
28062809
},
28072810
},
28082811
statMap = {
@@ -4092,6 +4095,7 @@ skills["Flameblast"] = {
40924095
baseFlags = {
40934096
spell = true,
40944097
area = true,
4098+
channelRelease = true,
40954099
},
40964100
baseMods = {
40974101
skill("radius", 2),
@@ -6197,7 +6201,9 @@ skills["ExpandingFireCone"] = {
61976201
statDescriptionScope = "skill_stat_descriptions",
61986202
castTime = 0.2,
61996203
preDamageFunc = function(activeSkill, output)
6200-
activeSkill.skillData.hitTimeMultiplier = math.max(activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateStage") - activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateMinimumStage") - 0.4175, 0.5825) --First stage takes 0.5825x time to channel compared to subsequent stages
6204+
if activeSkill.skillPart == 2 then
6205+
activeSkill.skillData.hitTimeMultiplier = math.max(activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateStage") - activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateMinimumStage") - 0.4175, 0.5825) --First stage takes 0.5825x time to channel compared to subsequent stages
6206+
end
62016207
end,
62026208
parts = {
62036209
{
@@ -6207,6 +6213,7 @@ skills["ExpandingFireCone"] = {
62076213
{
62086214
name = "Release",
62096215
stages = true,
6216+
channelRelease = true,
62106217
},
62116218
},
62126219
statMap = {

src/Export/Skills/act_int.txt

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -632,9 +632,11 @@ local skills, mod, flag, skill = ...
632632
#skill DivineTempest
633633
#flags spell area
634634
preDamageFunc = function(activeSkill, output)
635-
local skillCfg = activeSkill.skillCfg
636-
local skillModList = activeSkill.skillModList
637-
activeSkill.skillData.hitTimeMultiplier = math.max(skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreStage") / (1 + skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreUniqueEnemyCount") + skillModList:Sum("BASE", skillCfg, "NormalEnemyHitMultiplier") * skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreNormalEnemyCount")), 1)
635+
if activeSkill.skillPart == 2 then
636+
local skillCfg = activeSkill.skillCfg
637+
local skillModList = activeSkill.skillModList
638+
activeSkill.skillData.hitTimeMultiplier = math.max(skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreStage") / (1 + skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreUniqueEnemyCount") + skillModList:Sum("BASE", skillCfg, "NormalEnemyHitMultiplier") * skillModList:Sum("BASE", skillCfg, "Multiplier:DivineIreNormalEnemyCount")), 1)
639+
end
638640
end,
639641
parts = {
640642
{
@@ -645,6 +647,7 @@ local skills, mod, flag, skill = ...
645647
name = "Release",
646648
area = true,
647649
stages = true,
650+
channelRelease = true,
648651
},
649652
},
650653
statMap = {
@@ -889,7 +892,7 @@ local skills, mod, flag, skill = ...
889892
#mods
890893

891894
#skill Flameblast
892-
#flags spell area
895+
#flags spell area channelRelease
893896
preDamageFunc = function(activeSkill, output)
894897
activeSkill.skillData.hitTimeMultiplier = math.max(activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:FlameblastStage") - activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:FlameblastMinimumStage"), 1)
895898
end,
@@ -1378,7 +1381,9 @@ local skills, mod, flag, skill = ...
13781381
#skill ExpandingFireCone
13791382
#flags spell area
13801383
preDamageFunc = function(activeSkill, output)
1381-
activeSkill.skillData.hitTimeMultiplier = math.max(activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateStage") - activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateMinimumStage") - 0.4175, 0.5825) --First stage takes 0.5825x time to channel compared to subsequent stages
1384+
if activeSkill.skillPart == 2 then
1385+
activeSkill.skillData.hitTimeMultiplier = math.max(activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateStage") - activeSkill.skillModList:Sum("BASE", activeSkill.skillCfg, "Multiplier:IncinerateMinimumStage") - 0.4175, 0.5825) --First stage takes 0.5825x time to channel compared to subsequent stages
1386+
end
13821387
end,
13831388
parts = {
13841389
{
@@ -1388,6 +1393,7 @@ local skills, mod, flag, skill = ...
13881393
{
13891394
name = "Release",
13901395
stages = true,
1396+
channelRelease = true,
13911397
},
13921398
},
13931399
statMap = {

src/Modules/Build.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ function buildMode:Init(dbFileName, buildName, buildXML, convertBuild)
245245
{ stat = "Speed", label = "Effective Trigger Rate", fmt = ".2f", compPercent = true, condFunc = function(v,o) return (o.TriggerTime or 0) ~= 0 and o.ServerTriggerRate ~= o.Speed end },
246246
{ stat = "WarcryCastTime", label = "Cast Time", fmt = ".2fs", compPercent = true, lowerIsBetter = true, flag = "warcry" },
247247
{ stat = "HitSpeed", label = "Hit Rate", fmt = ".2f", compPercent = true, condFunc = function(v,o) return not o.TriggerTime end },
248-
{ stat = "HitTime", label = "Channel Time", fmt = ".2fs", compPercent = true, condFunc = function(v,o) return not o.TriggerTime end },
248+
{ stat = "HitTime", label = "Channel Time", fmt = ".2fs", compPercent = true, flag = "channelRelease", condFunc = function(v,o) return not o.TriggerTime end },
249249
{ stat = "TrapThrowingTime", label = "Trap Throwing Time", fmt = ".2fs", compPercent = true, lowerIsBetter = true, },
250250
{ stat = "TrapCooldown", label = "Trap Cooldown", fmt = ".3fs", lowerIsBetter = true },
251251
{ stat = "MineLayingTime", label = "Mine Throwing Time", fmt = ".2fs", compPercent = true, lowerIsBetter = true, },

0 commit comments

Comments
 (0)