Release 1.4.1

- 3 new spectres added
- Many fixes
This commit is contained in:
Openarl
2017-04-16 01:57:12 +10:00
parent 46640fe354
commit 97a892b370
24 changed files with 708 additions and 60 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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, },

View File

@@ -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,

View File

@@ -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 = {

View File

@@ -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",

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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)

View File

@@ -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, },

View File

@@ -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"] = {

View File

@@ -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,

View File

@@ -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

View File

@@ -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]

View File

@@ -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 = {

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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 = "" }),
}

View File

@@ -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:

View File

@@ -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:

View File

@@ -1,16 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<PoBVersion>
<Version number="1.4.0"/>
<Version number="1.4.1"/>
<Source part="program" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/"/>
<Source part="tree" url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/tree.zip"/>
<Source url="https://raw.githubusercontent.com/Openarl/PathOfBuilding/{branch}/runtime-win32.zip" part="runtime" platform="win32"/>
<File sha1="7912b22666567d5f0ff46378f5cb22e589e84efd" name="Launch.lua" part="program"/>
<File sha1="d8e42beeb38baabcc197d658e4c0af33419eeff3" name="UpdateCheck.lua" part="program"/>
<File sha1="4f17937f2b37784e169a3792b235f2a0a3961e61" name="UpdateApply.lua" part="program"/>
<File sha1="8f12e9b30aac19a3e278689f18581de7312abb81" name="changelog.txt" part="program"/>
<File sha1="f0b65578e4e11bdeea4e232ceebb83d8b9540b80" name="changelog.txt" part="program"/>
<File sha1="74fff9f369b6e2c98cfdf978c251c9828bcf39dc" name="Classes/BuildListControl.lua" part="program"/>
<File sha1="deffd663ba726d938fcbe2870aab8a4e982587fa" name="Classes/ButtonControl.lua" part="program"/>
<File sha1="39e739be7270ac02654b09cc0ba39aa49d9d56cb" name="Classes/CalcBreakdownControl.lua" part="program"/>
<File sha1="afd403ab0b4c766d5b1b1cfec402bd42e64175a4" name="Classes/CalcBreakdownControl.lua" part="program"/>
<File sha1="f7bced0e554bd4d99ef56bd87cf43294957cd179" name="Classes/CalcSectionControl.lua" part="program"/>
<File sha1="125e891b36ba51345662be93e53a10d2733e63c8" name="Classes/CalcsTab.lua" part="program"/>
<File sha1="573b791867ada18da1e93de8fc33ce6cf9ec9ab3" name="Classes/CheckBoxControl.lua" part="program"/>
@@ -27,8 +27,8 @@
<File sha1="9829f2eee6ede839ccfa235be208d6fec0b993da" name="Classes/ItemsTab.lua" part="program"/>
<File sha1="62138c7db82d57d638a16610a26acd0de75d3486" name="Classes/LabelControl.lua" part="program"/>
<File sha1="f1b5e6a85fff1677c6cdc27a431b9ddbea21f9b4" name="Classes/MinionListControl.lua" part="program"/>
<File sha1="7e464d2c4d48e96f4890e82c183f248866dee4d9" name="Classes/ModDB.lua" part="program"/>
<File sha1="0132e5aeea05494bc1db634e2c0b3d93e0ebec52" name="Classes/ModList.lua" part="program"/>
<File sha1="4ef48ddf10bf0c561b4176d851af66c032687142" name="Classes/ModDB.lua" part="program"/>
<File sha1="fa24ba48cdd110acb4ff24990a72b80cda516935" name="Classes/ModList.lua" part="program"/>
<File sha1="9bc0d8791e7825e52070e96e7894d29fad70cf98" name="Classes/NotesTab.lua" part="program"/>
<File sha1="cf400bb69d6668bdb44f595572b84194ac728b72" name="Classes/PassiveSpec.lua" part="program"/>
<File sha1="178c1dcab43b126240b029d3d29721f0af6cd84c" name="Classes/PassiveSpecListControl.lua" part="program"/>
@@ -45,11 +45,11 @@
<File sha1="4b7675c8b4fe71cade7dd3d70793df1ed8022d01" name="Classes/UndoHandler.lua" part="program"/>
<File sha1="049e8a6bac5a4aa50d4aebedcd131e63e7be6f4c" name="Modules/Build.lua" part="program"/>
<File sha1="8a07fe01c53b785ebb6256236e781fbaabd36c0e" name="Modules/BuildList.lua" part="program"/>
<File sha1="3a1718db83c6c9ad09f939c3f80d7ccdb3a4ce4b" name="Modules/CalcActiveSkill.lua" part="program"/>
<File sha1="e85c4e84d6c3f026cc4226721f591c4f18e092a2" name="Modules/CalcActiveSkill.lua" part="program"/>
<File sha1="be5c20701be3c2cc39c4cc7201915abfb4af8a34" name="Modules/CalcBreakdown.lua" part="program"/>
<File sha1="f73821449e252c41890e4d7e5e35fed77a650959" name="Modules/CalcDefence.lua" part="program"/>
<File sha1="cbea96e8fc3f13f55992a29d18b5a2d66d58a159" name="Modules/CalcOffence.lua" part="program"/>
<File sha1="d76445ff7e72b386dfbe250f32ad2369a5c5396f" name="Modules/CalcPerform.lua" part="program"/>
<File sha1="63f3f22d005dc44b5d98a9b82bb0d95a9c2a7eab" name="Modules/CalcOffence.lua" part="program"/>
<File sha1="2ef5dcc660a1afbbcd8dc373dab1fa496071771d" name="Modules/CalcPerform.lua" part="program"/>
<File sha1="4d95b97d514d937d1fbc68bfda5c0ee95d1174d0" name="Modules/Calcs.lua" part="program"/>
<File sha1="9fe39d249d1bce80b94405a91d844381127b9e0d" name="Modules/CalcSections.lua" part="program"/>
<File sha1="94fd37fdc1866ef8ce14ba5fdc1ac4f03bfa7112" name="Modules/CalcSetup.lua" part="program"/>
@@ -58,7 +58,7 @@
<File sha1="a0c6a98b0a270d7422b84e170bbe9f7f77963c68" name="Modules/Data.lua" part="program"/>
<File sha1="06088f7cb8a4080a530f257e64e3c4ecbd1dd628" name="Modules/ItemTools.lua" part="program"/>
<File sha1="127e6e91fc340fa976d03591601038281045f45b" name="Modules/Main.lua" part="program"/>
<File sha1="511c4394ba80406b3f9fe60e24389a54533f0806" name="Modules/ModParser.lua" part="program"/>
<File sha1="c7a703d892eda838b9213257f368630c197ac191" name="Modules/ModParser.lua" part="program"/>
<File sha1="08bfd94f291b10dbdc75c94d7f2928c8bbd1a1d7" name="Modules/ModTools.lua" part="program"/>
<File sha1="e7ee7e5b6388facb7bf568517ecc401590757df7" name="Assets/ring.png" part="program"/>
<File sha1="9a320bfe629b1cf3f14fc77fbbf2508d0a5b2841" name="Assets/small_ring.png" part="program"/>
@@ -69,15 +69,15 @@
<File sha1="15664631a501d837c5c6796217c663457f115bb1" name="Data/ModJewel.lua" part="program"/>
<File sha1="fd98575e526d69d515c7b37f277066477af425e9" name="Data/New.lua" part="program"/>
<File sha1="7523385920c639527980388d6e18cd7c92a786ce" name="Data/Rares.lua" part="program"/>
<File sha1="8362b5bbea493895df4e80a7f45438fcf1bf5d00" name="Data/Spectres.lua" part="program"/>
<File sha1="4c2ea4e4dc5d4c8b555dbdf9e986409a149cc7fb" name="Data/Spectres.lua" part="program"/>
<File sha1="715ad98af2f1fe25133bf9b2aaa29354857fe148" name="Data/Skills/act_dex.lua" part="program"/>
<File sha1="92c32cf8758fa1514253a24cccca1717c0bf3523" name="Data/Skills/act_int.lua" part="program"/>
<File sha1="f6baa0c4fdae08c4f297bf46982e1791eabf0fb9" name="Data/Skills/act_str.lua" part="program"/>
<File sha1="fece5bbc50cf35812c48ef426ce27fb863b9100a" name="Data/Skills/minion.lua" part="program"/>
<File sha1="95e9717f75c32f2863122f8851b154d0633e007d" name="Data/Skills/minion.lua" part="program"/>
<File sha1="7005dddeb01854027ea4ec988e48e38d5bc13377" name="Data/Skills/other.lua" part="program"/>
<File sha1="2b0419c9c767cfca1d722075c775482feb1702b3" name="Data/Skills/spectre.lua" part="program"/>
<File sha1="a969dc72b71fd7572ba9bea22bfbc0ffe5d74d52" name="Data/Skills/spectre.lua" part="program"/>
<File sha1="9edfbaea58b86df56357d343609cb0b9f6503707" name="Data/Skills/sup_dex.lua" part="program"/>
<File sha1="d7f42c52606145bd5cd9cf76d6050ca940b6c63f" name="Data/Skills/sup_int.lua" part="program"/>
<File sha1="28e3f9a83964758a6829e43682671cd72bdc99b6" name="Data/Skills/sup_int.lua" part="program"/>
<File sha1="d50a67bf97c7103b669f46c675b84fe6389a6e72" name="Data/Skills/sup_str.lua" part="program"/>
<File sha1="91ba12a1eeb94fa8d20e959a4d3b97a8dafab0b6" name="Data/Bases/amulet.lua" part="program"/>
<File sha1="9871414663d5da9fa564f959e42dcdc22c66f486" name="Data/Bases/axe.lua" part="program"/>