Skip to content

Commit

Permalink
exporting of granted skills on non-attack items (#31)
Browse files Browse the repository at this point in the history
  • Loading branch information
Nostrademous authored Dec 18, 2024
1 parent 8ba1ae4 commit ebb8fe6
Show file tree
Hide file tree
Showing 12 changed files with 312 additions and 612 deletions.
2 changes: 1 addition & 1 deletion src/Classes/ImportTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -869,7 +869,7 @@ function ImportTabClass:ImportItem(itemData, slotName)
if itemData.ilvl > 0 then
item.itemLevel = itemData.ilvl
end
if item.base.weapon or item.base.armour or item.base.flask or item.base.tincture then
if item.base.weapon or item.base.armour or item.base.flask or item.base.tincture or item.base.type == "Wand" or item.base.type == "Sceptre" or item.base.type == "Staff" then
item.quality = 0
end
if itemData.properties then
Expand Down
4 changes: 2 additions & 2 deletions src/Classes/Item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,7 @@ end

-- Return the name of the slot this item is equipped in
function ItemClass:GetPrimarySlot()
if self.base.weapon then
if self.base.weapon or self.base.type == "Wand" or self.base.type == "Sceptre" or self.base.type == "Staff" then
return "Weapon 1"
elseif self.type == "Quiver" or self.type == "Shield" then
return "Weapon 2"
Expand Down Expand Up @@ -1660,7 +1660,7 @@ function ItemClass:BuildModList()
self.sockets = newSockets
end
self.socketedJewelEffectModifier = 1 + calcLocal(baseList, "SocketedJewelEffect", "INC", 0) / 100
if self.base.weapon or self.type == "Ring" then
if self.base.weapon or self.base.type == "Wand" or self.base.type == "Sceptre" or self.base.type == "Staff" or self.type == "Ring" then
self.slotModList = { }
for i = 1, 2 do
self.slotModList[i] = self:BuildModListForSlotNum(baseList, i)
Expand Down
6 changes: 4 additions & 2 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1872,16 +1872,18 @@ function ItemsTabClass:IsItemValidForSlot(item, slotName, itemSet)
elseif (item.type == "Rune" or item.type == "SoulCore") and slotName:match("Socket") then
return true
elseif slotName == "Weapon 1" or slotName == "Weapon 1 Swap" or slotName == "Weapon" then
return item.base.weapon ~= nil
return item.base.weapon ~= nil or item.base.type == "Wand" or item.base.type == "Sceptre" or item.base.type == "Staff"
elseif slotName == "Weapon 2" or slotName == "Weapon 2 Swap" then
local weapon1Sel = itemSet[slotName == "Weapon 2" and "Weapon 1" or "Weapon 1 Swap"].selItemId or 0
local weapon1Type = self.items[weapon1Sel] and self.items[weapon1Sel].base.type or "None"
if weapon1Type == "None" then
return item.type == "Shield" or (self.build.data.weaponTypeInfo[item.type] and self.build.data.weaponTypeInfo[item.type].oneHand)
elseif weapon1Type == "Bow" then
return item.type == "Quiver"
elseif weapon1Type == "Wand" or weapon1Type == "Sceptre" then
return item.type == "Focus"
elseif self.build.data.weaponTypeInfo[weapon1Type].oneHand then
return item.type == "Shield" or (self.build.data.weaponTypeInfo[item.type] and self.build.data.weaponTypeInfo[item.type].oneHand and ((weapon1Type == "Wand" and item.type == "Wand") or (weapon1Type ~= "Wand" and item.type ~= "Wand")))
return item.type == "Shield" or (self.build.data.weaponTypeInfo[item.type] and self.build.data.weaponTypeInfo[item.type].oneHand)
end
end
end
Expand Down
30 changes: 30 additions & 0 deletions src/Data/Bases/mace.lua
Original file line number Diff line number Diff line change
Expand Up @@ -237,121 +237,151 @@ itemBases["Expert Brigand Mace"] = {

itemBases["Rattling Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Stoic Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Discipline",
implicitModTypes = { },
req = { },
}
itemBases["Lupine Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Omen Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Malice",
implicitModTypes = { },
req = { },
}
itemBases["Ochre Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Shrine Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Purity of Fire",
implicitModTypes = { },
req = { },
}
itemBases["Shrine Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Purity of Ice",
implicitModTypes = { },
req = { },
}
itemBases["Shrine Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Purity of Lightning",
implicitModTypes = { },
req = { },
}
itemBases["Devouring Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Clasped Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Devotional Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Wrath Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Aromatic Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Pious Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
itemBases["Hallowed Sceptre"] = {
type = "Sceptre",
spirit = 100,
socketLimit = 2,
tags = { default = true, onehand = true, sceptre = true, },
influenceTags = { shaper = "sceptre_shaper", elder = "sceptre_elder", adjudicator = "sceptre_adjudicator", basilisk = "sceptre_basilisk", crusader = "sceptre_crusader", eyrie = "sceptre_eyrie", cleansing = "sceptre_cleansing", tangle = "sceptre_tangle" },
implicit = "Grants Skill: Level (1-20) Skeletal Warrior",
implicitModTypes = { },
req = { },
}
Expand Down
Loading

0 comments on commit ebb8fe6

Please sign in to comment.