diff --git a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua index 41eaaf21e..55f3da88f 100644 --- a/src/Classes/GemSelectControl.lua +++ b/src/Classes/GemSelectControl.lua @@ -354,7 +354,7 @@ function GemSelectClass:UpdateGem(setText, addUndo) if setText then self:SetText(self.gemName) end - self.gemChangeFunc(self.gemId and self.gemId:gsub("%w+:", ""), self:GetQualityType(self.gemId), addUndo and self.gemName ~= self.initialBuf) + self.gemChangeFunc(self.gemId and self.gemId:gsub("%w+:", ""), addUndo and self.gemName ~= self.initialBuf) end function GemSelectClass:ScrollSelIntoView() diff --git a/src/Classes/GemSelectControl.lua.rej b/src/Classes/GemSelectControl.lua.rej new file mode 100644 index 000000000..e7559fc69 --- /dev/null +++ b/src/Classes/GemSelectControl.lua.rej @@ -0,0 +1,33 @@ +diff a/src/Classes/GemSelectControl.lua b/src/Classes/GemSelectControl.lua (rejected hunks) +@@ -61,7 +61,6 @@ function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, useFullDPS) + else + gemList[self.index] = { + level = gemData.naturalMaxLevel, +- qualityId = "Default", + quality = self.skillsTab.defaultGemQuality or 0, + count = 1, + enabled = true, +@@ -78,7 +77,6 @@ function GemSelectClass:CalcOutputWithThisGem(calcFunc, gemData, useFullDPS) + gemInstance.level = self.skillsTab:ProcessGemLevel(gemData) + gemInstance.gemData = gemData + gemInstance.displayEffect = nil +- gemInstance.qualityId = "Default" + -- Calculate the impact of using this gem + local output = calcFunc(nil, useFullDPS) + -- Put the original gem back into the list +@@ -471,7 +469,6 @@ function GemSelectClass:Draw(viewPort, noTooltip) + local output= self:CalcOutputWithThisGem(calcFunc, gemData, self.skillsTab.sortGemsByDPSField == "FullDPS") + local gemInstance = { + level = self.skillsTab:ProcessGemLevel(gemData), +- qualityId = "Default", + quality = self.skillsTab.defaultGemQuality or 0, + count = 1, + enabled = true, +@@ -512,7 +509,6 @@ function GemSelectClass:Draw(viewPort, noTooltip) + local cursorX, cursorY = GetCursorPos() + self.tooltip:Clear() + if gemInstance and gemInstance.gemData then +- gemInstance.qualityId = "Default" + self:AddGemTooltip(gemInstance) + else + self.tooltip:AddLine(16, toolTipText) diff --git a/src/Classes/ImportTab.lua.rej b/src/Classes/ImportTab.lua.rej new file mode 100644 index 000000000..ab21e403e --- /dev/null +++ b/src/Classes/ImportTab.lua.rej @@ -0,0 +1,23 @@ +diff a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua (rejected hunks) +@@ -1116,11 +1116,11 @@ function ImportTabClass:ImportSocketedItems(item, socketedItems, slotName) + self:ImportItem(socketedItem, slotName .. " Abyssal Socket "..abyssalSocketId) + abyssalSocketId = abyssalSocketId + 1 + else +- local normalizedBasename, qualityType = sanitiseText(socketedItem.typeLine) ++ local normalizedBasename = sanitiseText(socketedItem.typeLine) + local gemId = self.build.data.gemForBaseName[normalizedBasename:lower()] + if socketedItem.hybrid then + -- Used by transfigured gems and dual-skill gems (currently just Stormbind) +- normalizedBasename, qualityType = sanitiseText(socketedItem.hybrid.baseTypeName) ++ normalizedBasename = sanitiseText(socketedItem.hybrid.baseTypeName) + gemId = self.build.data.gemForBaseName[normalizedBasename:lower()] + if gemId and socketedItem.hybrid.isVaalGem then + gemId = self.build.data.gemGrantedEffectIdForVaalGemId[self.build.data.gems[gemId].grantedEffectId] +@@ -1130,7 +1130,6 @@ function ImportTabClass:ImportSocketedItems(item, socketedItems, slotName) + local gemInstance = { level = 20, quality = 0, enabled = true, enableGlobal1 = true, gemId = gemId } + gemInstance.nameSpec = self.build.data.gems[gemId].name + gemInstance.support = socketedItem.support +- gemInstance.qualityId = qualityType + for _, property in pairs(socketedItem.properties) do + if property.name == "Level" then + gemInstance.level = tonumber(property.values[1][1]:match("%d+")) diff --git a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua index 5d203a27a..c3cc16115 100644 --- a/src/Classes/SkillsTab.lua +++ b/src/Classes/SkillsTab.lua @@ -70,13 +70,6 @@ local sortGemTypeList = { { label = "Effective Hit Pool", type = "TotalEHP" }, } -local alternateGemQualityList ={ - { label = "Default", type = "Default" }, - { label = "Anomalous", type = "Alternate1" }, - { label = "Divergent", type = "Alternate2" }, - { label = "Phantasmal", type = "Alternate3" }, -} - local SkillsTabClass = newClass("SkillsTab", "UndoHandler", "ControlHost", "Control", function(self, build) self.UndoHandler() self.ControlHost() diff --git a/src/Classes/SkillsTab.lua.rej b/src/Classes/SkillsTab.lua.rej new file mode 100644 index 000000000..ce1c24e93 --- /dev/null +++ b/src/Classes/SkillsTab.lua.rej @@ -0,0 +1,31 @@ +diff a/src/Classes/SkillsTab.lua b/src/Classes/SkillsTab.lua (rejected hunks) +@@ -722,16 +722,20 @@ function SkillsTabClass:CreateGemSlot(index) + end + end + end +- -- Check if there is a quality of this type for the effect +- if gemData and gemData.grantedEffect.qualityStats and gemData.grantedEffect.qualityStats["Default"] then +- local qualityTable = gemData.grantedEffect.qualityStats["Default"] +- addQualityLines(qualityTable, gemData.grantedEffect) +- tooltip:AddSeparator(10) ++ -- Check if there is quality for the effect ++ if gemData and gemData.grantedEffect and gemData.grantedEffect.qualityStats then ++ local qualityTable = gemData.grantedEffect.qualityStats ++ if qualityTable[1] then ++ addQualityLines(qualityTable, gemData.grantedEffect) ++ tooltip:AddSeparator(10) ++ end + end +- if gemData and gemData.secondaryGrantedEffect and gemData.secondaryGrantedEffect.qualityStats and gemData.secondaryGrantedEffect.qualityStats["Default"] then +- local qualityTable = gemData.secondaryGrantedEffect.qualityStats["Default"] +- addQualityLines(qualityTable, gemData.secondaryGrantedEffect) +- tooltip:AddSeparator(10) ++ if gemData and gemData.secondaryGrantedEffect and gemData.secondaryGrantedEffect.qualityStats then ++ local qualityTable = gemData.secondaryGrantedEffect.qualityStats ++ if qualityTable[1] then ++ addQualityLines(qualityTable, gemData.secondaryGrantedEffect) ++ tooltip:AddSeparator(10) ++ end + end + + local calcFunc, calcBase = self.build.calcsTab:GetMiscCalculator(self.build) diff --git a/src/Data/Skills/act_dex.lua.rej b/src/Data/Skills/act_dex.lua.rej new file mode 100644 index 000000000..d6c8cc5fe --- /dev/null +++ b/src/Data/Skills/act_dex.lua.rej @@ -0,0 +1,21 @@ +diff a/src/Data/Skills/act_dex.lua b/src/Data/Skills/act_dex.lua (rejected hunks) +@@ -17718,9 +17718,6 @@ skills["ChannelledSnipeSupport"] = { + baseMods = { + flag("TriggeredBySnipe"), + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "snipe_triggered_skill_damage_+%_final", -40 }, + { "base_number_of_projectiles", 3 }, +@@ -18335,9 +18332,6 @@ skills["SupportIntuitiveLink"] = { + mod("Damage", "MORE", nil), + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + stats = { + "support_trigger_link_damage_+%_final", + "trigger_on_trigger_link_target_hit", diff --git a/src/Data/Skills/act_int.lua.rej b/src/Data/Skills/act_int.lua.rej new file mode 100644 index 000000000..5e88576de --- /dev/null +++ b/src/Data/Skills/act_int.lua.rej @@ -0,0 +1,31 @@ +diff a/src/Data/Skills/act_int.lua b/src/Data/Skills/act_int.lua (rejected hunks) +@@ -645,9 +645,6 @@ skills["SupportBrandSupport"] = { + baseMods = { + skill("triggeredByBrand", true), + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "support_brand_area_of_effect_+%_final", -40 }, + { "chaining_range_+%", -40 }, +@@ -1756,9 +1753,6 @@ skills["SupportDarkRitualAltX"] = { + mod("CurseEffect", "MORE", nil), + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0.001 }, +- }, + constantStats = { + { "support_bane_curse_effect_+%_final", -25 }, + }, +@@ -16976,9 +16970,6 @@ skills["Spellslinger"] = { + baseFlags = { + spell = true, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + stats = { + "spellslinger_mana_reservation", + }, diff --git a/src/Data/Skills/act_str.lua.rej b/src/Data/Skills/act_str.lua.rej new file mode 100644 index 000000000..55fd27985 --- /dev/null +++ b/src/Data/Skills/act_str.lua.rej @@ -0,0 +1,31 @@ +diff a/src/Data/Skills/act_str.lua b/src/Data/Skills/act_str.lua (rejected hunks) +@@ -884,9 +884,6 @@ skills["BattlemagesCrySupport"] = { + skill("triggeredByBattleMageCry", true), + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + stats = { + "support_divine_cry_damage_+%_final", + "triggered_by_divine_cry", +@@ -4563,9 +4560,6 @@ skills["FrozenSweep"] = { + baseMods = { + skill("radius", 25), + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "skill_physical_damage_%_to_convert_to_cold", 100 }, + { "skill_disabled_unless_cloned", 1 }, +@@ -6705,9 +6699,6 @@ skills["Combust"] = { + baseMods = { + skill("showAverage", true), + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "skill_physical_damage_%_to_convert_to_fire", 60 }, + }, diff --git a/src/Data/Skills/other.lua.rej b/src/Data/Skills/other.lua.rej new file mode 100644 index 000000000..297f0a9db --- /dev/null +++ b/src/Data/Skills/other.lua.rej @@ -0,0 +1,91 @@ +diff a/src/Data/Skills/other.lua b/src/Data/Skills/other.lua (rejected hunks) +@@ -880,10 +880,8 @@ skills["Convocation"] = { + skill("buffNotPlayer", true), + }, + qualityStats = { +- Default = { +- { "skill_effect_duration_+%", 1 }, +- { "base_cooldown_speed_+%", 1 }, +- }, ++ { "skill_effect_duration_+%", 1 }, ++ { "base_cooldown_speed_+%", 1 }, + }, + constantStats = { + { "base_skill_effect_duration", 2000 }, +@@ -1183,9 +1181,7 @@ skills["GemDetonateMines"] = { + spell = true, + }, + qualityStats = { +- Default = { +- { "mine_detonation_speed_+%", 1 }, +- }, ++ { "mine_detonation_speed_+%", 1 }, + }, + constantStats = { + { "display_mine_deontation_mechanics_detonation_speed_+%_final_per_sequence_mine", 10 }, +@@ -1223,9 +1219,7 @@ skills["SupportDivineBlessing"] = { + }, + }, + qualityStats = { +- Default = { +- { "aura_effect_+%", 0.25 }, +- }, ++ { "aura_effect_+%", 0.25 }, + }, + constantStats = { + { "base_spell_cast_time_ms_override", 500 }, +@@ -1406,9 +1400,7 @@ skills["SupportEarthbreaker"] = { + }, + }, + qualityStats = { +- Default = { +- { "totem_damage_+%", 0.5 }, +- }, ++ { "totem_damage_+%", 0.5 }, + }, + constantStats = { + { "base_totem_duration", 12000 }, +@@ -1484,9 +1476,7 @@ skills["SupportEclipse"] = { + supportGemsOnly = true, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "local_gem_experience_gain_+%", 5 }, +- }, ++ { "local_gem_experience_gain_+%", 5 }, + }, + stats = { + "supported_active_skill_gem_level_+", +@@ -1521,9 +1511,7 @@ skills["SupportElementalPenetration"] = { + statDescriptionScope = "gem_stat_descriptions", + fromItem = true, + qualityStats = { +- Default = { +- { "elemental_damage_+%", 0.5 }, +- }, ++ { "elemental_damage_+%", 0.5 }, + }, + stats = { + "reduce_enemy_elemental_resistance_%", +@@ -2671,9 +2659,7 @@ skills["Portal"] = { + spell = true, + }, + qualityStats = { +- Default = { +- { "base_cast_speed_+%", 3 }, +- }, ++ { "base_cast_speed_+%", 3 }, + }, + stats = { + "base_deal_no_damage", +@@ -4654,9 +4640,7 @@ skills["VaalBreach"] = { + spell = true, + }, + qualityStats = { +- Default = { +- { "base_cast_speed_+%", 3 }, +- }, ++ { "base_cast_speed_+%", 3 }, + }, + stats = { + "base_deal_no_damage", diff --git a/src/Data/Skills/sup_dex.lua.rej b/src/Data/Skills/sup_dex.lua.rej new file mode 100644 index 000000000..9efd27af1 --- /dev/null +++ b/src/Data/Skills/sup_dex.lua.rej @@ -0,0 +1,896 @@ +diff a/src/Data/Skills/sup_dex.lua b/src/Data/Skills/sup_dex.lua (rejected hunks) +@@ -18,9 +18,7 @@ skills["SupportAddedColdDamage"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "cold_damage_+%", 0.5 }, +- }, ++ { "cold_damage_+%", 0.5 }, + }, + stats = { + "global_minimum_added_cold_damage", +@@ -83,9 +81,7 @@ skills["SupportAwakenedAddedColdDamage"] = { + statDescriptionScope = "gem_stat_descriptions", + legacy = true, + qualityStats = { +- Default = { +- { "cold_damage_+%", 0.5 }, +- }, ++ { "cold_damage_+%", 0.5 }, + }, + stats = { + "global_minimum_added_cold_damage", +@@ -126,9 +122,7 @@ skills["SupportAdditionalAccuracy"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "accuracy_rating_+%", 1 }, +- }, ++ { "accuracy_rating_+%", 1 }, + }, + stats = { + "accuracy_rating", +@@ -196,9 +190,7 @@ skills["SupportArrowNova"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 4 }, +@@ -275,9 +267,7 @@ skills["SupportAwakenedArrowNova"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 5 }, +@@ -341,9 +331,7 @@ skills["SupportBarrage"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 3 }, +@@ -408,9 +396,7 @@ skills["SupportBlind"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "blind_effect_+%", 0.5 }, +- }, ++ { "blind_effect_+%", 0.5 }, + }, + constantStats = { + { "global_chance_to_blind_on_hit_%", 10 }, +@@ -479,9 +465,7 @@ skills["SupportBlockChanceReduction"] = { + }, + }, + qualityStats = { +- Default = { +- { "global_reduce_enemy_block_%", 0.25 }, +- }, ++ { "global_reduce_enemy_block_%", 0.25 }, + }, + constantStats = { + { "support_overpowered_base_duration_ms", 4000 }, +@@ -548,9 +532,7 @@ skills["SupportCastOnCriticalStrike"] = { + }, + }, + qualityStats = { +- Default = { +- { "attack_critical_strike_chance_+%", 1 }, +- }, ++ { "attack_critical_strike_chance_+%", 1 }, + }, + constantStats = { + { "cast_linked_spells_on_attack_crit_%", 100 }, +@@ -617,9 +599,7 @@ skills["SupportCastOnCritTriggered"] = { + }, + }, + qualityStats = { +- Default = { +- { "spell_critical_strike_chance_+%", 1 }, +- }, ++ { "spell_critical_strike_chance_+%", 1 }, + }, + stats = { + "support_cast_on_crit_spell_damage_+%_final", +@@ -687,9 +667,7 @@ skills["SupportAwakenedCastOnCriticalStrike"] = { + }, + }, + qualityStats = { +- Default = { +- { "attack_critical_strike_chance_+%", 1 }, +- }, ++ { "attack_critical_strike_chance_+%", 1 }, + }, + constantStats = { + { "cast_linked_spells_on_attack_crit_%", 100 }, +@@ -737,9 +715,7 @@ skills["SupportCastOnCritTriggeredPlus"] = { + }, + }, + qualityStats = { +- Default = { +- { "spell_critical_strike_chance_+%", 1 }, +- }, ++ { "spell_critical_strike_chance_+%", 1 }, + }, + stats = { + "support_cast_on_crit_spell_damage_+%_final", +@@ -795,9 +771,7 @@ skills["SupportCastOnDeath"] = { + skill("triggeredOnDeath", true), + }, + qualityStats = { +- Default = { +- { "area_of_effect_+%_while_dead", 3 }, +- }, ++ { "area_of_effect_+%_while_dead", 3 }, + }, + constantStats = { + { "cast_on_death_%", 100 }, +@@ -868,9 +842,7 @@ skills["SupportCastOnWardBreak"] = { + }, + }, + qualityStats = { +- Default = { +- { "spell_damage_+%", 0.5 }, +- }, ++ { "spell_damage_+%", 0.5 }, + }, + constantStats = { + { "trigger_on_ward_break_%_chance", 100 }, +@@ -914,9 +886,7 @@ skills["SupportChain"] = { + }, + }, + qualityStats = { +- Default = { +- { "chaining_range_+%", 0.5 }, +- }, ++ { "chaining_range_+%", 0.5 }, + }, + constantStats = { + { "number_of_chains", 2 }, +@@ -985,9 +955,7 @@ skills["SupportAwakenedChain"] = { + }, + }, + qualityStats = { +- Default = { +- { "chaining_range_+%", 0.5 }, +- }, ++ { "chaining_range_+%", 0.5 }, + }, + constantStats = { + { "number_of_chains", 3 }, +@@ -1030,9 +998,7 @@ skills["SupportGreaterChain"] = { + plusVersionOf = "SupportChain", + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "chaining_range_+%", 0.5 }, +- }, ++ { "chaining_range_+%", 0.5 }, + }, + constantStats = { + { "number_of_chains", 1 }, +@@ -1070,9 +1036,7 @@ skills["SupportChanceToFlee"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "global_hit_causes_monster_flee_%", 1 }, +- }, ++ { "global_hit_causes_monster_flee_%", 1 }, + }, + stats = { + "global_hit_causes_monster_flee_%", +@@ -1135,9 +1099,7 @@ skills["SupportChargedTraps"] = { + }, + }, + qualityStats = { +- Default = { +- { "trap_damage_+%", 0.5 }, +- }, ++ { "trap_damage_+%", 0.5 }, + }, + constantStats = { + { "trap_throwing_speed_+%_per_frenzy_charge", 10 }, +@@ -1224,9 +1186,7 @@ skills["SupportCloseCombat"] = { + flag("Condition:SupportedByCloseCombat"), + }, + qualityStats = { +- Default = { +- { "close_combat_damage_to_close_range_+%", 0.5 }, +- }, ++ { "close_combat_damage_to_close_range_+%", 0.5 }, + }, + constantStats = { + { "support_slashing_buff_base_duration_ms", 2000 }, +@@ -1295,9 +1255,7 @@ skills["SupportClusterTraps"] = { + }, + }, + qualityStats = { +- Default = { +- { "trap_trigger_radius_+%", 1 }, +- }, ++ { "trap_trigger_radius_+%", 1 }, + }, + constantStats = { + { "number_of_additional_traps_to_throw", 2 }, +@@ -1361,9 +1319,7 @@ skills["SupportColdPenetration"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "cold_damage_+%", 0.5 }, +- }, ++ { "cold_damage_+%", 0.5 }, + }, + stats = { + "base_reduce_enemy_cold_resistance_%", +@@ -1423,9 +1379,7 @@ skills["SupportAwakenedColdPenetration"] = { + statDescriptionScope = "gem_stat_descriptions", + legacy = true, + qualityStats = { +- Default = { +- { "cold_damage_+%", 0.5 }, +- }, ++ { "cold_damage_+%", 0.5 }, + }, + stats = { + "base_reduce_enemy_cold_resistance_%", +@@ -1464,9 +1418,7 @@ skills["SupportCompanionship"] = { + excludeSkillTypes = { SkillType.MinionsAreUndamagable, SkillType.Triggered, }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "minion_maximum_life_+%", 1 }, +- }, ++ { "minion_maximum_life_+%", 1 }, + }, + constantStats = { + { "damage_removed_from_minions_before_life_or_es_%_if_only_one_minion", 15 }, +@@ -1502,9 +1454,7 @@ skills["SupportCriticalStrikeAffliction"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "critical_ailment_dot_multiplier_+", 0.5 }, +- }, ++ { "critical_ailment_dot_multiplier_+", 0.5 }, + }, + stats = { + "critical_ailment_dot_multiplier_+", +@@ -1563,9 +1513,7 @@ skills["SupportCullTheWeak"] = { + plusVersionOf = "SupportCullingStrike", + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "recover_%_maximum_life_on_cull", 0.1 }, +- }, ++ { "recover_%_maximum_life_on_cull", 0.1 }, + }, + stats = { + "kill_normal_or_magic_enemy_on_hit_if_under_x%_life", +@@ -1598,9 +1546,7 @@ skills["SupportCullingStrike"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "recover_%_maximum_life_on_cull", 0.1 }, +- }, ++ { "recover_%_maximum_life_on_cull", 0.1 }, + }, + stats = { + "damage_+%", +@@ -1667,9 +1613,7 @@ skills["SupportDeadlyAilments"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_over_time_+%", 0.5 }, +- }, ++ { "damage_over_time_+%", 0.5 }, + }, + constantStats = { + { "support_better_ailments_hit_damage_+%_final", -80 }, +@@ -1740,9 +1684,7 @@ skills["SupportAwakenedDeadlyAilments"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_over_time_+%", 0.5 }, +- }, ++ { "damage_over_time_+%", 0.5 }, + }, + constantStats = { + { "support_better_ailments_hit_damage_+%_final", -80 }, +@@ -1784,9 +1726,7 @@ skills["SupportEnhance"] = { + supportGemsOnly = true, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "local_gem_experience_gain_+%", 5 }, +- }, ++ { "local_gem_experience_gain_+%", 5 }, + }, + stats = { + "supported_active_skill_gem_quality_%", +@@ -1816,9 +1756,7 @@ skills["SupportAwakenedEnhance"] = { + plusVersionOf = "SupportEnhance", + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "local_gem_experience_gain_+%", 5 }, +- }, ++ { "local_gem_experience_gain_+%", 5 }, + }, + stats = { + "supported_active_skill_gem_quality_%", +@@ -1857,9 +1795,7 @@ skills["SupportFasterAttacks"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "attack_speed_+%", 0.5 }, +- }, ++ { "attack_speed_+%", 0.5 }, + }, + stats = { + "attack_speed_+%", +@@ -1918,9 +1854,7 @@ skills["SupportFasterProjectiles"] = { + excludeSkillTypes = { SkillType.FixedSpeedProjectile, }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "base_projectile_speed_+%", 0.5 }, +- }, ++ { "base_projectile_speed_+%", 0.5 }, + }, + stats = { + "base_projectile_speed_+%", +@@ -1988,9 +1922,7 @@ skills["SupportFocusedBallista"] = { + }, + }, + qualityStats = { +- Default = { +- { "totem_damage_+%", 0.5 }, +- }, ++ { "totem_damage_+%", 0.5 }, + }, + stats = { + "support_focused_ballista_totem_attack_speed_+%_final", +@@ -2060,9 +1992,7 @@ skills["SupportFork"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "terrain_arrow_attachment_chance_reduction_+%", 100 }, +@@ -2131,9 +2061,7 @@ skills["SupportAwakenedFork"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_forks_base", 1 }, +@@ -2177,9 +2105,7 @@ skills["SupportGreaterFork"] = { + plusVersionOf = "SupportFork", + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_forks_base", 1 }, +@@ -2224,9 +2150,7 @@ skills["SupportGreaterMultipleProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 4 }, +@@ -2295,9 +2219,7 @@ skills["SupportAwakenedGreaterMultipleProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 5 }, +@@ -2345,9 +2267,7 @@ skills["SupportGreaterVolley"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 1 }, +- }, ++ { "projectile_damage_+%", 1 }, + }, + constantStats = { + { "support_parallel_projectile_number_of_points_per_side", 4 }, +@@ -2418,9 +2338,7 @@ skills["SupportHypothermia"] = { + }, + }, + qualityStats = { +- Default = { +- { "additional_chance_to_freeze_chilled_enemies_%", 1 }, +- }, ++ { "additional_chance_to_freeze_chilled_enemies_%", 1 }, + }, + constantStats = { + { "additional_chance_to_freeze_chilled_enemies_%", 20 }, +@@ -2484,9 +2402,7 @@ skills["SupportIceBite"] = { + excludeSkillTypes = { SkillType.Trapped, SkillType.RemoteMined, SkillType.SummonsTotem, }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "damage_+%_per_frenzy_charge", 0.1 }, +- }, ++ { "damage_+%_per_frenzy_charge", 0.1 }, + }, + constantStats = { + { "base_chance_to_freeze_%", 15 }, +@@ -2560,9 +2476,7 @@ skills["SupportImpale"] = { + } + }, + qualityStats = { +- Default = { +- { "impale_debuff_effect_+%", 0.5 }, +- }, ++ { "impale_debuff_effect_+%", 0.5 }, + }, + constantStats = { + { "attacks_impale_on_hit_%_chance", 60 }, +@@ -2631,10 +2545,8 @@ skills["SupportInvention"] = { + }, + }, + qualityStats = { +- Default = { +- { "trap_duration_+%", 1 }, +- { "mine_duration_+%", 1 }, +- }, ++ { "trap_duration_+%", 1 }, ++ { "mine_duration_+%", 1 }, + }, + stats = { + "support_invention_trap_and_mine_damage_+%_final_per_second_placed_up_to_100", +@@ -2676,9 +2588,7 @@ skills["SupportLethalDose"] = { + }, + }, + qualityStats = { +- Default = { +- { "base_poison_damage_+%", 0.5 }, +- }, ++ { "base_poison_damage_+%", 0.5 }, + }, + constantStats = { + { "additional_poisons_+_to_apply_vs_non_poisoned_enemies", 2 }, +@@ -2726,9 +2636,7 @@ skills["SupportLocusMine"] = { + }, + }, + qualityStats = { +- Default = { +- { "mine_laying_speed_+%", 0.5 }, +- }, ++ { "mine_laying_speed_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_mines_to_place", 2 }, +@@ -2811,9 +2719,7 @@ skills["SupportMachinations"] = { + }, + }, + qualityStats = { +- Default = { +- { "chaos_damage_+%", 0.5 }, +- }, ++ { "chaos_damage_+%", 0.5 }, + }, + constantStats = { + { "skill_cost_+%_per_keystone", 10 }, +@@ -2854,9 +2760,7 @@ skills["SupportChanceToPoison"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "base_poison_damage_+%", 0.5 }, +- }, ++ { "base_poison_damage_+%", 0.5 }, + }, + constantStats = { + { "base_chance_to_poison_on_hit_%", 40 }, +@@ -2919,9 +2823,7 @@ skills["SupportManaLeech"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "damage_+%_while_mana_leeching", 0.5 }, +- }, ++ { "damage_+%_while_mana_leeching", 0.5 }, + }, + stats = { + "attack_skill_mana_leech_from_any_damage_permyriad", +@@ -2997,9 +2899,7 @@ skills["SupportManaforgedArrows"] = { + }, + }, + qualityStats = { +- Default = { +- { "base_cooldown_speed_+%", 0.5 }, +- }, ++ { "base_cooldown_speed_+%", 0.5 }, + }, + constantStats = { + { "triggered_by_manaforged_arrows_support_%_chance", 100 }, +@@ -3063,9 +2963,7 @@ skills["SupportMarkOnHit"] = { + isTrigger = true, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "mark_skills_curse_effect_+%", 0.25 }, +- }, ++ { "mark_skills_curse_effect_+%", 0.25 }, + }, + stats = { + "mark_skills_curse_effect_+%", +@@ -3140,9 +3038,7 @@ skills["SupportMirageArcher"] = { + }, + }, + qualityStats = { +- Default = { +- { "attack_damage_+%", 0.5 }, +- }, ++ { "attack_damage_+%", 0.5 }, + }, + constantStats = { + { "support_mirage_archer_base_duration", 4000 }, +@@ -3225,9 +3121,7 @@ skills["SupportMomentum"] = { + flag("SupportedByMomentum"), + }, + qualityStats = { +- Default = { +- { "support_momentum_base_buff_duration_ms", 25 }, +- }, ++ { "support_momentum_base_buff_duration_ms", 25 }, + }, + constantStats = { + { "support_momentum_base_buff_duration_ms", 1500 }, +@@ -3298,9 +3192,7 @@ skills["SupportLesserMultipleProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "number_of_additional_projectiles", 2 }, +@@ -3367,9 +3259,7 @@ skills["SupportMultipleTraps"] = { + }, + }, + qualityStats = { +- Default = { +- { "trap_trigger_radius_+%", 1 }, +- }, ++ { "trap_trigger_radius_+%", 1 }, + }, + constantStats = { + { "number_of_additional_traps_to_throw", 2 }, +@@ -3445,9 +3335,7 @@ skills["SupportNightblade"] = { + flag("Condition:CanBeElusive", { type = "GlobalEffect", effectType = "Buff" }), + }, + qualityStats = { +- Default = { +- { "critical_strike_chance_+%", 1 }, +- }, ++ { "critical_strike_chance_+%", 1 }, + }, + constantStats = { + { "gain_elusive_on_crit_%_chance", 100 }, +@@ -3512,9 +3400,7 @@ skills["SupportPacifism"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "global_hit_causes_monster_flee_%", 0.5 }, +- }, ++ { "global_hit_causes_monster_flee_%", 0.5 }, + }, + stats = { + "global_hit_causes_monster_flee_%", +@@ -3554,9 +3440,7 @@ skills["SupportPierce"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + stats = { + "projectile_base_number_of_targets_to_pierce", +@@ -3623,9 +3507,7 @@ skills["SupportPointBlank"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + stats = { + "projectile_damage_+%", +@@ -3695,9 +3577,7 @@ skills["SupportRupture"] = { + }, + }, + qualityStats = { +- Default = { +- { "critical_strike_chance_+%", 1 }, +- }, ++ { "critical_strike_chance_+%", 1 }, + }, + constantStats = { + { "support_rupture_bleeding_time_passed_+%_final", 25 }, +@@ -3764,9 +3644,7 @@ skills["SupportSadism"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_over_time_+%", 0.5 }, +- }, ++ { "damage_over_time_+%", 0.5 }, + }, + stats = { + "damaging_ailments_deal_damage_+%_faster", +@@ -3825,9 +3703,7 @@ skills["SupportSecondWind"] = { + excludeSkillTypes = { SkillType.Triggered, }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "base_cooldown_speed_+%", 0.25 }, +- }, ++ { "base_cooldown_speed_+%", 0.25 }, + }, + constantStats = { + { "support_added_cooldown_count_if_not_instant", 1 }, +@@ -3899,9 +3775,7 @@ skills["SupportSlowerProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + stats = { + "support_slower_projectiles_projectile_speed_+%_final", +@@ -3965,9 +3839,7 @@ skills["SupportSwiftAffliction"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_over_time_+%", 0.5 }, +- }, ++ { "damage_over_time_+%", 0.5 }, + }, + constantStats = { + { "support_swift_affliction_skill_effect_and_damaging_ailment_duration_+%_final", -25 }, +@@ -4028,9 +3900,7 @@ skills["SupportReturningProjectiles"] = { + excludeSkillTypes = { SkillType.ProjectileCannotReturn, }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "base_projectile_speed_+%", 0.5 }, +- }, ++ { "base_projectile_speed_+%", 0.5 }, + }, + stats = { + "support_return_returning_projectiles_damage_+%_final", +@@ -4097,9 +3967,7 @@ skills["SupportAwakenedSwiftAffliction"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_over_time_+%", 0.5 }, +- }, ++ { "damage_over_time_+%", 0.5 }, + }, + constantStats = { + { "support_swift_affliction_skill_effect_and_damaging_ailment_duration_+%_final", -25 }, +@@ -4140,10 +4008,8 @@ skills["SupportSwiftAssembly"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "mine_laying_speed_+%", 0.25 }, +- { "trap_throwing_speed_+%", 0.25 }, +- }, ++ { "mine_laying_speed_+%", 0.25 }, ++ { "trap_throwing_speed_+%", 0.25 }, + }, + constantStats = { + { "throw_traps_in_circle_radius", 20 }, +@@ -4216,9 +4082,7 @@ skills["SupportTrap"] = { + }, + }, + qualityStats = { +- Default = { +- { "trap_damage_+%", 0.5 }, +- }, ++ { "trap_damage_+%", 0.5 }, + }, + constantStats = { + { "base_trap_duration", 4000 }, +@@ -4286,9 +4150,7 @@ skills["SupportAdvancedTraps"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "trap_damage_+%", 0.5 }, +- }, ++ { "trap_damage_+%", 0.5 }, + }, + constantStats = { + { "multi_trap_and_mine_support_flags", 16 }, +@@ -4361,9 +4223,7 @@ skills["SupportTrapAndMineDamage"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_+%", 0.5 }, +- }, ++ { "damage_+%", 0.5 }, + }, + constantStats = { + { "support_trap_and_mine_damage_trap_throwing_speed_+%_final", -10 }, +@@ -4439,9 +4299,7 @@ skills["SupportUnholyTrinity"] = { + }, + }, + qualityStats = { +- Default = { +- { "damage_+%", 0.5 }, +- }, ++ { "damage_+%", 0.5 }, + }, + stats = { + "damage_+%_final_per_10_lowest_unholy_resonance", +@@ -4496,9 +4354,7 @@ skills["SupportViciousProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "physical_damage_+%", 0.5 }, +- }, ++ { "physical_damage_+%", 0.5 }, + }, + constantStats = { + { "support_projectile_attack_speed_+%_final", -10 }, +@@ -4577,9 +4433,7 @@ skills["SupportAwakenedViciousProjectiles"] = { + }, + }, + qualityStats = { +- Default = { +- { "physical_damage_+%", 0.5 }, +- }, ++ { "physical_damage_+%", 0.5 }, + }, + constantStats = { + { "support_projectile_attack_speed_+%_final", -10 }, +@@ -4633,9 +4487,7 @@ skills["SupportVileToxins"] = { + }, + }, + qualityStats = { +- Default = { +- { "base_poison_damage_+%", 0.5 }, +- }, ++ { "base_poison_damage_+%", 0.5 }, + }, + constantStats = { + { "support_debilitate_hit_damage_+%_final_per_poison_stack", 5 }, +@@ -4702,9 +4554,7 @@ skills["SupportVoidManipulation"] = { + }, + }, + qualityStats = { +- Default = { +- { "chaos_damage_+%", 0.5 }, +- }, ++ { "chaos_damage_+%", 0.5 }, + }, + stats = { + "support_void_manipulation_chaos_damage_+%_final", +@@ -4770,9 +4620,7 @@ skills["SupportAwakenedVoidManipulation"] = { + }, + }, + qualityStats = { +- Default = { +- { "chaos_damage_+%", 0.5 }, +- }, ++ { "chaos_damage_+%", 0.5 }, + }, + stats = { + "support_void_manipulation_chaos_damage_+%_final", +@@ -4821,9 +4669,7 @@ skills["SupportVoidstorm"] = { + }, + }, + qualityStats = { +- Default = { +- { "area_damage_+%", 0.5 }, +- }, ++ { "area_damage_+%", 0.5 }, + }, + stats = { + "support_voidstorm_trigger_voidstorm_on_rain_skill_impact", +@@ -4877,9 +4723,7 @@ skills["TriggeredSupportVoidstorm"] = { + projectile = true, + }, + qualityStats = { +- Default = { +- { "area_damage_+%", 0.5 }, +- }, ++ { "area_damage_+%", 0.5 }, + }, + constantStats = { + { "windstorm_storm_maximum_stages", 10 }, +@@ -4929,9 +4773,7 @@ skills["SupportVolley"] = { + }, + }, + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "support_parallel_projectile_number_of_points_per_side", 2 }, +@@ -4995,9 +4837,7 @@ skills["SupportWindburst"] = { + ignoreMinionTypes = true, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "projectile_damage_+%", 0.5 }, +- }, ++ { "projectile_damage_+%", 0.5 }, + }, + constantStats = { + { "support_trigger_tornados_on_attack_hit_after_moving_X_metres", 10 }, +@@ -5139,9 +4979,7 @@ skills["SupportWitheringTouch"] = { + excludeSkillTypes = { }, + statDescriptionScope = "gem_stat_descriptions", + qualityStats = { +- Default = { +- { "chaos_damage_+%", 0.5 }, +- }, ++ { "chaos_damage_+%", 0.5 }, + }, + constantStats = { + { "support_withered_base_duration_ms", 2000 }, diff --git a/src/Data/Skills/sup_int.lua.rej b/src/Data/Skills/sup_int.lua.rej new file mode 100644 index 000000000..e0f1c46c1 --- /dev/null +++ b/src/Data/Skills/sup_int.lua.rej @@ -0,0 +1,41 @@ +diff a/src/Data/Skills/sup_int.lua b/src/Data/Skills/sup_int.lua (rejected hunks) +@@ -1393,9 +1393,6 @@ skills["SupportHextouch"] = { + ["hextouch_support_curse_duration_+%_final"] = { + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "apply_linked_curses_on_hit_%", 100 }, + }, +@@ -1708,9 +1705,6 @@ skills["SignalPrey"] = { + castTime = 0, + baseFlags = { + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "base_skill_effect_duration", 8000 }, + }, +@@ -3414,9 +3408,6 @@ skills["SupportImpendingDoom"] = { + -- Display only + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + stats = { + "trigger_vicious_hex_explosion_when_curse_ends", + }, +@@ -5307,9 +5298,6 @@ skills["SupportPrismaticBurst"] = { + -- Display only + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "trigger_prismatic_burst_on_hit_%_chance", 100 }, + }, diff --git a/src/Data/Skills/sup_str.lua.rej b/src/Data/Skills/sup_str.lua.rej new file mode 100644 index 000000000..023b5e6c1 --- /dev/null +++ b/src/Data/Skills/sup_str.lua.rej @@ -0,0 +1,21 @@ +diff a/src/Data/Skills/sup_str.lua b/src/Data/Skills/sup_str.lua (rejected hunks) +@@ -2445,9 +2445,6 @@ skills["AvengingFlame"] = { + spell = true, + projectile = true, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0 }, +- }, + constantStats = { + { "active_skill_base_area_of_effect_radius", 13 }, + }, +@@ -2779,9 +2776,6 @@ skills["SupportGuardiansBlessingMinion"] = { + div = 60, + }, + }, +- qualityStats = { +- { "dummy_stat_display_nothing", 0.25 }, +- }, + stats = { + "support_guardians_blessing_minion_physical_damage_%_of_maximum_life_and_ES_taken_per_minute", + "support_guardians_blessing_summoned_minions_are_guardians_blessing_minions", diff --git a/src/Export/Scripts/skills.lua.rej b/src/Export/Scripts/skills.lua.rej new file mode 100644 index 000000000..341e36f4b --- /dev/null +++ b/src/Export/Scripts/skills.lua.rej @@ -0,0 +1,12 @@ +diff a/src/Export/Scripts/skills.lua b/src/Export/Scripts/skills.lua (rejected hunks) +@@ -405,7 +405,9 @@ directiveTable.skill = function(state, args, out) + skill.qualityStats = { } + for i, qualityStatsRow in ipairs(dat("GrantedEffectQualityStats"):GetRowList("GrantedEffect", granted)) do + for j, stat in ipairs(qualityStatsRow.GrantedStats) do +- table.insert(skill.qualityStats, { stat.Id, qualityStatsRow.StatValues[j] / 1000 }) ++ if stat.Id ~= "dummy_stat_display_nothing" then ++ table.insert(skill.qualityStats, { stat.Id, qualityStatsRow.StatValues[j] / 1000 }) ++ end + --ConPrintf("%s %s", granted.ActiveSkill.DisplayName, stat.Id) + end + end diff --git a/src/Modules/CalcActiveSkill.lua.rej b/src/Modules/CalcActiveSkill.lua.rej new file mode 100644 index 000000000..638a01eed --- /dev/null +++ b/src/Modules/CalcActiveSkill.lua.rej @@ -0,0 +1,9 @@ +diff a/src/Modules/CalcActiveSkill.lua b/src/Modules/CalcActiveSkill.lua (rejected hunks) +@@ -171,7 +171,6 @@ function calcs.copyActiveSkill(env, mode, skill) + if skill.activeEffect.srcInstance then + activeEffect.level = skill.activeEffect.srcInstance.level + activeEffect.quality = skill.activeEffect.srcInstance.quality +- activeEffect.qualityId = skill.activeEffect.srcInstance.qualityId + activeEffect.srcInstance = skill.activeEffect.srcInstance + activeEffect.gemData = skill.activeEffect.srcInstance.gemData + end diff --git a/src/Modules/CalcSetup.lua b/src/Modules/CalcSetup.lua index 58f354d66..72ebcbf77 100644 --- a/src/Modules/CalcSetup.lua +++ b/src/Modules/CalcSetup.lua @@ -1585,7 +1585,6 @@ function calcs.initEnv(build, mode, override, specEnv) grantedEffect = grantedEffect, level = gemInstance.level, quality = gemInstance.quality, - qualityId = gemInstance.qualityId, srcInstance = gemInstance, gemData = gemInstance.gemData, superseded = false, @@ -1655,7 +1654,6 @@ function calcs.initEnv(build, mode, override, specEnv) grantedEffect = grantedEffect, level = gemInstance.level, quality = gemInstance.quality, - qualityId = gemInstance.qualityId, srcInstance = gemInstance, gemData = gemInstance.gemData, } diff --git a/src/Modules/CalcTools.lua.rej b/src/Modules/CalcTools.lua.rej new file mode 100644 index 000000000..321343c43 --- /dev/null +++ b/src/Modules/CalcTools.lua.rej @@ -0,0 +1,13 @@ +diff a/src/Modules/CalcTools.lua b/src/Modules/CalcTools.lua (rejected hunks) +@@ -176,10 +176,7 @@ end + function calcLib.buildSkillInstanceStats(skillInstance, grantedEffect) + local stats = { } + if skillInstance.quality > 0 and grantedEffect.qualityStats then +- local qualityStats = grantedEffect.qualityStats.Default +- if not qualityStats then +- qualityStats = grantedEffect.qualityStats +- end ++ local qualityStats = grantedEffect.qualityStats + for _, stat in ipairs(qualityStats) do + stats[stat[1]] = (stats[stat[1]] or 0) + math.modf(stat[2] * skillInstance.quality) + end