Skip to content

Commit 1e28c79

Browse files
LocalIdentityLocalIdentityWires77
authored
Export 3.27 (#9142)
* Remove old dats * New Dat columns DefaultMonsterStats has a new column that looks like it might be a scaling column for something (Lifeblood?) MinionType got a new bool, seems to be on vaal minions ModType now has a new key to Stats. not sure if we care about this one PassiveJewelRadii has a key to something new Stats lost it's name column * Move Clear button UI to not overlap script output * Remove OTFile column from MonsterTypes.dat * Fix bases export * Export Bases Hidden has been removed from BaseItemTypes.dat Need to handle new `wand_can_roll_caster_modifiers` tag on wands * Boss data Not sure if this is correct. Would be weird to halve his damage without notice * Cluster Export * Crucible Export * Essence Export * Export Flavour Text * Export Legion Passives * Export Master mods * Export minions * Export Miscdata * Mod Export * Pantheon Export * Export skill gem list * Export Tattoos Add parsing for the mods that changed names and the new Runegraft Manually left in all the legacy tags on nodes as we will need another way to get them automatically now that BaseItemTypes no longer has the hidden column * Export Stat Desscriptions * Update existing skills projectiles_ignore_wall_of_force removal of `active_skill_damage` from spectres might be cause it's now the last column in DefaultMonsterStats * Add support for new base types Add the new wand and ring base types along with restricting their mod pool based on the implicit that block particular mods from rolling I assumed that the mods on the rings require the corresponding element as a tag if the damage tag also exists. Will need to wait and see if this is true * New skills Adds support for all the new player skills Only one not working is the Living Lightning support Something to do with it being a effects triggered from a support is making it not show up properly * Fix logic for new ring bases The implicit stops any mod with a different elemental tag on it from spawning on the base * Update jewel radius values 3.27 added new jewel radius sizes --------- Co-authored-by: LocalIdentity <[email protected]> Co-authored-by: Wires77 <[email protected]>
1 parent e336f72 commit 1e28c79

Some content is hidden

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

68 files changed

+59940
-47849
lines changed

src/Classes/Item.lua

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -778,6 +778,27 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
778778
self.canHaveShieldCrucibleTree = true
779779
elseif lineLower == "has a two handed sword crucible passive skill tree" then
780780
self.canHaveTwoHandedSwordCrucibleTree = true
781+
elseif lineLower == "cannot roll caster modifiers" then
782+
self.restrictTag = true
783+
self.noCaster = true
784+
elseif lineLower == "cannot roll attack modifiers" then
785+
self.restrictTag = true
786+
self.noAttack = true
787+
elseif lineLower == "cannot roll modifiers of non-cold damage types" then
788+
self.restrictDamageType = true
789+
self.onlyColdDamage = true
790+
elseif lineLower == "cannot roll modifiers of non-fire damage types" then
791+
self.restrictDamageType = true
792+
self.onlyFireDamage = true
793+
elseif lineLower == "cannot roll modifiers of non-lightning damage types" then
794+
self.restrictDamageType = true
795+
self.onlyLightningDamage = true
796+
elseif lineLower == "cannot roll modifiers of non-chaos damage types" then
797+
self.restrictDamageType = true
798+
self.onlyChaosDamage = true
799+
elseif lineLower == "cannot roll modifiers of non-physical damage types" then
800+
self.restrictDamageType = true
801+
self.onlyPhysicalDamage = true
781802
end
782803

783804
local modLines
@@ -954,6 +975,32 @@ function ItemClass:GetModSpawnWeight(mod, includeTags, excludeTags)
954975
local function HasMavenInfluence(modAffix)
955976
return modAffix:match("Elevated")
956977
end
978+
if self.restrictTag then
979+
for _, key in ipairs(mod.modTags) do
980+
local flagName = "no" .. key:gsub("^%l", string.upper)
981+
if flagName and self[flagName] then
982+
return 0
983+
end
984+
end
985+
end
986+
if self.restrictDamageType then
987+
local required, restricted = false, {}
988+
for _, element in ipairs({ "fire", "cold", "lightning", "chaos", "physical" }) do
989+
local flagName = "only" .. element:gsub("^%l", string.upper) .. "Damage"
990+
if self[flagName] then
991+
required = true
992+
else
993+
restricted[element] = true
994+
end
995+
end
996+
if required then
997+
for _, key in ipairs(mod.modTags) do
998+
if restricted[key] then
999+
return 0
1000+
end
1001+
end
1002+
end
1003+
end
9571004

9581005
for i, key in ipairs(mod.weightKey) do
9591006
if (self.base.tags[key] or (includeTags and includeTags[key]) or HasInfluenceTag(key)) and not (excludeTags and excludeTags[key]) then

src/Data/Bases/amulet.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,6 @@ itemBases["Focused Amulet"] = {
149149
}
150150
itemBases["Jet Amulet"] = {
151151
type = "Amulet",
152-
hidden = true,
153152
tags = { amulet = true, default = true, demigods = true, not_for_sale = true, },
154153
influenceTags = { shaper = "amulet_shaper", elder = "amulet_elder", adjudicator = "amulet_adjudicator", basilisk = "amulet_basilisk", crusader = "amulet_crusader", eyrie = "amulet_eyrie", cleansing = "amulet_cleansing", tangle = "amulet_tangle" },
155154
implicit = "+(8-12)% to all Elemental Resistances",

src/Data/Bases/bow.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -271,7 +271,6 @@ itemBases["Solarine Bow"] = {
271271
}
272272
itemBases["Ethereal Bow"] = {
273273
type = "Bow",
274-
hidden = true,
275274
socketLimit = 6,
276275
tags = { bow = true, default = true, not_for_sale = true, ranged = true, two_hand_weapon = true, twohand = true, weapon = true, },
277276
influenceTags = { shaper = "bow_shaper", elder = "bow_elder", adjudicator = "bow_adjudicator", basilisk = "bow_basilisk", crusader = "bow_crusader", eyrie = "bow_eyrie", cleansing = "bow_cleansing", tangle = "bow_tangle" },

src/Data/Bases/dagger.lua

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

src/Data/Bases/jewel.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,23 +89,20 @@ itemBases["Timeless Jewel"] = {
8989
itemBases["Ursine Charm"] = {
9090
type = "Jewel",
9191
subType = "Charm",
92-
hidden = true,
9392
tags = { animal_charm = true, default = true, str_animal_charm = true, },
9493
implicitModTypes = { },
9594
req = { },
9695
}
9796
itemBases["Lupine Charm"] = {
9897
type = "Jewel",
9998
subType = "Charm",
100-
hidden = true,
10199
tags = { animal_charm = true, default = true, dex_animal_charm = true, },
102100
implicitModTypes = { },
103101
req = { },
104102
}
105103
itemBases["Corvine Charm"] = {
106104
type = "Jewel",
107105
subType = "Charm",
108-
hidden = true,
109106
tags = { animal_charm = true, default = true, int_animal_charm = true, },
110107
implicitModTypes = { },
111108
req = { },

src/Data/Bases/ring.lua

Lines changed: 48 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ itemBases["Two-Stone Ring"] = {
101101
}
102102
itemBases["Two-Stone Ring"] = {
103103
type = "Ring",
104-
hidden = true,
105104
tags = { default = true, ring = true, twostonering = true, },
106105
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
107106
implicit = "+(12-16)% to Cold and Lightning Resistances",
@@ -110,7 +109,6 @@ itemBases["Two-Stone Ring"] = {
110109
}
111110
itemBases["Two-Stone Ring"] = {
112111
type = "Ring",
113-
hidden = true,
114112
tags = { default = true, ring = true, twostonering = true, },
115113
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
116114
implicit = "+(12-16)% to Fire and Cold Resistances",
@@ -309,6 +307,54 @@ itemBases["Nameless Ring"] = {
309307
implicitModTypes = { { "elemental" }, { "elemental" }, },
310308
req = { level = 24, },
311309
}
310+
itemBases["Cryonic Ring"] = {
311+
type = "Ring",
312+
tags = { default = true, not_for_sale = true, ring = true, },
313+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
314+
implicit = "+2% to maximum Cold Resistance\nCannot roll Modifiers of Non-Cold Damage Types",
315+
implicitModTypes = { { "elemental", "cold", "resistance" }, { "elemental", "cold", "resistance" }, },
316+
req = { level = 32, },
317+
}
318+
itemBases["Enthalpic Ring"] = {
319+
type = "Ring",
320+
tags = { default = true, not_for_sale = true, ring = true, },
321+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
322+
implicit = "+2% to maximum Fire Resistance\nCannot roll Modifiers of Non-Fire Damage Types",
323+
implicitModTypes = { { "elemental", "fire", "resistance" }, { "elemental", "fire", "resistance" }, },
324+
req = { level = 32, },
325+
}
326+
itemBases["Synaptic Ring"] = {
327+
type = "Ring",
328+
tags = { default = true, not_for_sale = true, ring = true, },
329+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
330+
implicit = "+2% to maximum Lightning Resistance\nCannot roll Modifiers of Non-Lightning Damage Types",
331+
implicitModTypes = { { "elemental", "lightning", "resistance" }, { "elemental", "lightning", "resistance" }, },
332+
req = { level = 32, },
333+
}
334+
itemBases["Organic Ring"] = {
335+
type = "Ring",
336+
tags = { default = true, not_for_sale = true, ring = true, },
337+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
338+
implicit = "3% additional Physical Damage Reduction\nCannot roll Modifiers of Non-Physical Damage Types",
339+
implicitModTypes = { { "physical" }, { "physical" }, },
340+
req = { level = 32, },
341+
}
342+
itemBases["Fugitive Ring"] = {
343+
type = "Ring",
344+
tags = { default = true, not_for_sale = true, ring = true, },
345+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
346+
implicit = "+2% to maximum Chaos Resistance\nCannot roll Modifiers of Non-Chaos Damage Types",
347+
implicitModTypes = { { "chaos", "resistance" }, { "chaos", "resistance" }, },
348+
req = { level = 32, },
349+
}
350+
itemBases["Formless Ring"] = {
351+
type = "Ring",
352+
tags = { default = true, not_for_sale = true, ring = true, },
353+
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
354+
implicit = "(5-7)% increased Global Defences",
355+
implicitModTypes = { { "defences" }, },
356+
req = { level = 42, },
357+
}
312358
itemBases["Ring"] = {
313359
type = "Ring",
314360
tags = { default = true, not_for_sale = true, ring = true, },
@@ -335,7 +381,6 @@ itemBases["Golden Hoop"] = {
335381
}
336382
itemBases["Jet Ring"] = {
337383
type = "Ring",
338-
hidden = true,
339384
tags = { default = true, demigods = true, not_for_sale = true, ring = true, },
340385
influenceTags = { shaper = "ring_shaper", elder = "ring_elder", adjudicator = "ring_adjudicator", basilisk = "ring_basilisk", crusader = "ring_crusader", eyrie = "ring_eyrie", cleansing = "ring_cleansing", tangle = "ring_tangle" },
341386
implicit = "(5-10)% increased Global Defences",

src/Data/Bases/sword.lua

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,6 @@ itemBases["Anarchic Spiritblade"] = {
285285
}
286286
itemBases["Random One Hand Sword"] = {
287287
type = "One Handed Sword",
288-
hidden = true,
289288
socketLimit = 3,
290289
tags = { default = true, },
291290
influenceTags = { shaper = "sword_shaper", elder = "sword_elder", adjudicator = "sword_adjudicator", basilisk = "sword_basilisk", crusader = "sword_crusader", eyrie = "sword_eyrie", cleansing = "sword_cleansing", tangle = "sword_tangle" },
@@ -593,7 +592,6 @@ itemBases["Dragoon Sword"] = {
593592

594593
itemBases["Keyblade"] = {
595594
type = "Two Handed Sword",
596-
hidden = true,
597595
socketLimit = 6,
598596
tags = { default = true, not_for_sale = true, sword = true, two_hand_weapon = true, twohand = true, weapon = true, },
599597
influenceTags = { shaper = "2h_sword_shaper", elder = "2h_sword_elder", adjudicator = "2h_sword_adjudicator", basilisk = "2h_sword_basilisk", crusader = "2h_sword_crusader", eyrie = "2h_sword_eyrie", cleansing = "2h_sword_cleansing", tangle = "2h_sword_tangle" },
@@ -853,7 +851,6 @@ itemBases["Banishing Blade"] = {
853851
}
854852
itemBases["Random Two Hand Sword"] = {
855853
type = "Two Handed Sword",
856-
hidden = true,
857854
socketLimit = 6,
858855
tags = { default = true, },
859856
influenceTags = { shaper = "2h_sword_shaper", elder = "2h_sword_elder", adjudicator = "2h_sword_adjudicator", basilisk = "2h_sword_basilisk", crusader = "2h_sword_crusader", eyrie = "2h_sword_eyrie", cleansing = "2h_sword_cleansing", tangle = "2h_sword_tangle" },

0 commit comments

Comments
 (0)