Skip to content

Commit d4df0fc

Browse files
committed
2 parents cc6b22c + 41becdf commit d4df0fc

File tree

14 files changed

+77
-25
lines changed

14 files changed

+77
-25
lines changed

src/Classes/ModStore.lua

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,11 @@ function ModStoreClass:ScaleAddMod(mod, scale)
5252
if scaledMod.value.mod then
5353
subMod = scaledMod.value.mod
5454
elseif scaledMod.value.keyOfScaledMod then
55-
scaledMod.value[scaledMod.value.keyOfScaledMod] = round(scaledMod.value[scaledMod.value.keyOfScaledMod] * scale, 2)
55+
if scaledMod.value.key == "level" then -- +Levels can't get scaled with decimals
56+
scaledMod.value[scaledMod.value.keyOfScaledMod] = m_floor(scaledMod.value[scaledMod.value.keyOfScaledMod] * scale)
57+
else
58+
scaledMod.value[scaledMod.value.keyOfScaledMod] = round(scaledMod.value[scaledMod.value.keyOfScaledMod] * scale, 2)
59+
end
5660
end
5761
end
5862
if type(subMod.value) == "number" then

src/Classes/PassiveTreeView.lua

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,6 +558,12 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
558558
end
559559
end
560560

561+
-- calculate inc from SmallPassiveSkillEffect
562+
local incSmallPassiveSkillEffect = 0
563+
for _, node in pairs(spec.allocNodes) do
564+
incSmallPassiveSkillEffect = incSmallPassiveSkillEffect + node.modList:Sum("INC", nil ,"SmallPassiveSkillEffect")
565+
end
566+
561567
-- Draw the nodes
562568
for nodeId, node in pairs(spec.nodes) do
563569
-- Determine the base and overlay images for this node based on type and state
@@ -820,7 +826,7 @@ function PassiveTreeViewClass:Draw(build, viewPort, inputEvents)
820826
SetDrawLayer(nil, 100)
821827
local size = m_floor(node.size * scale)
822828
if self.tooltip:CheckForUpdate(node, self.showStatDifferences, self.tracePath, launch.devModeAlt, build.outputRevision) then
823-
self:AddNodeTooltip(self.tooltip, node, build)
829+
self:AddNodeTooltip(self.tooltip, node, build, incSmallPassiveSkillEffect)
824830
end
825831
self.tooltip:Draw(m_floor(scrX - size), m_floor(scrY - size), size * 2, size * 2, viewPort)
826832
end
@@ -1083,7 +1089,7 @@ function PassiveTreeViewClass:AddNodeName(tooltip, node, build)
10831089
end
10841090
end
10851091

1086-
function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
1092+
function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build, incSmallPassiveSkillEffect)
10871093
-- Special case for sockets
10881094
if node.type == "Socket" and node.alloc then
10891095
local socket, jewel = build.itemsTab:GetSocketAndJewelForNodeID(node.id)
@@ -1146,6 +1152,25 @@ function PassiveTreeViewClass:AddNodeTooltip(tooltip, node, build)
11461152
line = line .. " " .. modStr
11471153
end
11481154
end
1155+
1156+
-- Apply Inc Node scaling from Hulking Form only visually
1157+
if incSmallPassiveSkillEffect > 0 and node.type == "Normal" and not node.isAttribute and not node.ascendancyName and node.mods[i].list then
1158+
local scale = 1 + incSmallPassiveSkillEffect / 100
1159+
local scaledList = new("ModList")
1160+
scaledList:ScaleAddList(node.mods[i].list, scale)
1161+
local number = line:match("%d*%.?%d+")
1162+
for j, mod in ipairs(scaledList) do
1163+
local newValue = 0
1164+
if type(mod.value) == "number" then
1165+
newValue = mod.value
1166+
elseif type(mod.value) == "table" then
1167+
newValue = mod.value.mod.value
1168+
end
1169+
line = line:gsub("%d*%.?%d+",math.abs(newValue))
1170+
end
1171+
-- line = line .. " ^8(Effect increased by "..incSmallPassiveSkillEffect.."%)"
1172+
end
1173+
11491174
tooltip:AddLine(16, ((node.mods[i].extra or not node.mods[i].list) and colorCodes.UNSUPPORTED or colorCodes.MAGIC)..line)
11501175
end
11511176
end

src/Data/ModCache.lua

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -847,8 +847,7 @@ c["125% increased Charges per use"]={{[1]={flags=0,keywordFlags=0,name="FlaskCha
847847
c["125% increased Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EnergyShield",type="INC",value=125}},nil}
848848
c["125% increased Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",type="INC",value=125}},nil}
849849
c["125% increased Evasion and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EvasionAndEnergyShield",type="INC",value=125}},nil}
850-
c["13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage"]={nil,"50% of Damage with Hits as Extra Chaos Damage "}
851-
c["13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage 7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage"]={nil,"50% of Damage with Hits as Extra Chaos Damage 7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage "}
850+
c["13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage"]={{[1]={flags=4,keywordFlags=0,name="DamageGainAsChaos",type="BASE",value=6.5}},nil}
852851
c["13% increased Attack Speed"]={{[1]={flags=1,keywordFlags=0,name="Speed",type="INC",value=13}},nil}
853852
c["13% increased Cast Speed"]={{[1]={flags=16,keywordFlags=0,name="Speed",type="INC",value=13}},nil}
854853
c["13% increased Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="MovementSpeed",type="INC",value=13}},nil}
@@ -1063,7 +1062,7 @@ c["2% increased Lightning Damage per 10 Intelligence"]={{[1]={[1]={div=10,stat="
10631062
c["2% increased Maximum Life per socketed Grand Spectrum"]={{[1]={[1]={type="Multiplier",var="GrandSpectrum"},flags=0,keywordFlags=0,name="Life",type="INC",value=2}},nil}
10641063
c["2% increased Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="MovementSpeed",type="INC",value=2}},nil}
10651064
c["2% increased Spirit per socketed Grand Spectrum"]={{[1]={[1]={type="Multiplier",var="GrandSpectrum"},flags=0,keywordFlags=0,name="Spirit",type="INC",value=2}},nil}
1066-
c["2% to Maximum Fire Resistance for each 40% Uncapped Fire Resistance"]={{[1]={flags=0,keywordFlags=0,name="FireResistMax",type="BASE",value=2}},"% to for each 40% Uncapped Fire Resistance "}
1065+
c["2% to Maximum Fire Resistance for each 40% Uncapped Fire Resistance"]={{[1]={[1]={div=40,stat="FireResistTotal",type="PerStat"},flags=0,keywordFlags=0,name="FireResistMax",type="BASE",value=2}},nil}
10671066
c["20 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRegen",type="BASE",value=20}},nil}
10681067
c["20 Passive Skill Points become Weapon Set Skill Points"]={{[1]={flags=0,keywordFlags=0,name="PassivePointsToWeaponSetPoints",type="BASE",value=20}},nil}
10691068
c["20 to 30 Physical Thorns damage"]={{[1]={flags=0,keywordFlags=0,name="Damage",type="BASE",value=20}}," to 30 Physical Thorns "}
@@ -1237,9 +1236,7 @@ c["200% increased Stun Recovery"]={{[1]={flags=0,keywordFlags=0,name="StunRecove
12371236
c["200% increased bonuses gained from Equipped Quiver"]={{[1]={flags=0,keywordFlags=0,name="EffectOfBonusesFromQuiver",type="INC",value=200}},nil}
12381237
c["22.5 Life Regeneration per second"]={{[1]={flags=0,keywordFlags=0,name="LifeRegen",type="BASE",value=22.5}},nil}
12391238
c["225% increased Duration"]={{[1]={flags=0,keywordFlags=0,name="Duration",type="INC",value=225}},nil}
1240-
c["23% chance to Gain 25% of Damage with Hits as Extra Chaos Damage"]={nil,"25% of Damage with Hits as Extra Chaos Damage "}
1241-
c["23% chance to Gain 25% of Damage with Hits as Extra Chaos Damage 13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage"]={nil,"25% of Damage with Hits as Extra Chaos Damage 13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage "}
1242-
c["23% chance to Gain 25% of Damage with Hits as Extra Chaos Damage 13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage 7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage"]={nil,"25% of Damage with Hits as Extra Chaos Damage 13% chance to Gain 50% of Damage with Hits as Extra Chaos Damage 7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage "}
1239+
c["23% chance to Gain 25% of Damage with Hits as Extra Chaos Damage"]={{[1]={flags=4,keywordFlags=0,name="DamageGainAsChaos",type="BASE",value=5.75}},nil}
12431240
c["23% increased Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="ChaosDamage",type="INC",value=23}},nil}
12441241
c["23% increased Mana Regeneration Rate"]={{[1]={flags=0,keywordFlags=0,name="ManaRegen",type="INC",value=23}},nil}
12451242
c["23% increased Movement Speed"]={{[1]={flags=0,keywordFlags=0,name="MovementSpeed",type="INC",value=23}},nil}
@@ -1964,7 +1961,7 @@ c["65% increased Evasion Rating"]={{[1]={flags=0,keywordFlags=0,name="Evasion",t
19641961
c["65% increased Evasion and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="EvasionAndEnergyShield",type="INC",value=65}},nil}
19651962
c["666% increased Armour and Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="ArmourAndEnergyShield",type="INC",value=666}},nil}
19661963
c["666% increased effect of Socketed Soul Cores"]={{[1]={flags=0,keywordFlags=0,name="LocalEffect",type="INC",value=666}}," of Socketed Soul Cores "}
1967-
c["7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage"]={nil,"100% of Damage with Hits as Extra Chaos Damage "}
1964+
c["7% chance to Gain 100% of Damage with Hits as Extra Chaos Damage"]={{[1]={flags=4,keywordFlags=0,name="DamageGainAsChaos",type="BASE",value=7}},nil}
19681965
c["7% increased Attributes"]={{[1]={flags=0,keywordFlags=0,name="Str",type="INC",value=7},[2]={flags=0,keywordFlags=0,name="Dex",type="INC",value=7},[3]={flags=0,keywordFlags=0,name="Int",type="INC",value=7},[4]={flags=0,keywordFlags=0,name="All",type="INC",value=7}},nil}
19691966
c["7% increased Chaos Damage"]={{[1]={flags=0,keywordFlags=0,name="ChaosDamage",type="INC",value=7}},nil}
19701967
c["70% increased Armour"]={{[1]={flags=0,keywordFlags=0,name="Armour",type="INC",value=70}},nil}

src/Data/Skills/act_int.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ skills["ArchmagePlayer"] = {
194194
statDescriptionScope = "archmage",
195195
statMap = {
196196
["archmage_max_mana_permyriad_to_add_to_non_channelled_spell_mana_cost"] = {
197-
mod("ManaCost", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "SkillType", skillType = SkillType.Channel, neg = true }, { type = "SkillType", skillType = SkillType.Spell }, { type = "PercentStat", stat = "Mana", percent = 1 }),
197+
mod("ManaCostNoMult", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "SkillType", skillType = SkillType.Channel, neg = true }, { type = "SkillType", skillType = SkillType.Spell }, { type = "PercentStat", stat = "Mana", percent = 1 }),
198198
div = 100,
199199
},
200200
["archmage_all_damage_%_to_gain_as_lightning_to_grant_to_non_channelling_spells_per_100_max_mana"] = {

src/Data/Skills/sup_dex.lua

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -249,7 +249,7 @@ skills["SupportChainPlayer"] = {
249249
statDescriptionScope = "gem_stat_descriptions",
250250
statMap = {
251251
["support_chain_hit_damage_+%_final"] = {
252-
mod("Damage", "MORE", nil),
252+
mod("Damage", "MORE", nil, ModFlag.Hit),
253253
},
254254
},
255255
baseFlags = {
@@ -1728,7 +1728,7 @@ skills["SupportMultipleProjectilesPlayer"] = {
17281728
mod("Damage", "MORE", nil),
17291729
},
17301730
["support_multiple_attack_and_cast_speed_+%_final"] = {
1731-
mod("Speed", "INC", nil),
1731+
mod("Speed", "MORE", nil),
17321732
},
17331733
},
17341734
baseFlags = {
@@ -1936,4 +1936,4 @@ skills["SupportWindowOfOpportunityPlayer"] = {
19361936
},
19371937
},
19381938
}
1939-
}
1939+
}

src/Data/Skills/sup_int.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -810,6 +810,11 @@ skills["SupportControlledDestructionPlayer"] = {
810810
label = "Controlled Destruction",
811811
incrementalEffectiveness = 0.092720001935959,
812812
statDescriptionScope = "gem_stat_descriptions",
813+
statMap = {
814+
["support_controlled_destruction_spell_damage_+%_final"] = {
815+
mod("Damage", "MORE", nil, ModFlag.Spell),
816+
},
817+
},
813818
baseFlags = {
814819
},
815820
constantStats = {

src/Export/Skills/act_int.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ statMap = {
2323
#flags
2424
statMap = {
2525
["archmage_max_mana_permyriad_to_add_to_non_channelled_spell_mana_cost"] = {
26-
mod("ManaCost", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "SkillType", skillType = SkillType.Channel, neg = true }, { type = "SkillType", skillType = SkillType.Spell }, { type = "PercentStat", stat = "Mana", percent = 1 }),
26+
mod("ManaCostNoMult", "BASE", nil, 0, 0, { type = "GlobalEffect", effectType = "Buff" }, { type = "SkillType", skillType = SkillType.Channel, neg = true }, { type = "SkillType", skillType = SkillType.Spell }, { type = "PercentStat", stat = "Mana", percent = 1 }),
2727
div = 100,
2828
},
2929
["archmage_all_damage_%_to_gain_as_lightning_to_grant_to_non_channelling_spells_per_100_max_mana"] = {

src/Export/Skills/sup_dex.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ statMap = {
6565
#set SupportChainPlayer
6666
statMap = {
6767
["support_chain_hit_damage_+%_final"] = {
68-
mod("Damage", "MORE", nil),
68+
mod("Damage", "MORE", nil, ModFlag.Hit),
6969
},
7070
},
7171
#mods
@@ -443,7 +443,7 @@ statMap = {
443443
mod("Damage", "MORE", nil),
444444
},
445445
["support_multiple_attack_and_cast_speed_+%_final"] = {
446-
mod("Speed", "INC", nil),
446+
mod("Speed", "MORE", nil),
447447
},
448448
},
449449
#mods

src/Export/Skills/sup_int.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,11 @@ statMap = {
201201
#skill SupportControlledDestructionPlayer
202202
#startSets
203203
#set SupportControlledDestructionPlayer
204+
statMap = {
205+
["support_controlled_destruction_spell_damage_+%_final"] = {
206+
mod("Damage", "MORE", nil, ModFlag.Spell),
207+
},
208+
},
204209
#mods
205210
#skillEnd
206211

src/Launch.lua

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@ function launch:OnKeyDown(key, doubleClick)
153153
if not self.devMode then
154154
self:CheckForUpdate()
155155
end
156+
elseif key == "PRINTSCREEN" and IsKeyDown("CTRL") then
157+
TakeScreenshot()
156158
elseif self.promptMsg then
157159
self:RunPromptFunc(key)
158160
else

0 commit comments

Comments
 (0)