diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 884b8905df..df1a99e2d6 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -363,6 +363,9 @@ local function doActorAttribsConditions(env, actor) end if not modDB:Flag(nil, "NoStrengthAttributeBonuses") then if not modDB:Flag(nil, "NoStrBonusToLife") then + if modDB:Flag(nil, "HalvesLifeFromStrength") then + inherentAttributeMultiplier = inherentAttributeMultiplier * 0.5 + end modDB:NewMod("Life", "BASE", output.Str * 2 * inherentAttributeMultiplier, "Strength") end end diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 58f752d8da..6d9e9eaefd 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -2131,6 +2131,7 @@ local specialModList = { mod("SpellSuppressionChance", "OVERRIDE", 0, "Acrobatics"), }, ["maximum chance to dodge spell hits is (%d+)%%"] = function(num) return { mod("SpellDodgeChanceMax", "OVERRIDE", num, "Acrobatics") } end, + ["halves the amount of life granted by strength"] = { flag("HalvesLifeFromStrength")}, ["dexterity provides no bonus to evasion rating"] = { flag("NoDexBonusToEvasion") }, ["dexterity provides no inherent bonus to evasion rating"] = { flag("NoDexBonusToEvasion") }, ["your hits can't be evaded"] = { flag("CannotBeEvaded") },