Release 1.3.25

- Added Pastebin support to build import/export
- Added support for the claw->unarmed conversions of Rigwald's Curse
- Fixed parsing of The Wise Oak's penetration stat
This commit is contained in:
Openarl
2017-04-06 01:10:01 +10:00
parent 14f1eaed3e
commit b89d521c19
9 changed files with 118 additions and 13 deletions

View File

@@ -1959,6 +1959,30 @@ local function performCalcs(env)
end
end
end
if modDB:Sum("FLAG", nil, "ClawDamageAppliesToUnarmed") then
-- Claw Damage conversion from Rigwald's Curse
for i, mod in ipairs(modDB.mods.PhysicalDamage or { }) do
if band(mod.flags, ModFlag.Claw) ~= 0 then
modDB:NewMod("PhysicalDamage", mod.type, mod.value, mod.source, bor(band(mod.flags, bnot(ModFlag.Claw)), ModFlag.Unarmed), mod.keywordFlags, unpack(mod.tagList))
end
end
end
if modDB:Sum("FLAG", nil, "ClawAttackSpeedAppliesToUnarmed") then
-- Claw Attack Speed conversion from Rigwald's Curse
for i, mod in ipairs(modDB.mods.Speed or { }) do
if band(mod.flags, ModFlag.Claw) ~= 0 and band(mod.flags, ModFlag.Attack) ~= 0 then
modDB:NewMod("Speed", mod.type, mod.value, mod.source, bor(band(mod.flags, bnot(ModFlag.Claw)), ModFlag.Unarmed), mod.keywordFlags, unpack(mod.tagList))
end
end
end
if modDB:Sum("FLAG", nil, "ClawCritChanceAppliesToUnarmed") then
-- Claw Crit Chance conversion from Rigwald's Curse
for i, mod in ipairs(modDB.mods.CritChance or { }) do
if band(mod.flags, ModFlag.Claw) ~= 0 then
modDB:NewMod("CritChance", mod.type, mod.value, mod.source, bor(band(mod.flags, bnot(ModFlag.Claw)), ModFlag.Unarmed), mod.keywordFlags, unpack(mod.tagList))
end
end
end
local isAttack = (env.mode_skillType == "ATTACK")

View File

@@ -736,7 +736,7 @@ local specialModList = {
["socketed lightning spells have (%d+)%% increased spell damage if triggered"] = function(num) return { mod("Damage", "INC", num, nil, ModFlag.Spell, { type = "SocketedIn", keyword = "lightning" }, { type = "Condition", var = "SkillIsTriggered" }) } end,
["arrows always pierce"] = { mod("PierceChance", "BASE", 100, nil, ModFlag.Attack) },
["arrows that pierce cause bleeding"] = { flag("ArrowsThatPierceCauseBleeding") },
["during flask effect, damage penetrates (%d+)%% of resistance of each element for which your uncapped elemental resistance is highest"] = function(num) return {
["during flask effect, damage penetrates (%d+)%% o?f? ?resistance of each element for which your uncapped elemental resistance is highest"] = function(num) return {
mod("LightningPenetration", "BASE", num, { type = "Condition", var = "UncappedLightningResistIsHighest" }),
mod("ColdPenetration", "BASE", num, { type = "Condition", var = "UncappedColdResistIsHighest" }),
mod("FirePenetration", "BASE", num, { type = "Condition", var = "UncappedFireResistIsHighest" }),
@@ -746,6 +746,9 @@ local specialModList = {
["cannot leech mana"] = { flag("CannotLeechMana") },
["cannot leech when on low life"] = { flag("CannotLeechLife", { type = "Condition", var = "LowLife" }), flag("CannotLeechMana", { type = "Condition", var = "LowLife" }) },
["cannot leech life from critical strikes"] = { flag("CannotLeechLife", { type = "Condition", var = "CriticalStrike" }) },
["modifiers to claw damage also apply to unarmed"] = { flag("ClawDamageAppliesToUnarmed") },
["modifiers to claw attack speed also apply to unarmed"] = { flag("ClawAttackSpeedAppliesToUnarmed") },
["modifiers to claw critical strike chance also apply to unarmed"] = { flag("ClawCritChanceAppliesToUnarmed") },
}
local keystoneList = {
-- List of keystones that can be found on uniques