diff --git a/src/Data/ModCache.lua b/src/Data/ModCache.lua index 58e687c162..e7cd4403da 100755 --- a/src/Data/ModCache.lua +++ b/src/Data/ModCache.lua @@ -2252,8 +2252,7 @@ c["Cannot be Poisoned"]={{[1]={flags=0,keywordFlags=0,name="PoisonImmune",type=" c["Cannot be Shocked"]={{[1]={flags=0,keywordFlags=0,name="ShockImmune",type="FLAG",value=true}},nil} c["Cannot gain Spirit from Equipment"]={{[1]={flags=0,keywordFlags=0,name="CannotGainSpiritFromEquipment",type="FLAG",value=true}},nil} c["Cannot have Energy Shield"]={{[1]={flags=0,keywordFlags=0,name="CannotHaveES",type="FLAG",value=true}},nil} -c["Cannot use Charms"]={nil,"Cannot use Charms "} -c["Cannot use Charms 30% more Recovery from Flasks"]={nil,"Cannot use Charms 30% more Recovery from Flasks "} +c["Cannot use Charms"]={{[1]={flags=0,keywordFlags=0,name="CharmLimit",type="OVERRIDE",value=0}},nil} c["Cannot use Life Flasks"]={nil,"Cannot use Life Flasks "} c["Cannot use Shield Skills"]={nil,"Cannot use Shield Skills "} c["Carry a Chest which adds 20 Inventory Slots"]={nil,"Carry a Chest which adds 20 Inventory Slots "} diff --git a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua index 5d924f291a..3a51b43ad9 100644 --- a/src/Modules/CalcPerform.lua +++ b/src/Modules/CalcPerform.lua @@ -1293,7 +1293,7 @@ function calcs.perform(env, skipEHP) local effectInc = modDB:Sum("INC", {actor = "player"}, "CharmEffect") local effectIncMagic = modDB:Sum("INC", {actor = "player"}, "MagicCharmEffect") - local charmLimit = modDB:Sum("BASE", nil, "CharmLimit") + local charmLimit = modDB:Override(nil, "CharmLimit") or modDB:Sum("BASE", nil, "CharmLimit") -- charm breakdown if breakdown then diff --git a/src/Modules/ModParser.lua b/src/Modules/ModParser.lua index 429065d7ca..d12e1b3056 100644 --- a/src/Modules/ModParser.lua +++ b/src/Modules/ModParser.lua @@ -4687,6 +4687,7 @@ local specialModList = { ["can't use other rings"] = { mod("CanNotUseRightRing", "Flag", 1, { type = "DisablesItem", slotName = "Ring 2" }, { type = "SlotNumber", num = 1 }), mod("CanNotUseLeftRing", "Flag", 1, { type = "DisablesItem", slotName = "Ring 1" }, { type = "SlotNumber", num = 2 }) }, ["uses both hand slots"] = { mod("CanNotUseRightWeapon", "Flag", 1, { type = "DisablesItem", slotName = "Weapon 2" }, { type = "SlotNumber", num = 1 }), mod("CanNotUseLeftWeapon", "Flag", 1, { type = "DisablesItem", slotName = "Weapon 1" }, { type = "SlotNumber", num = 2 }) }, ["can't use flask in fifth slot"] = { mod("CanNotUseFifthFlask", "Flag", 1, { type = "DisablesItem", slotName = "Flask 5"}) }, + ["cannot use charms"] = { mod("CharmLimit", "OVERRIDE", 0) }, ["boneshatter has (%d+)%% chance to grant %+1 trauma"] = function(num) return { mod("ExtraTrauma", "BASE", num, { type = "SkillName", skillName = "Boneshatter", includeTransfigured = true }) } end, ["your minimum frenzy, endurance and power charges are equal to your maximum while you are stationary"] = { flag("MinimumFrenzyChargesIsMaximumFrenzyCharges", {type = "Condition", var = "Stationary" }),