diff --git a/src/Classes/ImportTab.lua b/src/Classes/ImportTab.lua index 572d9f04e4..ef26f786b5 100644 --- a/src/Classes/ImportTab.lua +++ b/src/Classes/ImportTab.lua @@ -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 diff --git a/src/Classes/Item.lua b/src/Classes/Item.lua index c4c866b4d0..d1551aeda8 100644 --- a/src/Classes/Item.lua +++ b/src/Classes/Item.lua @@ -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 @@ -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 diff --git a/src/Classes/ItemsTab.lua b/src/Classes/ItemsTab.lua index fb903deb62..7a5eab01bf 100644 --- a/src/Classes/ItemsTab.lua +++ b/src/Classes/ItemsTab.lua @@ -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)", @@ -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 @@ -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 @@ -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:find("Transcendent") and main.showFlavourText then + local flavourTable + if item.base.type:find("Transcendent") then + flavourTable = flavourLookup["Transcendent Limb"] + else + flavourTable = flavourLookup[item.title] + end if flavourTable then local flavour = nil diff --git a/src/Data/Bases/incursionlimb.lua b/src/Data/Bases/incursionlimb.lua new file mode 100644 index 0000000000..eb7b76c052 --- /dev/null +++ b/src/Data/Bases/incursionlimb.lua @@ -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 = { }, +} diff --git a/src/Data/FlavourText.lua b/src/Data/FlavourText.lua index 77222a2e9a..c9b4b87e0a 100644 --- a/src/Data/FlavourText.lua +++ b/src/Data/FlavourText.lua @@ -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", + }, + }, } diff --git a/src/Data/ModCorrupted.lua b/src/Data/ModCorrupted.lua index 469c3c64ed..e368ee055c 100644 --- a/src/Data/ModCorrupted.lua +++ b/src/Data/ModCorrupted.lua @@ -109,24 +109,24 @@ return { ["CorruptionAlliesInPresenceIncreasedCastSpeed1"] = { type = "Corrupted", affix = "", "Allies in your Presence have (5-10)% increased Cast Speed", statOrder = { 894 }, level = 1, group = "AlliesInPresenceIncreasedCastSpeed", weightKey = { "sceptre", "default", }, weightVal = { 1, 0 }, modTags = { "caster", "speed" }, tradeHash = 289128254, }, ["CorruptionAlliesInPresenceCriticalStrikeMultiplier1"] = { type = "Corrupted", affix = "", "Allies in your Presence have (10-15)% increased Critical Damage Bonus", statOrder = { 892 }, level = 1, group = "AlliesInPresenceCriticalStrikeMultiplier", weightKey = { "sceptre", "default", }, weightVal = { 1, 0 }, modTags = { "damage", "critical" }, tradeHash = 3057012405, }, ["CorruptionChanceToPierce1"] = { type = "Corrupted", affix = "", "(20-30)% chance to Pierce an Enemy", statOrder = { 1001 }, level = 1, group = "ChanceToPierce", weightKey = { "quiver", "default", }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 2321178454, }, - ["CorruptionChainFromTerrain1"] = { type = "Corrupted", affix = "", "Projectiles have (10-20)% chance to Chain an additional time from terrain", statOrder = { 8959 }, level = 1, group = "ChainFromTerrain", weightKey = { "quiver", "default", }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 4081947835, }, - ["CorruptionJewelStrength1"] = { type = "Corrupted", affix = "", "+(4-6) to Strength", statOrder = { 943 }, level = 1, group = "Strength", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "attribute" }, tradeHash = 4080418644, }, - ["CorruptionJewelDexterity1"] = { type = "Corrupted", affix = "", "+(4-6) to Dexterity", statOrder = { 944 }, level = 1, group = "Dexterity", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "attribute" }, tradeHash = 3261801346, }, - ["CorruptionJewelIntelligence1"] = { type = "Corrupted", affix = "", "+(4-6) to Intelligence", statOrder = { 945 }, level = 1, group = "Intelligence", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "attribute" }, tradeHash = 328541901, }, - ["CorruptionJewelFireResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Fire Resistance", statOrder = { 954 }, level = 1, group = "FireResistance", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "elemental", "fire", "resistance" }, tradeHash = 3372524247, }, - ["CorruptionJewelColdResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Cold Resistance", statOrder = { 955 }, level = 1, group = "ColdResistance", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "elemental", "cold", "resistance" }, tradeHash = 4220027924, }, - ["CorruptionJewelLightningResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Lightning Resistance", statOrder = { 956 }, level = 1, group = "LightningResistance", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "elemental", "lightning", "resistance" }, tradeHash = 1671376347, }, - ["CorruptionJewelChaosResist1"] = { type = "Corrupted", affix = "", "+(3-7)% to Chaos Resistance", statOrder = { 957 }, level = 1, group = "ChaosResistance", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "chaos", "resistance" }, tradeHash = 2923486259, }, - ["CorruptionJewelMaimImmunity1"] = { type = "Corrupted", affix = "", "Immune to Maim", statOrder = { 6752 }, level = 1, group = "ImmuneToMaim", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 3429557654, }, - ["CorruptionJewelHinderImmunity1"] = { type = "Corrupted", affix = "", "You cannot be Hindered", statOrder = { 9764 }, level = 1, group = "YouCannotBeHindered", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "blue_herring" }, tradeHash = 721014846, }, - ["CorruptionJewelCorruptedBloodImmunity1"] = { type = "Corrupted", affix = "", "Corrupted Blood cannot be inflicted on you", statOrder = { 4866 }, level = 1, group = "CorruptedBloodImmunity", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { "bleed", "physical", "ailment" }, tradeHash = 1658498488, }, - ["CorruptionJewelBlindImmunity1"] = { type = "Corrupted", affix = "", "Cannot be Blinded", statOrder = { 2599 }, level = 1, group = "ImmunityToBlind", weightKey = { "jewel", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 1436284579, }, - ["SpecialCorruptionWarcrySpeed1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Warcry Speed", statOrder = { 2875 }, level = 1, group = "WarcrySpeed", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { "speed" }, tradeHash = 1316278494, }, - ["SpecialCorruptionCurseEffect1"] = { type = "SpecialCorrupted", affix = "", "(5-10)% increased Curse Magnitudes", statOrder = { 2258 }, level = 1, group = "CurseEffectiveness", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { "caster", "curse" }, tradeHash = 2353576063, }, - ["SpecialCorruptionAreaOfEffect1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Area of Effect", statOrder = { 1554 }, level = 1, group = "AreaOfEffect", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 280731498, }, - ["SpecialCorruptionPresenceRadius1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Presence Area of Effect", statOrder = { 998 }, level = 1, group = "PresenceRadius", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 101878827, }, - ["SpecialCorruptionCooldownRecovery1"] = { type = "SpecialCorrupted", affix = "", "(8-12)% increased Cooldown Recovery Rate", statOrder = { 4509 }, level = 1, group = "GlobalCooldownRecovery", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 1004011302, }, - ["SpecialCorruptionSkillEffectDuration1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Skill Effect Duration", statOrder = { 1569 }, level = 1, group = "SkillEffectDuration", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 3377888098, }, - ["SpecialCorruptionEnergyGeneration1"] = { type = "SpecialCorrupted", affix = "", "Meta Skills gain (20-30)% increased Energy", statOrder = { 5918 }, level = 1, group = "EnergyGeneration", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 4236566306, }, - ["SpecialCorruptionDamageGainedAsChaos1"] = { type = "SpecialCorrupted", affix = "", "Gain (5-8)% of Damage as Extra Chaos Damage", statOrder = { 1599 }, level = 1, group = "DamageGainedAsChaos", weightKey = { "helmet", "default" }, weightVal = { 1, 0 }, modTags = { "chaos_damage", "damage", "chaos" }, tradeHash = 3398787959, }, + ["CorruptionChainFromTerrain1"] = { type = "Corrupted", affix = "", "Projectiles have (10-20)% chance to Chain an additional time from terrain", statOrder = { 8970 }, level = 1, group = "ChainFromTerrain", weightKey = { "quiver", "default", }, weightVal = { 1, 0 }, modTags = { }, tradeHash = 4081947835, }, + ["CorruptionJewelStrength1"] = { type = "Corrupted", affix = "", "+(4-6) to Strength", statOrder = { 947 }, level = 1, group = "Strength", weightKey = { "default", }, weightVal = { 1 }, modTags = { "attribute" }, tradeHash = 4080418644, }, + ["CorruptionJewelDexterity1"] = { type = "Corrupted", affix = "", "+(4-6) to Dexterity", statOrder = { 948 }, level = 1, group = "Dexterity", weightKey = { "default", }, weightVal = { 1 }, modTags = { "attribute" }, tradeHash = 3261801346, }, + ["CorruptionJewelIntelligence1"] = { type = "Corrupted", affix = "", "+(4-6) to Intelligence", statOrder = { 949 }, level = 1, group = "Intelligence", weightKey = { "default", }, weightVal = { 1 }, modTags = { "attribute" }, tradeHash = 328541901, }, + ["CorruptionJewelFireResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Fire Resistance", statOrder = { 958 }, level = 1, group = "FireResistance", weightKey = { "default", }, weightVal = { 1 }, modTags = { "elemental", "fire", "resistance" }, tradeHash = 3372524247, }, + ["CorruptionJewelColdResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Cold Resistance", statOrder = { 959 }, level = 1, group = "ColdResistance", weightKey = { "default", }, weightVal = { 1 }, modTags = { "elemental", "cold", "resistance" }, tradeHash = 4220027924, }, + ["CorruptionJewelLightningResist1"] = { type = "Corrupted", affix = "", "+(5-10)% to Lightning Resistance", statOrder = { 960 }, level = 1, group = "LightningResistance", weightKey = { "default", }, weightVal = { 1 }, modTags = { "elemental", "lightning", "resistance" }, tradeHash = 1671376347, }, + ["CorruptionJewelChaosResist1"] = { type = "Corrupted", affix = "", "+(3-7)% to Chaos Resistance", statOrder = { 961 }, level = 1, group = "ChaosResistance", weightKey = { "default", }, weightVal = { 1 }, modTags = { "chaos", "resistance" }, tradeHash = 2923486259, }, + ["CorruptionJewelMaimImmunity1"] = { type = "Corrupted", affix = "", "Immune to Maim", statOrder = { 6850 }, level = 1, group = "ImmuneToMaim", weightKey = { "default", }, weightVal = { 1 }, modTags = { }, tradeHash = 3429557654, }, + ["CorruptionJewelHinderImmunity1"] = { type = "Corrupted", affix = "", "You cannot be Hindered", statOrder = { 9946 }, level = 1, group = "YouCannotBeHindered", weightKey = { "default", }, weightVal = { 1 }, modTags = { "blue_herring" }, tradeHash = 721014846, }, + ["CorruptionJewelCorruptedBloodImmunity1"] = { type = "Corrupted", affix = "", "Corrupted Blood cannot be inflicted on you", statOrder = { 4906 }, level = 1, group = "CorruptedBloodImmunity", weightKey = { "default", }, weightVal = { 1 }, modTags = { "bleed", "physical", "ailment" }, tradeHash = 1658498488, }, + ["CorruptionJewelBlindImmunity1"] = { type = "Corrupted", affix = "", "Cannot be Blinded", statOrder = { 2608 }, level = 1, group = "ImmunityToBlind", weightKey = { "default", }, weightVal = { 1 }, modTags = { }, tradeHash = 1436284579, }, + ["SpecialCorruptionWarcrySpeed1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Warcry Speed", statOrder = { 2884 }, level = 1, group = "WarcrySpeed", weightKey = { }, weightVal = { }, modTags = { "speed" }, tradeHash = 1316278494, }, + ["SpecialCorruptionCurseEffect1"] = { type = "SpecialCorrupted", affix = "", "(5-10)% increased Curse Magnitudes", statOrder = { 2266 }, level = 1, group = "CurseEffectiveness", weightKey = { }, weightVal = { }, modTags = { "caster", "curse" }, tradeHash = 2353576063, }, + ["SpecialCorruptionAreaOfEffect1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Area of Effect", statOrder = { 1557 }, level = 1, group = "AreaOfEffect", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 280731498, }, + ["SpecialCorruptionPresenceRadius1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Presence Area of Effect", statOrder = { 1002 }, level = 1, group = "PresenceRadius", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 101878827, }, + ["SpecialCorruptionCooldownRecovery1"] = { type = "SpecialCorrupted", affix = "", "(8-12)% increased Cooldown Recovery Rate", statOrder = { 4539 }, level = 1, group = "GlobalCooldownRecovery", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 1004011302, }, + ["SpecialCorruptionSkillEffectDuration1"] = { type = "SpecialCorrupted", affix = "", "(15-25)% increased Skill Effect Duration", statOrder = { 1572 }, level = 1, group = "SkillEffectDuration", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 3377888098, }, + ["SpecialCorruptionEnergyGeneration1"] = { type = "SpecialCorrupted", affix = "", "Meta Skills gain (20-30)% increased Energy", statOrder = { 5987 }, level = 1, group = "EnergyGeneration", weightKey = { }, weightVal = { }, modTags = { }, tradeHash = 4236566306, }, + ["SpecialCorruptionDamageGainedAsChaos1"] = { type = "SpecialCorrupted", affix = "", "Gain (5-8)% of Damage as Extra Chaos Damage", statOrder = { 1602 }, level = 1, group = "DamageGainedAsChaos", weightKey = { }, weightVal = { }, modTags = { "chaos_damage", "damage", "chaos" }, tradeHash = 3398787959, }, } \ No newline at end of file diff --git a/src/Data/ModIncursionLimb.lua b/src/Data/ModIncursionLimb.lua new file mode 100644 index 0000000000..3f0dbfe69c --- /dev/null +++ b/src/Data/ModIncursionLimb.lua @@ -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, }, +} \ No newline at end of file diff --git a/src/Data/Uniques/incursionlimb.lua b/src/Data/Uniques/incursionlimb.lua new file mode 100644 index 0000000000..9bbfb09533 --- /dev/null +++ b/src/Data/Uniques/incursionlimb.lua @@ -0,0 +1,6 @@ +-- Item data (c) Grinding Gear Games + +return { +-- Transcendent Limb + +} diff --git a/src/Export/Bases/incursionlimb.txt b/src/Export/Bases/incursionlimb.txt new file mode 100644 index 0000000000..e6668be425 --- /dev/null +++ b/src/Export/Bases/incursionlimb.txt @@ -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+ \ No newline at end of file diff --git a/src/Export/Classes/GGPKData.lua b/src/Export/Classes/GGPKData.lua index ea69052c33..f32d4deae5 100644 --- a/src/Export/Classes/GGPKData.lua +++ b/src/Export/Classes/GGPKData.lua @@ -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", diff --git a/src/Export/Scripts/bases.lua b/src/Export/Scripts/bases.lua index 6f65b5a101..5e82aa9518 100644 --- a/src/Export/Scripts/bases.lua +++ b/src/Export/Scripts/bases.lua @@ -469,6 +469,7 @@ local itemTypes = { "jewel", "flask", "talisman", + "incursionlimb", } for _, name in pairs(itemTypes) do processTemplateFile(name, "Bases/", "../Data/Bases/", directiveTable) diff --git a/src/Export/Scripts/flavourText.lua b/src/Export/Scripts/flavourText.lua index 1102c00536..fa40ee8505 100644 --- a/src/Export/Scripts/flavourText.lua +++ b/src/Export/Scripts/flavourText.lua @@ -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 diff --git a/src/Export/Scripts/mods.lua b/src/Export/Scripts/mods.lua index f0a5c1113d..57ea1673c6 100644 --- a/src/Export/Scripts/mods.lua +++ b/src/Export/Scripts/mods.lua @@ -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]) diff --git a/src/Export/Scripts/uModsToText.lua b/src/Export/Scripts/uModsToText.lua index 5f0d09e6c2..82866eef2e 100644 --- a/src/Export/Scripts/uModsToText.lua +++ b/src/Export/Scripts/uModsToText.lua @@ -43,6 +43,7 @@ local itemTypes = { "jewel", "flask", "soulcore", + "incursionlimb", } local function writeMods(out, statOrder) local orders = { } diff --git a/src/Export/Uniques/incursionlimb.lua b/src/Export/Uniques/incursionlimb.lua new file mode 100644 index 0000000000..9bbfb09533 --- /dev/null +++ b/src/Export/Uniques/incursionlimb.lua @@ -0,0 +1,6 @@ +-- Item data (c) Grinding Gear Games + +return { +-- Transcendent Limb + +} diff --git a/src/Modules/Data.lua b/src/Modules/Data.lua index 0bcf7dbc60..93d1e5ae9d 100644 --- a/src/Modules/Data.lua +++ b/src/Modules/Data.lua @@ -50,6 +50,7 @@ local itemTypes = { "belt", "jewel", "flask", + "incursionlimb" } local function makeSkillMod(modName, modType, modVal, flags, keywordFlags, ...) @@ -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"),