diff --git a/Classes/CalcBreakdownControl.lua b/Classes/CalcBreakdownControl.lua index b0dd1f16..2bc04e30 100644 --- a/Classes/CalcBreakdownControl.lua +++ b/Classes/CalcBreakdownControl.lua @@ -346,6 +346,8 @@ function CalcBreakdownClass:AddModSection(sectionData) desc = "Condition: "..(tag.neg and "Not " or "")..(tag.varList and table.concat(tag.varList, "/") or self:FormatModName(tag.var)) elseif tag.type == "EnemyCondition" then desc = "Enemy Condition: "..(tag.neg and "Not " or "")..(tag.varList and table.concat(tag.varList, "/") or self:FormatModName(tag.var)) + elseif tag.type == "ParentCondition" then + desc = "Player Condition: "..(tag.neg and "Not " or "")..(tag.varList and table.concat(tag.varList, "/") or self:FormatModName(tag.var)) elseif tag.type == "Multiplier" then if tag.base then desc = (row.mod.type == "BASE" and string.format("%+g", tag.base) or tag.base.."%").." + "..math.abs(row.mod.value).." per "..self:FormatModName(tag.var) @@ -360,6 +362,8 @@ function CalcBreakdownClass:AddModSection(sectionData) end elseif tag.type == "SkillName" then desc = "Skill: "..tag.skillName + elseif tag.type == "SkillId" then + desc = "Skill: "..data.skills[tag.skillId].name elseif tag.type == "SkillType" then for name, type in pairs(SkillType) do if type == tag.skillType then diff --git a/Classes/ModDB.lua b/Classes/ModDB.lua index f72b800d..112c66f3 100644 --- a/Classes/ModDB.lua +++ b/Classes/ModDB.lua @@ -162,6 +162,11 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, else value = value * mult + (tag.base or 0) end + elseif tag.type == "MultiplierThreshold" then + if (self.multipliers[tag.var] or 0) < tag.threshold then + value = nullValue + break + end elseif tag.type == "PerStat" then local mult = m_floor((self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) / tag.div + 0.0001) if type(value) == "table" then @@ -170,6 +175,11 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, else value = value * mult + (tag.base or 0) end + elseif tag.type == "StatThreshold" then + if (self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) < tag.threshold then + value = nullValue + break + end elseif tag.type == "DistanceRamp" then if not skillDist then value = nullValue @@ -228,8 +238,24 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, value = nullValue break end - elseif tag.type == "StatThreshold" then - if (self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) < tag.threshold then + elseif tag.type == "ParentCondition" then + local match = false + if self.actor.parent then + if tag.varList then + for _, var in pairs(tag.varList) do + if self.actor.parent.modDB.conditions[var] then + match = true + break + end + end + else + match = self.actor.parent.modDB.conditions[tag.var] + end + end + if tag.neg then + match = not match + end + if not match then value = nullValue break end diff --git a/Classes/ModList.lua b/Classes/ModList.lua index 432fdb02..330d1756 100644 --- a/Classes/ModList.lua +++ b/Classes/ModList.lua @@ -136,6 +136,11 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 else value = value * mult + (tag.base or 0) end + elseif tag.type == "MultiplierThreshold" then + if (self.multipliers[tag.var] or 0) < tag.threshold then + value = nullValue + break + end elseif tag.type == "PerStat" then local mult = m_floor((self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) / tag.div + 0.0001) if type(value) == "table" then @@ -144,6 +149,11 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 else value = value * mult + (tag.base or 0) end + elseif tag.type == "StatThreshold" then + if (self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) < tag.threshold then + value = nullValue + break + end elseif tag.type == "DistanceRamp" then if not skillDist then value = nullValue @@ -202,8 +212,24 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 value = nullValue break end - elseif tag.type == "StatThreshold" then - if (self.actor.output[tag.stat] or (skillStats and skillStats[tag.stat]) or 0) < tag.threshold then + elseif tag.type == "ParentCondition" then + local match = false + if self.actor.parent then + if tag.varList then + for _, var in pairs(tag.varList) do + if self.actor.parent.modDB.conditions[var] then + match = true + break + end + end + else + match = self.actor.parent.modDB.conditions[tag.var] + end + end + if tag.neg then + match = not match + end + if not match then value = nullValue break end diff --git a/Data/Skills/minion.lua b/Data/Skills/minion.lua index 5bbd5290..de7a302a 100644 --- a/Data/Skills/minion.lua +++ b/Data/Skills/minion.lua @@ -888,6 +888,7 @@ skills["RockGolemSlam"] = { color = 1, baseFlags = { attack = true, + melee = true, area = true, }, skillTypes = { [1] = true, [11] = true, }, @@ -948,6 +949,7 @@ skills["ZombieSlam"] = { color = 4, baseFlags = { attack = true, + melee = true, area = true, }, skillTypes = { [1] = true, [11] = true, }, diff --git a/Data/Skills/spectre.lua b/Data/Skills/spectre.lua index 53e1d53e..2d45e770 100644 --- a/Data/Skills/spectre.lua +++ b/Data/Skills/spectre.lua @@ -236,6 +236,71 @@ skills["DemonFemaleRangedProjectile"] = { [1] = { }, }, } +skills["DemonModularBladeVortexSpectre"] = { + name = "Blade Vortex", + hidden = true, + color = 2, + baseFlags = { + spell = true, + area = true, + duration = true, + }, + skillTypes = { [2] = true, [10] = true, [11] = true, [12] = true, [18] = true, [26] = true, [36] = true, [27] = true, }, + baseMods = { + skill("castTime", 0.5), + skill("critChance", 6), + skill("duration", 5), --"base_skill_effect_duration" = 5000 + --"maximum_number_of_spinning_blades" = 5 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"skill_repeat_count" = 2 + --"is_area_damage" = ? + --"skill_can_add_multiple_charges_per_action" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("PhysicalMin", nil), --"spell_minimum_base_physical_damage" + [3] = skill("PhysicalMax", nil), --"spell_maximum_base_physical_damage" + }, + levels = { + [1] = { 3, 2, 4, }, + [2] = { 5, 3, 4, }, + [3] = { 8, 4, 6, }, + [4] = { 10, 5, 7, }, + [5] = { 12, 6, 8, }, + [6] = { 14, 6, 10, }, + [7] = { 17, 8, 12, }, + [8] = { 20, 10, 15, }, + [9] = { 25, 14, 21, }, + [10] = { 28, 17, 25, }, + [11] = { 31, 20, 30, }, + [12] = { 36, 27, 41, }, + [13] = { 41, 36, 54, }, + [14] = { 46, 47, 70, }, + [15] = { 51, 61, 92, }, + [16] = { 52, 64, 97, }, + [17] = { 57, 83, 124, }, + [18] = { 65, 123, 185, }, + [19] = { 66, 129, 194, }, + [20] = { 67, 136, 204, }, + [21] = { 68, 143, 214, }, + [22] = { 69, 150, 224, }, + [23] = { 70, 157, 236, }, + [24] = { 71, 165, 247, }, + [25] = { 72, 173, 259, }, + [26] = { 73, 181, 272, }, + [27] = { 74, 190, 285, }, + [28] = { 75, 199, 299, }, + [29] = { 76, 209, 313, }, + [30] = { 77, 219, 328, }, + [31] = { 78, 229, 344, }, + [32] = { 79, 240, 360, }, + [33] = { 80, 252, 378, }, + [34] = { 81, 264, 395, }, + [35] = { 82, 276, 414, }, + }, +} skills["ExperimenterDetonateDead"] = { name = "Detonate Dead", hidden = true, @@ -426,6 +491,71 @@ skills["FlamebearerFlameBlue"] = { [29] = { 82, 514, 770, -75, }, }, } +skills["GhostPirateBladeVortexSpectre"] = { + name = "Blade Vortex", + hidden = true, + color = 2, + baseFlags = { + spell = true, + duration = true, + area = true, + }, + skillTypes = { [2] = true, [10] = true, [11] = true, [12] = true, [18] = true, [26] = true, [36] = true, [27] = true, }, + baseMods = { + skill("castTime", 0.5), + skill("critChance", 6), + skill("duration", 5), --"base_skill_effect_duration" = 5000 + --"maximum_number_of_spinning_blades" = 5 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"skill_repeat_count" = 2 + --"is_area_damage" = ? + --"skill_can_add_multiple_charges_per_action" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("PhysicalMin", nil), --"spell_minimum_base_physical_damage" + [3] = skill("PhysicalMax", nil), --"spell_maximum_base_physical_damage" + }, + levels = { + [1] = { 3, 2, 4, }, + [2] = { 5, 3, 4, }, + [3] = { 8, 4, 6, }, + [4] = { 10, 5, 7, }, + [5] = { 12, 6, 8, }, + [6] = { 14, 6, 10, }, + [7] = { 17, 8, 12, }, + [8] = { 20, 10, 15, }, + [9] = { 25, 14, 21, }, + [10] = { 28, 17, 25, }, + [11] = { 31, 20, 30, }, + [12] = { 36, 27, 41, }, + [13] = { 41, 36, 54, }, + [14] = { 46, 47, 70, }, + [15] = { 51, 61, 92, }, + [16] = { 52, 64, 97, }, + [17] = { 57, 83, 124, }, + [18] = { 65, 123, 185, }, + [19] = { 66, 129, 194, }, + [20] = { 67, 136, 204, }, + [21] = { 68, 143, 214, }, + [22] = { 69, 150, 224, }, + [23] = { 70, 157, 236, }, + [24] = { 71, 165, 247, }, + [25] = { 72, 173, 259, }, + [26] = { 73, 181, 272, }, + [27] = { 74, 190, 285, }, + [28] = { 75, 199, 299, }, + [29] = { 76, 209, 313, }, + [30] = { 77, 219, 328, }, + [31] = { 78, 229, 344, }, + [32] = { 79, 240, 360, }, + [33] = { 80, 252, 378, }, + [34] = { 81, 264, 395, }, + [35] = { 82, 276, 414, }, + }, +} skills["GoatmanMoltenShell"] = { name = "Molten Shell", hidden = true, @@ -1331,6 +1461,75 @@ skills["MonsterFlickerStrike"] = { [1] = { }, }, } +skills["MonsterFlameRedCannibal"] = { + name = "Incinerate", + hidden = true, + color = 4, + baseFlags = { + spell = true, + projectile = true, + fire = true, + }, + skillTypes = { [2] = true, [3] = true, [10] = true, [12] = true, [17] = true, [19] = true, [30] = true, [33] = true, }, + skillTotemId = 8, + baseMods = { + skill("castTime", 0.25), + skill("damageEffectiveness", 0.25), + --"skill_repeat_count" = 8 + --"skill_art_variation" = 2 + --"spell_maximum_action_distance_+%" = -75 + mod("Speed", "MORE", 25, ModFlag.Cast), --"active_skill_cast_speed_+%_final" = 25 + --"monster_penalty_against_minions_damage_+%_final_vs_player_minions" = -25 + mod("ProjectileCount", "BASE", 3), --"number_of_additional_projectiles" = 3 + --"base_is_projectile" = ? + --"projectile_uses_contact_position" = ? + mod("PierceChance", "BASE", 100), --"always_pierce" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("FireMin", nil), --"spell_minimum_base_fire_damage" + [3] = skill("FireMax", nil), --"spell_maximum_base_fire_damage" + }, + levels = { + [1] = { 3, 2, 3, }, + [2] = { 5, 2, 3, }, + [3] = { 8, 3, 5, }, + [4] = { 12, 5, 7, }, + [5] = { 15, 6, 9, }, + [6] = { 19, 9, 13, }, + [7] = { 20, 10, 14, }, + [8] = { 21, 10, 16, }, + [9] = { 26, 16, 23, }, + [10] = { 30, 21, 31, }, + [11] = { 34, 28, 42, }, + [12] = { 38, 37, 56, }, + [13] = { 43, 52, 79, }, + [14] = { 45, 60, 90, }, + [15] = { 53, 102, 153, }, + [16] = { 58, 140, 210, }, + [17] = { 62, 180, 271, }, + [18] = { 63, 192, 288, }, + [19] = { 66, 231, 347, }, + [20] = { 67, 246, 369, }, + [21] = { 68, 262, 393, }, + [22] = { 69, 278, 418, }, + [23] = { 70, 296, 444, }, + [24] = { 71, 315, 472, }, + [25] = { 72, 335, 502, }, + [26] = { 73, 356, 534, }, + [27] = { 74, 378, 567, }, + [28] = { 75, 402, 602, }, + [29] = { 76, 427, 640, }, + [30] = { 77, 453, 680, }, + [31] = { 78, 481, 722, }, + [32] = { 79, 511, 767, }, + [33] = { 80, 543, 814, }, + [34] = { 81, 576, 864, }, + [35] = { 82, 612, 918, }, + }, +} skills["MonsterLeapSlam"] = { name = "Leap Slam", hidden = true, diff --git a/Data/Skills/sup_int.lua b/Data/Skills/sup_int.lua index 98eb5f88..d5943b38 100644 --- a/Data/Skills/sup_int.lua +++ b/Data/Skills/sup_int.lua @@ -1272,14 +1272,14 @@ skills["SupportSummonElementalResistances"] = { mod("ManaCost", "MORE", 40), }, qualityMods = { - --"summon_fire_resistance_+" = 0.5 - --"summon_cold_resistance_+" = 0.5 - --"summon_lightning_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("FireResist", "BASE", 0.5) }), --"summon_fire_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ColdResist", "BASE", 0.5) }), --"summon_cold_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LightningResist", "BASE", 0.5) }), --"summon_lightning_resistance_+" = 0.5 }, levelMods = { - --[1] = "summon_fire_resistance_+" - --[2] = "summon_cold_resistance_+" - --[3] = "summon_lightning_resistance_+" + [1] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("FireResist", "BASE", nil) }), --"summon_fire_resistance_+" + [2] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ColdResist", "BASE", nil) }), --"summon_cold_resistance_+" + [3] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LightningResist", "BASE", nil) }), --"summon_lightning_resistance_+" [4] = { mod("ElementalDamage", "MORE", nil, 0, KeywordFlag.Totem), mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ElementalDamage", "MORE", nil) }) }, --"support_minion_totem_resistance_elemental_damage_+%_final" }, levels = { diff --git a/Data/Spectres.lua b/Data/Spectres.lua index e6ef4e7a..cefe539e 100644 --- a/Data/Spectres.lua +++ b/Data/Spectres.lua @@ -227,6 +227,26 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { -- MonsterCastsMassFrenzyText }, } +-- Cannibals +minions["Metadata/Monsters/Cannibal/CannibalMaleChampion"] = { + name = "Cannibal Fire-eater", + life = 1.44, + fireResist = 0, + coldResist = 0, + lightningResist = 0, + chaosResist = 0, + damage = 2.2, + damageSpread = 0.2, + attackTime = 1.995, + weaponType1 = "One Handed Mace", + skillList = { + "Melee", + "MonsterFlameRedCannibal", + }, + modList = { + -- StanceScavengerRun + }, +} -- Goatmen minions["Metadata/Monsters/Goatman/GoatmanLeapSlam"] = { name = "Goatman", @@ -353,6 +373,24 @@ minions["Metadata/Monsters/DemonModular/DemonFemaleRanged"] = { mod("PhysicalDamageConvertToFire", "BASE", 50), -- MonsterConvertToFireDamage2 }, } +minions["Metadata/Monsters/DemonModular/DemonModularBladeVortex"] = { + name = "Slashed Miscreation", + life = 1.5, + fireResist = 0, + coldResist = 0, + lightningResist = 0, + chaosResist = 0, + damage = 2, + damageSpread = 0.2, + attackTime = 1.5, + skillList = { + "Melee", + "DemonModularBladeVortex", + "DemonModularBladeVortexSpectre", + }, + modList = { + }, +} minions["Metadata/Monsters/DemonModular/DemonModularFire"] = { name = "Burned Miscreation", life = 1, @@ -474,6 +512,28 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackFlickerStrikeMaps"] = { -- MonsterUsesFlickerStrikeText }, } +minions["Metadata/Monsters/GhostPirates/GhostPirateGreenBladeVortex"] = { + name = "Spectral Scoundrel", + life = 1.5, + energyShield = 0.2, + fireResist = 0, + coldResist = 0, + lightningResist = 40, + chaosResist = 0, + damage = 2, + damageSpread = 0.2, + attackTime = 1.65, + weaponType1 = "One Handed Sword", + weaponType2 = "Shield", + skillList = { + "Melee", + "GhostPirateBladeVortex", + "GhostPirateBladeVortexSpectre", + }, + modList = { + mod("PhysicalDamageConvertToLightning", "BASE", 50), -- MonsterElementalSkeletonLightning + }, +} -- Undying grappler minions["Metadata/Monsters/Grappler/Grappler"] = { name = "Undying Grappler", diff --git a/Export/Export.sln b/Export/Export.sln index 4ea5ec60..d05a75ad 100644 --- a/Export/Export.sln +++ b/Export/Export.sln @@ -5,30 +5,50 @@ VisualStudioVersion = 14.0.25420.1 MinimumVisualStudioVersion = 10.0.40219.1 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{ECF13334-6BFE-4F72-A68F-DF00F5C86DE7}" ProjectSection(SolutionItems) = preProject - act_dex.lua = act_dex.lua - act_dex.txt = act_dex.txt - act_int.lua = act_int.lua - act_int.txt = act_int.txt - act_str.lua = act_str.lua - act_str.txt = act_str.txt - minion.lua = minion.lua - minion.txt = minion.txt - other.lua = other.lua - other.txt = other.txt - ..\skills.lua = ..\skills.lua - spectre.lua = spectre.lua - spectre.txt = spectre.txt - statmap.ini = statmap.ini - sup_dex.lua = sup_dex.lua - sup_dex.txt = sup_dex.txt - sup_int.lua = sup_int.lua - sup_int.txt = sup_int.txt - sup_str.lua = sup_str.lua - sup_str.txt = sup_str.txt + _common.lua = _common.lua + browse.lua = browse.lua + gemList.lua = gemList.lua + minions.lua = minions.lua + miscdata.lua = miscdata.lua + skills.lua = skills.lua + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Skills", "Skills", "{740FE360-DB7C-403B-A6BD-61EDFAB1B54D}" + ProjectSection(SolutionItems) = preProject + Skills\act_dex.lua = Skills\act_dex.lua + Skills\act_dex.txt = Skills\act_dex.txt + Skills\act_int.lua = Skills\act_int.lua + Skills\act_int.txt = Skills\act_int.txt + Skills\act_str.lua = Skills\act_str.lua + Skills\act_str.txt = Skills\act_str.txt + Skills\minion.lua = Skills\minion.lua + Skills\minion.txt = Skills\minion.txt + Skills\other.lua = Skills\other.lua + Skills\other.txt = Skills\other.txt + Skills\spectre.lua = Skills\spectre.lua + Skills\spectre.txt = Skills\spectre.txt + Skills\statmap.ini = Skills\statmap.ini + Skills\sup_dex.lua = Skills\sup_dex.lua + Skills\sup_dex.txt = Skills\sup_dex.txt + Skills\sup_int.lua = Skills\sup_int.lua + Skills\sup_int.txt = Skills\sup_int.txt + Skills\sup_str.lua = Skills\sup_str.lua + Skills\sup_str.txt = Skills\sup_str.txt + EndProjectSection +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Minions", "Minions", "{9FE6A1A9-0224-4724-9684-CC44B4540BE3}" + ProjectSection(SolutionItems) = preProject + Minions\modmap.ini = Minions\modmap.ini + Minions\Spectres.lua = Minions\Spectres.lua + Minions\Spectres.txt = Minions\Spectres.txt EndProjectSection EndProject Global GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection + GlobalSection(NestedProjects) = preSolution + {740FE360-DB7C-403B-A6BD-61EDFAB1B54D} = {ECF13334-6BFE-4F72-A68F-DF00F5C86DE7} + {9FE6A1A9-0224-4724-9684-CC44B4540BE3} = {ECF13334-6BFE-4F72-A68F-DF00F5C86DE7} + EndGlobalSection EndGlobal diff --git a/Export/Minions/Spectres.lua b/Export/Minions/Spectres.lua index e6ef4e7a..cefe539e 100644 --- a/Export/Minions/Spectres.lua +++ b/Export/Minions/Spectres.lua @@ -227,6 +227,26 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { -- MonsterCastsMassFrenzyText }, } +-- Cannibals +minions["Metadata/Monsters/Cannibal/CannibalMaleChampion"] = { + name = "Cannibal Fire-eater", + life = 1.44, + fireResist = 0, + coldResist = 0, + lightningResist = 0, + chaosResist = 0, + damage = 2.2, + damageSpread = 0.2, + attackTime = 1.995, + weaponType1 = "One Handed Mace", + skillList = { + "Melee", + "MonsterFlameRedCannibal", + }, + modList = { + -- StanceScavengerRun + }, +} -- Goatmen minions["Metadata/Monsters/Goatman/GoatmanLeapSlam"] = { name = "Goatman", @@ -353,6 +373,24 @@ minions["Metadata/Monsters/DemonModular/DemonFemaleRanged"] = { mod("PhysicalDamageConvertToFire", "BASE", 50), -- MonsterConvertToFireDamage2 }, } +minions["Metadata/Monsters/DemonModular/DemonModularBladeVortex"] = { + name = "Slashed Miscreation", + life = 1.5, + fireResist = 0, + coldResist = 0, + lightningResist = 0, + chaosResist = 0, + damage = 2, + damageSpread = 0.2, + attackTime = 1.5, + skillList = { + "Melee", + "DemonModularBladeVortex", + "DemonModularBladeVortexSpectre", + }, + modList = { + }, +} minions["Metadata/Monsters/DemonModular/DemonModularFire"] = { name = "Burned Miscreation", life = 1, @@ -474,6 +512,28 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackFlickerStrikeMaps"] = { -- MonsterUsesFlickerStrikeText }, } +minions["Metadata/Monsters/GhostPirates/GhostPirateGreenBladeVortex"] = { + name = "Spectral Scoundrel", + life = 1.5, + energyShield = 0.2, + fireResist = 0, + coldResist = 0, + lightningResist = 40, + chaosResist = 0, + damage = 2, + damageSpread = 0.2, + attackTime = 1.65, + weaponType1 = "One Handed Sword", + weaponType2 = "Shield", + skillList = { + "Melee", + "GhostPirateBladeVortex", + "GhostPirateBladeVortexSpectre", + }, + modList = { + mod("PhysicalDamageConvertToLightning", "BASE", 50), -- MonsterElementalSkeletonLightning + }, +} -- Undying grappler minions["Metadata/Monsters/Grappler/Grappler"] = { name = "Undying Grappler", diff --git a/Export/Minions/Spectres.txt b/Export/Minions/Spectres.txt index f2d8f67c..d1bc1a1d 100644 --- a/Export/Minions/Spectres.txt +++ b/Export/Minions/Spectres.txt @@ -19,6 +19,8 @@ local minions, mod = ... #monster Metadata/Monsters/Beasts/BeastCleaveEnduringCry -- Blood apes #monster Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage +-- Cannibals +#monster Metadata/Monsters/Cannibal/CannibalMaleChampion -- Goatmen #monster Metadata/Monsters/Goatman/GoatmanLeapSlam #monster Metadata/Monsters/Goatman/GoatmanLightningLeapSlamMaps @@ -27,6 +29,7 @@ local minions, mod = ... -- Miscreation #monster Metadata/Monsters/DemonFemale/DemonFemale #monster Metadata/Monsters/DemonModular/DemonFemaleRanged +#monster Metadata/Monsters/DemonModular/DemonModularBladeVortex #monster Metadata/Monsters/DemonModular/DemonModularFire -- Maw #monster Metadata/Monsters/Frog/Frog @@ -36,6 +39,7 @@ local minions, mod = ... -- Ghost pirate #monster Metadata/Monsters/GhostPirates/GhostPirateBlackBowMaps #monster Metadata/Monsters/GhostPirates/GhostPirateBlackFlickerStrikeMaps +#monster Metadata/Monsters/GhostPirates/GhostPirateGreenBladeVortex -- Undying grappler #monster Metadata/Monsters/Grappler/Grappler -- Ribbon diff --git a/Export/Minions/modmap.ini b/Export/Minions/modmap.ini index 259692a7..7cbeaf15 100644 --- a/Export/Minions/modmap.ini +++ b/Export/Minions/modmap.ini @@ -20,5 +20,7 @@ mod("Speed", "INC", -80, ModFlag.Cast, KeywordFlag.Curse) mod("PhysicalDamageConvertToChaos", "BASE", 30) [MonsterPhysicalAddedAsLightningSkeletonMaps] mod("PhysicalDamageGainAsLightning", "BASE", 100) +[MonsterElementalSkeletonLightning] +mod("PhysicalDamageConvertToLightning", "BASE", 50) [MonsterGoatmanShamanCastSpeed] mod("Speed", "INC", -50, ModFlag.Cast) \ No newline at end of file diff --git a/Export/Skills/minion.lua b/Export/Skills/minion.lua index 5bbd5290..de7a302a 100644 --- a/Export/Skills/minion.lua +++ b/Export/Skills/minion.lua @@ -888,6 +888,7 @@ skills["RockGolemSlam"] = { color = 1, baseFlags = { attack = true, + melee = true, area = true, }, skillTypes = { [1] = true, [11] = true, }, @@ -948,6 +949,7 @@ skills["ZombieSlam"] = { color = 4, baseFlags = { attack = true, + melee = true, area = true, }, skillTypes = { [1] = true, [11] = true, }, diff --git a/Export/Skills/minion.txt b/Export/Skills/minion.txt index ab638781..91730773 100644 --- a/Export/Skills/minion.txt +++ b/Export/Skills/minion.txt @@ -62,7 +62,7 @@ local skills, mod, flag, skill = ... #mods #skill RockGolemSlam Slam -#flags attack area +#flags attack melee area #mods #skill RockGolemWhirlingBlades Roll @@ -70,7 +70,7 @@ local skills, mod, flag, skill = ... #mods #skill ZombieSlam Slam -#flags attack area +#flags attack melee area #mods skills["MinionInstability"] = { diff --git a/Export/Skills/spectre.lua b/Export/Skills/spectre.lua index 53e1d53e..2d45e770 100644 --- a/Export/Skills/spectre.lua +++ b/Export/Skills/spectre.lua @@ -236,6 +236,71 @@ skills["DemonFemaleRangedProjectile"] = { [1] = { }, }, } +skills["DemonModularBladeVortexSpectre"] = { + name = "Blade Vortex", + hidden = true, + color = 2, + baseFlags = { + spell = true, + area = true, + duration = true, + }, + skillTypes = { [2] = true, [10] = true, [11] = true, [12] = true, [18] = true, [26] = true, [36] = true, [27] = true, }, + baseMods = { + skill("castTime", 0.5), + skill("critChance", 6), + skill("duration", 5), --"base_skill_effect_duration" = 5000 + --"maximum_number_of_spinning_blades" = 5 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"skill_repeat_count" = 2 + --"is_area_damage" = ? + --"skill_can_add_multiple_charges_per_action" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("PhysicalMin", nil), --"spell_minimum_base_physical_damage" + [3] = skill("PhysicalMax", nil), --"spell_maximum_base_physical_damage" + }, + levels = { + [1] = { 3, 2, 4, }, + [2] = { 5, 3, 4, }, + [3] = { 8, 4, 6, }, + [4] = { 10, 5, 7, }, + [5] = { 12, 6, 8, }, + [6] = { 14, 6, 10, }, + [7] = { 17, 8, 12, }, + [8] = { 20, 10, 15, }, + [9] = { 25, 14, 21, }, + [10] = { 28, 17, 25, }, + [11] = { 31, 20, 30, }, + [12] = { 36, 27, 41, }, + [13] = { 41, 36, 54, }, + [14] = { 46, 47, 70, }, + [15] = { 51, 61, 92, }, + [16] = { 52, 64, 97, }, + [17] = { 57, 83, 124, }, + [18] = { 65, 123, 185, }, + [19] = { 66, 129, 194, }, + [20] = { 67, 136, 204, }, + [21] = { 68, 143, 214, }, + [22] = { 69, 150, 224, }, + [23] = { 70, 157, 236, }, + [24] = { 71, 165, 247, }, + [25] = { 72, 173, 259, }, + [26] = { 73, 181, 272, }, + [27] = { 74, 190, 285, }, + [28] = { 75, 199, 299, }, + [29] = { 76, 209, 313, }, + [30] = { 77, 219, 328, }, + [31] = { 78, 229, 344, }, + [32] = { 79, 240, 360, }, + [33] = { 80, 252, 378, }, + [34] = { 81, 264, 395, }, + [35] = { 82, 276, 414, }, + }, +} skills["ExperimenterDetonateDead"] = { name = "Detonate Dead", hidden = true, @@ -426,6 +491,71 @@ skills["FlamebearerFlameBlue"] = { [29] = { 82, 514, 770, -75, }, }, } +skills["GhostPirateBladeVortexSpectre"] = { + name = "Blade Vortex", + hidden = true, + color = 2, + baseFlags = { + spell = true, + duration = true, + area = true, + }, + skillTypes = { [2] = true, [10] = true, [11] = true, [12] = true, [18] = true, [26] = true, [36] = true, [27] = true, }, + baseMods = { + skill("castTime", 0.5), + skill("critChance", 6), + skill("duration", 5), --"base_skill_effect_duration" = 5000 + --"maximum_number_of_spinning_blades" = 5 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"skill_repeat_count" = 2 + --"is_area_damage" = ? + --"skill_can_add_multiple_charges_per_action" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("PhysicalMin", nil), --"spell_minimum_base_physical_damage" + [3] = skill("PhysicalMax", nil), --"spell_maximum_base_physical_damage" + }, + levels = { + [1] = { 3, 2, 4, }, + [2] = { 5, 3, 4, }, + [3] = { 8, 4, 6, }, + [4] = { 10, 5, 7, }, + [5] = { 12, 6, 8, }, + [6] = { 14, 6, 10, }, + [7] = { 17, 8, 12, }, + [8] = { 20, 10, 15, }, + [9] = { 25, 14, 21, }, + [10] = { 28, 17, 25, }, + [11] = { 31, 20, 30, }, + [12] = { 36, 27, 41, }, + [13] = { 41, 36, 54, }, + [14] = { 46, 47, 70, }, + [15] = { 51, 61, 92, }, + [16] = { 52, 64, 97, }, + [17] = { 57, 83, 124, }, + [18] = { 65, 123, 185, }, + [19] = { 66, 129, 194, }, + [20] = { 67, 136, 204, }, + [21] = { 68, 143, 214, }, + [22] = { 69, 150, 224, }, + [23] = { 70, 157, 236, }, + [24] = { 71, 165, 247, }, + [25] = { 72, 173, 259, }, + [26] = { 73, 181, 272, }, + [27] = { 74, 190, 285, }, + [28] = { 75, 199, 299, }, + [29] = { 76, 209, 313, }, + [30] = { 77, 219, 328, }, + [31] = { 78, 229, 344, }, + [32] = { 79, 240, 360, }, + [33] = { 80, 252, 378, }, + [34] = { 81, 264, 395, }, + [35] = { 82, 276, 414, }, + }, +} skills["GoatmanMoltenShell"] = { name = "Molten Shell", hidden = true, @@ -1331,6 +1461,75 @@ skills["MonsterFlickerStrike"] = { [1] = { }, }, } +skills["MonsterFlameRedCannibal"] = { + name = "Incinerate", + hidden = true, + color = 4, + baseFlags = { + spell = true, + projectile = true, + fire = true, + }, + skillTypes = { [2] = true, [3] = true, [10] = true, [12] = true, [17] = true, [19] = true, [30] = true, [33] = true, }, + skillTotemId = 8, + baseMods = { + skill("castTime", 0.25), + skill("damageEffectiveness", 0.25), + --"skill_repeat_count" = 8 + --"skill_art_variation" = 2 + --"spell_maximum_action_distance_+%" = -75 + mod("Speed", "MORE", 25, ModFlag.Cast), --"active_skill_cast_speed_+%_final" = 25 + --"monster_penalty_against_minions_damage_+%_final_vs_player_minions" = -25 + mod("ProjectileCount", "BASE", 3), --"number_of_additional_projectiles" = 3 + --"base_is_projectile" = ? + --"projectile_uses_contact_position" = ? + mod("PierceChance", "BASE", 100), --"always_pierce" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = skill("FireMin", nil), --"spell_minimum_base_fire_damage" + [3] = skill("FireMax", nil), --"spell_maximum_base_fire_damage" + }, + levels = { + [1] = { 3, 2, 3, }, + [2] = { 5, 2, 3, }, + [3] = { 8, 3, 5, }, + [4] = { 12, 5, 7, }, + [5] = { 15, 6, 9, }, + [6] = { 19, 9, 13, }, + [7] = { 20, 10, 14, }, + [8] = { 21, 10, 16, }, + [9] = { 26, 16, 23, }, + [10] = { 30, 21, 31, }, + [11] = { 34, 28, 42, }, + [12] = { 38, 37, 56, }, + [13] = { 43, 52, 79, }, + [14] = { 45, 60, 90, }, + [15] = { 53, 102, 153, }, + [16] = { 58, 140, 210, }, + [17] = { 62, 180, 271, }, + [18] = { 63, 192, 288, }, + [19] = { 66, 231, 347, }, + [20] = { 67, 246, 369, }, + [21] = { 68, 262, 393, }, + [22] = { 69, 278, 418, }, + [23] = { 70, 296, 444, }, + [24] = { 71, 315, 472, }, + [25] = { 72, 335, 502, }, + [26] = { 73, 356, 534, }, + [27] = { 74, 378, 567, }, + [28] = { 75, 402, 602, }, + [29] = { 76, 427, 640, }, + [30] = { 77, 453, 680, }, + [31] = { 78, 481, 722, }, + [32] = { 79, 511, 767, }, + [33] = { 80, 543, 814, }, + [34] = { 81, 576, 864, }, + [35] = { 82, 612, 918, }, + }, +} skills["MonsterLeapSlam"] = { name = "Leap Slam", hidden = true, diff --git a/Export/Skills/spectre.txt b/Export/Skills/spectre.txt index a239d43a..90fcfc39 100644 --- a/Export/Skills/spectre.txt +++ b/Export/Skills/spectre.txt @@ -29,6 +29,10 @@ local skills, mod, flag, skill = ... #flags attack projectile #mods +#skill DemonModularBladeVortexSpectre Blade Vortex +#flags spell area duration +#mods + #skill ExperimenterDetonateDead Detonate Dead #flags cast area fire #mods @@ -41,6 +45,10 @@ local skills, mod, flag, skill = ... #flags spell projectile duration fire #mods +#skill GhostPirateBladeVortexSpectre Blade Vortex +#flags spell duration area +#mods + #skill GoatmanMoltenShell Molten Shell #flags spell area duration fire #mods @@ -106,6 +114,10 @@ local skills, mod, flag, skill = ... #flags attack melee movement #mods +#skill MonsterFlameRedCannibal Incinerate +#flags spell projectile fire +#mods + #skill MonsterLeapSlam Leap Slam #flags attack melee area #mods diff --git a/Export/Skills/statmap.ini b/Export/Skills/statmap.ini index e1e9e681..18d7a525 100644 --- a/Export/Skills/statmap.ini +++ b/Export/Skills/statmap.ini @@ -475,6 +475,12 @@ mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Speed", "INC", { mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Speed", "INC", {val}, ModFlag.Cast) }) [minion_elemental_resistance_%] mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ElementalResist", "BASE", {val}) }) +[summon_fire_resistance_+] +mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("FireResist", "BASE", {val}) }) +[summon_cold_resistance_+] +mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ColdResist", "BASE", {val}) }) +[summon_lightning_resistance_+] +mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LightningResist", "BASE", {val}) }) [base_number_of_zombies_allowed] mod = mod("ActiveZombieLimit", "BASE", {val}) [base_number_of_skeletons_allowed] diff --git a/Export/Skills/sup_int.lua b/Export/Skills/sup_int.lua index 98eb5f88..d5943b38 100644 --- a/Export/Skills/sup_int.lua +++ b/Export/Skills/sup_int.lua @@ -1272,14 +1272,14 @@ skills["SupportSummonElementalResistances"] = { mod("ManaCost", "MORE", 40), }, qualityMods = { - --"summon_fire_resistance_+" = 0.5 - --"summon_cold_resistance_+" = 0.5 - --"summon_lightning_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("FireResist", "BASE", 0.5) }), --"summon_fire_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ColdResist", "BASE", 0.5) }), --"summon_cold_resistance_+" = 0.5 + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LightningResist", "BASE", 0.5) }), --"summon_lightning_resistance_+" = 0.5 }, levelMods = { - --[1] = "summon_fire_resistance_+" - --[2] = "summon_cold_resistance_+" - --[3] = "summon_lightning_resistance_+" + [1] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("FireResist", "BASE", nil) }), --"summon_fire_resistance_+" + [2] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ColdResist", "BASE", nil) }), --"summon_cold_resistance_+" + [3] = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LightningResist", "BASE", nil) }), --"summon_lightning_resistance_+" [4] = { mod("ElementalDamage", "MORE", nil, 0, KeywordFlag.Totem), mod("Misc", "LIST", { type = "MinionModifier", mod = mod("ElementalDamage", "MORE", nil) }) }, --"support_minion_totem_resistance_elemental_damage_+%_final" }, levels = { diff --git a/Modules/CalcActiveSkill.lua b/Modules/CalcActiveSkill.lua index 6b46c0c2..61f793d1 100644 --- a/Modules/CalcActiveSkill.lua +++ b/Modules/CalcActiveSkill.lua @@ -411,6 +411,7 @@ function calcs.buildActiveSkillModList(env, actor, activeSkill) local minion = { } activeSkill.minion = minion skillFlags.haveMinion = true + minion.parent = env.player minion.minionData = data.minions[minionType] minion.config = { } minion.level = activeSkill.skillData.minionLevel or activeSkill.skillData.levelRequirement diff --git a/Modules/CalcOffence.lua b/Modules/CalcOffence.lua index 2043a7ab..ded1f81a 100644 --- a/Modules/CalcOffence.lua +++ b/Modules/CalcOffence.lua @@ -174,7 +174,7 @@ function calcs.offence(env, actor) if modDB:Sum("FLAG", nil, "MinionDamageAppliesToPlayer") then -- Minion Damage conversion from The Scourge for _, value in ipairs(modDB:Sum("LIST", env.player.mainSkill.skillCfg, "Misc")) do - if value.type == "MinionModifier" and value.mod.name == "Damage "then + if value.type == "MinionModifier" and value.mod.name == "Damage" then modDB:AddMod(value.mod) end end diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index 3553814f..84ea20d1 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -66,7 +66,7 @@ local function doActorAttribsPoolsConditions(env, actor) -- Life/mana pools if modDB:Sum("FLAG", nil, "ChaosInoculation") then output.Life = 1 - modDB.conditions["FullLife"] = true + condList["FullLife"] = true else local base = modDB:Sum("BASE", nil, "Life") local inc = modDB:Sum("INC", nil, "Life") @@ -189,6 +189,11 @@ local function doActorAttribsPoolsConditions(env, actor) if env.mode_effective then condList["Effective"] = true end + for _, value in ipairs(modDB:Sum("LIST", nil, "Misc")) do + if value.type == "Condition" then + condList[value.var] = true + end + end end -- Process charges, misc modifiers, and other buffs diff --git a/Modules/ModParser.lua b/Modules/ModParser.lua index 3e8f3edf..55efd355 100644 --- a/Modules/ModParser.lua +++ b/Modules/ModParser.lua @@ -755,13 +755,14 @@ local specialModList = { ["minions poison enemies on hit"] = { mod("Misc", "LIST", { type = "MinionModifier", mod = mod("PoisonChance", "BASE", 100) }) }, ["(%d+)%% increased minion damage if you have hit recently"] = function(num) return { mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HitRecently" }) } end, ["(%d+)%% increased golem damage for each type of golem you have summoned"] = function(num) return { - mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HavePhysicalGolem" }, { type = "SkillType", skillType = SkillType.Golem }), - mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HaveLightningGolem" }, { type = "SkillType", skillType = SkillType.Golem }), - mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HaveColdGolem" }, { type = "SkillType", skillType = SkillType.Golem }), - mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HaveFireGolem" }, { type = "SkillType", skillType = SkillType.Golem }), - mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num) }, { type = "Condition", var = "HaveChaosGolem" }, { type = "SkillType", skillType = SkillType.Golem }), + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num, { type = "ParentCondition", var = "HavePhysicalGolem" }) }, { type = "SkillType", skillType = SkillType.Golem }), + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num, { type = "ParentCondition", var = "HaveLightningGolem" }) }, { type = "SkillType", skillType = SkillType.Golem }), + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num, { type = "ParentCondition", var = "HaveColdGolem" }) }, { type = "SkillType", skillType = SkillType.Golem }), + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num, { type = "ParentCondition", var = "HaveFireGolem" }) }, { type = "SkillType", skillType = SkillType.Golem }), + mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", num, { type = "ParentCondition", var = "HaveChaosGolem" }) }, { type = "SkillType", skillType = SkillType.Golem }), } end, ["can summon up to (%d) additional golems? at a time"] = function(num) return { mod("ActiveGolemLimit", "BASE", num) } end, + ["if you have 3 primordial jewels, can summon up to (%d) additional golems? at a time"] = function(num) return { mod("ActiveGolemLimit", "BASE", num, { type = "MultiplierThreshold", var = "PrimordialJewel", threshold = 3 }) } end, ["golems regenerate (%d)%% of their maximum life per second"] = function(num) return { mod("Misc", "LIST", { type = "MinionModifier", mod = mod("LifeRegenPercent", "BASE", num) }, { type = "SkillType", skillType = SkillType.Golem }) } end, -- Projectiles ["skills chain %+(%d) times"] = function(num) return { mod("ChainCount", "BASE", num) } end, @@ -1046,8 +1047,8 @@ local jewelFuncs = { ["With at least 40 Strength in Radius, Molten Strike fires 2 additional Projectiles"] = getThreshold("Str", "ProjectileCount", "BASE", 2, { type = "SkillName", skillName = "Molten Strike" }), ["With at least 40 Strength in Radius, Molten Strike has 25% increased Area of Effect"] = getThreshold("Str", "AreaOfEffect", "INC", 25, { type = "SkillName", skillName = "Molten Strike" }), ["With at least 40 Strength in Radius, 25% of Glacial Hammer Physical Damage converted to Cold Damage"] = getThreshold("Str", "PhysicalDamageConvertToCold", "BASE", 25, { type = "SkillName", skillName = "Glacial Hammer" }), - ["With at least 40 Intelligence in Radius, Raised Zombies' Slam Attack has 100% increased Cooldown Recovery Speed"] = getThreshold("Int", "Misc", "LIST", { type = "MinionModifier", mod = mod("CooldownRecovery", "INC", 100, { type = "SkillName", skillName = "Zombie Slam" }) }), - ["With at least 40 Intelligence in Radius, Raised Zombies' Slam Attack deals 30% increased Damage"] = getThreshold("Int", "Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", 30, { type = "SkillName", skillName = "Zombie Slam" }) }), + ["With at least 40 Intelligence in Radius, Raised Zombies' Slam Attack has 100% increased Cooldown Recovery Speed"] = getThreshold("Int", "Misc", "LIST", { type = "MinionModifier", mod = mod("CooldownRecovery", "INC", 100, { type = "SkillId", skillId = "ZombieSlam" }) }), + ["With at least 40 Intelligence in Radius, Raised Zombies' Slam Attack deals 30% increased Damage"] = getThreshold("Int", "Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "INC", 30, { type = "SkillId", skillId = "ZombieSlam" }) }), --[""] = getThreshold("", "", "", , { type = "SkillName", skillName = "" }), } diff --git a/README.md b/README.md index 31291260..2a7e71d7 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,16 @@ Head over to the [Releases](https://github.com/Openarl/PathOfBuilding/releases) ![ss3](https://cloud.githubusercontent.com/assets/19189971/18089780/f0ff234a-6f04-11e6-8c88-6193fe59a5c4.png) ## Changelog +### 1.4.1 - 2017/04/16 + * Added Slashed Miscreation, Spectral Scoundrel and Cannibal Fire-eater to the spectre library + * The DPS for monster versions of Blade Vortex won't be accurate yet + * Added support for the modifier on The Anima Stone that grants an additional golem with 3 Primordial jewels + * The Zombie's Slam skill should now count as a melee skill + * Minion and Totem Elemental Resistances Support now correctly applies resistances to minions + * Fixed the minion damage conversion from The Scourge + * Fixed the golem damage modifier on Primordial Harmony + * Fixed the Zombie Slam modifiers on Violent Dead + ### 1.4.0 - 2017/04/15 This update adds support for Minions: * Added support for the following skills: diff --git a/changelog.txt b/changelog.txt index da88a032..2a15e05f 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,12 @@ +VERSION[1.4.1][2017/04/16] + * Added Slashed Miscreation, Spectral Scoundrel and Cannibal Fire-eater to the spectre library + * The DPS for monster versions of Blade Vortex won't be accurate yet + * Added support for the modifier on The Anima Stone that grants an additional golem with 3 Primordial jewels + * The Zombie's Slam skill should now count as a melee skill + * Minion and Totem Elemental Resistances Support now correctly applies resistances to minions + * Fixed the minion damage conversion from The Scourge + * Fixed the golem damage modifier on Primordial Harmony + * Fixed the Zombie Slam modifiers on Violent Dead VERSION[1.4.0][2017/04/15] This update adds support for Minions: * Added support for the following skills: diff --git a/manifest.xml b/manifest.xml index d85ba98b..9be20c39 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,16 +1,16 @@ - + - + - + @@ -27,8 +27,8 @@ - - + + @@ -45,11 +45,11 @@ - + - - + + @@ -58,7 +58,7 @@ - + @@ -69,15 +69,15 @@ - + - + - + - +