Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/Classes/ImportTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -914,7 +914,7 @@ function ImportTabClass:ImportItemsAndSkills(charData)
end

local rarityMap = { [0] = "NORMAL", "MAGIC", "RARE", "UNIQUE", [9] = "RELIC", [10] = "RELIC" }
local slotMap = { ["Weapon"] = "Weapon 1", ["Offhand"] = "Weapon 2", ["Weapon2"] = "Weapon 1 Swap", ["Offhand2"] = "Weapon 2 Swap", ["Helm"] = "Helmet", ["BodyArmour"] = "Body Armour", ["Gloves"] = "Gloves", ["Boots"] = "Boots", ["Amulet"] = "Amulet", ["Ring"] = "Ring 1", ["Ring2"] = "Ring 2", ["Ring3"] = "Ring 3", ["Belt"] = "Belt" }
local slotMap = { ["Weapon"] = "Weapon 1", ["Offhand"] = "Weapon 2", ["Weapon2"] = "Weapon 1 Swap", ["Offhand2"] = "Weapon 2 Swap", ["Helm"] = "Helmet", ["BodyArmour"] = "Body Armour", ["Gloves"] = "Gloves", ["Boots"] = "Boots", ["Amulet"] = "Amulet", ["Ring"] = "Ring 1", ["Ring2"] = "Ring 2", ["Ring3"] = "Ring 3", ["Belt"] = "Belt", ["IncursionArmLeft"] = "Arm 2", ["IncursionArmRight"] = "Arm 1", ["IncursionLegLeft"] = "Leg 2", ["IncursionLegRight"] = "Leg 1" }

function ImportTabClass:ImportItem(itemData, slotName)
if not slotName then
Expand Down
6 changes: 5 additions & 1 deletion src/Classes/Item.lua
Original file line number Diff line number Diff line change
Expand Up @@ -712,7 +712,7 @@ function ItemClass:ParseRaw(raw, rarity, highQuality)
self.affixes = (self.base.subType and data.itemMods[self.base.type..self.base.subType])
or data.itemMods[self.base.type]
or data.itemMods.Item
self.corruptible = self.base.type ~= "Flask" and self.base.type ~= "Charm" and self.base.type ~= "Rune" and self.base.type ~= "SoulCore"
self.corruptible = self.base.type ~= "Flask" and self.base.type ~= "Charm" and self.base.type ~= "Rune" and self.base.type ~= "SoulCore" and self.base.type ~= "Transcendent Limb"
self.clusterJewel = data.clusterJewels and data.clusterJewels.jewels[self.baseName]
self.requirements.str = self.base.req.str or 0
self.requirements.dex = self.base.req.dex or 0
Expand Down Expand Up @@ -1450,6 +1450,10 @@ function ItemClass:GetPrimarySlot()
return "Ring 1"
elseif self.type == "Flask" then
return "Flask 1"
elseif self.base.subType == "Transcendent Leg" then
return "Leg 1"
elseif self.base.subType == "Transcendent Arm" then
return "Arm 1"
else
return self.type
end
Expand Down
18 changes: 15 additions & 3 deletions src/Classes/ItemsTab.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ local socketDropList = {
{ label = colorCodes.SCION.."S", color = "W" }
}

local baseSlots = { "Weapon 1", "Weapon 2", "Helmet", "Body Armour", "Gloves", "Boots", "Amulet", "Ring 1", "Ring 2", "Ring 3","Belt", "Charm 1", "Charm 2", "Charm 3", "Flask 1", "Flask 2" }
local baseSlots = { "Weapon 1", "Weapon 2", "Helmet", "Body Armour", "Gloves", "Boots", "Amulet", "Ring 1", "Ring 2", "Ring 3","Belt", "Charm 1", "Charm 2", "Charm 3", "Flask 1", "Flask 2", "Arm 1", "Arm 2", "Leg 1", "Leg 2" }

local catalystQualityFormat = {
"^x7F7F7FQuality (Life Modifiers): "..colorCodes.MAGIC.."+%d%% (augmented)",
Expand Down Expand Up @@ -1926,6 +1926,10 @@ function ItemsTabClass:IsItemValidForSlot(item, slotName, itemSet, flagState)
elseif item.baseName:match("Mana Flask") and slotName:match("Flask 2") then
return true
end
elseif item.base.subType == "Transcendent Arm" and slotType == "Arm" then
return true
elseif item.base.subType == "Transcendent Leg" and slotType == "Leg" then
return true
elseif item.type == slotType then
return true
elseif slotName == "Weapon 1" or slotName == "Weapon 1 Swap" or slotName == "Weapon" then
Expand Down Expand Up @@ -2038,6 +2042,9 @@ function ItemsTabClass:CraftItem()
raritySel = 1
end
end
if base.base.type == "Transcendent Limb" then
raritySel = 1
end
if raritySel == 2 or raritySel == 3 then
item.crafted = true
end
Expand Down Expand Up @@ -3064,8 +3071,13 @@ function ItemsTabClass:AddItemTooltip(tooltip, item, slot, dbMode)
end

-- Show flavour text:
if item.rarity == "UNIQUE" or item.rarity == "RELIC" then
local flavourTable = flavourLookup[item.title]
if item.rarity == "UNIQUE" or item.rarity == "RELIC" or item.base.type =="Transcendent Limb" and main.showFlavourText then
local flavourTable
if item.base.type =="Transcendent Limb" then
flavourTable = flavourLookup["Transcendent Limb"]
else
flavourTable = flavourLookup[item.title]
end
if flavourTable then
local flavour = nil

Expand Down
101 changes: 101 additions & 0 deletions src/Data/Bases/incursionlimb.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
-- This file is automatically generated, do not edit!
-- Item data (c) Grinding Gear Games
local itemBases = ...


itemBases["Guarding Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(8-12)% increased Block chance",
implicitModTypes = { { "block" }, },
req = { },
}
itemBases["Combat Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(6-10)% increased Attack Speed",
implicitModTypes = { { "attack", "speed" }, },
req = { },
}
itemBases["Caster Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(6-10)% increased Cast Speed",
implicitModTypes = { { "caster", "speed" }, },
req = { },
}
itemBases["Decrepifying Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(12-16)% increased Curse Magnitudes",
implicitModTypes = { { "caster", "curse" }, },
req = { },
}
itemBases["Deflective Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(6-10)% increased Deflection Rating",
implicitModTypes = { { "evasion", "defences" }, },
req = { },
}
itemBases["Commanding Arm"] = {
type = "Transcendent Limb",
subType = "Transcendent Arm",
tags = { default = true, },
implicit = "(15-25)% increased Presence Area of Effect",
implicitModTypes = { { }, },
req = { },
}
itemBases["Evasive Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(20-30)% increased Evasion Rating",
implicitModTypes = { { "evasion", "defences" }, },
req = { },
}
itemBases["Sprinters Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(6-10)% increased Movement Speed while Sprinting",
implicitModTypes = { { }, },
req = { },
}
itemBases["Sturdy Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(15-25)% increased Stun Threshold",
implicitModTypes = { { }, },
req = { },
}
itemBases["Surefooted Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(5-10)% reduced Movement Speed Penalty from using Skills while moving",
implicitModTypes = { { "speed" }, },
req = { },
}
itemBases["Calm Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(20-30)% increased Mana Regeneration Rate while moving",
implicitModTypes = { { "resource", "mana" }, },
req = { },
}
itemBases["Restorative Leg"] = {
type = "Transcendent Limb",
subType = "Transcendent Leg",
tags = { default = true, },
implicit = "(6-10)% of Damage taken Recouped as Life",
implicitModTypes = { { "resource", "life" }, },
req = { },
}
8 changes: 8 additions & 0 deletions src/Data/FlavourText.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3224,4 +3224,12 @@ return {
"lung. You never know what Vaal technology will cost you...\"",
},
},
[402] = {
id = "VaalLimbReplacements",
name = "Transcendent Limb",
text = {
"\"Behold! A marvel of innovation! Pay no mind the cost of flesh...\"",
"- Guatelitzi, Architect of Flesh",
},
},
}
17 changes: 17 additions & 0 deletions src/Data/ModIncursionLimb.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
-- This file is automatically generated, do not edit!
-- Item data (c) Grinding Gear Games

return {
["IncursionLeg1"] = { affix = "", "(20-30)% increased Evasion Rating", statOrder = { 866 }, level = 0, group = "GlobalEvasionRatingPercent", weightKey = { }, weightVal = { }, modTags = { "evasion", "defences" }, tradeHash = 2106365538, },
["IncursionLeg2"] = { affix = "", "(6-10)% increased Movement Speed while Sprinting", statOrder = { 9465 }, level = 0, group = "MovementVelocityWhileSprinting", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 3107707789, },
["IncursionLeg3"] = { affix = "", "(15-25)% increased Stun Threshold", statOrder = { 2878 }, level = 0, group = "IncreasedStunThreshold", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 680068163, },
["IncursionLeg4"] = { affix = "", "(5-10)% reduced Movement Speed Penalty from using Skills while moving", statOrder = { 8594 }, level = 0, group = "MovementVelocityPenaltyWhilePerformingAction", weightKey = { }, weightVal = { }, modTags = { "speed" }, tradeHash = 2590797182, },
["IncursionLeg5"] = { affix = "", "(20-30)% increased Mana Regeneration Rate while moving", statOrder = { 7532 }, level = 0, group = "ManaRegenerationRateWhileMoving", weightKey = { }, weightVal = { }, modTags = { "resource", "mana" }, tradeHash = 1327522346, },
["IncursionLeg6"] = { affix = "", "(6-10)% of Damage taken Recouped as Life", statOrder = { 970 }, level = 0, group = "DamageTakenGainedAsLife", weightKey = { }, weightVal = { }, modTags = { "resource", "life" }, tradeHash = 1444556985, },
["IncursionArm1"] = { affix = "", "(8-12)% increased Block chance", statOrder = { 1064 }, level = 0, group = "IncreasedBlockChance", weightKey = { }, weightVal = { }, modTags = { "block" }, tradeHash = 4147897060, },
["IncursionArm2"] = { affix = "", "(6-10)% increased Attack Speed", statOrder = { 941 }, level = 0, group = "IncreasedAttackSpeed", weightKey = { }, weightVal = { }, modTags = { "attack", "speed" }, tradeHash = 681332047, },
["IncursionArm3"] = { affix = "", "(6-10)% increased Cast Speed", statOrder = { 942 }, level = 0, group = "IncreasedCastSpeed", weightKey = { }, weightVal = { }, modTags = { "caster", "speed" }, tradeHash = 2891184298, },
["IncursionArm4"] = { affix = "", "(12-16)% increased Curse Magnitudes", statOrder = { 2266 }, level = 0, group = "CurseEffectiveness", weightKey = { }, weightVal = { }, modTags = { "caster", "curse" }, tradeHash = 2353576063, },
["IncursionArm5"] = { affix = "", "(6-10)% increased Deflection Rating", statOrder = { 5721 }, level = 0, group = "GlobalDeflectionRating", weightKey = { }, weightVal = { }, modTags = { "evasion", "defences" }, tradeHash = 3040571529, },
["IncursionArm6"] = { affix = "", "(15-25)% increased Presence Area of Effect", statOrder = { 1002 }, level = 0, group = "PresenceRadius", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 101878827, },
}
6 changes: 6 additions & 0 deletions src/Data/Uniques/incursionlimb.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-- Item data (c) Grinding Gear Games

return {
-- Transcendent Limb

}
9 changes: 9 additions & 0 deletions src/Export/Bases/incursionlimb.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
-- Item data (c) Grinding Gear Games
local itemBases = ...

#type Transcendent Limb

#subType Transcendent Arm
#baseMatch Metadata/Items/Incursion/Arm%d+
#subType Transcendent Leg
#baseMatch Metadata/Items/Incursion/Leg%d+
2 changes: 2 additions & 0 deletions src/Export/Classes/GGPKData.lua
Original file line number Diff line number Diff line change
Expand Up @@ -371,6 +371,8 @@ function GGPKClass:GetNeededFiles()
local itFiles = {
"Metadata/Items/Equipment.it",
"Metadata/Items/Item.it",
"Metadata/Items/Incursion2/Arm.it",
"Metadata/Items/Incursion2/Leg.it",
"Metadata/Items/Weapons/AbstractWeapon.it",
"Metadata/Items/Weapons/TwoHandWeapons/AbstractTwoHandWeapon.it",
"Metadata/Items/Weapons/TwoHandWeapons/TwoHandSwords/StormbladeTwoHand.it",
Expand Down
1 change: 1 addition & 0 deletions src/Export/Scripts/bases.lua
Original file line number Diff line number Diff line change
Expand Up @@ -469,6 +469,7 @@ local itemTypes = {
"jewel",
"flask",
"talisman",
"incursionlimb",
}
for _, name in pairs(itemTypes) do
processTemplateFile(name, "Bases/", "../Data/Bases/", directiveTable)
Expand Down
1 change: 1 addition & 0 deletions src/Export/Scripts/flavourText.lua
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ local forcedNameMap = {
["FourUniqueSceptre6a"] = "Guiding Palm of the Heart",
["FourUniqueSceptre6b"] = "Guiding Palm of the Eye",
["FourUniqueSceptre6c"] = "Guiding Palm of the Mind",
["VaalLimbReplacements"] = "Transcendent Limb",
}

for row in dat("UniqueStashLayout"):Rows() do
Expand Down
3 changes: 3 additions & 0 deletions src/Export/Scripts/mods.lua
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,9 @@ end)
writeMods("../Data/ModJewel.lua", function(mod)
return (mod.Domain == 11 and (mod.GenerationType == 1 or mod.GenerationType == 2)) or (mod.Domain == 21 and mod.GenerationType == 3)
end)
writeMods("../Data/ModIncursionLimb.lua", function(mod)
return (mod.Domain == 37 and mod.GenerationType == 3)
end)
writeMods("../Data/ModItemExclusive.lua", function(mod) -- contains primarily uniques and items implicits but also other mods only available on a single base or unique.
return (mod.Domain == 1 or mod.Domain == 2 or mod.Domain == 11 or mod.Domain == 22) and mod.GenerationType == 3
and (mod.Family[1] and mod.Family[1].Id ~= "AuraBonus" or not mod.Family[1])
Expand Down
1 change: 1 addition & 0 deletions src/Export/Scripts/uModsToText.lua
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ local itemTypes = {
"jewel",
"flask",
"soulcore",
"incursionlimb",
}
local function writeMods(out, statOrder)
local orders = { }
Expand Down
6 changes: 6 additions & 0 deletions src/Export/Uniques/incursionlimb.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
-- Item data (c) Grinding Gear Games

return {
-- Transcendent Limb

}
2 changes: 2 additions & 0 deletions src/Modules/Data.lua
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ local itemTypes = {
"belt",
"jewel",
"flask",
"incursionlimb"
}

local function makeSkillMod(modName, modType, modVal, flags, keywordFlags, ...)
Expand Down Expand Up @@ -617,6 +618,7 @@ data.itemMods = {
Item = LoadModule("Data/ModItem"),
Flask = LoadModule("Data/ModFlask"),
Charm = LoadModule("Data/ModCharm"),
IncursionLimb = LoadModule("Data/ModIncursionLimb"),
Jewel = LoadModule("Data/ModJewel"),
Corruption = LoadModule("Data/ModCorrupted"),
Runes = LoadModule("Data/ModRunes"),
Expand Down