From 0977262b3ddb24260d5db649a67ce65f814ff109 Mon Sep 17 00:00:00 2001 From: AlphaCheese Date: Tue, 12 Jan 2021 16:33:44 +1300 Subject: [PATCH] Added Gale Force and its related changes --- Modules/CalcPerform.lua | 2 +- Modules/CalcSetup.lua | 2 ++ Modules/ConfigOptions.lua | 3 +++ Modules/ModParser.lua | 7 ++++++- 4 files changed, 12 insertions(+), 2 deletions(-) diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index aa8f2d9f..a1e8433e 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -435,7 +435,7 @@ local function doActorMisc(env, actor) modDB:NewMod("PhysicalDamageGainAsChaos", "BASE", effect, "Unholy Might") end if modDB:Flag(nil, "Tailwind") then - local effect = m_floor(10 * (1 + modDB:Sum("INC", nil, "TailwindEffectOnSelf", "BuffEffectOnSelf") / 100)) + local effect = m_floor(8 * (1 + modDB:Sum("INC", nil, "TailwindEffectOnSelf", "BuffEffectOnSelf") / 100)) modDB:NewMod("ActionSpeed", "INC", effect, "Tailwind") end if modDB:Flag(nil, "Adrenaline") then diff --git a/Modules/CalcSetup.lua b/Modules/CalcSetup.lua index e98cc1aa..5abf533e 100644 --- a/Modules/CalcSetup.lua +++ b/Modules/CalcSetup.lua @@ -234,6 +234,8 @@ function calcs.initEnv(build, mode, override) modDB:NewMod("Speed", "INC", 1, "Base", ModFlag.Attack, { type = "Multiplier", var = "Rage", div = 2 }, { type = "Multiplier", var = "RageEffect" }) modDB:NewMod("MovementSpeed", "INC", 1, "Base", { type = "Multiplier", var = "Rage", div = 5 }, { type = "Multiplier", var = "RageEffect" }) modDB:NewMod("MaximumRage", "BASE", 50, "Base") + modDB:NewMod("Multiplier:GaleForce", "BASE", 0, "Base") + modDB:NewMod("MaximumGaleForce", "BASE", 10, "Base") modDB:NewMod("Multiplier:IntensityLimit", "BASE", 3, "Base") modDB:NewMod("Damage", "INC", 2, "Base", { type = "Multiplier", var = "Rampage", limit = 50, div = 20 }) modDB:NewMod("MovementSpeed", "INC", 1, "Base", { type = "Multiplier", var = "Rampage", limit = 50, div = 20 }) diff --git a/Modules/ConfigOptions.lua b/Modules/ConfigOptions.lua index f6083f47..b26c9d40 100644 --- a/Modules/ConfigOptions.lua +++ b/Modules/ConfigOptions.lua @@ -498,6 +498,9 @@ return { { var = "overrideBlitzCharges", type = "count", label = "# of Blitz Charges (if not maximum):", ifOption = "useBlitzCharges", apply = function(val, modList, enemyModList) modList:NewMod("BlitzCharges", "OVERRIDE", val, "Config", { type = "Condition", var = "Combat" }) end }, + { var = "multiplierGaleForce", type = "count", label = "Amount of Gale Force:", ifCond = "CanGainGaleForce", tooltip = "Base maximum Gale Force is 10.", apply = function(val, modList, enemyModList) + modList:NewMod("Multiplier:GaleForce", "BASE", val, "Config", { type = "IgnoreCond" }, { type = "Condition", var = "Combat" }, { type = "Condition", var = "CanGainGaleForce" }) + end }, { var = "useInspirationCharges", type = "check", label = "Do you use Inspiration Charges?", ifMult = "InspirationCharge", apply = function(val, modList, enemyModList) modList:NewMod("UseInspirationCharges", "FLAG", true, "Config", { type = "Condition", var = "Combat" }) end }, diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index 845418c8..2be46553 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -846,6 +846,7 @@ local modTagList = { ["per endurance charge"] = { tag = { type = "Multiplier", var = "EnduranceCharge" } }, ["per siphoning charge"] = { tag = { type = "Multiplier", var = "SiphoningCharge" } }, ["per challenger charge"] = { tag = { type = "Multiplier", var = "ChallengerCharge" } }, + ["per gale force"] = { tag = { type = "Multiplier", var = "GaleForce" } }, ["per intensity"] = { tag = { type = "Multiplier", var = "Intensity" } }, ["per brand"] = { tag = { type = "Multiplier", var = "ActiveBrand" } }, ["per blitz charge"] = { tag = { type = "Multiplier", var = "BlitzCharge" } }, @@ -1462,7 +1463,11 @@ local specialModList = { ["(%d+)%% increased blink arrow and mirror arrow cooldown recovery speed"] = function(num) return { mod("CooldownRecovery", "INC", num, { type = "SkillName", skillNameList = { "Blink Arrow", "Mirror Arrow" } }), } end, - ["if you've used a skill recently, you and nearby allies have tailwind"] = { mod("ExtraAura", "LIST", { mod = flag("Condition:Tailwind") }, { type = "Condition", var = "UsedSkillRecently" }) }, + ["gain %d+ gale force when you use a skill"] = { + flag("Condition:CanGainGaleForce"), + mod("Dummy", "DUMMY", 1, { type = "Condition", var = "CanGainGaleForce" }), -- Make the Configuration option appear + }, + ["you and nearby allies have tailwind"] = { mod("ExtraAura", "LIST", { mod = flag("Condition:Tailwind") }) }, ["projectiles deal (%d+)%% more damage for each remaining chain"] = function(num) return { mod("Damage", "MORE", num, nil, ModFlag.Projectile, { type = "PerStat", stat = "ChainRemaining" }) } end, ["projectiles deal (%d+)%% increased damage for each remaining chain"] = function(num) return { mod("Damage", "INC", num, nil, ModFlag.Projectile, { type = "PerStat", stat = "ChainRemaining" }) } end, ["far shot"] = { flag("FarShot") },