Add support for self cast Hydrosphere DPS (#8598)
* Added skill part "Cast" for Hydrosphere, for when the Hydrosphere is continuously recast. Adjusted skill part names for Frozen, Shocked and Frozen & Shocked for clarity. * Split "Cast" further into Frozen, Shocked and Frozen Shocked skill parts since the damage pulse from casting actually also converts depending on the ailment of the sphere. * Fix not using tabs --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
This commit is contained in:
@@ -8643,18 +8643,32 @@ skills["Hydrosphere"] = {
|
||||
statDescriptionScope = "skill_stat_descriptions",
|
||||
castTime = 0.6,
|
||||
parts = {
|
||||
{
|
||||
name = "Frozen",
|
||||
},
|
||||
{
|
||||
name = "Shocked",
|
||||
},
|
||||
{
|
||||
name = "Frozen & Shocked",
|
||||
}
|
||||
{
|
||||
name = "Autopulse (Frozen)",
|
||||
},
|
||||
{
|
||||
name = "Autopulse (Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Autopulse (Frozen & Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Cast (No Ailment)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Frozen)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Frozen & Shocked)",
|
||||
}
|
||||
},
|
||||
preDamageFunc = function(activeSkill, output)
|
||||
activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "HydroSphereFrequency") / 100)
|
||||
if activeSkill.skillPart == 1 or activeSkill.skillPart == 2 or activeSkill.skillPart == 3 then
|
||||
activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "HydroSphereFrequency") / 100)
|
||||
end
|
||||
end,
|
||||
statMap = {
|
||||
["skill_physical_damage_%_to_convert_to_cold"] = {
|
||||
@@ -8662,6 +8676,11 @@ skills["Hydrosphere"] = {
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 4 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 5 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 6 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 7 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 7 }),
|
||||
},
|
||||
["water_sphere_cold_lightning_exposure_%"] = {
|
||||
mod("ColdExposure", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Debuff" } ),
|
||||
|
||||
@@ -1753,18 +1753,32 @@ local skills, mod, flag, skill = ...
|
||||
#skill Hydrosphere
|
||||
#flags spell duration area
|
||||
parts = {
|
||||
{
|
||||
name = "Frozen",
|
||||
},
|
||||
{
|
||||
name = "Shocked",
|
||||
},
|
||||
{
|
||||
name = "Frozen & Shocked",
|
||||
}
|
||||
{
|
||||
name = "Autopulse (Frozen)",
|
||||
},
|
||||
{
|
||||
name = "Autopulse (Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Autopulse (Frozen & Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Cast (No Ailment)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Frozen)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Shocked)",
|
||||
},
|
||||
{
|
||||
name = "Cast (Frozen & Shocked)",
|
||||
}
|
||||
},
|
||||
preDamageFunc = function(activeSkill, output)
|
||||
activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "HydroSphereFrequency") / 100)
|
||||
if activeSkill.skillPart == 1 or activeSkill.skillPart == 2 or activeSkill.skillPart == 3 then
|
||||
activeSkill.skillData.hitTimeOverride = activeSkill.skillData.repeatFrequency / (1 + activeSkill.skillModList:Sum("INC", activeSkill.skillCfg, "HydroSphereFrequency") / 100)
|
||||
end
|
||||
end,
|
||||
statMap = {
|
||||
["skill_physical_damage_%_to_convert_to_cold"] = {
|
||||
@@ -1772,6 +1786,11 @@ local skills, mod, flag, skill = ...
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 2 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 3 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 4 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 5 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 6 }),
|
||||
mod("SkillPhysicalDamageConvertToCold", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 7 }),
|
||||
mod("SkillPhysicalDamageConvertToLightning", "BASE", nil, 0, 0, { type = "SkillPart", skillPart = 7 }),
|
||||
},
|
||||
["water_sphere_cold_lightning_exposure_%"] = {
|
||||
mod("ColdExposure", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Debuff" } ),
|
||||
|
||||
Reference in New Issue
Block a user