Skip to content

Commit fad8df6

Browse files
author
LocalIdentity
committed
Merge branch 'dev'
2 parents 8f76c17 + 90a5dce commit fad8df6

37 files changed

+110704
-3708
lines changed

Classes/CalcsTab.lua

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -449,7 +449,7 @@ end
449449

450450
-- Estimate the offensive and defensive power of all unallocated nodes
451451
function CalcsTabClass:PowerBuilder()
452-
local calcFunc, calcBase = self:GetNodeCalculator()
452+
local calcFunc, calcBase = self:GetMiscCalculator()
453453
local cache = { }
454454
local newPowerMax = {
455455
singleStat = 0,
@@ -466,11 +466,11 @@ function CalcsTabClass:PowerBuilder()
466466
coroutine.yield()
467467
end
468468
local start = GetTime()
469-
for _, node in pairs(self.build.spec.nodes) do
469+
for nodeId, node in pairs(self.build.spec.nodes) do
470470
wipeTable(node.power)
471-
if not node.alloc and node.modKey ~= "" then
471+
if not node.alloc and node.modKey ~= "" and not self.mainEnv.grantedPassives[nodeId] then
472472
if not cache[node.modKey] then
473-
cache[node.modKey] = calcFunc({node})
473+
cache[node.modKey] = calcFunc({ addNodes = { [node] = true } })
474474
end
475475
local output = cache[node.modKey]
476476
if self.powerStat and self.powerStat.stat and not self.powerStat.ignoreForNodes then

Data/3_0/ModCache.lua

Lines changed: 3482 additions & 3372 deletions
Large diffs are not rendered by default.

Data/3_0/ModItem.lua

Lines changed: 13 additions & 13 deletions
Large diffs are not rendered by default.

Data/3_0/SkillStatMap.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -341,9 +341,6 @@ return {
341341
["base_cooldown_speed_+%"] = {
342342
mod("CooldownRecovery", "INC", nil),
343343
},
344-
["support_added_cooldown_count_if_not_instant"] = {
345-
mod("CooldownRecovery", "INC", nil),
346-
},
347344
["additional_weapon_base_attack_time_ms"] = {
348345
mod("Speed", "BASE", nil, ModFlag.Attack),
349346
div = 1000,

Data/3_0/Skills/act_int.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7564,6 +7564,9 @@ skills["SummonBoneGolem"] = {
75647564
["bone_golem_grants_minion_maximum_added_physical_damage"] = {
75657565
mod("MinionModifier", "LIST", { mod = mod("PhysicalMax", "BASE", nil) }, 0, 0, { type = "SkillType", skillType = SkillType.Golem, neg = true }, { type = "GlobalEffect", effectType = "Buff" }),
75667566
},
7567+
["bone_golem_damage_+%_final_per_non_golem_minion_nearby"] = {
7568+
mod("MinionModifier", "LIST", { type = "SummonedCarrionGolem", mod = mod("Damage", "MORE", nil, 0, 0, { type = "Multiplier", actor = "parent", var = "NearbyNonGolemMinion", limit = 50, limitTotal = true }) }),
7569+
},
75677570
},
75687571
baseFlags = {
75697572
spell = true,

Data/3_0/Skills/minion.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1103,6 +1103,16 @@ skills["BoneGolemMultiAttack"] = {
11031103
skillTypes = { [SkillType.Attack] = true, [SkillType.AttackCanRepeat] = true, [SkillType.Melee] = true, [SkillType.MeleeSingleTarget] = true, },
11041104
statDescriptionScope = "skill_stat_descriptions",
11051105
castTime = 1,
1106+
statMap = {
1107+
["bone_golem_attack_speed_+%_final_after_third_combo_index"] = {
1108+
mod("Speed", "MORE", nil, 0, KeywordFlag.Attack),
1109+
div = 1.5,
1110+
},
1111+
["bone_golem_damage_+%_final_after_third_combo_index"] = {
1112+
mod("Damage", "MORE", nil),
1113+
div = 1.5,
1114+
},
1115+
},
11061116
baseFlags = {
11071117
attack = true,
11081118
melee = true,
@@ -1132,6 +1142,7 @@ skills["BoneGolemCascade"] = {
11321142
area = true,
11331143
},
11341144
baseMods = {
1145+
skill("showAverage", true),
11351146
},
11361147
qualityStats = {
11371148
},
@@ -1169,6 +1180,7 @@ skills["BoneGolemLeapSlam"] = {
11691180
area = true,
11701181
},
11711182
baseMods = {
1183+
skill("showAverage", true),
11721184
},
11731185
qualityStats = {
11741186
},

Data/3_0/Skills/spectre.lua

Lines changed: 255 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4180,11 +4180,11 @@ skills["AtlasExilesCrusaderMageguardProjectile"] = {
41804180
[1] = { 127, 0.5, 1.5, critChance = 5, levelRequirement = 0, statInterpolation = { 1, 3, 3, }, },
41814181
},
41824182
}
4183-
skills["AtlasExileCrusaderMageguardBombExplode"] = {
4183+
skills["AtlasExileCrusaderMageguardBombExplodeSpectre"] = {
41844184
name = "Bombs",
41854185
hidden = true,
41864186
color = 4,
4187-
baseEffectiveness = 4,
4187+
baseEffectiveness = 2,
41884188
incrementalEffectiveness = 0.045000001788139,
41894189
skillTypes = { [SkillType.Triggerable] = true, },
41904190
statDescriptionScope = "skill_stat_descriptions",
@@ -4234,11 +4234,11 @@ skills["AtlasCrusaderMageguardBeam"] = {
42344234
[1] = { 0.5, 1.5, critChance = 5, cooldown = 8, levelRequirement = 0, statInterpolation = { 3, 3, }, },
42354235
},
42364236
}
4237-
skills["AtlasCrusaderSisterMortar"] = {
4237+
skills["AtlasCrusaderSisterMortarSpectre"] = {
42384238
name = "Mortar",
42394239
hidden = true,
42404240
color = 4,
4241-
baseEffectiveness = 1.7999999523163,
4241+
baseEffectiveness = 1.2999999523163,
42424242
incrementalEffectiveness = 0.03999999910593,
42434243
description = "Generic monster mortar skill. Like Monster Projectile but has an impact effect.",
42444244
skillTypes = { [SkillType.Projectile] = true, [SkillType.SkillCanVolley] = true, [SkillType.Spell] = true, [SkillType.Hit] = true, [SkillType.Area] = true, [SkillType.SkillCanTrap] = true, [SkillType.SkillCanTotem] = true, [SkillType.SkillCanMine] = true, [SkillType.SpellCanRepeat] = true, [SkillType.Triggerable] = true, [SkillType.AreaSpell] = true, },
@@ -4267,7 +4267,7 @@ skills["AtlasCrusaderSisterMortar"] = {
42674267
"projectile_uses_contact_position",
42684268
},
42694269
levels = {
4270-
[1] = { 0.69999998807907, 1.2999999523163, 20, 0, 3, 10, critChance = 5, levelRequirement = 0, statInterpolation = { 3, 3, 1, 1, 1, 1, }, },
4270+
[1] = { 0.69999998807907, 1.2999999523163, 20, 1, 3, 10, critChance = 5, levelRequirement = 0, statInterpolation = { 3, 3, 1, 1, 1, 1, }, },
42714271
},
42724272
}
42734273
skills["BreachLightningWhip"] = {
@@ -4429,4 +4429,254 @@ skills["SandLeaperDodgeRight"] = {
44294429
levels = {
44304430
[1] = { 1, 22, manaCost = 90, levelRequirement = 1, statInterpolation = { 1, 1, }, },
44314431
},
4432+
}
4433+
skills["SynthesisSoulstealerProjectileLightning"] = {
4434+
name = "Lightning Projectile",
4435+
hidden = true,
4436+
color = 4,
4437+
baseEffectiveness = 2.5,
4438+
incrementalEffectiveness = 0.037999998778105,
4439+
skillTypes = { [SkillType.Spell] = true, [SkillType.Projectile] = true, [SkillType.SkillCanVolley] = true, [SkillType.Triggerable] = true, },
4440+
statDescriptionScope = "skill_stat_descriptions",
4441+
castTime = 1.33,
4442+
baseFlags = {
4443+
spell = true,
4444+
triggerable = true,
4445+
projectile = true,
4446+
},
4447+
baseMods = {
4448+
},
4449+
qualityStats = {
4450+
},
4451+
stats = {
4452+
"monster_projectile_variation",
4453+
"spell_minimum_base_lightning_damage",
4454+
"spell_maximum_base_lightning_damage",
4455+
"base_is_projectile",
4456+
"projectile_uses_contact_position",
4457+
},
4458+
levels = {
4459+
[1] = { 103, 0.5, 1.5, critChance = 5, levelRequirement = 0, statInterpolation = { 1, 3, 3, }, },
4460+
},
4461+
}
4462+
skills["SynthesisSoulstealerLaser"] = {
4463+
name = "Lightning Laser",
4464+
hidden = true,
4465+
color = 4,
4466+
baseEffectiveness = 0.60000002384186,
4467+
incrementalEffectiveness = 0.050000000745058,
4468+
skillTypes = { [SkillType.Triggerable] = true, },
4469+
statDescriptionScope = "skill_stat_descriptions",
4470+
castTime = 1,
4471+
baseFlags = {
4472+
spell = true,
4473+
hit = true,
4474+
area = true,
4475+
triggerable = true,
4476+
},
4477+
baseMods = {
4478+
},
4479+
qualityStats = {
4480+
},
4481+
stats = {
4482+
"spell_minimum_base_lightning_damage",
4483+
"spell_maximum_base_lightning_damage",
4484+
"skill_physical_damage_%_to_convert_to_lightning",
4485+
"skill_physical_damage_%_to_convert_to_chaos",
4486+
"monster_penalty_against_minions_damage_+%_final_vs_player_minions",
4487+
"is_area_damage",
4488+
"cannot_stun",
4489+
},
4490+
levels = {
4491+
[1] = { 0.5, 1.5, 0, 0, 0, critChance = 5, levelRequirement = 0, statInterpolation = { 3, 3, 1, 1, 1, }, },
4492+
},
4493+
}
4494+
skills["SynthesisSoulstealerBolt"] = {
4495+
name = "Lightning Bolt",
4496+
hidden = true,
4497+
color = 4,
4498+
baseEffectiveness = 0.60000002384186,
4499+
incrementalEffectiveness = 0.03999999910593,
4500+
skillTypes = { [SkillType.Triggerable] = true, },
4501+
statDescriptionScope = "skill_stat_descriptions",
4502+
castTime = 1,
4503+
baseFlags = {
4504+
spell = true,
4505+
hit = true,
4506+
area = true,
4507+
triggerable = true,
4508+
},
4509+
baseMods = {
4510+
},
4511+
qualityStats = {
4512+
},
4513+
stats = {
4514+
"spell_minimum_base_lightning_damage",
4515+
"spell_maximum_base_lightning_damage",
4516+
"monster_penalty_against_minions_damage_+%_final_vs_player_minions",
4517+
"spell_maximum_action_distance_+%",
4518+
"base_skill_effect_duration",
4519+
"skill_range_+%",
4520+
"is_area_damage",
4521+
},
4522+
levels = {
4523+
[1] = { 0.69999998807907, 1.2999999523163, 0, -50, 260, -75, critChance = 5, levelRequirement = 1, statInterpolation = { 3, 3, 1, 1, 1, 1, }, },
4524+
},
4525+
}
4526+
skills["MeleeCold"] = {
4527+
name = "Default Attack",
4528+
hidden = true,
4529+
color = 4,
4530+
description = "Strike your foes down with a powerful blow.",
4531+
skillTypes = { [SkillType.Attack] = true, [SkillType.ProjectileAttack] = true, [SkillType.SkillCanMirageArcher] = true, [SkillType.Projectile] = true, [SkillType.MeleeSingleTarget] = true, [SkillType.AttackCanRepeat] = true, [SkillType.Melee] = true, [SkillType.SkillCanVolley] = true, },
4532+
statDescriptionScope = "skill_stat_descriptions",
4533+
castTime = 1,
4534+
baseFlags = {
4535+
attack = true,
4536+
melee = true,
4537+
projectile = true,
4538+
},
4539+
baseMods = {
4540+
},
4541+
qualityStats = {
4542+
},
4543+
stats = {
4544+
"skill_physical_damage_%_to_convert_to_cold",
4545+
"active_skill_damage_+%_final",
4546+
"skill_can_fire_arrows",
4547+
"skill_can_fire_wand_projectiles",
4548+
},
4549+
levels = {
4550+
[1] = { 75, 0, baseMultiplier = 0.75, levelRequirement = 1, statInterpolation = { 1, 2, }, },
4551+
[2] = { 75, 0, baseMultiplier = 0.75, levelRequirement = 19, statInterpolation = { 1, 2, }, },
4552+
[3] = { 75, 1, baseMultiplier = 0.75, levelRequirement = 20, statInterpolation = { 1, 2, }, },
4553+
[4] = { 75, 200, baseMultiplier = 0.75, levelRequirement = 84, statInterpolation = { 1, 2, }, },
4554+
},
4555+
}
4556+
skills["AtlasCrusaderJudgeBallLightning"] = {
4557+
name = "Ball Lightning",
4558+
hidden = true,
4559+
color = 3,
4560+
baseEffectiveness = 0.41249999403954,
4561+
incrementalEffectiveness = 0.045000001788139,
4562+
description = "Fires a slow-moving projectile that periodically damages enemies in an area around it with bolts of lightning.",
4563+
skillTypes = { [SkillType.Spell] = true, [SkillType.Hit] = true, [SkillType.Projectile] = true, [SkillType.SkillCanVolley] = true, [SkillType.Area] = true, [SkillType.SkillCanTotem] = true, [SkillType.SkillCanTrap] = true, [SkillType.SkillCanMine] = true, [SkillType.SpellCanRepeat] = true, [SkillType.Triggerable] = true, [SkillType.LightningSkill] = true, [SkillType.CanRapidFire] = true, [SkillType.AreaSpell] = true, },
4564+
statDescriptionScope = "skill_stat_descriptions",
4565+
castTime = 1.6,
4566+
baseFlags = {
4567+
spell = true,
4568+
hit = true,
4569+
triggerable = true,
4570+
area = true,
4571+
projectile = true,
4572+
},
4573+
baseMods = {
4574+
},
4575+
qualityStats = {
4576+
},
4577+
stats = {
4578+
"spell_minimum_base_lightning_damage",
4579+
"spell_maximum_base_lightning_damage",
4580+
"base_projectile_speed_+%",
4581+
"base_is_projectile",
4582+
},
4583+
levels = {
4584+
[1] = { 0.5, 1.5, -25, critChance = 32, levelRequirement = 0, statInterpolation = { 3, 3, 1, }, },
4585+
},
4586+
}
4587+
skills["AtlasCruasderJudgeFadingNova"] = {
4588+
name = "Nova Spell",
4589+
hidden = true,
4590+
color = 4,
4591+
baseEffectiveness = 3,
4592+
incrementalEffectiveness = 0.045000001788139,
4593+
skillTypes = { [SkillType.Spell] = true, [SkillType.Projectile] = true, [SkillType.SkillCanVolley] = true, [SkillType.Triggerable] = true, },
4594+
statDescriptionScope = "skill_stat_descriptions",
4595+
castTime = 1.33,
4596+
baseFlags = {
4597+
spell = true,
4598+
projectile = true,
4599+
triggerable = true,
4600+
},
4601+
baseMods = {
4602+
},
4603+
qualityStats = {
4604+
},
4605+
stats = {
4606+
"spell_minimum_base_lightning_damage",
4607+
"spell_maximum_base_lightning_damage",
4608+
"monster_projectile_variation",
4609+
"number_of_additional_projectiles",
4610+
"base_is_projectile",
4611+
"always_pierce",
4612+
"use_scaled_contact_offset",
4613+
"projectiles_nova",
4614+
},
4615+
levels = {
4616+
[1] = { 0.5, 1.5, 128, 7, critChance = 5, cooldown = 8, levelRequirement = 0, statInterpolation = { 3, 3, 1, 1, }, },
4617+
},
4618+
}
4619+
skills["LegionTemplarJudgeBallLightning"] = {
4620+
name = "Ball Lightning",
4621+
hidden = true,
4622+
color = 3,
4623+
baseEffectiveness = 0.51560002565384,
4624+
incrementalEffectiveness = 0.045000001788139,
4625+
description = "Fires a slow-moving projectile that periodically damages enemies in an area around it with bolts of lightning.",
4626+
skillTypes = { [SkillType.Spell] = true, [SkillType.Hit] = true, [SkillType.Projectile] = true, [SkillType.SkillCanVolley] = true, [SkillType.Area] = true, [SkillType.SkillCanTotem] = true, [SkillType.SkillCanTrap] = true, [SkillType.SkillCanMine] = true, [SkillType.SpellCanRepeat] = true, [SkillType.Triggerable] = true, [SkillType.LightningSkill] = true, [SkillType.CanRapidFire] = true, [SkillType.AreaSpell] = true, },
4627+
statDescriptionScope = "skill_stat_descriptions",
4628+
castTime = 1.6,
4629+
baseFlags = {
4630+
spell = true,
4631+
hit = true,
4632+
triggerable = true,
4633+
area = true,
4634+
projectile = true,
4635+
},
4636+
baseMods = {
4637+
},
4638+
qualityStats = {
4639+
},
4640+
stats = {
4641+
"spell_minimum_base_physical_damage",
4642+
"spell_maximum_base_physical_damage",
4643+
"base_projectile_speed_+%",
4644+
"skill_physical_damage_%_to_convert_to_lightning",
4645+
"base_is_projectile",
4646+
"visual_hit_effect_elemental_is_holy",
4647+
},
4648+
levels = {
4649+
[1] = { 0.80000001192093, 1.2000000476837, -25, 80, critChance = 5, levelRequirement = 0, statInterpolation = { 3, 3, 1, 1, }, },
4650+
},
4651+
}
4652+
skills["LegionTemplarJudgeStormCall"] = {
4653+
name = "Storm Call",
4654+
hidden = true,
4655+
color = 3,
4656+
baseEffectiveness = 3,
4657+
incrementalEffectiveness = 0.031199999153614,
4658+
description = "Sets a marker at a location. After a short duration, lightning strikes the marker, dealing damage around it. When this happens, it will also set off the lightning at any other markers you've cast.",
4659+
skillTypes = { [SkillType.Spell] = true, [SkillType.Hit] = true, [SkillType.Area] = true, [SkillType.Duration] = true, [SkillType.SkillCanTrap] = true, [SkillType.SkillCanTotem] = true, [SkillType.SkillCanMine] = true, [SkillType.Triggerable] = true, [SkillType.SpellCanRepeat] = true, [SkillType.LightningSkill] = true, [SkillType.SpellCanCascade] = true, [SkillType.CanRapidFire] = true, [SkillType.AreaSpell] = true, },
4660+
statDescriptionScope = "skill_stat_descriptions",
4661+
castTime = 1.5,
4662+
baseFlags = {
4663+
spell = true,
4664+
area = true,
4665+
duration = true,
4666+
},
4667+
baseMods = {
4668+
},
4669+
qualityStats = {
4670+
},
4671+
stats = {
4672+
"spell_minimum_base_physical_damage",
4673+
"spell_maximum_base_physical_damage",
4674+
"base_skill_effect_duration",
4675+
"skill_physical_damage_%_to_convert_to_lightning",
4676+
"is_area_damage",
4677+
"visual_hit_effect_elemental_is_holy",
4678+
},
4679+
levels = {
4680+
[1] = { 0.80000001192093, 1.2000000476837, 2000, 60, critChance = 5, levelRequirement = 1, statInterpolation = { 3, 3, 1, 1, }, },
4681+
},
44324682
}

Data/3_0/Skills/sup_int.lua

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -458,6 +458,11 @@ skills["SupportBlasphemyPlus"] = {
458458
ignoreMinionTypes = true,
459459
plusVersionOf = "SupportBlasphemy",
460460
statDescriptionScope = "gem_stat_descriptions",
461+
statMap = {
462+
["supported_curse_skill_gem_level_+"] = {
463+
mod("SupportedGemProperty", "LIST", { keyword = "active_skill", key = "level", value = nil }, 0, 0, { type = "SkillType", skillType = SkillType.Curse }),
464+
},
465+
},
461466
baseMods = {
462467
},
463468
qualityStats = {

0 commit comments

Comments
 (0)