From 33b6d7b88f476c706fb003a267bf4f65e7eba1b4 Mon Sep 17 00:00:00 2001 From: AIElemental Date: Tue, 15 May 2018 15:26:39 +0300 Subject: [PATCH] support liege of the primordial damage buffs --- Modules/CalcDefence-3_0.lua | 1 + Modules/CalcSections-3_0.lua | 1 + Modules/ConfigOptions.lua | 29 +++++++++++++++++++++++++++++ Modules/ModParser-3_0.lua | 4 ++++ 4 files changed, 35 insertions(+) diff --git a/Modules/CalcDefence-3_0.lua b/Modules/CalcDefence-3_0.lua index 03d845e4b..bccfdf0cf 100644 --- a/Modules/CalcDefence-3_0.lua +++ b/Modules/CalcDefence-3_0.lua @@ -616,5 +616,6 @@ function calcs.defence(env, actor) if breakdown then breakdown.LightRadiusMod = breakdown.mod(nil, "LightRadius") end + output.SummonedGolem = modDB:Sum("BASE", nil, "Multiplier:SummonedGolem") end end \ No newline at end of file diff --git a/Modules/CalcSections-3_0.lua b/Modules/CalcSections-3_0.lua index 312176e5a..9bb28b718 100644 --- a/Modules/CalcSections-3_0.lua +++ b/Modules/CalcSections-3_0.lua @@ -946,5 +946,6 @@ return { { modName = { "StunRecovery", "BlockRecovery" }, }, }, }, { label = "Light Radius Mod", { format = "x {2:output:LightRadiusMod}", { breakdown = "LightRadiusMod" }, { modName = "LightRadius" }, }, }, + { label = "Summoned Golems", { format = "x {1:output:SummonedGolem}", { modName = "Multiplier:SummonedGolem" }, }, }, } }, } \ No newline at end of file diff --git a/Modules/ConfigOptions.lua b/Modules/ConfigOptions.lua index c87d07291..03f996eae 100644 --- a/Modules/ConfigOptions.lua +++ b/Modules/ConfigOptions.lua @@ -94,6 +94,35 @@ return { { var = "summonLightningGolemEnableWrath", type = "check", label = "Enable Wrath Aura:", ifSkill = "Summon Lightning Golem", apply = function(val, modList, enemyModList) modList:NewMod("SkillData", "LIST", { key = "enable", value = true }, "Config", { type = "SkillId", skillId = "LightningGolemWrath" }) end }, + { var = "summonLightningGolemCount", type = "count", label = "# of Lightning Golems:", ifSkill = "Summon Lightning Golem", apply = function(val, modList, enemyModList) + if val >= 0 then + modList:NewMod("Multiplier:SummonedGolem", "BASE", val, "Config, # of Lightning Golems") + end + end }, + { var = "summonFlameGolemCount", type = "count", label = "# of Flame Golems:", ifSkill = "Summon Flame Golem", apply = function(val, modList, enemyModList) + if val >= 0 then + modList:NewMod("Multiplier:SummonedGolem", "BASE", val, "Config, # of Flame Golems") + end + end }, + { var = "summonIceGolemCount", type = "count", label = "# of Ice Golems:", ifSkill = "Summon Ice Golem", apply = function(val, modList, enemyModList) + if val >= 0 then + modList:NewMod("Multiplier:SummonedGolem", "BASE", val, "Config, # of Ice Golems") + end + end }, + { var = "summonStoneGolemCount", type = "count", label = "# of Stone Golems:", ifSkill = "Summon Stone Golem", apply = function(val, modList, enemyModList) + if val >= 0 then + modList:NewMod("Multiplier:SummonedGolem", "BASE", val, "Config, # of Stone Golems") + end + end }, + { var = "summonChaosGolemCount", type = "count", label = "# of Chaos Folems:", ifSkill = "Summon Chaos Golem", apply = function(val, modList, enemyModList) + if val >= 0 then + modList:NewMod("Multiplier:SummonedGolem", "BASE", val, "Config, # of Chaos Golems") + end + end }, + { label = "Aspect of the Crab:", ifSkill = "Aspect of the Crab" }, + { var = "overrideCrabBarriers", type = "count", label = "# of Crab Barriers (if not maximum):", ifSkill = "Aspect of the Crab", apply = function(val, modList, enemyModList) + modList:NewMod("CrabBarriers", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) + end }, { label = "Vortex:", ifSkill = "Vortex" }, { var = "vortexCastOnFrostbolt", type = "check", label = "Cast on Frostbolt?", ifSkill = "Vortex", apply = function(val, modList, enemyModList) modList:NewMod("Condition:CastOnFrostbolt", "FLAG", true, "Config", { type = "SkillName", skillName = "Vortex" }) diff --git a/Modules/ModParser-3_0.lua b/Modules/ModParser-3_0.lua index 1900cf8d4..923e04875 100644 --- a/Modules/ModParser-3_0.lua +++ b/Modules/ModParser-3_0.lua @@ -600,6 +600,7 @@ local modTagList = { ["per green socket"] = { tag = { type = "Multiplier", var = "GreenSocketIn{SlotName}" } }, ["per blue socket"] = { tag = { type = "Multiplier", var = "BlueSocketIn{SlotName}" } }, ["per white socket"] = { tag = { type = "Multiplier", var = "WhiteSocketIn{SlotName}" } }, + ["for each summoned golem"] = { tag = { type = "Multiplier", var = "SummonedGolem" } }, -- Per stat ["per (%d+) strength"] = function(num) return { tag = { type = "PerStat", stat = "Str", div = num } } end, ["per (%d+) dexterity"] = function(num) return { tag = { type = "PerStat", stat = "Dex", div = num } } end, @@ -918,6 +919,9 @@ local specialModList = { mod("ColdDamageTaken", "INC", -num, { type = "Condition", var = "HitByColdDamageRecently" }), mod("LightningDamageTaken", "INC", -num, { type = "Condition", var = "HitByLightningDamageRecently" }) } end, + --["(%d+)%% increased damage for each summoned golem"] = function(num) return { + -- mod("Damage", "INC", num, { type = "Multiplier", var = "SummonedGolem" }) + --} end, ["every %d+ seconds:"] = { }, ["gain chilling conflux for %d seconds"] = { flag("PhysicalCanChill", { type = "Condition", var = "ChillingConflux" }),