diff --git a/src/Data/ModMercenary.lua b/src/Data/ModMercenary.lua new file mode 100644 index 0000000000..eb4fd5366b --- /dev/null +++ b/src/Data/ModMercenary.lua @@ -0,0 +1,33 @@ +-- This file is automatically generated, do not edit! +-- Item data (c) Grinding Gear Games + +return { + ["MercenaryModLightningSkillManaCostWhileShocked"] = { type = "Suffix", affix = "of Infamy", "40% less Mana cost of Lightning Skills while Shocked", statOrder = { 7579 }, level = 68, group = "LightningSkillManaCostWhileShocked", weightKey = { "body_armour", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "mana", "elemental", "lightning" }, tradeHashes = { [3964669425] = { "40% less Mana cost of Lightning Skills while Shocked" }, } }, + ["MercenaryModTravelSkillCrit"] = { type = "Prefix", affix = "Infamous", "Your Travel Skills Critically Strike once every 3 uses", statOrder = { 10586 }, level = 68, group = "TravelSkillCrit", weightKey = { "boots", "default", }, weightVal = { 100, 0 }, modTags = { "critical" }, tradeHashes = { [335741860] = { "Your Travel Skills Critically Strike once every 3 uses" }, } }, + ["MercenaryModRecoupWhileFrozen"] = { type = "Suffix", affix = "of Infamy", "(50-90)% of Damage taken while Frozen Recouped as Life", statOrder = { 6217 }, level = 68, group = "RecoupWhileFrozen", weightKey = { "body_armour", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "life" }, tradeHashes = { [2585984986] = { "(50-90)% of Damage taken while Frozen Recouped as Life" }, } }, + ["MercenaryModSkipSacrifice"] = { type = "Suffix", affix = "of Infamy", "(20-40)% chance on Skill use to not Sacrifice Life but", "still gain benefits as though you had", statOrder = { 10227, 10227.1 }, level = 68, group = "SkipSacrifice", weightKey = { "staff", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "life" }, tradeHashes = { [1761297940] = { "(20-40)% chance on Skill use to not Sacrifice Life but", "still gain benefits as though you had" }, } }, + ["MercenaryModMinionFireConvertToChaos"] = { type = "Prefix", affix = "Infamous", "Minions convert 100% of Fire Damage to Chaos Damage", statOrder = { 9419 }, level = 68, group = "MinionFireConvertToChaos", weightKey = { "gloves", "default", }, weightVal = { 100, 0 }, modTags = { "elemental", "fire", "chaos", "minion" }, tradeHashes = { [2727256287] = { "Minions convert 100% of Fire Damage to Chaos Damage" }, } }, + ["MercenaryModRecentMinionCrit"] = { type = "Suffix", affix = "of Infamy", "Minions created Recently have (60-100)% increased Critical Hit Chance", statOrder = { 9481 }, level = 68, group = "RecentMinionCrit", weightKey = { "wand", "default", }, weightVal = { 100, 0 }, modTags = { "minion", "critical" }, tradeHashes = { [3913090641] = { "Minions created Recently have (60-100)% increased Critical Hit Chance" }, } }, + ["MercenaryModTrapMineChain"] = { type = "Suffix", affix = "of Infamy", "Skills used by your Traps and Mines Chain 2 additional times", statOrder = { 10578 }, level = 68, group = "TrapMineChain", weightKey = { "gloves", "default", }, weightVal = { 100, 0 }, modTags = { }, tradeHashes = { [2999750998] = { "Skills used by your Traps and Mines Chain 2 additional times" }, } }, + ["MercenaryModMineLifeReserve"] = { type = "Prefix", affix = "Infamous", "Your Skills that throw Mines reserve Life instead of Mana", statOrder = { 10226 }, level = 68, group = "MineLifeReserve", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "life" }, tradeHashes = { [1192252020] = { "Your Skills that throw Mines reserve Life instead of Mana" }, } }, + ["MercenaryModProjSpeedVariance"] = { type = "Suffix", affix = "of Infamy", "Each Projectile created by Attacks you make with a Melee Weapon has", "between 50% more and 50% less Projectile Speed at random", statOrder = { 9898, 9898.1 }, level = 68, group = "MeleeProjSpeedVariance", weightKey = { "gloves", "default", }, weightVal = { 100, 0 }, modTags = { "speed" }, tradeHashes = { [1563068812] = { "Each Projectile created by Attacks you make with a Melee Weapon has", "between 50% more and 50% less Projectile Speed at random" }, } }, + ["MercenaryModMaxBlades"] = { type = "Prefix", affix = "Infamous", "Skills that leave Lingering Blades have +(5-10) to Maximum Lingering Blades", statOrder = { 9309 }, level = 68, group = "MaxBlades", weightKey = { "amulet", "default", }, weightVal = { 100, 0 }, modTags = { }, tradeHashes = { [3954265754] = { "Skills that leave Lingering Blades have +(5-10) to Maximum Lingering Blades" }, } }, + ["MercenaryModDebilitate"] = { type = "Prefix", affix = "Infamous", "Debuffs on you expire (80-100)% faster", "You are Debilitated", statOrder = { 6244, 10129 }, level = 68, group = "SelfDebilitate", weightKey = { "belt", "default", }, weightVal = { 100, 0 }, modTags = { }, tradeHashes = { [1238227257] = { "Debuffs on you expire (80-100)% faster" }, [1989416016] = { "You are Debilitated" }, } }, + ["MercenaryModAshWarcries"] = { type = "Suffix", affix = "of Infamy", "Your Warcries cover Enemies in Ash for 5 seconds", statOrder = { 10726 }, level = 68, group = "CoverInAshWarcry", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { "elemental", "fire" }, tradeHashes = { [3946593978] = { "Your Warcries cover Enemies in Ash for 5 seconds" }, } }, + ["MercenaryModRageDecaySpeed"] = { type = "Prefix", affix = "Infamous", "Inherent loss of Rage is 20% slower", statOrder = { 9946 }, level = 68, group = "RageDecaySpeed", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { }, tradeHashes = { [3645269560] = { "Inherent loss of Rage is 20% slower" }, } }, + ["MercenaryModAddCritPerExert"] = { type = "Suffix", affix = "of Infamy", "Skills have +(2-3)% to Critical Strike Chance for each Warcry Exerting them", statOrder = { 4599 }, level = 68, group = "AddCritPerExert", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { "critical" }, tradeHashes = { [3528761893] = { "Skills have +(2-3)% to Critical Strike Chance for each Warcry Exerting them" }, } }, + ["MercenaryModLGOHIgnitedEnemies"] = { type = "Suffix", affix = "of Infamy", "Gain (5-10) Life for each Ignited Enemy hit with Attacks", statOrder = { 1769 }, level = 68, group = "LifeGainOnHitVsIgnitedEnemies", weightKey = { "ring", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "life" }, tradeHashes = { [120895749] = { "Gain (5-10) Life for each Ignited Enemy hit with Attacks" }, } }, + ["MercenaryModFortificationDamageAura"] = { type = "Suffix", affix = "of Infamy", "Nearby Enemies take 1% increased Physical Damage per two Fortification on you", statOrder = { 9607 }, level = 68, group = "FortificationDamageAura", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { "physical" }, tradeHashes = { [4187518631] = { "Nearby Enemies take 1% increased Physical Damage per two Fortification on you" }, } }, + ["MercenaryModLifeCostOnLowLife"] = { type = "Suffix", affix = "of Infamy", "30% less Life cost of Skills while on Low Life", statOrder = { 10214 }, level = 68, group = "LifeCostOnLowLife", weightKey = { "gloves", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "life" }, tradeHashes = { [3452986510] = { "30% less Life cost of Skills while on Low Life" }, } }, + ["MercenaryModMinionCDR"] = { type = "Suffix", affix = "of Infamy", "Minions have 20% increased Cooldown Recovery Rate", statOrder = { 9430 }, level = 68, group = "MinionCooldownRecovery", weightKey = { "belt", "default", }, weightVal = { 100, 0 }, modTags = { "minion" }, tradeHashes = { [1691403182] = { "Minions have 20% increased Cooldown Recovery Rate" }, } }, + ["MercenaryModConsecratedChaosRes"] = { type = "Suffix", affix = "of Infamy", "Consecrated Ground you create grants +(1-3)% maximum Chaos Resistance to you and Allies", statOrder = { 10855 }, level = 68, group = "ConsecratedChaosRes", weightKey = { "body_armour", "default", }, weightVal = { 100, 0 }, modTags = { "chaos" }, tradeHashes = { [1235229114] = { "Consecrated Ground you create grants +(1-3)% maximum Chaos Resistance to you and Allies" }, } }, + ["MercenaryModImpaleEffectFromDistance"] = { type = "Suffix", affix = "of Infamy", "Projectiles gain Impale effect as they travel farther, causing Impales they inflict to have up to 40% increased effect", statOrder = { 7361 }, level = 68, group = "ImpaleEffectFromDistance", weightKey = { "gloves", "default", }, weightVal = { 100, 0 }, modTags = { "physical" }, tradeHashes = { [2521866096] = { "Projectiles gain Impale effect as they travel farther, causing Impales they inflict to have up to 40% increased effect" }, } }, + ["MercenaryModClonesInheritGloves"] = { type = "Prefix", affix = "Infamous", "Your Blink and Mirror arrow clones use your Gloves", statOrder = { 5300 }, level = 68, group = "ClonesInheritGloves", weightKey = { "quiver", "default", }, weightVal = { 100, 0 }, modTags = { "minion" }, tradeHashes = { [3148879215] = { "Your Blink and Mirror arrow clones use your Gloves" }, } }, + ["MercenaryModSingleProjAOE"] = { type = "Suffix", affix = "of Infamy", "30% more Area of Effect with Bow Attacks that fire a single Projectile", statOrder = { 4773 }, level = 68, group = "SingleProjAOE", weightKey = { "bow", "default", }, weightVal = { 100, 0 }, modTags = { }, tradeHashes = { [2379109976] = { "30% more Area of Effect with Bow Attacks that fire a single Projectile" }, } }, + ["MercenaryModSpellslingerReservation"] = { type = "Suffix", affix = "of Infamy", "20% increased Mana Reservation Efficiency of Skills Supported by Spellslinger", statOrder = { 10357 }, level = 68, group = "EnchantmentSpellslingerManaReservationEfficiency", weightKey = { "helmet", "default", }, weightVal = { 100, 0 }, modTags = { "resource", "mana", "attack", "caster" }, tradeHashes = { [3305838454] = { "20% increased Mana Reservation Efficiency of Skills Supported by Spellslinger" }, } }, + ["MercenaryModMaimDOT"] = { type = "Suffix", affix = "of Infamy", "Enemies Maimed by you take 10% increased Damage Over Time", statOrder = { 6513 }, level = 68, group = "EnchantmentMaim", weightKey = { "belt", "default", }, weightVal = { 100, 0 }, modTags = { "damage" }, tradeHashes = { [2745149002] = { "Enemies Maimed by you take 10% increased Damage Over Time" }, } }, + ["MercenaryModUnaffectedShock"] = { type = "Suffix", affix = "of Infamy", "Unaffected by Shock while Channelling", statOrder = { 10646 }, level = 68, group = "UnaffectedByShockWhileChannel", weightKey = { "body_armour", "default", }, weightVal = { 100, 0 }, modTags = { "elemental", "lightning" }, tradeHashes = { [2967697688] = { "Unaffected by Shock while Channelling" }, } }, + ["MercenaryModCurseEffect"] = { type = "Prefix", affix = "Infamous", "20% reduced Curse Duration", "15% increased Effect of your Curses", statOrder = { 1807, 2625 }, level = 68, group = "CurseEffectReduceCurseDuration", weightKey = { "staff", "default", }, weightVal = { 100, 0 }, modTags = { "curse" }, tradeHashes = { [2353576063] = { "15% increased Effect of your Curses" }, [3824372849] = { "20% reduced Curse Duration" }, } }, + ["MercenaryModCurseChillingAreas"] = { type = "Prefix", affix = "Infamous", "Curses on Enemies in your Chilling Areas have 15% increased Effect", statOrder = { 5864 }, level = 68, group = "CurseEffectChillingAreas", weightKey = { "wand", "default", }, weightVal = { 100, 0 }, modTags = { "curse" }, tradeHashes = { [608898129] = { "Curses on Enemies in your Chilling Areas have 15% increased Effect" }, } }, + ["MercenaryModReverseChillEffectChilledGround"] = { type = "Prefix", affix = "Infamous", "The Effect of Chill on you is reversed while on Chilled ground", statOrder = { 5855 }, level = 68, group = "ChilledEffectReversedChilledGround", weightKey = { "boots", "default", }, weightVal = { 100, 0 }, modTags = { "elemental", "cold", "ailment" }, tradeHashes = { [3440719546] = { "The Effect of Chill on you is reversed while on Chilled ground" }, } }, +} \ No newline at end of file diff --git a/src/Export/Scripts/mods.lua b/src/Export/Scripts/mods.lua index 1f76ebf645..7cba38ebcb 100644 --- a/src/Export/Scripts/mods.lua +++ b/src/Export/Scripts/mods.lua @@ -18,6 +18,7 @@ local Domains = { Charm = 35, Idol = 37, Graft = 38, + Mercenary = 41, } -- https://www.poewiki.net/wiki/Modifier#Generation_type local GenTypes = { @@ -294,6 +295,9 @@ end) writeMods("../Data/ModFoulborn.lua", function(mod) return (mod.Domain == Domains.Item or mod.Domain == Domains.Jewel) and mod.GenerationType == GenTypes.Intrinsic and mod.Id:match("^MutatedUnique") end) +writeMods("../Data/ModMercenary.lua", function(mod) + return (mod.Domain == Domains.Mercenary) and (mod.GenerationType == GenTypes.Suffix or mod.GenerationType == GenTypes.Prefix) +end) -- Generate unique mod mappings from text to mod local out = io.open("Uniques/ModTextMap.lua", "w") diff --git a/src/Modules/Data.lua b/src/Modules/Data.lua index 30202c4609..43dcfe4370 100644 --- a/src/Modules/Data.lua +++ b/src/Modules/Data.lua @@ -663,6 +663,7 @@ data.itemMods = { JewelCluster = LoadModule("Data/ModJewelCluster"), JewelCharm = LoadModule("Data/ModJewelCharm"), Foulborn = LoadModule("Data/ModFoulborn"), + Mercenary = LoadModule("Data/ModMercenary"), } data.masterMods = LoadModule("Data/ModMaster") data.enchantments = { @@ -677,7 +678,7 @@ data.enchantments = { -- combined table of many mod categories data.itemMods.Item = {} -for _, key in ipairs({ "Explicit", "ItemExclusive", "Corrupted", "Delve", "Synthesis", "Scourge", "Eldritch" }) do +for _, key in ipairs({ "Explicit", "ItemExclusive", "Corrupted", "Delve", "Synthesis", "Scourge", "Eldritch", "Mercenary" }) do local itemData = data.itemMods[key] for k, v in pairs(itemData) do data.itemMods.Item[k] = v