Skip to content
Draft
7 changes: 7 additions & 0 deletions src/Classes/Item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -1603,6 +1603,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
if deferJewelRadiusIndexAssignment then
self.jewelRadiusIndex = self.jewelData.radiusIndex
end
self.isUnique = self.rarity == "UNIQUE" or self.rarity == "RELIC"
end

---@param modId string The id which will be present on the removed mod lines
Expand Down Expand Up @@ -2149,6 +2150,11 @@ end
-- Calculate local modifiers, and removes them from the modifier list
-- To be considered local, a modifier must be an exact flag match, and cannot have any tags (e.g. conditions, multipliers)
-- Only the InSlot tag is allowed (for Adds x to x X Damage in X Hand modifiers)
---@param modList any
---@param name string
---@param type "FLAG"|"MORE"|"BASE" other mod types not handled
---@param flags integer
---@return boolean|number
local function calcLocal(modList, name, type, flags)
local result
if type == "FLAG" then
Expand Down Expand Up @@ -2238,6 +2244,7 @@ function ItemClass:BuildModListForSlotNum(baseList, slotNum)
end
self.craftedQuality = craftedQuality
end
self.corruptImplicitCount = calcLocal(modList, "CorruptImplicitCount", "BASE", 0)
if self.quality then
modList:NewMod("Multiplier:QualityOn"..slotName, "BASE", self.quality, "Quality")
end
Expand Down
4 changes: 3 additions & 1 deletion src/Classes/ItemDBControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ function ItemDBClass:ItemDBControl(anchor, rect, itemsTab, db, dbType)
self.controls.requirement = new("DropDownControl"):DropDownControl({"LEFT",self.controls.sort,"BOTTOMLEFT"}, {0, 11, 179, 18}, { "Any requirements", "Current level", "Current attributes", "Current useable" }, function(index, value)
self.listBuildFlag = true
end)
self.controls.obtainable = new("DropDownControl"):DropDownControl({"LEFT",self.controls.requirement,"RIGHT"}, {2, 0, 179, 18}, { "Obtainable", "Any source", "Unobtainable", "Vendor Recipe", "Upgraded", "Boss Item", "Corruption"}, function(index, value)
self.controls.obtainable = new("DropDownControl"):DropDownControl({"LEFT",self.controls.requirement,"RIGHT"}, {2, 0, 179, 18}, { "Obtainable", "Any source", "Unobtainable", "Vendor Recipe", "Upgraded", "Boss Item", "Corruption", "Core Drop Pool"}, function(index, value)
self.listBuildFlag = true
end)
end
Expand Down Expand Up @@ -126,6 +126,8 @@ function ItemDBClass:DoesItemMatchFilters(item)
return false
elseif (self.controls.obtainable.selIndex == 7 and not (string.match(source, "Vaal Orb"))) then
return false
elseif (self.controls.obtainable.selIndex == 8) and item.source then
return false
end
end
if self.dbType == "UNIQUE" and self.controls.requirement.selIndex > 1 then
Expand Down
528 changes: 114 additions & 414 deletions src/Classes/ItemsTab.lua

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion src/Classes/LabelControl.lua
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ local LabelClass = newClass("LabelControl", "Control")

---@param anchor? ControlAnchor
---@param rect? ControlRect
---@param label string
---@param label Prop<string>
function LabelClass:LabelControl(anchor, rect, label)
self:Control(anchor, rect)
self.label = label
Expand Down
9 changes: 4 additions & 5 deletions src/Data/ModCache.lua
Original file line number Diff line number Diff line change
Expand Up @@ -7957,8 +7957,7 @@ c["Can be Allflame Crafted as if Rare"]={{},nil}
c["Can be Enchanted by a Kalguuran Runesmith"]={nil,"Can be Enchanted by a Kalguuran Runesmith "}
c["Can be Enchanted by a Kalguuran Runesmith Can have 2 additional Runesmithing Enchantments"]={nil,"Can be Enchanted by a Kalguuran Runesmith Can have 2 additional Runesmithing Enchantments "}
c["Can be Runesmithed as though it were all One Handed Melee Weapon Types"]={nil,"Can be Runesmithed as though it were all One Handed Melee Weapon Types "}
c["Can be modified while Corrupted"]={nil,"Can be modified while Corrupted "}
c["Can be modified while Corrupted Can have up to 5 Implicit Modifiers while Item has this Modifier"]={nil,"Can be modified while Corrupted Can have up to 5 Implicit Modifiers while Item has this Modifier "}
c["Can be modified while Corrupted"]={{[1]={flags=0,keywordFlags=0,name="CorruptImplicitCount",type="BASE",value=5}},nil}
c["Can have 2 additional Runesmithing Enchantments"]={nil,"Can have 2 additional Runesmithing Enchantments "}
c["Can have 2 additional Runesmithing Enchantments Can be Runesmithed as though it were all One Handed Melee Weapon Types"]={nil,"Can have 2 additional Runesmithing Enchantments Can be Runesmithed as though it were all One Handed Melee Weapon Types "}
c["Can have 3 additional Enchantment Modifiers"]={{},nil}
Expand Down Expand Up @@ -9308,6 +9307,8 @@ c["Grants Level 20 Doryani's Touch Skill"]={{[1]={flags=0,keywordFlags=0,name="E
c["Grants Level 20 Hatred Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="Hatred"}}},nil}
c["Grants Level 20 Illusory Warp Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="IllusoryWarp"}}},nil}
c["Grants Level 20 Misty Reflection Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="MistyReflection"}}},nil}
c["Grants Level 20 Petrification Statue Skill"]={nil,nil}
c["Grants Level 20 Petrification Statue Skill 250% increased Energy Shield"]={nil,nil}
c["Grants Level 20 Queen's Demand Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="QueensDemand"}}},nil}
c["Grants Level 20 Ravenous Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="Ravenous"}}},nil}
c["Grants Level 20 Savage Barnacle"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="BarnacleSnap"}}},nil}
Expand All @@ -9319,8 +9320,6 @@ c["Grants Level 20 Summon Bestial Rhoa Skill"]={{[1]={flags=0,keywordFlags=0,nam
c["Grants Level 20 Summon Bestial Snake Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonBeastialSnake"}}},nil}
c["Grants Level 20 Summon Bestial Ursa Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonBeastialUrsa"}}},nil}
c["Grants Level 20 Summon Doedre's Effigy Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonDoedresEffigy"}}},nil}
c["Grants Level 20 Summon Petrification Statue Skill"]={nil,nil}
c["Grants Level 20 Summon Petrification Statue Skill 250% increased Energy Shield"]={nil,nil}
c["Grants Level 20 Summon Sentinel of Radiance Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonSentinelOfRadiance"}}},nil}
c["Grants Level 20 Summon Shaper Memory"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="SummonShaperApparition"}}},nil}
c["Grants Level 20 Thirst for Blood Skill"]={{[1]={flags=0,keywordFlags=0,name="ExtraSkill",type="LIST",value={level=20,skillId="ThirstForBlood"}}},nil}
Expand Down Expand Up @@ -11051,7 +11050,7 @@ c["Removes all but one Life on use Removed life is Regenerated as Energy Shield
c["Removes all mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="MORE",value=-100}},nil}
c["Requires 8 Str, 8 Dex"]={nil,"Requires 8 Str, 8 Dex "}
c["Requires 8 Str, 8 Dex 40% increased Cast Speed"]={nil,"Requires 8 Str, 8 Dex 40% increased Cast Speed "}
c["Requires 8 Str, 8 Dex Implicits: 0"]={nil,"Requires 8 Str, 8 Dex Implicits: 0 "}
c["Requires 8 Str, 8 Dex Source: Fishing"]={nil,"Requires 8 Str, 8 Dex Source: Fishing "}
c["Requires Class Duelist"]={nil,"Requires Class Duelist "}
c["Requires Class Duelist Allocates Bane of Legends if you have the matching modifier on Forbidden Flame"]={nil,"Requires Class Duelist Allocates Bane of Legends if you have the matching modifier on Forbidden Flame "}
c["Requires Class Duelist Allocates Bane of Legends if you have the matching modifier on Forbidden Flesh"]={nil,"Requires Class Duelist Allocates Bane of Legends if you have the matching modifier on Forbidden Flesh "}
Expand Down
2 changes: 2 additions & 0 deletions src/Data/Uniques/body.lua
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ Having a placed Banner does not prevent you gaining Valour
Pragmatism
Colosseum Plate
League: Affliction
Source: unique{The King in the Mists} in the normal{Crux of Nothingness}
Requires Level 49, 134 Str
+12 to Level of Socketed Skill Gems
(80-120)% increased Armour
Expand Down Expand Up @@ -1157,6 +1158,7 @@ Gain a Power Charge for each Enemy you hit with a Critical Strike
Waxen Soul
Saint's Hauberk
League: Ritual
Source: Reward from Nameless Ritual, and rarely a regular Ritual
(10-20)% increased maximum Life
+(17-29)% to Chaos Resistance
Curse Skills cost Life instead of Mana
Expand Down
5 changes: 5 additions & 0 deletions src/Data/Uniques/boots.lua
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ Unwavering Stance
Redblade Tramplers
Ancient Greaves
League: Warbands
Source: Drops from Redblade Mercenary monsters
Variant: Pre 2.6.0
Variant: Current
Requires Level 46, 82 Str
Expand Down Expand Up @@ -612,6 +613,7 @@ Stun Threshold is based on 500% of your Mana instead of Life
Steppan Eard
Sorcerer Boots
League: Warbands
Source: Drops from Renegade Warband monsters
Variant: Pre 3.0.0
Variant: Current
Requires Level 67, 123 Int
Expand Down Expand Up @@ -784,6 +786,7 @@ Lose Adrenaline when you cease to be Flame-Touched
Gamblesprint
Hydrascale Boots
League: Affliction
Source: Reward from Ultimatum encounters
Requires Level 59, 56 Str, 56 Dex
+(30-40) to Dexterity
(100-150)% increased Armour and Evasion
Expand Down Expand Up @@ -951,6 +954,7 @@ Gain (10-20) Life per Enemy Killed
Brinerot Whalers
Trapper Boots
League: Warbands
Source: Drops from Brinerot Warband monsters
Variant: Pre 2.6.0
Variant: Pre 3.0.0
Variant: Current
Expand Down Expand Up @@ -1170,6 +1174,7 @@ Celestial Footprints
Olroth's Charge
Runic Sollerets
League: Expedition
Source: Drops from Expedition monsters
Requires Level 48, 37 Str, 37 Dex, 37 Int
(50-80)% increased Ward
(30-50)% slower Restoration of Ward
Expand Down
1 change: 1 addition & 0 deletions src/Data/Uniques/fishing.lua
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Glows while in an Area containing a Unique Fish
Song of the Sirens
Fishing Rod
Requires 8 Str, 8 Dex
Source: Fishing
Implicits: 0
Siren Worm Bait
(50-60)% increased Rarity of Fish Caught
Expand Down
6 changes: 5 additions & 1 deletion src/Data/Uniques/gloves.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ return {
Admiral's Arrogance
Antique Gauntlets
League: Settlers of Kalguur
Source: Drops from unique{Admiral Valerius} in normal{Shipping encounters}
Requires Level 39, 58 Str
(6-12)% increased Attack Speed
(100-140)% increased Armour
Expand Down Expand Up @@ -886,6 +887,7 @@ Chaos Skills have 20% chance to Ignite
Hand of Heresy
Martyr Gloves
League: Mercenaries of Trarthus
Source: Reward from Mercenary duel
Variant: Pre 3.28.0
Variant: Current
Requires Level 77, 70 Str, 70 Int
Expand Down Expand Up @@ -921,7 +923,6 @@ Unaffected by Shock while Leeching Energy Shield
Algor Mortis
Carnal Mitts
League: Delirium
Source: Drops from the Simulacrum Encounter
Requires Level 50, 39 Dex, 39 Int
+(50-70) to maximum Energy Shield
+(15-20)% to Cold and Lightning Resistances
Expand Down Expand Up @@ -1064,6 +1065,7 @@ Requires Level 5
]],[[
Malachai's Mark
Murder Mitts
Source: Drops from unique{Nightmare of the Depraved Trinity} in normal{Abomination Map}
Requires Level 67, 51 Dex, 51 Int
(80-100)% increased Evasion and Energy Shield
+(60-80) to maximum Life
Expand Down Expand Up @@ -1147,6 +1149,7 @@ Medved's Challenge
Runic Gauntlets
Requires Level 69, 38 Str, 38 Dex, 38 Int
League: Expedition
Source: Drops from Expedition monsters
800% increased Attribute Requirements
(30-50)% increased Ward
+(15-25)% to all Elemental Resistances
Expand All @@ -1159,6 +1162,7 @@ Variant: Pre 3.16.0
Variant: Pre 3.25.0
Variant: Current
League: Expedition
Source: Drops from Expedition monsters
Requires Level 48, 31 Str, 31 Dex, 31 Int
(33-48)% increased Ward
+(17-23)% to Chaos Resistance
Expand Down
8 changes: 7 additions & 1 deletion src/Data/Uniques/helmet.lua
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@
Kaom's Command
Siege Helmet
League: Settlers of Kalguur
Source: Kingsmarch Shipping to normal{Ngakanu} or normal{Te Onui}

Check warning on line 136 in src/Data/Uniques/helmet.lua

View workflow job for this annotation

GitHub Actions / spellcheck

Unknown word (Onui)
Requires Level 48, 101 Str
+(60-80) to maximum Life
(25-35)% increased Warcry Speed
Expand Down Expand Up @@ -784,6 +785,7 @@
Variant: Pre 3.19.0
Variant: Pre 3.24.0
Variant: Current
Source: Drops from unique{Nightmare of Catarina} in normal{Ziggurat Map}
Requires Level: 34, 73 Int
{variant:3}Has 4 Abyssal Sockets
{variant:1,2}+2 to Level of Socketed Minion Gems
Expand Down Expand Up @@ -1028,6 +1030,7 @@
El'Abin's Visage
Fencer Helm
League: Crucible
Source: Drops from Crucible monsters
+(20-30) to Strength
+(20-30) to Dexterity
(80-120)% increased Armour and Evasion
Expand All @@ -1038,6 +1041,7 @@
The Trickster's Smile
Visored Sallet
League: Affliction
Source: Drops from Viridian Wildwood and Ritual monsters
Requires Level 23, 28 Str, 28 Dex
(60-100)% increased Armour and Evasion
Reflects 100 Cold Damage to Melee Attackers
Expand Down Expand Up @@ -1508,10 +1512,11 @@
Corrupted
]],[[
Gorgon's Gaze
Source: Drops from unique{Talin, Faithbreaker} in normal{Pillars of Arun}
Regicide Mask
Requires Level 52, 58 Dex, 58 Int
Implicits: 0
Grants Level 20 Summon Petrification Statue Skill
Grants Level 20 Petrification Statue Skill
(200-250)% increased Energy Shield
+(60-80) to maximum Life
(5-10)% increased Attack and Cast Speed
Expand Down Expand Up @@ -1714,6 +1719,7 @@
Faithguard
Runic Helm
League: Expedition
Source: Drops from Expedition monsters
Variant: Pre 3.19.0
Variant: Current
+(20-30) to Intelligence
Expand Down
4 changes: 4 additions & 0 deletions src/Data/Uniques/jewel.lua
Original file line number Diff line number Diff line change
Expand Up @@ -857,18 +857,21 @@ Radius: Medium
[[
Amanamu's Gaze
Ghastly Eye Jewel
Source: Drops from unique{Abyssal Liches} in normal{Abyssal Depths}
+(5-10) to all Attributes
Minions have +6% to Damage over Time Multiplier per
Ghastly Eye Jewel affecting you, up to a maximum of +30%
]],[[
Kurgal's Gaze
Hypnotic Eye Jewel
Source: Drops from unique{Abyssal Liches} in normal{Abyssal Depths}
+(10-20) to Intelligence
8% increased Effect of Arcane Surge on you per
Hypnotic Eye Jewel affecting you, up to a maximum of 40%
]],[[
Tecrod's Gaze
Murderous Eye Jewel
Source: Drops from unique{Abyssal Liches} in normal{Abyssal Depths}
Variant: Pre 3.21.0
Variant: Current
Requires Level 40
Expand All @@ -884,6 +887,7 @@ Requires Level 40
]],[[
Ulaman's Gaze
Searching Eye Jewel
Source: Drops from unique{Abyssal Liches} in normal{Abyssal Depths}
Requires Level 40
+(10-20) to Dexterity
Projectiles have 4% chance to be able to Chain when colliding with terrain per
Expand Down
1 change: 1 addition & 0 deletions src/Data/Uniques/quiver.lua
Original file line number Diff line number Diff line change
Expand Up @@ -295,6 +295,7 @@ Broadhead Arrow Quiver
Variant: Pre 3.17.0
Variant: Current
LevelReq: 52
Source: Labyrinth
Implicits: 2
{variant:2}(8-10)% increased Attack Speed
{variant:1}6 to 12 Added Physical Damage with Bow Attacks
Expand Down
12 changes: 11 additions & 1 deletion src/Data/Uniques/shield.lua
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,7 @@ Triggers Level 20 Elemental Aegis when Equipped
Redblade Banner
Painted Tower Shield
League: Warbands
Source: Drops from Redblade Mercenary monsters
Variant: Pre 2.6.0
Variant: Pre 3.0.0
Variant: Pre 3.11.0
Expand All @@ -157,6 +158,7 @@ Implicits: 1
Svalinn
Girded Tower Shield
League: Settlers of Kalguur
Source: Drops from unique{The Black Knight} in a normal{Starfall Crater}
Requires Level 51, 123 Str
Implicits: 1
+(10-20) to maximum Life
Expand Down Expand Up @@ -392,6 +394,7 @@ You are at Maximum Chance to Block Spell Damage if you have not Blocked Recently
Mutewind Pennant
Enameled Buckler
League: Warbands
Source: Drop from Mutewind Mercenary monsters
Variant: Pre 2.6.0
Variant: Pre 3.0.0
Variant: Pre 3.11.0
Expand Down Expand Up @@ -536,6 +539,7 @@ Your Raised Spectres also gain Arcane Surge when you do
Brinerot Flag
Tarnished Spirit Shield
League: Warbands
Source: Drops from Brinerot Warband monsters
Variant: Pre 2.6.0
Variant: Pre 3.0.0
Variant: Pre 3.11.0
Expand Down Expand Up @@ -672,6 +676,7 @@ Shocks you when you reach Maximum Power Charges
Manastorm
{variant:1}Fossilised Spirit Shield
{variant:2,3}Lacewood Spirit Shield
Source: Drops from unique{Nightmare of Uhtred} in normal{Citadel Map}
Variant: Pre 3.19.0
Variant: Pre 3.24.0
Variant: Current
Expand Down Expand Up @@ -749,6 +754,7 @@ Implicits: 0
]],[[
The Scales of Justice
Chiming Spirit Shield
Source: Labyrinth
Implicits: 1
(10-15)% increased Spell Damage
Has no Energy Shield
Expand Down Expand Up @@ -777,6 +783,7 @@ Curse Enemies with Elemental Weakness when you Block their Spell Damage, ignorin
The Flawed Refuge
Maple Round Shield
League: Affliction
Source: Drops from Viridian Wildwood and Ritual monsters
Requires Level 39, 52 Str, 52 Dex
Implicits: 1
180% increased Block Recovery
Expand Down Expand Up @@ -827,6 +834,7 @@ Teak Round Shield
Variant: Pre 3.16.0
Variant: Current
League: Heist
Source: Reward from Mercenary duel
Implicits: 1
180% increased Block Recovery
+2 to Level of Socketed Support Gems
Expand Down Expand Up @@ -887,6 +895,7 @@ Socketed Support Gems can also Support Skills from your Main Hand
]],[[
Vix Lunaris
Cardinal Round Shield
Source: Drops from unique{Selenia, the Endless Night} in normal{The Twilight Temple}
Implicits: 0
+2 to Level of Socketed Gems
Triggers Level 20 Cold Aegis when Equipped
Expand Down Expand Up @@ -943,6 +952,7 @@ Implicits: 0
Broken Faith
Archon Kite Shield
League: Warbands
Source: Drops from Renegade Warband monsters
Variant: Pre 2.6.0
Variant: Pre 3.11.0
Variant: Current
Expand Down Expand Up @@ -976,6 +986,7 @@ Glancing Blows
]],[[
Invictus Solaris
Archon Kite Shield
Source: Drops from unique{Helial, the Day Unending}
Implicits: 1
+12% to all Elemental Resistances
+2 to Level of Socketed Gems
Expand Down Expand Up @@ -1214,7 +1225,6 @@ Implicits: 2
]],[[
Leper's Alms
Mirrored Spiked Shield
Source: Drops from unique{The Eradicator}
Variant: Pre 3.5.0
Variant: Current
Implicits: 1
Expand Down
1 change: 1 addition & 0 deletions src/Data/Uniques/staff.lua
Original file line number Diff line number Diff line change
Expand Up @@ -780,6 +780,7 @@ Highborn Staff
Variant: Pre 3.25.0
Variant: Current
League: Crucible
Source: Drops from Crucible monsters
Implicits: 2
{variant:1}+18% Chance to Block Attack Damage
{variant:2}+22% Chance to Block Attack Damage
Expand Down
Loading
Loading