You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add support for new socketables & Handle slot specific runes (#1157)
* Add support for Runes on Wand / Staff
GGG added more runes for wands and staves in the patch a couple weeks ago
I don't particularly like how this is done as it requires more individual base checks each time a soul core or rune can go into a different base
This becomes even more of a problem when trying to support the new talismans that can be socketed into gloves, boots, helmets, body armours and sceptres
* Implement new runes, talismans, and soul cores.
* Edit comment
* Fix test to use build object
---------
Co-authored-by: LocalIdentity <localidentity2@gmail.com>
Copy file name to clipboardExpand all lines: src/Classes/Item.lua
+63-32Lines changed: 63 additions & 32 deletions
Original file line number
Diff line number
Diff line change
@@ -791,26 +791,35 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
791
791
end
792
792
-- this will need more advanced logic for jewel sockets in items to work properly but could just be removed as items like this was only introduced during development.
ifnotself.displayItemorself.displayItem.itemSocketCount==0ornot (self.displayItem.base.weaponorself.displayItem.base.armour) then
504
+
ifnotself.displayItemorself.displayItem.itemSocketCount==0ornot (self.displayItem.base.weaponorself.displayItem.base.armourorself.displayItem.base.tags.wandorself.displayItem.base.tags.stafforself.displayItem.base.tags.sceptre) then
505
505
return0
506
506
end
507
507
localh=6
@@ -534,7 +534,7 @@ holding Shift will put it in the second.]])
ifrune.slot=="None" or-- Needed "None" for Items Tab
1588
+
item.base.type:lower() ==rune.slotor
1589
+
item.base.type==rune.slotor
1590
+
item.base.weaponandrune.slot=="weapon" or
1591
+
item.base.armourandrune.slot=="armour" or
1592
+
(item.base.tags.wandoritem.base.tags.staff) andrune.slot=="caster" then
1593
+
table.insert(runes, rune)
1584
1594
end
1595
+
end
1596
+
1597
+
fori=1, item.itemSocketCountdo
1598
+
self.controls["displayItemRune"..i].list=runes
1585
1599
ifitem.runes[i] then
1586
1600
forj, modLineinipairs(self.controls["displayItemRune"..i].list) do
1587
1601
ifitem.runes[i] ==modLine.namethen
@@ -1902,7 +1916,7 @@ function ItemsTabClass:CraftItem()
1902
1916
else
1903
1917
item.quality=nil
1904
1918
end
1905
-
ifbase.base.socketLimitand (base.base.weaponorbase.base.armour) then-- must be a martial weapon/armour
1919
+
ifbase.base.socketLimitand (base.base.weaponorbase.base.armourorbase.base.tags.wandorbase.base.tags.stafforbase.base.tags.sceptre) then-- must be a martial weapon/armour
0 commit comments