Skip to content

Commit 554ecca

Browse files
committed
Fixes issue where life was being converted prior to CI life reduction. Example is Ghostwrite (#% of Maximum Life is converted to Energy Shield), and a similar issue regarding Mana and Blood Magic
1 parent 6e58639 commit 554ecca

2 files changed

Lines changed: 15 additions & 14 deletions

File tree

src/Data/ModCache.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4752,7 +4752,7 @@ c["You have a Smoke Cloud around you while stationary"]={nil,"a Smoke Cloud arou
47524752
c["You have no Accuracy Penalty at Distance"]={{[1]={flags=0,keywordFlags=0,name="NoAccuracyDistancePenalty",type="FLAG",value=true}},nil}
47534753
c["You have no Elemental Resistances"]={{[1]={flags=0,keywordFlags=0,name="FireResist",type="OVERRIDE",value=0},[2]={flags=0,keywordFlags=0,name="ColdResist",type="OVERRIDE",value=0},[3]={flags=0,keywordFlags=0,name="LightningResist",type="OVERRIDE",value=0}},nil}
47544754
c["You have no Life Regeneration"]={{[1]={flags=0,keywordFlags=0,name="NoLifeRegen",type="FLAG",value=true}},nil}
4755-
c["You have no Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="MORE",value=-100}},nil}
4755+
c["You have no Mana"]={{[1]={flags=0,keywordFlags=0,name="Mana",type="OVERRIDE",value=0}},nil}
47564756
c["You have no Spirit"]={{[1]={flags=0,keywordFlags=0,name="Spirit",type="OVERRIDE",value=0}},nil}
47574757
c["You lose 5% of maximum Energy Shield per second"]={{[1]={flags=0,keywordFlags=0,name="EnergyShieldDegenPercent",type="BASE",value=5}},nil}
47584758
c["You take 10% of damage from Blocked Hits"]={{[1]={flags=0,keywordFlags=0,name="BlockEffect",type="BASE",value=10}},nil}

src/Modules/ModParser.lua

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2131,6 +2131,7 @@ local specialModList = {
21312131
mod("SpellSuppressionChance", "OVERRIDE", 0, "Acrobatics"),
21322132
},
21332133
["maximum chance to dodge spell hits is (%d+)%%"] = function(num) return { mod("SpellDodgeChanceMax", "OVERRIDE", num, "Acrobatics") } end,
2134+
["halves the amount of life granted by strength"] = { flag("HalvesLifeFromStrength")},
21342135
["dexterity provides no bonus to evasion rating"] = { flag("NoDexBonusToEvasion") },
21352136
["dexterity provides no inherent bonus to evasion rating"] = { flag("NoDexBonusToEvasion") },
21362137
["your hits can't be evaded"] = { flag("CannotBeEvaded") },
@@ -2191,11 +2192,11 @@ local specialModList = {
21912192
mod("LightningDamageConvertToChaos", "BASE", 100),
21922193
},
21932194
["all damage is taken from mana before life"] = { mod("DamageTakenFromManaBeforeLife", "BASE", 100) },
2194-
["removes all mana%. spend life instead of mana for skills"] = { mod("Mana", "MORE", -100), flag("CostLifeInsteadOfMana") },
2195-
["removes all mana"] = { mod("Mana", "MORE", -100) },
2196-
["you have no mana"] = { mod("Mana", "MORE", -100) },
2195+
["removes all mana%. spend life instead of mana for skills"] = { mod("Mana", "OVERRIDE", 0 ), flag("CostLifeInsteadOfMana") },
2196+
["removes all mana"] = { mod("Mana", "OVERRIDE", 0 ) },
2197+
["you have no mana"] = { mod("Mana", "OVERRIDE", 0 ) },
21972198
["doubles mana costs"] = { mod("ManaCost", "MORE", 100) },
2198-
["removes all energy shield"] = { mod("EnergyShield", "MORE", -100) },
2199+
["removes all energy shield"] = { mod("EnergyShield", "OVERRIDE", 0 ) },
21992200
["converts all energy shield to mana"] = { mod("EnergyShieldConvertToMana", "BASE", 100) },
22002201
["skills cost life instead of mana"] = { flag("CostLifeInsteadOfMana") },
22012202
["skills reserve life instead of mana"] = { flag("BloodMagicReserved") },
@@ -4554,21 +4555,21 @@ local specialModList = {
45544555
["cannot gain spirit from equipment"] = { flag("CannotGainSpiritFromEquipment")},
45554556
["life that would be lost by taking damage is instead reserved"] = { flag("DamageInsteadReservesLife") },
45564557
["you have no armour or energy shield"] = {
4557-
mod("Armour", "MORE", -100),
4558-
mod("EnergyShield", "MORE", -100),
4558+
mod("Armour", "OVERRIDE", 0 ),
4559+
mod("EnergyShield", "OVERRIDE", 0 ),
45594560
},
45604561
["you have no armour or maximum energy shield"] = {
4561-
mod("Armour", "MORE", -100),
4562-
mod("EnergyShield", "MORE", -100),
4562+
mod("Armour", "OVERRIDE", 0 ),
4563+
mod("EnergyShield", "OVERRIDE", 0 ),
45634564
},
45644565
["defences are zero"] = {
4565-
mod("Armour", "MORE", -100),
4566-
mod("EnergyShield", "MORE", -100),
4567-
mod("Evasion", "MORE", -100),
4568-
mod("Ward", "MORE", -100),
4566+
mod("Armour", "OVERRIDE", 0 ),
4567+
mod("EnergyShield", "OVERRIDE", 0 ),
4568+
mod("Evasion", "OVERRIDE", 0 ),
4569+
mod("Ward", "OVERRIDE", 0 ),
45694570
},
45704571
["you have no intelligence"] = {
4571-
mod("Int", "MORE", -100),
4572+
mod("Int", "OVERRIDE", 0 ),
45724573
},
45734574
["elemental resistances are zero"] = {
45744575
mod("FireResist", "OVERRIDE", 0),

0 commit comments

Comments
 (0)