Skip to content

Commit

Permalink
fix aspect of the avian not double applying to minions
Browse files Browse the repository at this point in the history
  • Loading branch information
Regisle committed Oct 20, 2023
1 parent 86707d4 commit 09c671a
Show file tree
Hide file tree
Showing 6 changed files with 17 additions and 13 deletions.
2 changes: 1 addition & 1 deletion src/Classes/PartyTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -763,7 +763,7 @@ function PartyTabClass:ParseBuffs(list, buf, buffType, label)
elseif line == "---" then
mode = "Name"
else
if line:find("|") and currentName ~= "SKIP" then
if line:find("|") and currentName ~= "SKIP" and not line:find("MinionModifier|LIST") then
if currentModType == "otherEffects" then
currentName, currentEffect, line = line:match("([%w ]-%w+)|(%w+)|(.+)")
end
Expand Down
2 changes: 1 addition & 1 deletion src/Data/ModCache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6796,7 +6796,7 @@ c["Arrows gain Critical Strike Chance as they travel farther, up to 100% increas
c["Arrows gain Damage as they travel farther, dealing up to 50% increased Damage with Hits to targets"]={{[1]={[1]={ramp={[1]={[1]=35,[2]=0},[2]={[1]=70,[2]=1}},type="DistanceRamp"},flags=131076,keywordFlags=0,name="Damage",type="INC",value=50}},nil}
c["Arrows that Pierce have +50% to Critical Strike Multiplier"]={{[1]={[1]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=131072,keywordFlags=0,name="CritMultiplier",type="BASE",value=50}},nil}
c["Arrows that Pierce have 50% chance to cause Bleeding"]={{[1]={[1]={stat="PierceCount",threshold=1,type="StatThreshold"},flags=1025,keywordFlags=0,name="BleedChance",type="BASE",value=50}},nil}
c["Aspect of the Avian also grants Avian's Might and Avian's Flight to nearby Allies"]={{[1]={[1]={skillName="Aspect of the Avian",type="SkillName"},flags=0,keywordFlags=0,name="ExtraSkillMod",type="LIST",value={mod={flags=0,keywordFlags=0,name="AppliesToPartyMembers",type="FLAG",value=true}}}},nil}
c["Aspect of the Avian also grants Avian's Might and Avian's Flight to nearby Allies"]={{[1]={[1]={skillName="Aspect of the Avian",type="SkillName"},flags=0,keywordFlags=0,name="ExtraSkillMod",type="LIST",value={mod={flags=0,keywordFlags=0,name="BuffAppliesToAllies",type="FLAG",value=true}}}},nil}
c["Aspect of the Cat has no Reservation"]={{[1]={[1]={skillId="CatAspect",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationFlat",value=0}},[2]={[1]={skillId="CatAspect",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationFlat",value=0}},[3]={[1]={skillId="CatAspect",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="manaReservationPercent",value=0}},[4]={[1]={skillId="CatAspect",type="SkillId"},[2]={neg=true,skillType=119,type="SkillType"},flags=0,keywordFlags=0,name="SkillData",type="LIST",value={key="lifeReservationPercent",value=0}}},nil}
c["Aspect of the Spider can inflict Spider's Web on Enemies an additional time"]={{[1]={[1]={skillName="Aspect of the Spider",type="SkillName"},flags=0,keywordFlags=0,name="ExtraSkillMod",type="LIST",value={mod={flags=0,keywordFlags=0,name="Multiplier:SpiderWebApplyStackMax",type="BASE",value=1}}}},nil}
c["Aspect of the Spider inflicts Spider's Webs and Hinder every 0.5 Seconds instead"]={nil,"Aspect of the Spider inflicts Spider's Webs and Hinder every 0.5 Seconds instead "}
Expand Down
11 changes: 6 additions & 5 deletions src/Data/Skills/other.lua
Original file line number Diff line number Diff line change
Expand Up @@ -143,19 +143,20 @@ skills["BirdAspect"] = {
["chance_to_deal_double_damage_%"] = {
mod("DoubleDamageChance", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Might", effectCond = "AviansMightActive" }),
},
["minion_chance_to_deal_double_damage_%"] = {
mod("MinionModifier", "LIST", { mod = mod("DoubleDamageChance", "BASE", nil) }, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Might", effectCond = "AviansMightActive" }),
},
["base_movement_velocity_+%"] = {
mod("MovementSpeed", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Flight", effectCond = "AviansFlightActive" }),
},
["minion_movement_speed_+%"] = {
mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Flight", effectCond = "AviansFlightActive" }),
},
},
baseFlags = {
cast = true,
duration = true,
},
baseMods = {
skill("buffMinions", true),
},
constantStats = {
{ "chance_to_deal_double_damage_%", 10 },
{ "minion_chance_to_deal_double_damage_%", 10 },
Expand Down Expand Up @@ -2812,7 +2813,7 @@ skills["SummonHarbingerOfTimeUber"] = {
},
baseMods = {
mod("ActionSpeed", "INC", 10, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Greater Harbinger of Time", modCond = "GreaterHarbingerOfTime" }),
skill("buffMinions", true),
skill("buffAllies", true),
},
constantStats = {
{ "alternate_minion", 7 },
Expand Down Expand Up @@ -2958,7 +2959,7 @@ skills["SummonHarbingerOfTime"] = {
},
baseMods = {
mod("ActionSpeed", "INC", 10, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Harbinger of Time", modCond = "HarbingerOfTime" }),
skill("buffMinions", true),
skill("buffAllies", true),
},
constantStats = {
{ "alternate_minion", 1 },
Expand Down
9 changes: 6 additions & 3 deletions src/Export/Skills/other.txt
Original file line number Diff line number Diff line change
Expand Up @@ -57,13 +57,16 @@ local skills, mod, flag, skill = ...
["chance_to_deal_double_damage_%"] = {
mod("DoubleDamageChance", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Might", effectCond = "AviansMightActive" }),
},
["minion_chance_to_deal_double_damage_%"] = {
mod("MinionModifier", "LIST", { mod = mod("DoubleDamageChance", "BASE", nil) }, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Might", effectCond = "AviansMightActive" }),
},
["base_movement_velocity_+%"] = {
mod("MovementSpeed", "INC", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Flight", effectCond = "AviansFlightActive" }),
},
["minion_movement_speed_+%"] = {
mod("MinionModifier", "LIST", { mod = mod("MovementSpeed", "INC", nil) }, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Avian's Flight", effectCond = "AviansFlightActive" }),
},
},
#baseMod skill("buffMinions", true)
#mods

#skill CatAspect
Expand Down Expand Up @@ -773,7 +776,7 @@ local skills, mod, flag, skill = ...
#flags spell minion
fromItem = true,
#baseMod mod("ActionSpeed", "INC", 10, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Greater Harbinger of Time", modCond = "GreaterHarbingerOfTime" })
#baseMod skill("buffMinions", true)
#baseMod skill("buffAllies", true)
#mods

#skill SummonHarbingerOfTheArcane
Expand Down Expand Up @@ -805,7 +808,7 @@ local skills, mod, flag, skill = ...
#flags spell minion
fromItem = true,
#baseMod mod("ActionSpeed", "INC", 10, 0, 0, { type = "GlobalEffect", effectType = "Buff", effectName = "Harbinger of Time", modCond = "HarbingerOfTime" })
#baseMod skill("buffMinions", true)
#baseMod skill("buffAllies", true)
#mods

#skill TriggeredSummonGhostOnKill Triggered Summon Phantasm
Expand Down
4 changes: 2 additions & 2 deletions src/Modules/CalcPerform.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1710,7 +1710,7 @@ function calcs.perform(env, fullDPSSkipEHP)
buffs[buff.name].notBuff = true
end
end
if env.minion and (buff.applyMinions or buff.applyAllies) then
if env.minion and (buff.applyMinions or buff.applyAllies or skillModList:Flag(nil, "BuffAppliesToAllies")) then
activeSkill.minionBuffSkill = true
env.minion.modDB.conditions["AffectedBy"..buff.name:gsub(" ","")] = true
local srcList = new("ModList")
Expand All @@ -1719,7 +1719,7 @@ function calcs.perform(env, fullDPSSkipEHP)
srcList:ScaleAddList(buff.modList, (1 + inc / 100) * more)
mergeBuff(srcList, minionBuffs, buff.name)
end
if partyTabEnableExportBuffs and (skillModList:Flag(nil, "AppliesToPartyMembers") or buff.name == "Harbinger of Time" or buff.name == "Greater Harbinger of Time") then -- special case
if partyTabEnableExportBuffs and (buff.applyAllies or skillModList:Flag(nil, "BuffAppliesToAllies") or skillModList:Flag(nil, "BuffAppliesToPartyMembers")) then
local inc = modStore:Sum("INC", skillCfg, "BuffEffect") + skillModList:Sum("INC", skillCfg, buff.name:gsub(" ", "").."Effect")
local more = modStore:More(skillCfg, "BuffEffect")
buffExports["Aura"]["otherEffects"] = buffExports["Aura"]["otherEffects"] or { }
Expand Down
2 changes: 1 addition & 1 deletion src/Modules/ModParser.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3331,7 +3331,7 @@ local specialModList = {
["([%+%-][%d%.]+) seconds to avian's might duration"] = function(num) return { mod("PrimaryDuration", "BASE", num, { type = "SkillName", skillName = "Aspect of the Avian" }) } end,
["([%+%-][%d%.]+) seconds to avian's flight duration"] = function(num) return { mod("SecondaryDuration", "BASE", num, { type = "SkillName", skillName = "Aspect of the Avian" }) } end,
["aspect of the spider can inflict spider's web on enemies an additional time"] = { mod("ExtraSkillMod", "LIST", { mod = mod("Multiplier:SpiderWebApplyStackMax", "BASE", 1) }, { type = "SkillName", skillName = "Aspect of the Spider" }) },
["aspect of the avian also grants avian's might and avian's flight to nearby allies"] = { mod("ExtraSkillMod", "LIST", { mod = flag("AppliesToPartyMembers") }, { type = "SkillName", skillName = "Aspect of the Avian" }) },
["aspect of the avian also grants avian's might and avian's flight to nearby allies"] = { mod("ExtraSkillMod", "LIST", { mod = flag("BuffAppliesToAllies") }, { type = "SkillName", skillName = "Aspect of the Avian" }) },
["marked enemy takes (%d+)%% increased damage"] = function(num) return {
mod("EnemyModifier", "LIST", { mod = mod("DamageTaken", "INC", num) }, {type = "ActorCondition", actor = "enemy", var = "Marked" }),
} end,
Expand Down

0 comments on commit 09c671a

Please sign in to comment.