Skip to content

Commit

Permalink
1.4.159.1
Browse files Browse the repository at this point in the history
Fixed weapon ailment modifiers not correctly applying
Fixed some Two Handed Weapon modifiers incorrectly applying to One Handed Weapons instead
  • Loading branch information
LocalIdentity committed Mar 12, 2020
1 parent bd5bb77 commit 4202b81
Show file tree
Hide file tree
Showing 8 changed files with 8,452 additions and 5,840 deletions.
3 changes: 3 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,6 @@
### 1.4.159.1 - 2020/03/12
* Fixed weapon ailment modifiers not correctly applying
* Fixed some Two Handed Weapon modifiers incorrectly applying to One Handed Weapons instead
### 1.4.158.1 - 2020/03/12
* Add 3.10 passive skill tree
### 1.4.157.7 - 2020/02/29
Expand Down
6 changes: 2 additions & 4 deletions Classes/PassiveTree.lua
Expand Up @@ -265,9 +265,7 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion)
node.oidx = node.orbitIndex
node.dn = node.name
node.sd = node.stats
-- The only effect of passivePointsGranted is to add "Grants N Passive Skill Point(s)" line to the passive.
-- However, the new 3.10 tree already contains that line, so there's no need to duplicate it.
node.passivePointsGranted = 0
node.passivePointsGranted = node.grantedPassivePoints or 0
end

nodeMap[node.id] = node
Expand Down Expand Up @@ -338,7 +336,7 @@ local PassiveTreeClass = newClass("PassiveTree", function(self, treeVersion)
node.mods = { }
node.modKey = ""
local i = 1
if node.passivePointsGranted > 0 then
if versionNum <= 3.09 and node.passivePointsGranted > 0 then
t_insert(node.sd, "Grants "..node.passivePointsGranted.." Passive Skill Point"..(node.passivePointsGranted > 1 and "s" or ""))
end
while node.sd[i] do
Expand Down
14,221 changes: 8,400 additions & 5,821 deletions Data/3_0/ModCache.lua

Large diffs are not rendered by default.

12 changes: 6 additions & 6 deletions Modules/CalcOffence-3_0.lua
Expand Up @@ -1663,8 +1663,8 @@ function calcs.offence(env, actor, activeSkill)
skillPart = skillCfg.skillPart,
skillTypes = skillCfg.skillTypes,
slotName = skillCfg.slotName,
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(skillCfg.flags, bnot(ModFlag.WeaponMask)), band(skillCfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(skillCfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Bleed, KeywordFlag.Ailment, KeywordFlag.PhysicalDot),
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Bleed, KeywordFlag.Ailment, KeywordFlag.PhysicalDot),
skillCond = { },
}
end
Expand Down Expand Up @@ -1763,8 +1763,8 @@ function calcs.offence(env, actor, activeSkill)
skillPart = skillCfg.skillPart,
skillTypes = skillCfg.skillTypes,
slotName = skillCfg.slotName,
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(skillCfg.flags, bnot(ModFlag.WeaponMask)), band(skillCfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(skillCfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Poison, KeywordFlag.Ailment, KeywordFlag.ChaosDot),
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Poison, KeywordFlag.Ailment, KeywordFlag.ChaosDot),
skillCond = { },
}
end
Expand Down Expand Up @@ -1923,8 +1923,8 @@ function calcs.offence(env, actor, activeSkill)
skillPart = skillCfg.skillPart,
skillTypes = skillCfg.skillTypes,
slotName = skillCfg.slotName,
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(skillCfg.flags, bnot(ModFlag.WeaponMask)), band(skillCfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(skillCfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Ignite, KeywordFlag.Ailment, KeywordFlag.FireDot),
flags = bor(ModFlag.Dot, ModFlag.Ailment, band(cfg.flags, ModFlag.WeaponMask), band(cfg.flags, ModFlag.Melee) ~= 0 and ModFlag.MeleeHit or 0),
keywordFlags = bor(band(cfg.keywordFlags, bnot(KeywordFlag.Hit)), KeywordFlag.Ignite, KeywordFlag.Ailment, KeywordFlag.FireDot),
skillCond = { },
}
end
Expand Down
33 changes: 31 additions & 2 deletions Modules/ModParser-3_0.lua
Expand Up @@ -387,7 +387,7 @@ local modNameList = {
["projectile attack damage"] = { "Damage", flags = bor(ModFlag.Projectile, ModFlag.Attack) },
["bow damage"] = { "Damage", flags = bor(ModFlag.Bow, ModFlag.Hit) },
["damage with arrow hits"] = { "Damage", flags = bor(ModFlag.Bow, ModFlag.Hit) },
["wand damage"] = { "Damage", flags = ModFlag.Wand },
["wand damage"] = { "Damage", flags = bor(ModFlag.Wand, ModFlag.Hit) },
["wand physical damage"] = { "PhysicalDamage", flags = bor(ModFlag.Wand, ModFlag.Hit) },
["claw physical damage"] = { "PhysicalDamage", flags = bor(ModFlag.Claw, ModFlag.Hit) },
["sword physical damage"] = { "PhysicalDamage", flags = bor(ModFlag.Sword, ModFlag.Hit) },
Expand Down Expand Up @@ -768,6 +768,7 @@ local modTagList = {
["for each poison you have inflicted recently"] = { tag = { type = "Multiplier", var = "PoisonAppliedRecently" } },
["for each shocked enemy you've killed recently"] = { tag = { type = "Multiplier", var = "ShockedEnemyKilledRecently" } },
["per enemy killed recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "EnemyKilledRecently", limit = tonumber(num), limitTotal = true } } end,
["per (%d+) rampage kills"] = function(num) return { tag = { type = "Multiplier", var = "Rampage", div = num, limit = 1000/num, limitTotal = true } } end,
["per minion, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", var = "SummonedMinion", limit = tonumber(num), limitTotal = true } } end,
["for each enemy you or your minions have killed recently, up to (%d+)%%"] = function(num) return { tag = { type = "Multiplier", varList = {"EnemyKilledRecently","EnemyKilledByMinionsRecently"}, limit = tonumber(num), limitTotal = true } } end,
["for each enemy you or your minions have killed recently, up to (%d+)%% per second"] = function(num) return { tag = { type = "Multiplier", varList = {"EnemyKilledRecently","EnemyKilledByMinionsRecently"}, limit = tonumber(num), limitTotal = true } } end,
Expand Down Expand Up @@ -1012,6 +1013,7 @@ local modTagList = {
["while you have avatar of fire"] = { tag = { type = "Condition", var = "HaveAvatarOfFire" } },
["while you do not have avatar of fire"] = { tag = { type = "Condition", var = "HaveAvatarOfFire", neg = true } },
["if you have a summoned golem"] = { tag = { type = "Condition", varList = { "HavePhysicalGolem", "HaveLightningGolem", "HaveColdGolem", "HaveFireGolem", "HaveChaosGolem", "HaveCarrionGolem" } } },
["while you have a summoned golem"] = { tag = { type = "Condition", varList = { "HavePhysicalGolem", "HaveLightningGolem", "HaveColdGolem", "HaveFireGolem", "HaveChaosGolem", "HaveCarrionGolem" } } },
-- Enemy status conditions
["at close range"] = { tag = { type = "Condition", var = "AtCloseRange" }, flags = ModFlag.Hit },
["against rare and unique enemies"] = { tag = { type = "ActorCondition", actor = "enemy", var = "RareOrUnique" }, keywordFlags = KeywordFlag.Hit },
Expand Down Expand Up @@ -1291,6 +1293,12 @@ local specialModList = {
-- Saboteur
-- Slayer
["deal up to (%d+)%% more melee damage to enemies, based on proximity"] = function(num) return { mod("Damage", "MORE", num, nil, bor(ModFlag.Attack, ModFlag.Melee), { type = "MeleeProximity", ramp = {num,0} }) } end,
["cannot be stunned while leeching"] = { mod("AvoidStun", "BASE", 100, { type = "Condition", var = "Leeching" }) },
["you are immune to bleeding while leeching"] = { mod("AvoidBleed", "BASE", 100, { type = "Condition", var = "Leeching" }) },
["life leech effects are not removed at full life"] = { flag("CanLeechLifeOnFullLife") },
["gain (%d+)%% increased movement speed for 20 seconds when you kill an enemy"] = function(num) return { mod("MovementSpeed", "INC", num, { type = "Condition", var = "KilledRecently" }) } end,
["gain (%d+)%% increased attack speed for 20 seconds when you kill a rare or unique enemy"] = function(num) return { mod("Speed", "INC", num, { type = "Condition", var = "conditionKilledUniqueEnemy" }) } end,

-- Trickster
["(%d+)%% chance to gain (%d+)%% of non%-chaos damage with hits as extra chaos damage"] = function(num, _, perc) return { mod("NonChaosDamageGainAsChaos", "BASE", num / 100 * tonumber(perc)) } end,
["movement skills cost no mana"] = { mod("ManaCost", "MORE", -100, nil, 0, KeywordFlag.Movement) },
Expand Down Expand Up @@ -1771,7 +1779,27 @@ local specialModList = {
mod("FireDegen", "BASE", 0.005, { type = "PerStat", stat = "Life" }, { type = "Multiplier", var = "Level" }, { type = "Condition", var = "HerEmbrace" }),
mod("FireDegen", "BASE", 0.005, { type = "PerStat", stat = "EnergyShield" }, { type = "Multiplier", var = "Level" }, { type = "Condition", var = "HerEmbrace" }),
} end,
["gain her embrace for %d+ seconds when you ignite an enemy"] = { flag("Condition:CanGainHerEmbrace") },
["gain her embrace for %d+ seconds when you ignite an enemy"] = { flag("Condition:CanGainHerEmbrace") },
["when you cast a spell, sacrifice all mana to gain added maximum lightning damage equal to (%d+)%% of sacrificed mana for 4 seconds"] = function(num) return {
flag("Condition:HaveManaStorm"),
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "HaveManaStorm" }), -- Make the Configuration option appear
mod("LightningMax", "BASE", 1, { type = "PerStat", stat = "ManaUnreserved" , div = 100 / num}, { type = "Condition", var = "SacrificeManaForLightning" })
} end,

["every 16 seconds you gain iron reflexes for 8 seconds"] = {
flag("Condition:HaveArborix"),
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "HaveArborix" }), -- Make the Configuration option appear
},
["every 16 seconds you gain elemental overload for 8 seconds"] = {
flag("Condition:HaveAugyre"),
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "HaveAugyre" }), -- Make the Configuration option appear
},
["every 8 seconds, gain avatar of fire for 4 seconds"] = {
flag("Condition:HaveVulconus"),
mod("Dummy", "DUMMY", 1, { type = "Condition", var = "HaveVulconus" }), -- Make the Configuration option appear
},
["you have far shot while you do not have iron reflexes"] = { flag("FarShot", { neg = true, type = "Condition", var = "HaveIronReflexes" }) },
["you have resolute technique while you do not have elemental overload"] = { mod("Keystone", "LIST", "Resolute Technique", { neg = true, type = "Condition", var = "HaveElementalOverload" }) },
["hits ignore enemy monster fire resistance while you are ignited"] = { flag("IgnoreFireResistance", { type = "Condition", var = "Ignited" }) },
["your hits can't be evaded by blinded enemies"] = { flag("CannotBeEvaded", { type = "ActorCondition", actor = "enemy", var = "Blinded" }) },
["skills which throw traps have blood magic"] = { flag("BloodMagic", { type = "SkillType", skillType = SkillType.Trap }) },
Expand Down Expand Up @@ -1892,6 +1920,7 @@ local suffixTypes = {
["converted to lightning damage"] = "ConvertToLightning",
["converted to cold damage"] = "ConvertToCold",
["converted to fire damage"] = "ConvertToFire",
["converted to fire"] = "ConvertToFire",
["converted to chaos damage"] = "ConvertToChaos",
["added as energy shield"] = "GainAsEnergyShield",
["as extra maximum energy shield"] = "GainAsEnergyShield",
Expand Down
3 changes: 3 additions & 0 deletions changelog.txt
@@ -1,3 +1,6 @@
[1.4.159.1][2020/03/12]
* Fixed weapon ailment modifiers not correctly applying
* Fixed some Two Handed Weapon modifiers incorrectly applying to One Handed Weapons instead
[1.4.158.1][2020/03/12]
* Add 3.10 passive skill tree
[1.4.157.7][2020/02/29]
Expand Down
12 changes: 6 additions & 6 deletions manifest.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<PoBVersion>
<Version number="1.4.158.1" />
<Version number="1.4.159.1" />
<Source part="program" url="https://raw.githubusercontent.com/LocalIdentity/PathOfBuilding/{branch}/" />
<Source part="tree" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/" />
<Source part="tree-2_6" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/tree-2_6.zip" />
Expand All @@ -14,7 +14,7 @@
<File name="UpdateCheck.lua" part="program" sha1="72b9bea1871e94a643e4471fd84bbedbc7810336" />
<File name="UpdateApply.lua" part="program" sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" />
<File name="GameVersions.lua" part="program" sha1="4cf43ef67fe750c22e15c7a63d7f77cce7768dba" />
<File name="changelog.txt" part="program" sha1="3c9c34d2bfbe09f5700c42e97fd6be4530ac34b2" />
<File name="changelog.txt" part="program" sha1="ecc09b4800975da11638bd09597935bca2a178f3" />
<File name="Path of Building.exe" part="runtime" platform="win32" sha1="7e5a3242c9a4296dc8377feb4c9d824f3f0a3cc1" />
<File name="lua51.dll" part="runtime" platform="win32" sha1="7a973d3c0b5121e6aad0dcb9323be5b432fc63e7" />
<File name="SimpleGraphic.dll" part="runtime" platform="win32" sha1="d852ae6eafc9be62aa41d3cb74fb986d0e5b40e5" />
Expand Down Expand Up @@ -63,7 +63,7 @@
<File name="Classes/NotesTab.lua" part="program" sha1="cc7c5eff58c2868cdc7d4c1bf9a967aa8c448c9e" />
<File name="Classes/PassiveSpec.lua" part="program" sha1="378dee97781d4c0297f256454507ef506a34e21d" />
<File name="Classes/PassiveSpecListControl.lua" part="program" sha1="d449391ea879a20728f7e9a0345398c0141a45f6" />
<File name="Classes/PassiveTree.lua" part="program" sha1="0cacffa40c591407f6d879eb29be635e8f3580fb" />
<File name="Classes/PassiveTree.lua" part="program" sha1="d78c7e7a1ebff63f67f5dd767b678f8c03e80564" />
<File name="Classes/PassiveTreeView.lua" part="program" sha1="ebee955e1a8921bb5f840c7b9233caf78bd3eec2" />
<File name="Classes/PathControl.lua" part="program" sha1="3acd77612e658766260129ffab70373d8ee60c59" />
<File name="Classes/PopupDialog.lua" part="program" sha1="2bfb5bb91475432d23a29c1eb36daec2d76914f0" />
Expand Down Expand Up @@ -152,7 +152,7 @@
<File name="Data/3_0/Gems.lua" part="program" sha1="aa73ceded9935a8a679bb8c87caf2e6f8ee72ca0" />
<File name="Data/3_0/Minions.lua" part="program" sha1="e21dd9660e8e2da3c00604d392921fe9f8599166" />
<File name="Data/3_0/Misc.lua" part="program" sha1="e99b40d875c073408636ebbf85c5974bf8dd0da9" />
<File name="Data/3_0/ModCache.lua" part="program" sha1="a32031c9078316e134749508a530d6ee6c57d666" />
<File name="Data/3_0/ModCache.lua" part="program" sha1="a38b038d2fa5373b8ed6e04ccbfe66cd9a6bb62f" />
<File name="Data/3_0/ModFlask.lua" part="program" sha1="1064a5745ffce5ea011552d382e239827a1acc56" />
<File name="Data/3_0/ModItem.lua" part="program" sha1="4a0937e394508e998494398259d9e0a3c35a63db" />
<File name="Data/3_0/ModJewel.lua" part="program" sha1="f0664c44b6c7ada73f5a46c83f33375788ffb2be" />
Expand Down Expand Up @@ -215,7 +215,7 @@
<File name="Modules/CalcDefence-2_6.lua" part="program" sha1="c574b0f07966af8d42e534118c075fb164134849" />
<File name="Modules/CalcDefence-3_0.lua" part="program" sha1="9717d7b4186bd16d805f5264d686a22418465ab8" />
<File name="Modules/CalcOffence-2_6.lua" part="program" sha1="e1a7c9faabb0c89791b84fa08fa20bf0c01f5f67" />
<File name="Modules/CalcOffence-3_0.lua" part="program" sha1="4a66f8cb8bb8ef18eb442d58f3b4a6d180db3a88" />
<File name="Modules/CalcOffence-3_0.lua" part="program" sha1="ea6f125a9b96e2af0d403b75569049f2aad1ea64" />
<File name="Modules/CalcPerform.lua" part="program" sha1="b692441c088969e06e0f2d82f0deb90c173d8db1" />
<File name="Modules/Calcs.lua" part="program" sha1="d9ad5938a36f0cdfa1d68062972836ef50eb45e9" />
<File name="Modules/CalcSections-2_6.lua" part="program" sha1="32da2a949a5fe0ab10d54078a96caff0dccb5f3f" />
Expand All @@ -228,7 +228,7 @@
<File name="Modules/ItemTools.lua" part="program" sha1="45d7097da7232e9ff3a935f20ef1ee84a9a8dde7" />
<File name="Modules/Main.lua" part="program" sha1="51887a757e62c046c28d41d0e6f561189594dcd0" />
<File name="Modules/ModParser-2_6.lua" part="program" sha1="40816503edfc2023a070491d4d69ae02032e2312" />
<File name="Modules/ModParser-3_0.lua" part="program" sha1="f40825c92dc86f0a73395b2f444145b1add8468f" />
<File name="Modules/ModParser-3_0.lua" part="program" sha1="0dfeeded5015e3dfa15e56cd1a53451ed9a52888" />
<File name="Modules/ModTools.lua" part="program" sha1="2ce4f3b83db992a286bd92f3849d037d6dcc8db2" />
<File name="Modules/StatDescriber.lua" part="program" sha1="cb77b8c6931a5c4c4695fc66f222422365d19a73" />
<File name="Modules/PantheonTools.lua" part="program" sha1="ebe91a7d8f8444a6061acf4758da0e775cc8c314" />
Expand Down
2 changes: 1 addition & 1 deletion updatemanifest.py
Expand Up @@ -10,7 +10,7 @@ def update_manifest():
for file in root.iter("File"):
path = file.get('name')
extension = os.path.splitext(path)[1]
if extension not in [".lua", ".txt", ".png", ".jpg"]:
if extension not in [".lua", ".txt"]:
print(f"Skipping file type {extension}")
continue
try:
Expand Down

0 comments on commit 4202b81

Please sign in to comment.