Skip to content

Commit 26fe13d

Browse files
LocalIdentityLocalIdentity
andauthored
Add all new 0.3 skills and update old ones (#1257)
* Export stat descriptions Adds logic to remove random unicode characters from tree/ stat description files Example is the bullet point used on Hollow Palm and some other Keystones * Add Support gem family Also adds logic to only have 1 family gem actively supporting a skill * Add logic for Lineage Supports Changes the support gem count logic to now only look for lineage supports and add a warning if you have more than 1 * Stop crash on loading gems after export The SkillType for repeating skills was changed to Barrageable * Update export of skills gems list Now has a dedicated file for the export of gems so it is much easier to see what has changed over time Also fixes a number of issues with the layout of the export version so now it should be 100% correct There are still a number of gems in the list that shouldn't exist though Need to figure out some general logic to eliminate them Should not appear in gem export list SupportFusilladePlayer Cast on Death DarkTempestPlayer HisFoulEmergencePlayer ScatteringCalamityPlayer VileDisruptionPlayer HisWinnowingFlamePlayer TriggeredHisWinnowingFlamePillarPlayer RollingMagmaPlayer SummonSkeletalSnipersPlayer - All minions here are duplicated MetaSpellslingerPlayer SupportSpellslingerPlayer SupportFrozenVortexPlayer TriggeredFrozenVortexPlayer SupportHoarfrostPlayer TriggeredHoarfrostPlayer BlinkSandPlayer RunicTemperingPlayer * Active Strength gems * Strength Support Gems * Active Dexterity Gems * Dexterity Support Gems * Active Intelligence Gems * Support Intelligence Gems * Other Gems * New minions / fix minion SkillTypes * Fix loading of old gems Changed the skill loading logic to use the game id and the first variant in the list if the name has changed between updates * Fix Tests --------- Co-authored-by: LocalIdentity <localidentity2@gmail.com>
1 parent f853b0d commit 26fe13d

File tree

247 files changed

+108635
-53665
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

247 files changed

+108635
-53665
lines changed

spec/System/TestAttacks_spec.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,9 +72,9 @@ describe("TestAttacks", function()
7272
runCallback("OnFrame")
7373
-- Add 2 skills with 1 red, 1 blue, 1 green support each
7474
-- Test against Quarterstaff Strike (skill slot 1)
75-
build.skillsTab:PasteSocketGroup("Quarterstaff Strike 1/0 1\nSplinter 1/0 1\nConduction 1/0 1\nBiting Frost 1/0 1")
75+
build.skillsTab:PasteSocketGroup("Quarterstaff Strike 1/0 1\nArmour Break I 1/0 1\nShock 1/0 1\nBiting Frost 1/0 1")
7676
runCallback("OnFrame")
77-
build.skillsTab:PasteSocketGroup("Falling Thunder 1/0 1\nIgnition 1/0 1\nDiscombobulate 1/0 1\nCoursing Current 1/0 1")
77+
build.skillsTab:PasteSocketGroup("Falling Thunder 1/0 1\nIgnite I 1/0 1\nDaze 1/0 1\nShock Conduction 1/0 1")
7878
runCallback("OnFrame")
7979

8080
build.configTab:BuildModList()

src/Classes/GemSelectControl.lua

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,9 @@ function GemSelectClass:AddGemTooltip(gemInstance)
542542
if gemInstance.gemData.tagString ~= "" then
543543
self.tooltip:AddLine(16, "^x7F7F7F" .. gemInstance.gemData.tagString)
544544
end
545+
if gemInstance.gemData.gemFamily then
546+
self.tooltip:AddLine(16, "^x7F7F7FCategory: ^7" .. gemInstance.gemData.gemFamily)
547+
end
545548
-- Will need rework if a gem can have 2+ additional supports
546549
self:AddGrantedEffectInfo(gemInstance, grantedEffect, true)
547550
for _, statSet in ipairs(grantedEffect.statSets) do
@@ -566,7 +569,7 @@ end
566569
function GemSelectClass:AddGrantedEffectInfo(gemInstance, grantedEffect, addReq)
567570
local displayInstance = gemInstance.displayEffect or gemInstance
568571
local grantedEffectLevel = grantedEffect.levels[displayInstance.level] or { }
569-
if gemInstance.gemData.Tier then
572+
if gemInstance.gemData.Tier and not grantedEffect.isLineage then
570573
self.tooltip:AddLine(16, string.format("^x7F7F7FTier: ^7%d", gemInstance.gemData.Tier))
571574
end
572575
if addReq and not grantedEffect.support then

src/Classes/ModStore.lua

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,9 @@ function ModStoreClass:EvalMod(mod, cfg, globalLimits)
407407
else
408408
base = target:GetStat(tag.stat, cfg)
409409
end
410+
if tag.divVar then
411+
tag.div = self:GetMultiplier(tag.divVar, cfg)
412+
end
410413
local mult = m_floor(base / (tag.div or 1) + 0.0001)
411414
local limitTotal
412415
if tag.limit or tag.limitVar then

src/Classes/SkillsTab.lua

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -287,16 +287,14 @@ function SkillsTabClass:LoadSkill(node, skillSetId)
287287
local possibleVariants = self.build.data.gemsByGameId[child.attrib.gemId]
288288
if possibleVariants then
289289
-- If it is a known gem, try to determine which variant is used
290-
if child.attrib.variantId then
290+
if child.attrib.variantId and possibleVariants[child.attrib.variantId] then
291291
-- New save format from 3.23 that stores the specific variation (transfiguration)
292292
gemData = possibleVariants[child.attrib.variantId]
293-
elseif child.attrib.skillId then
294-
-- Old format relying on the uniqueness of the granted effects id
293+
else
294+
-- If a gem has changed names between updates, assumed it's the first gem in the list
295295
for _, variant in pairs(possibleVariants) do
296-
if variant.grantedEffectId == child.attrib.skillId then
297-
gemData = variant
298-
break
299-
end
296+
gemData = variant
297+
break
300298
end
301299
end
302300
end
@@ -1324,6 +1322,7 @@ function SkillsTabClass:UpdateGlobalGemCountAssignments()
13241322
GlobalGemAssignments[gemInstance.gemData.name] = {
13251323
count = 1,
13261324
support = gemInstance.gemData.grantedEffect and gemInstance.gemData.grantedEffect.support or false,
1325+
lineage = gemInstance.gemData.grantedEffect and gemInstance.gemData.grantedEffect.isLineage or false,
13271326
groups = { }
13281327
}
13291328
if socketGroup.displayLabel then

0 commit comments

Comments
 (0)