diff --git a/Classes/ConfigTab.lua b/Classes/ConfigTab.lua index a6008e7d..375e6335 100644 --- a/Classes/ConfigTab.lua +++ b/Classes/ConfigTab.lua @@ -265,6 +265,10 @@ local varList = { { var = "raiseSpectreEnableCurses", type = "check", label = "Enable curses:", ifSkill = "Raise Spectre", tooltip = "Enable any curse skills that your spectres have.", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "SkillData", key = "enable", value = true }, "Config", { type = "SkillType", skillType = SkillType.Curse }, { type = "SkillName", skillName = "Raise Spectre", summonSkill = true }) end }, + { var = "raiseSpectreBladeVortexBladeCount", type = "number", label = "Blade Vortex blade count:", ifSkillList = {"DemonModularBladeVortexSpectre","GhostPirateBladeVortexSpectre"}, tooltip = "Sets the blade count for Blade Vortex skills used by spectres.\nDefault is 1; maximum is 5.", apply = function(val, modList, enemyModList) + modList:NewMod("Misc", "LIST", { type = "SkillData", key = "dpsMultiplier", value = val }, "Config", { type = "SkillId", skillId = "DemonModularBladeVortexSpectre" }) + modList:NewMod("Misc", "LIST", { type = "SkillData", key = "dpsMultiplier", value = val }, "Config", { type = "SkillId", skillId = "GhostPirateBladeVortexSpectre" }) + end }, { label = "Summon Lightning Golem:", ifSkill = "Summon Lightning Golem" }, { var = "summonLightningGolemEnableWrath", type = "check", label = "Enable Wrath Aura:", ifSkill = "Summon Lightning Golem", apply = function(val, modList, enemyModList) modList:NewMod("Misc", "LIST", { type = "SkillData", key = "enable", value = true }, "Config", { type = "SkillId", skillId = "LightningGolemWrath" }) @@ -364,9 +368,17 @@ local ConfigTabClass = common.NewClass("ConfigTab", "UndoHandler", "ControlHost" return self.build.calcsTab.mainEnv.player.mainSkill.skillFlags[varData.ifFlag] -- O_O end control.tooltip = varData.tooltip - elseif varData.ifSkill then + elseif varData.ifSkill or varData.ifSkillList then control.shown = function() - return self.build.calcsTab.mainEnv.skillsUsed[varData.ifSkill] + if varData.ifSkillList then + for _, skillName in ipairs(varData.ifSkillList) do + if self.build.calcsTab.mainEnv.skillsUsed[skillName] then + return true + end + end + else + return self.build.calcsTab.mainEnv.skillsUsed[varData.ifSkill] + end end control.tooltip = varData.tooltip else diff --git a/Classes/ModDB.lua b/Classes/ModDB.lua index 112c66f3..56f0de87 100644 --- a/Classes/ModDB.lua +++ b/Classes/ModDB.lua @@ -80,21 +80,12 @@ function ModDBClass:NewMod(...) self:AddMod(mod_createMod(...)) end -function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) +function ModDBClass:Sum(modType, cfg, ...--[[arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12]]) local flags, keywordFlags = 0, 0 - local skillName, summonSkillName, skillGem, skillPart, skillTypes, skillStats, skillCond, skillDist, slotName, source, tabulate + local source, tabulate if cfg then flags = cfg.flags or 0 keywordFlags = cfg.keywordFlags or 0 - skillName = cfg.skillName - summonSkillName = cfg.summonSkillName - skillGem = cfg.skillGem - skillPart = cfg.skillPart - skillTypes = cfg.skillTypes - skillStats = cfg.skillStats - skillCond = cfg.skillCond - skillDist = cfg.skillDist - slotName = cfg.slotName source = cfg.source tabulate = cfg.tabulate end @@ -111,7 +102,7 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, else result = 0 end - hack[1] = arg1 + --[[hack[1] = arg1 if arg1 then hack[2] = arg2 if arg2 then @@ -144,9 +135,9 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, end end end - end - for i = 1, #hack do --i = 1, select('#', ...) do - local modName = hack[i]--select(i, ...) + end]] + for --[[i = 1, #hack do --]]i = 1, select('#', ...) do + local modName = --[[hack[i]--]]select(i, ...) local modList = self.mods[modName] if modList then for i = 1, #modList do @@ -155,7 +146,7 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, local value = mod.value for _, tag in pairs(mod.tagList) do if tag.type == "Multiplier" then - local mult = (self.multipliers[tag.var] or 0) + local mult = (self.multipliers[tag.var] or 0) + self:Sum("BASE", nil, "Multiplier:"..tag.var) if type(value) == "table" then value = copyTable(value) value.value = value.value * mult + (tag.base or 0) @@ -163,12 +154,13 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, value = value * mult + (tag.base or 0) end elseif tag.type == "MultiplierThreshold" then - if (self.multipliers[tag.var] or 0) < tag.threshold then + local mult = (self.multipliers[tag.var] or 0) + self:Sum("BASE", nil, "Multiplier:"..tag.var) + if mult < 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) + local mult = m_floor((self.actor.output[tag.stat] or (cfg and cfg.skillStats and cfg.skillStats[tag.stat]) or 0) / tag.div + 0.0001) if type(value) == "table" then value = copyTable(value) value.value = value.value * mult + (tag.base or 0) @@ -176,24 +168,24 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, 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 + if (self.actor.output[tag.stat] or (cfg and cfg.skillStats and cfg.skillStats[tag.stat]) or 0) < tag.threshold then value = nullValue break end elseif tag.type == "DistanceRamp" then - if not skillDist then + if not cfg or not cfg.skillDist then value = nullValue break end - if skillDist <= tag.ramp[1][1] then + if cfg.skillDist <= tag.ramp[1][1] then value = value * tag.ramp[1][2] - elseif skillDist >= tag.ramp[#tag.ramp][1] then + elseif cfg.skillDist >= tag.ramp[#tag.ramp][1] then value = value * tag.ramp[#tag.ramp][2] else for i, dat in ipairs(tag.ramp) do local next = tag.ramp[i+1] - if skillDist <= next[1] then - value = m_floor(value * (dat[2] + (next[2] - dat[2]) * (skillDist - dat[1]) / (next[1] - dat[1]))) + if cfg.skillDist <= next[1] then + value = value * (dat[2] + (next[2] - dat[2]) * (cfg.skillDist - dat[1]) / (next[1] - dat[1])) break end end @@ -202,13 +194,13 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, local match = false if tag.varList then for _, var in pairs(tag.varList) do - if self.conditions[var] or (skillCond and skillCond[var]) then + if self.conditions[var] or (cfg and cfg.skillCond and cfg.skillCond[var]) or self:Sum("FLAG", nil, "Condition:"..var) then match = true break end end else - match = self.conditions[tag.var] or (skillCond and skillCond[tag.var]) + match = self.conditions[tag.var] or (cfg and cfg.skillCond and cfg.skillCond[tag.var]) or self:Sum("FLAG", nil, "Condition:"..tag.var) end if tag.neg then match = not match @@ -219,16 +211,17 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, end elseif tag.type == "EnemyCondition" then local match = false - if self.actor.enemy then + local enemy = self.actor.enemy + if enemy then if tag.varList then for _, var in pairs(tag.varList) do - if self.actor.enemy.modDB.conditions[var] then + if enemy.modDB.conditions[var] or enemy.modDB:Sum("FLAG", nil, "Condition:"..var) then match = true break end end else - match = self.actor.enemy.modDB.conditions[tag.var] + match = enemy.modDB.conditions[tag.var] or enemy.modDB:Sum("FLAG", nil, "Condition:"..tag.var) end if tag.neg then match = not match @@ -260,13 +253,13 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, break end elseif tag.type == "SocketedIn" then - if tag.slotName ~= slotName or (tag.keyword and (not skillGem or not calcLib.gemIsType(skillGem, tag.keyword))) then + if not cfg or tag.slotName ~= cfg.slotName or (tag.keyword and (not cfg or not cfg.skillGem or not calcLib.gemIsType(cfg.skillGem, tag.keyword))) then value = nullValue break end elseif tag.type == "SkillName" then local match = false - local matchName = tag.summonSkill and (summonSkillName or "") or skillName + local matchName = tag.summonSkill and (cfg and cfg.summonSkillName or "") or (cfg and cfg.skillName) if tag.skillNameList then for _, name in pairs(tag.skillNameList) do if name == matchName then @@ -282,27 +275,27 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, break end elseif tag.type == "SkillId" then - if not skillGem or skillGem.data.id ~= tag.skillId then + if not cfg or not cfg.skillGem or cfg.skillGem.data.id ~= tag.skillId then value = nullValue break end elseif tag.type == "SkillPart" then - if tag.skillPart ~= skillPart then + if not cfg or tag.skillPart ~= cfg.skillPart then value = nullValue break end elseif tag.type == "SkillType" then - if not skillTypes or not skillTypes[tag.skillType] then + if not cfg or not cfg.skillTypes or not cfg.skillTypes[tag.skillType] then value = nullValue break end elseif tag.type == "SlotName" then - if tag.slotName ~= slotName then + if not cfg or tag.slotName ~= cfg.slotName then value = nullValue break end end - end + end if tabulate then if value and value ~= 0 then t_insert(result, { value = value, mod = mod }) @@ -310,7 +303,10 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, elseif modType == "MORE" then result = result * (1 + value / 100) elseif modType == "FLAG" then - result = result or value + if value then + result = true + break + end elseif modType == "LIST" then if value then t_insert(result, value) @@ -321,7 +317,7 @@ function ModDBClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, end end end - hack[i] = nil + --hack[i] = nil end return result end diff --git a/Classes/ModList.lua b/Classes/ModList.lua index 330d1756..a0c7837b 100644 --- a/Classes/ModList.lua +++ b/Classes/ModList.lua @@ -56,21 +56,12 @@ function ModListClass:NewMod(...) self:AddMod(mod_createMod(...)) end -function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12) +function ModListClass:Sum(modType, cfg, ...--[[arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12]]) local flags, keywordFlags = 0, 0 - local skillName, summonSkillName, skillGem, skillPart, skillTypes, skillStats, skillCond, skillDist, slotName, source, tabulate + local source, tabulate if cfg then flags = cfg.flags or 0 keywordFlags = cfg.keywordFlags or 0 - skillName = cfg.skillName - summonSkillName = cfg.summonSkillName - skillGem = cfg.skillGem - skillPart = cfg.skillPart - skillTypes = cfg.skillTypes - skillStats = cfg.skillStats - skillCond = cfg.skillCond - skillDist = cfg.skillDist - slotName = cfg.slotName source = cfg.source tabulate = cfg.tabulate end @@ -87,7 +78,7 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 else result = 0 end - hack[1] = arg1 + --[[hack[1] = arg1 if arg1 then hack[2] = arg2 if arg2 then @@ -120,16 +111,16 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 end end end - end - for i = 1, #hack do --i = 1, select('#', ...) do - local modName = hack[i]--select(i, ...) + end]] + for --[[i = 1, #hack do --]]i = 1, select('#', ...) do + local modName = --[[hack[i]--]]select(i, ...) for i = 1, #self do local mod = self[i] if mod.name == modName and (not modType or mod.type == modType) and band(flags, mod.flags) == mod.flags and (mod.keywordFlags == 0 or band(keywordFlags, mod.keywordFlags) ~= 0) and (not source or mod.source:match("[^:]+") == source) then local value = mod.value for _, tag in pairs(mod.tagList) do if tag.type == "Multiplier" then - local mult = (self.multipliers[tag.var] or 0) + local mult = (self.multipliers[tag.var] or 0) + self:Sum("BASE", nil, "Multiplier:"..tag.var) if type(value) == "table" then value = copyTable(value) value.value = value.value * mult + (tag.base or 0) @@ -137,12 +128,13 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 value = value * mult + (tag.base or 0) end elseif tag.type == "MultiplierThreshold" then - if (self.multipliers[tag.var] or 0) < tag.threshold then + local mult = (self.multipliers[tag.var] or 0) + self:Sum("BASE", nil, "Multiplier:"..tag.var) + if mult < 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) + local mult = m_floor((self.actor.output[tag.stat] or (cfg and cfg.skillStats and cfg.skillStats[tag.stat]) or 0) / tag.div + 0.0001) if type(value) == "table" then value = copyTable(value) value.value = value.value * mult + (tag.base or 0) @@ -150,24 +142,24 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 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 + if (self.actor.output[tag.stat] or (cfg and cfg.skillStats and cfg.skillStats[tag.stat]) or 0) < tag.threshold then value = nullValue break end elseif tag.type == "DistanceRamp" then - if not skillDist then + if not cfg or not cfg.skillDist then value = nullValue break end - if skillDist <= tag.ramp[1][1] then + if cfg.skillDist <= tag.ramp[1][1] then value = value * tag.ramp[1][2] - elseif skillDist >= tag.ramp[#tag.ramp][1] then + elseif cfg.skillDist >= tag.ramp[#tag.ramp][1] then value = value * tag.ramp[#tag.ramp][2] else for i, dat in ipairs(tag.ramp) do local next = tag.ramp[i+1] - if skillDist <= next[1] then - value = value * (dat[2] + (next[2] - dat[2]) * (skillDist - dat[1]) / (next[1] - dat[1])) + if cfg.skillDist <= next[1] then + value = value * (dat[2] + (next[2] - dat[2]) * (cfg.skillDist - dat[1]) / (next[1] - dat[1])) break end end @@ -176,13 +168,13 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 local match = false if tag.varList then for _, var in pairs(tag.varList) do - if self.conditions[var] or (skillCond and skillCond[var]) then + if self.conditions[var] or (cfg and cfg.skillCond and cfg.skillCond[var]) or self:Sum("FLAG", nil, "Condition:"..var) then match = true break end end else - match = self.conditions[tag.var] or (skillCond and skillCond[tag.var]) + match = self.conditions[tag.var] or (cfg and cfg.skillCond and cfg.skillCond[tag.var]) or self:Sum("FLAG", nil, "Condition:"..tag.var) end if tag.neg then match = not match @@ -193,16 +185,17 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 end elseif tag.type == "EnemyCondition" then local match = false - if self.actor.enemy then + local enemy = self.actor.enemy + if enemy then if tag.varList then for _, var in pairs(tag.varList) do - if self.actor.enemy.modDB.conditions[var] then + if enemy.modDB.conditions[var] or enemy.modDB:Sum("FLAG", nil, "Condition:"..var) then match = true break end end else - match = self.actor.enemy.modDB.conditions[tag.var] + match = enemy.modDB.conditions[tag.var] or enemy.modDB:Sum("FLAG", nil, "Condition:"..tag.var) end if tag.neg then match = not match @@ -234,13 +227,13 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 break end elseif tag.type == "SocketedIn" then - if tag.slotName ~= slotName or (tag.keyword and (not skillGem or not calcLib.gemIsType(skillGem, tag.keyword))) then + if not cfg or tag.slotName ~= cfg.slotName or (tag.keyword and (not cfg or not cfg.skillGem or not calcLib.gemIsType(cfg.skillGem, tag.keyword))) then value = nullValue break end elseif tag.type == "SkillName" then local match = false - local matchName = tag.summonSkill and (summonSkillName or "") or skillName + local matchName = tag.summonSkill and (cfg and cfg.summonSkillName or "") or (cfg and cfg.skillName) if tag.skillNameList then for _, name in pairs(tag.skillNameList) do if name == matchName then @@ -256,22 +249,22 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 break end elseif tag.type == "SkillId" then - if not skillGem or skillGem.data.id ~= tag.skillId then + if not cfg or not cfg.skillGem or cfg.skillGem.data.id ~= tag.skillId then value = nullValue break end elseif tag.type == "SkillPart" then - if tag.skillPart ~= skillPart then + if not cfg or tag.skillPart ~= cfg.skillPart then value = nullValue break end elseif tag.type == "SkillType" then - if not skillTypes or not skillTypes[tag.skillType] then + if not cfg or not cfg.skillTypes or not cfg.skillTypes[tag.skillType] then value = nullValue break end elseif tag.type == "SlotName" then - if tag.slotName ~= slotName then + if not cfg or tag.slotName ~= cfg.slotName then value = nullValue break end @@ -284,7 +277,10 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 elseif modType == "MORE" then result = result * (1 + value / 100) elseif modType == "FLAG" then - result = result or value + if value then + result = true + break + end elseif modType == "LIST" then if value then t_insert(result, value) @@ -294,7 +290,7 @@ function ModListClass:Sum(modType, cfg, arg1, arg2, arg3, arg4, arg5, arg6, arg7 end end end - hack[i] = nil + --hack[i] = nil end return result end diff --git a/Data/Minions.lua b/Data/Minions.lua index a836b2e7..46c1b7ee 100644 --- a/Data/Minions.lua +++ b/Data/Minions.lua @@ -6,15 +6,16 @@ local minions, mod = ... minions["RaisedZombie"] = { - name = "Zombie", + name = "Raised Zombie", life = 2.55, fireResist = 40, coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 1.75, + damage = 1.5, damageSpread = 0.4, - attackTime = 1.17, + attackTime = 1.755, + damageFixup = 0.33, limit = "ActiveZombieLimit", skillList = { "Melee", @@ -27,14 +28,15 @@ minions["RaisedZombie"] = { minions["SummonedChaosGolem"] = { name = "Chaos Golem", life = 4.8, + energyShield = 0.2, fireResist = 40, coldResist = 40, lightningResist = 40, chaosResist = 60, - energyShield = 0.2, - damage = 3.48, + damage = 2.48, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.22, limit = "ActiveGolemLimit", skillList = { "Melee", @@ -42,8 +44,6 @@ minions["SummonedChaosGolem"] = { "SandstormChaosElementalSummoned", }, modList = { - mod("Damage", "MORE", -22), - mod("Speed", "MORE", 22), }, } minions["SummonedFlameGolem"] = { @@ -54,9 +54,10 @@ minions["SummonedFlameGolem"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.22, limit = "ActiveGolemLimit", skillList = { "FireElementalFlameRedSummoned", @@ -64,8 +65,6 @@ minions["SummonedFlameGolem"] = { "FireElementalConeSummoned", }, modList = { - mod("Damage", "MORE", -33), - mod("Speed", "MORE", 33), }, } minions["SummonedIceGolem"] = { @@ -76,9 +75,10 @@ minions["SummonedIceGolem"] = { coldResist = 70, lightningResist = 40, chaosResist = 20, - damage = 4.06, + damage = 3.06, damageSpread = 0.2, attackTime = 1.275, + damageFixup = 0.33, limit = "ActiveGolemLimit", skillList = { "Melee", @@ -86,8 +86,6 @@ minions["SummonedIceGolem"] = { "IceElementalSpearSummoned", }, modList = { - mod("Damage", "MORE", -33), - mod("Speed", "MORE", 33), }, } minions["SummonedLightningGolem"] = { @@ -98,9 +96,10 @@ minions["SummonedLightningGolem"] = { coldResist = 40, lightningResist = 70, chaosResist = 20, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.755, + damageFixup = 0.22, limit = "ActiveGolemLimit", skillList = { "LightningGolemArcSummoned", @@ -108,8 +107,6 @@ minions["SummonedLightningGolem"] = { "LightningGolemWrath", }, modList = { - mod("Damage", "MORE", -22), - mod("Speed", "MORE", 22), }, } minions["SummonedStoneGolem"] = { @@ -119,7 +116,7 @@ minions["SummonedStoneGolem"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 4, + damage = 3, damageSpread = 0.2, attackTime = 1.5, weaponType1 = "One Handed Sword", @@ -130,8 +127,6 @@ minions["SummonedStoneGolem"] = { "RockGolemWhirlingBlades", }, modList = { - mod("Damage", "MORE", -33), - mod("Speed", "MORE", 33), }, } minions["SummonedRagingSpirit"] = { @@ -141,7 +136,7 @@ minions["SummonedRagingSpirit"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 0.66, + damage = 0.77, damageSpread = 0.2, attackTime = 0.855, limit = "ActiveRagingSpiritLimit", @@ -149,9 +144,27 @@ minions["SummonedRagingSpirit"] = { "PlayerRagingSpiritMeleeAttack", }, modList = { - mod("PhysicalMin", "BASE", 4), - mod("PhysicalMax", "BASE", 5), mod("PhysicalDamageConvertToFire", "BASE", 50), + mod("PhysicalMin", "BASE", 4, ModFlag.Attack), + mod("PhysicalMax", "BASE", 5, ModFlag.Attack), + mod("Speed", "MORE", 40, ModFlag.Attack), + }, +} +minions["SummonedEssenceSpirit"] = { + name = "Essence Spirit", + life = 1.8, + fireResist = 40, + coldResist = 40, + lightningResist = 40, + chaosResist = 20, + damage = 0.77, + damageSpread = 0.2, + attackTime = 0.855, + skillList = { + "RagingSpiritMeleeAttack", + "SpectralSkullShieldCharge", + }, + modList = { mod("Speed", "MORE", 40, ModFlag.Attack), }, } @@ -162,9 +175,10 @@ minions["SummonedSpectralWolf"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.5, + weaponType1 = "Dagger", limit = "ActiveWolfLimit", skillList = { "Melee", @@ -179,10 +193,12 @@ minions["RaisedSkeleton"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 1.49, + damage = 1.72, damageSpread = 0.4, - attackTime = 0.87, + attackTime = 1.305, + damageFixup = 0.33, weaponType1 = "One Handed Sword", + weaponType2 = "Shield", limit = "ActiveSkeletonLimit", skillList = { "Melee", @@ -197,9 +213,10 @@ minions["RaisedSkeletonCaster"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 1.98, + damage = 0.98, damageSpread = 0.3, attackTime = 1.605, + damageFixup = 0.33, limit = "ActiveSkeletonLimit", skillList = { "SkeletonProjectileFire", @@ -207,8 +224,6 @@ minions["RaisedSkeletonCaster"] = { "SkeletonProjectileLightning", }, modList = { - mod("Damage", "MORE", -33), - mod("Speed", "MORE", 33), }, } minions["RaisedSkeletonArcher"] = { @@ -218,17 +233,16 @@ minions["RaisedSkeletonArcher"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 1.98, + damage = 0.98, damageSpread = 0.16, attackTime = 1.995, + damageFixup = 0.33, weaponType1 = "Bow", limit = "ActiveSkeletonLimit", skillList = { "Melee", }, modList = { - mod("Damage", "MORE", -33), - mod("Speed", "MORE", 33), }, } minions["Clone"] = { @@ -238,13 +252,33 @@ minions["Clone"] = { coldResist = 40, lightningResist = 40, chaosResist = 20, - damage = 2, + damage = 1, damageSpread = 0, - attackTime = 1.425, + attackTime = 1.245, skillList = { "Melee", }, modList = { mod("EnergyShield", "BASE", 10), + mod("Misc", "LIST", { type = "SkillData", key = "attackRateCap", value = 1.84 }), + }, +} +minions["SpiderMinion"] = { + name = "Spider Minion", + life = 1.8, + fireResist = 40, + coldResist = 40, + lightningResist = 40, + chaosResist = 20, + damage = 1.32, + damageSpread = 0.2, + attackTime = 1.44, + weaponType1 = "One Handed Sword", + limit = "ActiveSpiderLimit", + skillList = { + "Melee", + "SpiderMinionLeapSlam", + }, + modList = { }, } \ No newline at end of file diff --git a/Data/Skills/minion.lua b/Data/Skills/minion.lua index 0bad16c0..cb22ebae 100644 --- a/Data/Skills/minion.lua +++ b/Data/Skills/minion.lua @@ -678,6 +678,93 @@ skills["PlayerRagingSpiritMeleeAttack"] = { [30] = { 88, 47, }, }, } +skills["RagingSpiritMeleeAttack"] = { + name = "Melee Attack", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + }, + skillTypes = { [1] = true, [48] = true, [6] = true, [3] = true, [25] = true, [28] = true, [24] = true, }, + baseMods = { + skill("castTime", 1), + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = mod("Damage", "MORE", nil, ModFlag.Hit), --"active_skill_damage_+%_final" + }, + levels = { + [1] = { 4, 76, }, + [2] = { 6, 71, }, + [3] = { 9, 66, }, + [4] = { 12, 61, }, + [5] = { 15, 56, }, + [6] = { 19, 52, }, + [7] = { 23, 47, }, + [8] = { 28, 42, }, + [9] = { 33, 37, }, + [10] = { 39, 32, }, + [11] = { 43, 28, }, + [12] = { 46, 23, }, + [13] = { 49, 18, }, + [14] = { 52, 12, }, + [15] = { 55, 10, }, + [16] = { 58, 7, }, + [17] = { 61, 5, }, + [18] = { 64, 2, }, + [19] = { 66, 0, }, + [20] = { 68, -2, }, + [21] = { 70, -4, }, + [22] = { 72, -7, }, + [23] = { 74, -10, }, + [24] = { 76, -10, }, + [25] = { 78, -10, }, + [26] = { 80, -10, }, + [27] = { 82, -10, }, + [28] = { 84, -10, }, + [29] = { 86, -10, }, + [30] = { 88, -10, }, + }, +} +skills["SpectralSkullShieldCharge"] = { + name = "Charge", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + movement = true, + }, + skillTypes = { [1] = true, [7] = true, [13] = true, [24] = true, [25] = true, [38] = true, }, + weaponTypes = { + ["None"] = true, + ["One Handed Mace"] = true, + ["Claw"] = true, + ["One Handed Axe"] = true, + ["Dagger"] = true, + ["One Handed Sword"] = true, + }, + baseMods = { + skill("castTime", 1), + skill("levelRequirement", 1), + skill("cooldown", 5), + --"shield_charge_stun_duration_+%_maximum" = 200 + mod("MovementSpeed", "INC", 500, 0, 0, nil), --"base_movement_velocity_+%" = 500 + --"shield_charge_damage_+%_maximum" = 300 + mod("Damage", "MORE", -50, ModFlag.Hit), --"active_skill_damage_+%_final" = -50 + --"ignores_proximity_shield" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["SkeletonProjectileCold"] = { name = "Cold Projectile", hidden = true, @@ -970,6 +1057,44 @@ skills["ZombieSlam"] = { [1] = { }, }, } +skills["SpiderMinionLeapSlam"] = { + name = "Leap Slam", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + area = true, + movement = true, + }, + skillTypes = { [1] = true, [6] = true, [7] = true, [11] = true, [24] = true, [38] = true, }, + weaponTypes = { + ["Two Handed Sword"] = true, + ["One Handed Mace"] = true, + ["Two Handed Axe"] = true, + ["Two Handed Mace"] = true, + ["One Handed Axe"] = true, + ["One Handed Sword"] = true, + ["Staff"] = true, + }, + baseMods = { + skill("castTime", 1.4), + skill("levelRequirement", 1), + mod("Damage", "MORE", 50, ModFlag.Attack), + skill("cooldown", 2), + --"skill_art_variation" = 3 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"is_area_damage" = ? + skill("castTimeOverridesAttackTime", true), --"cast_time_overrides_attack_duration" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["MinionInstability"] = { name = "Minion Instability", hidden = true, diff --git a/Data/Skills/other.lua b/Data/Skills/other.lua index 1a438d9a..810b255e 100644 --- a/Data/Skills/other.lua +++ b/Data/Skills/other.lua @@ -490,6 +490,41 @@ skills["TriggeredMoltenStrike"] = { [16] = { }, }, } +skills["TriggeredSummonSpider"] = { + name = "Raise Spiders", + hidden = true, + other = true, + minionList = { + "SpiderMinion", + }, + color = 3, + baseFlags = { + spell = true, + minion = true, + duration = true, + }, + skillTypes = { [2] = true, [9] = true, [36] = true, [49] = true, [42] = true, [61] = true, }, + minionSkillTypes = { [1] = true, [24] = true, [25] = true, [28] = true, }, + baseMods = { + skill("castTime", 1), + skill("levelRequirement", 1), + skill("cooldown", 2), + --"chance_to_cast_on_kill_%_target_self" = 20 + skill("duration", 8), --"base_skill_effect_duration" = 8000 + mod("ActiveSpiderLimit", "BASE", 20), --"number_of_spider_minions_allowed" = 20 + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? + --"take_no_actions_while_parent_dead" = ? + --"minion_dies_when_parent_dies" = ? + skill("minionLevelIsEnemyLevel", true), --"display_skill_minions_level_is_corpse_level" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["TriggeredShockedGround"] = { name = "Shock Ground", hidden = true, @@ -519,6 +554,67 @@ skills["TriggeredShockedGround"] = { [1] = { }, }, } +skills["SummonEssenceSpirits"] = { + name = "Spectral Spirits", + hidden = true, + other = true, + minionList = { + "SummonedEssenceSpirit", + }, + color = 3, + baseFlags = { + spell = true, + minion = true, + }, + skillTypes = { [2] = true, [9] = true, [36] = true, [49] = true, [42] = true, [61] = true, }, + minionSkillTypes = { [1] = true, [24] = true, [25] = true, [28] = true, }, + baseMods = { + skill("castTime", 1), + skill("minionDamageEffectiveness", -15), --"active_skill_minion_added_damage_+%_final" = -15 + --"number_of_monsters_to_summon" = 3 + --"cast_on_gain_skill" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? + --"take_no_actions_while_parent_dead" = ? + --"minion_dies_when_parent_dies" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + }, + levels = { + [1] = { 1, }, + [2] = { 2, }, + [3] = { 4, }, + [4] = { 7, }, + [5] = { 11, }, + [6] = { 16, }, + [7] = { 20, }, + [8] = { 24, }, + [9] = { 28, }, + [10] = { 32, }, + [11] = { 36, }, + [12] = { 40, }, + [13] = { 44, }, + [14] = { 48, }, + [15] = { 52, }, + [16] = { 56, }, + [17] = { 60, }, + [18] = { 64, }, + [19] = { 67, }, + [20] = { 70, }, + [21] = { 72, }, + [22] = { 74, }, + [23] = { 76, }, + [24] = { 78, }, + [25] = { 80, }, + [26] = { 82, }, + [27] = { 84, }, + [28] = { 86, }, + [29] = { 88, }, + [30] = { 90, }, + }, +} skills["SummonRigwaldsPack"] = { name = "Summon Spectral Wolf", hidden = true, diff --git a/Data/Skills/spectre.lua b/Data/Skills/spectre.lua index 3ecf13f1..df69954a 100644 --- a/Data/Skills/spectre.lua +++ b/Data/Skills/spectre.lua @@ -377,6 +377,7 @@ skills["DemonModularBladeVortexSpectre"] = { --"skill_repeat_count" = 2 --"is_area_damage" = ? --"skill_can_add_multiple_charges_per_action" = ? + skill("hitTimeOverride", 1), }, qualityMods = { }, @@ -632,6 +633,7 @@ skills["GhostPirateBladeVortexSpectre"] = { --"skill_repeat_count" = 2 --"is_area_damage" = ? --"skill_can_add_multiple_charges_per_action" = ? + skill("hitTimeOverride", 1), }, qualityMods = { }, diff --git a/Data/Spectres.lua b/Data/Spectres.lua index 5ffd3299..78e003b9 100644 --- a/Data/Spectres.lua +++ b/Data/Spectres.lua @@ -14,7 +14,7 @@ minions["Metadata/Monsters/Axis/AxisCaster"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.305, weaponType1 = "Wand", @@ -38,7 +38,7 @@ minions["Metadata/Monsters/Axis/AxisCasterArc"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.305, weaponType1 = "Wand", @@ -62,7 +62,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenter"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -84,7 +84,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenter2"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -108,7 +108,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenterRaiseZombie"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -130,7 +130,7 @@ minions["Metadata/Monsters/Bandits/BanditBowExplosiveArrow"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -149,7 +149,7 @@ minions["Metadata/Monsters/Bandits/BanditBowPoisonArrow"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -168,7 +168,7 @@ minions["Metadata/Monsters/Bandits/BanditMeleeWarlordsMarkMaul"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.35, weaponType1 = "Two Handed Mace", @@ -188,16 +188,16 @@ minions["Metadata/Monsters/Beasts/BeastCaveDegenAura"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.605, + damageFixup = 0.33, skillList = { "Melee", "ChaosDegenAura", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete }, } minions["Metadata/Monsters/Beasts/BeastCleaveEnduringCry"] = { @@ -207,17 +207,17 @@ minions["Metadata/Monsters/Beasts/BeastCleaveEnduringCry"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.605, + damageFixup = 0.33, skillList = { "Melee", "MonsterEnduringCry", "BeastCleave", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterUsesEnduringCryText -- MonsterCleavesText }, @@ -230,9 +230,10 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.395, + damageFixup = 0.22, weaponType1 = "One Handed Mace", skillList = { "Melee", @@ -240,8 +241,7 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { "MassFrenzy", }, modList = { - mod("Damage", "MORE", -22), -- MonsterSpeedAndDamageFixupLarge - mod("Speed", "MORE", 22), -- MonsterSpeedAndDamageFixupLarge + -- MonsterSpeedAndDamageFixupLarge -- MonsterSummonsMonkeysText -- MonsterCastsMassFrenzyText }, @@ -254,7 +254,7 @@ minions["Metadata/Monsters/Bull/Bull"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.28, + damage = 1.28, damageSpread = 0.2, attackTime = 1.5, weaponType1 = "One Handed Mace", @@ -273,7 +273,7 @@ minions["Metadata/Monsters/Cannibal/CannibalMaleChampion"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "One Handed Mace", @@ -293,7 +293,7 @@ minions["Metadata/Monsters/Goatman/GoatmanLeapSlam"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -313,7 +313,7 @@ minions["Metadata/Monsters/Goatman/GoatmanLightningLeapSlamMaps"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.8, + damage = 0.8, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -335,17 +335,17 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireball"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "MonsterFireball", "GoatmanMoltenShell", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed -- MonsterCastsFireballText -- MonsterCastsMoltenShellText @@ -359,9 +359,10 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireChampion"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "MonsterFireball", @@ -369,8 +370,7 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireChampion"] = { "GoatmanFireMagmaOrb", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed }, } @@ -382,9 +382,10 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanLightning"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "Melee", @@ -392,8 +393,7 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanLightning"] = { "MonsterSpark", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed -- MonsterCastsShockNovaText -- MonsterCastsSparkText @@ -407,7 +407,7 @@ minions["Metadata/Monsters/DemonFemale/DemonFemale"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.88, + damage = 0.88, damageSpread = 0.2, attackTime = 2.445, skillList = { @@ -424,7 +424,7 @@ minions["Metadata/Monsters/DemonModular/DemonFemaleRanged"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.84, + damage = 0.84, damageSpread = 0.2, attackTime = 3, skillList = { @@ -441,7 +441,7 @@ minions["Metadata/Monsters/DemonModular/DemonModularBladeVortex"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -459,7 +459,7 @@ minions["Metadata/Monsters/DemonModular/DemonModularFire"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -479,7 +479,7 @@ minions["Metadata/Monsters/Frog/Frog"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -497,7 +497,7 @@ minions["Metadata/Monsters/Frog/Frog2"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -517,7 +517,7 @@ minions["Metadata/Monsters/GemMonster/Iguana"] = { coldResist = 52, lightningResist = 0, chaosResist = 0, - damage = 2.12, + damage = 1.12, damageSpread = 0.2, attackTime = 1.005, skillList = { @@ -538,7 +538,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackBowMaps"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.48, + damage = 0.48, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -559,7 +559,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackFlickerStrikeMaps"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.8, + damage = 0.8, damageSpread = 0.2, attackTime = 1.65, weaponType1 = "One Handed Sword", @@ -581,7 +581,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateGreenBladeVortex"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, weaponType1 = "One Handed Sword", @@ -603,7 +603,7 @@ minions["Metadata/Monsters/Grappler/Grappler"] = { coldResist = 20, lightningResist = 20, chaosResist = 20, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -624,7 +624,7 @@ minions["Metadata/Monsters/Grappler/GrapplerLabyrinth"] = { coldResist = 20, lightningResist = 20, chaosResist = 20, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -647,7 +647,7 @@ minions["Metadata/Monsters/Guardians/GuardianFire"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -670,7 +670,7 @@ minions["Metadata/Monsters/Guardians/GuardianLightning"] = { coldResist = 85, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -688,7 +688,7 @@ minions["Metadata/Monsters/HalfSkeleton/HalfSkeleton"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.1, + damage = 1.1, damageSpread = 0.3, attackTime = 1.5, weaponType1 = "Dagger", @@ -709,7 +709,7 @@ minions["Metadata/Monsters/incaminion/Fragment"] = { coldResist = 0, lightningResist = 0, chaosResist = 40, - damage = 1.84, + damage = 0.84, damageSpread = 0.2, attackTime = 1.995, skillList = { @@ -726,7 +726,7 @@ minions["Metadata/Monsters/InsectSpawner/InsectSpawner"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.91, + damage = 0.91, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -745,7 +745,7 @@ minions["Metadata/Monsters/KaomWarrior/KaomWarrior2"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.16, + damage = 1.16, damageSpread = 0.2, attackTime = 1.755, skillList = { @@ -762,7 +762,7 @@ minions["Metadata/Monsters/KaomWarrior/KaomWarrior3"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.16, + damage = 1.16, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -781,17 +781,17 @@ minions["Metadata/Monsters/Kiweth/Kiweth"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.68, + damage = 1.68, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "Melee", "BirdmanConsumeCorpse", "BirdmanBloodProjectile", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterLesserFarShot }, } @@ -803,17 +803,17 @@ minions["Metadata/Monsters/Kiweth/KiwethSeagull"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.56, + damage = 1.56, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "Melee", "BirdmanConsumeCorpse", "BirdmanBloodProjectile", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterLesserFarShot }, } @@ -825,7 +825,7 @@ minions["Metadata/Monsters/Lion/LionDesertSkinPuncture"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -844,7 +844,7 @@ minions["Metadata/Monsters/MassSkeleton/MassSkeleton"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -863,7 +863,7 @@ minions["Metadata/Monsters/Miner/MinerLantern"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.21, + damage = 1.21, damageSpread = 0.2, attackTime = 1.395, skillList = { @@ -881,7 +881,7 @@ minions["Metadata/Monsters/Miner/MinerLanternCrystalVeins"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.21, + damage = 1.21, damageSpread = 0.2, attackTime = 1.395, skillList = { @@ -900,7 +900,7 @@ minions["Metadata/Monsters/Monkeys/FlameBearer"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.1, + damage = 1.1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -918,16 +918,16 @@ minions["Metadata/Monsters/MossMonster/FireMonster"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.695, + damageFixup = 0.33, skillList = { "Melee", "FireMonsterWhirlingBlades", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterRollsOverEnemiesText -- ImmuneToLavaDamage }, @@ -941,7 +941,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerConductivity"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -963,7 +963,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerEnfeebleCurse"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -985,7 +985,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerFlamability"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1008,7 +1008,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerFrostbite"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1030,7 +1030,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerElementalWeakness"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1052,7 +1052,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerProjectileWeakness"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1074,7 +1074,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerVulnerability"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1096,7 +1096,7 @@ minions["Metadata/Monsters/Pyromaniac/PyromaniacFire"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1117,7 +1117,7 @@ minions["Metadata/Monsters/Pyromaniac/PyromaniacPoison"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1137,7 +1137,7 @@ minions["Metadata/Monsters/Revenant/Revenant"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 2.4, + damage = 1.4, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1158,17 +1158,17 @@ minions["Metadata/Monsters/Seawitch/SeaWitchScreech"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", "SeaWitchScreech", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall }, } minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { @@ -1179,9 +1179,10 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", @@ -1189,8 +1190,7 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { "SeaWitchScreech", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterSummonsExplodingSpawnText }, } @@ -1202,9 +1202,10 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnTemporalChains"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", @@ -1212,8 +1213,7 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnTemporalChains"] = { "SummonSpawn", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterSummonsSpawnText -- MonsterCastsTemporalChainsText }, @@ -1226,17 +1226,17 @@ minions["Metadata/Monsters/Seawitch/SeaWitchVulnerabilityCurse"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", "SkeletonVulnerability", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterCastsVulnerabilityCurseText }, } @@ -1248,7 +1248,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowPuncture"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1268,7 +1268,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1288,7 +1288,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonMeleeLarge"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2.8, + damage = 1.8, damageSpread = 0.2, attackTime = 2.25, weaponType1 = "One Handed Mace", @@ -1306,7 +1306,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning3"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1327,7 +1327,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterColdMultipleProjectiles"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1346,7 +1346,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterFireMultipleProjectiles2"] = coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1365,7 +1365,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowPoison"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1385,7 +1385,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning2"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1405,7 +1405,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning4"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1426,7 +1426,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterLightningSpark"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1445,7 +1445,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowProjectileWeaknessCurse"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1466,7 +1466,7 @@ minions["Metadata/Monsters/Snake/SnakeScorpionMultiShot"] = { coldResist = 0, lightningResist = 0, chaosResist = 30, - damage = 1.75, + damage = 0.75, damageSpread = 0.2, attackTime = 1.65, skillList = { @@ -1486,7 +1486,7 @@ minions["Metadata/Monsters/Spiders/SpiderThornFlickerStrike"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.44, skillList = { @@ -1505,17 +1505,17 @@ minions["Metadata/Monsters/Statue/DaressoStatueLargeMaleSpear"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.3, + damage = 1.3, damageSpread = 0.2, attackTime = 1.875, + damageFixup = 0.33, weaponType1 = "One Handed Sword", skillList = { "Melee", "MonsterPuncture", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterCastsPunctureText }, } @@ -1527,7 +1527,7 @@ minions["Metadata/Monsters/Taster/Taster"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.5, weaponType1 = "Dagger", @@ -1546,7 +1546,7 @@ minions["Metadata/Monsters/Undying/CityStalkerMaleCasterArmour"] = { coldResist = 37, lightningResist = 37, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -1565,7 +1565,7 @@ minions["Metadata/Monsters/Undying/UndyingOutcastPuncture"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, skillList = { @@ -1583,7 +1583,7 @@ minions["Metadata/Monsters/Undying/UndyingOutcastWhirlingBlades"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, skillList = { diff --git a/Export/Minions/Spectres.lua b/Export/Minions/Spectres.lua index 5ffd3299..78e003b9 100644 --- a/Export/Minions/Spectres.lua +++ b/Export/Minions/Spectres.lua @@ -14,7 +14,7 @@ minions["Metadata/Monsters/Axis/AxisCaster"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.305, weaponType1 = "Wand", @@ -38,7 +38,7 @@ minions["Metadata/Monsters/Axis/AxisCasterArc"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.305, weaponType1 = "Wand", @@ -62,7 +62,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenter"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -84,7 +84,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenter2"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -108,7 +108,7 @@ minions["Metadata/Monsters/Axis/AxisExperimenterRaiseZombie"] = { coldResist = 0, lightningResist = 0, chaosResist = 75, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Wand", @@ -130,7 +130,7 @@ minions["Metadata/Monsters/Bandits/BanditBowExplosiveArrow"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -149,7 +149,7 @@ minions["Metadata/Monsters/Bandits/BanditBowPoisonArrow"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -168,7 +168,7 @@ minions["Metadata/Monsters/Bandits/BanditMeleeWarlordsMarkMaul"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.35, weaponType1 = "Two Handed Mace", @@ -188,16 +188,16 @@ minions["Metadata/Monsters/Beasts/BeastCaveDegenAura"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.605, + damageFixup = 0.33, skillList = { "Melee", "ChaosDegenAura", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete }, } minions["Metadata/Monsters/Beasts/BeastCleaveEnduringCry"] = { @@ -207,17 +207,17 @@ minions["Metadata/Monsters/Beasts/BeastCleaveEnduringCry"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.605, + damageFixup = 0.33, skillList = { "Melee", "MonsterEnduringCry", "BeastCleave", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterUsesEnduringCryText -- MonsterCleavesText }, @@ -230,9 +230,10 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.395, + damageFixup = 0.22, weaponType1 = "One Handed Mace", skillList = { "Melee", @@ -240,8 +241,7 @@ minions["Metadata/Monsters/BloodChieftain/MonkeyChiefBloodEnrage"] = { "MassFrenzy", }, modList = { - mod("Damage", "MORE", -22), -- MonsterSpeedAndDamageFixupLarge - mod("Speed", "MORE", 22), -- MonsterSpeedAndDamageFixupLarge + -- MonsterSpeedAndDamageFixupLarge -- MonsterSummonsMonkeysText -- MonsterCastsMassFrenzyText }, @@ -254,7 +254,7 @@ minions["Metadata/Monsters/Bull/Bull"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.28, + damage = 1.28, damageSpread = 0.2, attackTime = 1.5, weaponType1 = "One Handed Mace", @@ -273,7 +273,7 @@ minions["Metadata/Monsters/Cannibal/CannibalMaleChampion"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "One Handed Mace", @@ -293,7 +293,7 @@ minions["Metadata/Monsters/Goatman/GoatmanLeapSlam"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -313,7 +313,7 @@ minions["Metadata/Monsters/Goatman/GoatmanLightningLeapSlamMaps"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.8, + damage = 0.8, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -335,17 +335,17 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireball"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "MonsterFireball", "GoatmanMoltenShell", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed -- MonsterCastsFireballText -- MonsterCastsMoltenShellText @@ -359,9 +359,10 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireChampion"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "MonsterFireball", @@ -369,8 +370,7 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanFireChampion"] = { "GoatmanFireMagmaOrb", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed }, } @@ -382,9 +382,10 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanLightning"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, weaponType1 = "Staff", skillList = { "Melee", @@ -392,8 +393,7 @@ minions["Metadata/Monsters/Goatman/GoatmanShamanLightning"] = { "MonsterSpark", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall mod("Speed", "INC", -50, ModFlag.Cast), -- MonsterGoatmanShamanCastSpeed -- MonsterCastsShockNovaText -- MonsterCastsSparkText @@ -407,7 +407,7 @@ minions["Metadata/Monsters/DemonFemale/DemonFemale"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.88, + damage = 0.88, damageSpread = 0.2, attackTime = 2.445, skillList = { @@ -424,7 +424,7 @@ minions["Metadata/Monsters/DemonModular/DemonFemaleRanged"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.84, + damage = 0.84, damageSpread = 0.2, attackTime = 3, skillList = { @@ -441,7 +441,7 @@ minions["Metadata/Monsters/DemonModular/DemonModularBladeVortex"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -459,7 +459,7 @@ minions["Metadata/Monsters/DemonModular/DemonModularFire"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -479,7 +479,7 @@ minions["Metadata/Monsters/Frog/Frog"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -497,7 +497,7 @@ minions["Metadata/Monsters/Frog/Frog2"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.455, skillList = { @@ -517,7 +517,7 @@ minions["Metadata/Monsters/GemMonster/Iguana"] = { coldResist = 52, lightningResist = 0, chaosResist = 0, - damage = 2.12, + damage = 1.12, damageSpread = 0.2, attackTime = 1.005, skillList = { @@ -538,7 +538,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackBowMaps"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.48, + damage = 0.48, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -559,7 +559,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateBlackFlickerStrikeMaps"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.8, + damage = 0.8, damageSpread = 0.2, attackTime = 1.65, weaponType1 = "One Handed Sword", @@ -581,7 +581,7 @@ minions["Metadata/Monsters/GhostPirates/GhostPirateGreenBladeVortex"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, weaponType1 = "One Handed Sword", @@ -603,7 +603,7 @@ minions["Metadata/Monsters/Grappler/Grappler"] = { coldResist = 20, lightningResist = 20, chaosResist = 20, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -624,7 +624,7 @@ minions["Metadata/Monsters/Grappler/GrapplerLabyrinth"] = { coldResist = 20, lightningResist = 20, chaosResist = 20, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -647,7 +647,7 @@ minions["Metadata/Monsters/Guardians/GuardianFire"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -670,7 +670,7 @@ minions["Metadata/Monsters/Guardians/GuardianLightning"] = { coldResist = 85, lightningResist = 0, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -688,7 +688,7 @@ minions["Metadata/Monsters/HalfSkeleton/HalfSkeleton"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.1, + damage = 1.1, damageSpread = 0.3, attackTime = 1.5, weaponType1 = "Dagger", @@ -709,7 +709,7 @@ minions["Metadata/Monsters/incaminion/Fragment"] = { coldResist = 0, lightningResist = 0, chaosResist = 40, - damage = 1.84, + damage = 0.84, damageSpread = 0.2, attackTime = 1.995, skillList = { @@ -726,7 +726,7 @@ minions["Metadata/Monsters/InsectSpawner/InsectSpawner"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.91, + damage = 0.91, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -745,7 +745,7 @@ minions["Metadata/Monsters/KaomWarrior/KaomWarrior2"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.16, + damage = 1.16, damageSpread = 0.2, attackTime = 1.755, skillList = { @@ -762,7 +762,7 @@ minions["Metadata/Monsters/KaomWarrior/KaomWarrior3"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.16, + damage = 1.16, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -781,17 +781,17 @@ minions["Metadata/Monsters/Kiweth/Kiweth"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.68, + damage = 1.68, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "Melee", "BirdmanConsumeCorpse", "BirdmanBloodProjectile", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterLesserFarShot }, } @@ -803,17 +803,17 @@ minions["Metadata/Monsters/Kiweth/KiwethSeagull"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 2.56, + damage = 1.56, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "Melee", "BirdmanConsumeCorpse", "BirdmanBloodProjectile", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterLesserFarShot }, } @@ -825,7 +825,7 @@ minions["Metadata/Monsters/Lion/LionDesertSkinPuncture"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -844,7 +844,7 @@ minions["Metadata/Monsters/MassSkeleton/MassSkeleton"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -863,7 +863,7 @@ minions["Metadata/Monsters/Miner/MinerLantern"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.21, + damage = 1.21, damageSpread = 0.2, attackTime = 1.395, skillList = { @@ -881,7 +881,7 @@ minions["Metadata/Monsters/Miner/MinerLanternCrystalVeins"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.21, + damage = 1.21, damageSpread = 0.2, attackTime = 1.395, skillList = { @@ -900,7 +900,7 @@ minions["Metadata/Monsters/Monkeys/FlameBearer"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.1, + damage = 1.1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -918,16 +918,16 @@ minions["Metadata/Monsters/MossMonster/FireMonster"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.695, + damageFixup = 0.33, skillList = { "Melee", "FireMonsterWhirlingBlades", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterRollsOverEnemiesText -- ImmuneToLavaDamage }, @@ -941,7 +941,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerConductivity"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -963,7 +963,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerEnfeebleCurse"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -985,7 +985,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerFlamability"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1008,7 +1008,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerFrostbite"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1030,7 +1030,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerElementalWeakness"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1052,7 +1052,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerProjectileWeakness"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1074,7 +1074,7 @@ minions["Metadata/Monsters/Necromancer/NecromancerVulnerability"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 1.98, + damage = 0.98, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1096,7 +1096,7 @@ minions["Metadata/Monsters/Pyromaniac/PyromaniacFire"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1117,7 +1117,7 @@ minions["Metadata/Monsters/Pyromaniac/PyromaniacPoison"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1137,7 +1137,7 @@ minions["Metadata/Monsters/Revenant/Revenant"] = { coldResist = 0, lightningResist = 75, chaosResist = 0, - damage = 2.4, + damage = 1.4, damageSpread = 0.2, attackTime = 1.5, skillList = { @@ -1158,17 +1158,17 @@ minions["Metadata/Monsters/Seawitch/SeaWitchScreech"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", "SeaWitchScreech", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall }, } minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { @@ -1179,9 +1179,10 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", @@ -1189,8 +1190,7 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnExploding"] = { "SeaWitchScreech", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterSummonsExplodingSpawnText }, } @@ -1202,9 +1202,10 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnTemporalChains"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", @@ -1212,8 +1213,7 @@ minions["Metadata/Monsters/Seawitch/SeaWitchSpawnTemporalChains"] = { "SummonSpawn", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterSummonsSpawnText -- MonsterCastsTemporalChainsText }, @@ -1226,17 +1226,17 @@ minions["Metadata/Monsters/Seawitch/SeaWitchVulnerabilityCurse"] = { coldResist = 75, lightningResist = 0, chaosResist = 0, - damage = 2.02, + damage = 1.02, damageSpread = 0.2, attackTime = 1.5, + damageFixup = 0.11, skillList = { "SeaWitchWave", "Melee", "SkeletonVulnerability", }, modList = { - mod("Damage", "MORE", -11), -- MonsterSpeedAndDamageFixupSmall - mod("Speed", "MORE", 11), -- MonsterSpeedAndDamageFixupSmall + -- MonsterSpeedAndDamageFixupSmall -- MonsterCastsVulnerabilityCurseText }, } @@ -1248,7 +1248,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowPuncture"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1268,7 +1268,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1288,7 +1288,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonMeleeLarge"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2.8, + damage = 1.8, damageSpread = 0.2, attackTime = 2.25, weaponType1 = "One Handed Mace", @@ -1306,7 +1306,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning3"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1327,7 +1327,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterColdMultipleProjectiles"] = { coldResist = 40, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1346,7 +1346,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterFireMultipleProjectiles2"] = coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1365,7 +1365,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowPoison"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1385,7 +1385,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning2"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1405,7 +1405,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowLightning4"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1426,7 +1426,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonCasterLightningSpark"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.605, skillList = { @@ -1445,7 +1445,7 @@ minions["Metadata/Monsters/Skeletons/SkeletonBowProjectileWeaknessCurse"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 1.6, + damage = 0.6, damageSpread = 0.2, attackTime = 1.995, weaponType1 = "Bow", @@ -1466,7 +1466,7 @@ minions["Metadata/Monsters/Snake/SnakeScorpionMultiShot"] = { coldResist = 0, lightningResist = 0, chaosResist = 30, - damage = 1.75, + damage = 0.75, damageSpread = 0.2, attackTime = 1.65, skillList = { @@ -1486,7 +1486,7 @@ minions["Metadata/Monsters/Spiders/SpiderThornFlickerStrike"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.44, skillList = { @@ -1505,17 +1505,17 @@ minions["Metadata/Monsters/Statue/DaressoStatueLargeMaleSpear"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.3, + damage = 1.3, damageSpread = 0.2, attackTime = 1.875, + damageFixup = 0.33, weaponType1 = "One Handed Sword", skillList = { "Melee", "MonsterPuncture", }, modList = { - mod("Damage", "MORE", -33), -- MonsterSpeedAndDamageFixupComplete - mod("Speed", "MORE", 33), -- MonsterSpeedAndDamageFixupComplete + -- MonsterSpeedAndDamageFixupComplete -- MonsterCastsPunctureText }, } @@ -1527,7 +1527,7 @@ minions["Metadata/Monsters/Taster/Taster"] = { coldResist = 0, lightningResist = 0, chaosResist = 0, - damage = 2.5, + damage = 1.5, damageSpread = 0.2, attackTime = 1.5, weaponType1 = "Dagger", @@ -1546,7 +1546,7 @@ minions["Metadata/Monsters/Undying/CityStalkerMaleCasterArmour"] = { coldResist = 37, lightningResist = 37, chaosResist = 0, - damage = 2.2, + damage = 1.2, damageSpread = 0.2, attackTime = 1.245, skillList = { @@ -1565,7 +1565,7 @@ minions["Metadata/Monsters/Undying/UndyingOutcastPuncture"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, skillList = { @@ -1583,7 +1583,7 @@ minions["Metadata/Monsters/Undying/UndyingOutcastWhirlingBlades"] = { coldResist = 0, lightningResist = 40, chaosResist = 0, - damage = 2, + damage = 1, damageSpread = 0.2, attackTime = 1.65, skillList = { diff --git a/Export/Minions/modmap.ini b/Export/Minions/modmap.ini index 7cbeaf15..35ddce43 100644 --- a/Export/Minions/modmap.ini +++ b/Export/Minions/modmap.ini @@ -1,13 +1,4 @@ # General -[MonsterSpeedAndDamageFixupSmall] -mod("Damage", "MORE", -11) -mod("Speed", "MORE", 11) -[MonsterSpeedAndDamageFixupLarge] -mod("Damage", "MORE", -22) -mod("Speed", "MORE", 22) -[MonsterSpeedAndDamageFixupComplete] -mod("Damage", "MORE", -33) -mod("Speed", "MORE", 33) [MonsterMultipleProjectilesImplicit1] mod("ProjectileCount", "BASE", 2) [MonsterConvertToFireDamage2] diff --git a/Export/Skills/minion.lua b/Export/Skills/minion.lua index 0bad16c0..cb22ebae 100644 --- a/Export/Skills/minion.lua +++ b/Export/Skills/minion.lua @@ -678,6 +678,93 @@ skills["PlayerRagingSpiritMeleeAttack"] = { [30] = { 88, 47, }, }, } +skills["RagingSpiritMeleeAttack"] = { + name = "Melee Attack", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + }, + skillTypes = { [1] = true, [48] = true, [6] = true, [3] = true, [25] = true, [28] = true, [24] = true, }, + baseMods = { + skill("castTime", 1), + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + [2] = mod("Damage", "MORE", nil, ModFlag.Hit), --"active_skill_damage_+%_final" + }, + levels = { + [1] = { 4, 76, }, + [2] = { 6, 71, }, + [3] = { 9, 66, }, + [4] = { 12, 61, }, + [5] = { 15, 56, }, + [6] = { 19, 52, }, + [7] = { 23, 47, }, + [8] = { 28, 42, }, + [9] = { 33, 37, }, + [10] = { 39, 32, }, + [11] = { 43, 28, }, + [12] = { 46, 23, }, + [13] = { 49, 18, }, + [14] = { 52, 12, }, + [15] = { 55, 10, }, + [16] = { 58, 7, }, + [17] = { 61, 5, }, + [18] = { 64, 2, }, + [19] = { 66, 0, }, + [20] = { 68, -2, }, + [21] = { 70, -4, }, + [22] = { 72, -7, }, + [23] = { 74, -10, }, + [24] = { 76, -10, }, + [25] = { 78, -10, }, + [26] = { 80, -10, }, + [27] = { 82, -10, }, + [28] = { 84, -10, }, + [29] = { 86, -10, }, + [30] = { 88, -10, }, + }, +} +skills["SpectralSkullShieldCharge"] = { + name = "Charge", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + movement = true, + }, + skillTypes = { [1] = true, [7] = true, [13] = true, [24] = true, [25] = true, [38] = true, }, + weaponTypes = { + ["None"] = true, + ["One Handed Mace"] = true, + ["Claw"] = true, + ["One Handed Axe"] = true, + ["Dagger"] = true, + ["One Handed Sword"] = true, + }, + baseMods = { + skill("castTime", 1), + skill("levelRequirement", 1), + skill("cooldown", 5), + --"shield_charge_stun_duration_+%_maximum" = 200 + mod("MovementSpeed", "INC", 500, 0, 0, nil), --"base_movement_velocity_+%" = 500 + --"shield_charge_damage_+%_maximum" = 300 + mod("Damage", "MORE", -50, ModFlag.Hit), --"active_skill_damage_+%_final" = -50 + --"ignores_proximity_shield" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["SkeletonProjectileCold"] = { name = "Cold Projectile", hidden = true, @@ -970,6 +1057,44 @@ skills["ZombieSlam"] = { [1] = { }, }, } +skills["SpiderMinionLeapSlam"] = { + name = "Leap Slam", + hidden = true, + color = 4, + baseFlags = { + attack = true, + melee = true, + area = true, + movement = true, + }, + skillTypes = { [1] = true, [6] = true, [7] = true, [11] = true, [24] = true, [38] = true, }, + weaponTypes = { + ["Two Handed Sword"] = true, + ["One Handed Mace"] = true, + ["Two Handed Axe"] = true, + ["Two Handed Mace"] = true, + ["One Handed Axe"] = true, + ["One Handed Sword"] = true, + ["Staff"] = true, + }, + baseMods = { + skill("castTime", 1.4), + skill("levelRequirement", 1), + mod("Damage", "MORE", 50, ModFlag.Attack), + skill("cooldown", 2), + --"skill_art_variation" = 3 + --"active_skill_area_of_effect_radius_+%_final" = 0 + --"is_area_damage" = ? + skill("castTimeOverridesAttackTime", true), --"cast_time_overrides_attack_duration" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["MinionInstability"] = { name = "Minion Instability", hidden = true, diff --git a/Export/Skills/minion.txt b/Export/Skills/minion.txt index a1d7c29d..16a3baf8 100644 --- a/Export/Skills/minion.txt +++ b/Export/Skills/minion.txt @@ -49,6 +49,14 @@ local skills, mod, flag, skill = ... #flags attack melee #mods +#skill RagingSpiritMeleeAttack Melee Attack +#flags attack melee +#mods + +#skill SpectralSkullShieldCharge Charge +#flags attack melee movement +#mods + #skill SkeletonProjectileCold Cold Projectile #flags spell projectile #mods @@ -73,6 +81,10 @@ local skills, mod, flag, skill = ... #flags attack melee area #mods +#skill SpiderMinionLeapSlam Leap Slam +#flags attack melee area movement +#mods + skills["MinionInstability"] = { name = "Minion Instability", hidden = true, diff --git a/Export/Skills/other.lua b/Export/Skills/other.lua index 1a438d9a..810b255e 100644 --- a/Export/Skills/other.lua +++ b/Export/Skills/other.lua @@ -490,6 +490,41 @@ skills["TriggeredMoltenStrike"] = { [16] = { }, }, } +skills["TriggeredSummonSpider"] = { + name = "Raise Spiders", + hidden = true, + other = true, + minionList = { + "SpiderMinion", + }, + color = 3, + baseFlags = { + spell = true, + minion = true, + duration = true, + }, + skillTypes = { [2] = true, [9] = true, [36] = true, [49] = true, [42] = true, [61] = true, }, + minionSkillTypes = { [1] = true, [24] = true, [25] = true, [28] = true, }, + baseMods = { + skill("castTime", 1), + skill("levelRequirement", 1), + skill("cooldown", 2), + --"chance_to_cast_on_kill_%_target_self" = 20 + skill("duration", 8), --"base_skill_effect_duration" = 8000 + mod("ActiveSpiderLimit", "BASE", 20), --"number_of_spider_minions_allowed" = 20 + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? + --"take_no_actions_while_parent_dead" = ? + --"minion_dies_when_parent_dies" = ? + skill("minionLevelIsEnemyLevel", true), --"display_skill_minions_level_is_corpse_level" = ? + }, + qualityMods = { + }, + levelMods = { + }, + levels = { + [1] = { }, + }, +} skills["TriggeredShockedGround"] = { name = "Shock Ground", hidden = true, @@ -519,6 +554,67 @@ skills["TriggeredShockedGround"] = { [1] = { }, }, } +skills["SummonEssenceSpirits"] = { + name = "Spectral Spirits", + hidden = true, + other = true, + minionList = { + "SummonedEssenceSpirit", + }, + color = 3, + baseFlags = { + spell = true, + minion = true, + }, + skillTypes = { [2] = true, [9] = true, [36] = true, [49] = true, [42] = true, [61] = true, }, + minionSkillTypes = { [1] = true, [24] = true, [25] = true, [28] = true, }, + baseMods = { + skill("castTime", 1), + skill("minionDamageEffectiveness", -15), --"active_skill_minion_added_damage_+%_final" = -15 + --"number_of_monsters_to_summon" = 3 + --"cast_on_gain_skill" = ? + skill("triggered", true, { type = "SkillType", skillType = SkillType.TriggerableSpell }), --"spell_uncastable_if_triggerable" = ? + --"take_no_actions_while_parent_dead" = ? + --"minion_dies_when_parent_dies" = ? + }, + qualityMods = { + }, + levelMods = { + [1] = skill("levelRequirement", nil), + }, + levels = { + [1] = { 1, }, + [2] = { 2, }, + [3] = { 4, }, + [4] = { 7, }, + [5] = { 11, }, + [6] = { 16, }, + [7] = { 20, }, + [8] = { 24, }, + [9] = { 28, }, + [10] = { 32, }, + [11] = { 36, }, + [12] = { 40, }, + [13] = { 44, }, + [14] = { 48, }, + [15] = { 52, }, + [16] = { 56, }, + [17] = { 60, }, + [18] = { 64, }, + [19] = { 67, }, + [20] = { 70, }, + [21] = { 72, }, + [22] = { 74, }, + [23] = { 76, }, + [24] = { 78, }, + [25] = { 80, }, + [26] = { 82, }, + [27] = { 84, }, + [28] = { 86, }, + [29] = { 88, }, + [30] = { 90, }, + }, +} skills["SummonRigwaldsPack"] = { name = "Summon Spectral Wolf", hidden = true, diff --git a/Export/Skills/other.txt b/Export/Skills/other.txt index 5af1da23..6119f5ed 100644 --- a/Export/Skills/other.txt +++ b/Export/Skills/other.txt @@ -62,10 +62,24 @@ local skills, mod, flag, skill = ... #flags attack projectile area fire #mods +#skill TriggeredSummonSpider Raise Spiders +#flags spell minion duration + minionList = { + "SpiderMinion", + }, +#mods + #skill TriggeredShockedGround Shock Ground #flags spell area duration lightning #mods +#skill SummonEssenceSpirits Spectral Spirits +#flags spell minion + minionList = { + "SummonedEssenceSpirit", + }, +#mods + #skill SummonRigwaldsPack Summon Spectral Wolf #flags spell minion duration minionList = { diff --git a/Export/Skills/spectre.lua b/Export/Skills/spectre.lua index 3ecf13f1..df69954a 100644 --- a/Export/Skills/spectre.lua +++ b/Export/Skills/spectre.lua @@ -377,6 +377,7 @@ skills["DemonModularBladeVortexSpectre"] = { --"skill_repeat_count" = 2 --"is_area_damage" = ? --"skill_can_add_multiple_charges_per_action" = ? + skill("hitTimeOverride", 1), }, qualityMods = { }, @@ -632,6 +633,7 @@ skills["GhostPirateBladeVortexSpectre"] = { --"skill_repeat_count" = 2 --"is_area_damage" = ? --"skill_can_add_multiple_charges_per_action" = ? + skill("hitTimeOverride", 1), }, qualityMods = { }, diff --git a/Export/Skills/spectre.txt b/Export/Skills/spectre.txt index 81d35697..1f40a925 100644 --- a/Export/Skills/spectre.txt +++ b/Export/Skills/spectre.txt @@ -40,6 +40,7 @@ local skills, mod, flag, skill = ... #skill DemonModularBladeVortexSpectre Blade Vortex #flags spell area duration +#baseMod skill("hitTimeOverride", 1) #mods #skill ExperimenterDetonateDead Detonate Dead @@ -56,6 +57,7 @@ local skills, mod, flag, skill = ... #skill GhostPirateBladeVortexSpectre Blade Vortex #flags spell duration area +#baseMod skill("hitTimeOverride", 1) #mods #skill GoatmanMoltenShell Molten Shell diff --git a/Export/Skills/statmap.ini b/Export/Skills/statmap.ini index 18d7a525..7655ac21 100644 --- a/Export/Skills/statmap.ini +++ b/Export/Skills/statmap.ini @@ -82,6 +82,8 @@ mod = skill("doubleHitsWhenDualWielding", true) mod = skill("repeatCount", {val}) [display_minion_monster_level] mod = skill("minionLevel", {val}) +[display_skill_minions_level_is_corpse_level] +mod = skill("minionLevelIsEnemyLevel", true) [active_skill_minion_added_damage_+%_final] mod = skill("minionDamageEffectiveness", {val}) [base_bleed_on_hit_still_%_of_physical_damage_to_deal_per_minute] @@ -493,6 +495,8 @@ mod = mod("ActiveGolemLimit", "BASE", {val}) mod = mod("ActiveSpectreLimit", "BASE", {val}) [number_of_wolves_allowed] mod = mod("ActiveWolfLimit", "BASE", {val}) +[number_of_spider_minions_allowed] +mod = mod("ActiveSpiderLimit", "BASE", {val}) [active_skill_minion_damage_+%_final] mod = mod("Misc", "LIST", { type = "MinionModifier", mod = mod("Damage", "MORE", {val}) }) [active_skill_minion_life_+%_final] diff --git a/Export/browse.lua b/Export/browse.lua index 9ef29c79..21a93ff9 100644 --- a/Export/browse.lua +++ b/Export/browse.lua @@ -11,6 +11,7 @@ loadDat("GrantedEffects") loadDat("GrantedEffectsPerLevel") loadDat("MonsterVarieties") loadDat("MonsterTypes") +loadDat("MonsterResistances") loadDat("ItemClasses") function actWithType(skillType) @@ -60,7 +61,11 @@ function spectre(name) if MT[mon.MonsterTypesKey].Unknown4 ~= 0 then print("energyShield = "..(0.4 * MT[mon.MonsterTypesKey].Unknown4 / 100)) end - print("damage = "..(1 + mon.DamageMultiplier/100)) + print("fireResist = "..MR[MT[mon.MonsterTypesKey].MonsterResistancesKey].FireMerciless) + print("coldResist = "..MR[MT[mon.MonsterTypesKey].MonsterResistancesKey].ColdMerciless) + print("lightningResist = "..MR[MT[mon.MonsterTypesKey].MonsterResistancesKey].LightningMerciless) + print("chaosResist = "..MR[MT[mon.MonsterTypesKey].MonsterResistancesKey].ChaosMerciless) + print("damage = "..(mon.DamageMultiplier/100)) print("damageSpread = "..(MT[mon.MonsterTypesKey].Unknown5 / 100)) print("attackTime = "..mon.AttackSpeed/1000) if mon.MainHand_ItemClassesKey then diff --git a/Export/minions.lua b/Export/minions.lua index d9e4fe59..c725bcc5 100644 --- a/Export/minions.lua +++ b/Export/minions.lua @@ -65,9 +65,19 @@ for _, name in pairs({"Spectres"}) do out:write('\tcoldResist = '..Resist.ColdMerciless..',\n') out:write('\tlightningResist = '..Resist.LightningMerciless..',\n') out:write('\tchaosResist = '..Resist.ChaosMerciless..',\n') - out:write('\tdamage = '..(1 + MonsterVariety.DamageMultiplier/100)..',\n') + out:write('\tdamage = '..(MonsterVariety.DamageMultiplier/100)..',\n') out:write('\tdamageSpread = '..(MonsterType.Unknown5 / 100)..',\n') out:write('\tattackTime = '..(MonsterVariety.AttackSpeed/1000)..',\n') + for _, key in ipairs(MonsterVariety.ModsKeys) do + local Mod = Mods[key] + if Mod.Id == "MonsterSpeedAndDamageFixupSmall" then + out:write('\tdamageFixup = 0.11,\n') + elseif Mod.Id == "MonsterSpeedAndDamageFixupLarge" then + out:write('\tdamageFixup = 0.22,\n') + elseif Mod.Id == "MonsterSpeedAndDamageFixupComplete" then + out:write('\tdamageFixup = 0.33,\n') + end + end if MonsterVariety.MainHand_ItemClassesKey and itemClassMap[MonsterVariety.MainHand_ItemClassesKey] then out:write('\tweaponType1 = "'..itemClassMap[MonsterVariety.MainHand_ItemClassesKey]..'",\n') end diff --git a/Modules/Build.lua b/Modules/Build.lua index 1013124d..c0021a55 100644 --- a/Modules/Build.lua +++ b/Modules/Build.lua @@ -323,6 +323,7 @@ function buildMode:Init(dbFileName, buildName) self.minionDisplayStats = { { stat = "AverageDamage", label = "Average Damage", fmt = ".1f", compPercent = true }, { stat = "Speed", label = "Attack/Cast Rate", fmt = ".2f", compPercent = true }, + { stat = "HitSpeed", label = "Hit Rate", fmt = ".2f" }, { stat = "TotalDPS", label = "Total DPS", fmt = ".1f", compPercent = true }, { stat = "TotalDot", label = "DoT DPS", fmt = ".1f", compPercent = true }, { stat = "WithPoisonDPS", label = "DPS inc. Poison", fmt = ".1f", compPercent = true }, diff --git a/Modules/CalcActiveSkill.lua b/Modules/CalcActiveSkill.lua index 2ecef57c..d5d4acdc 100644 --- a/Modules/CalcActiveSkill.lua +++ b/Modules/CalcActiveSkill.lua @@ -198,7 +198,7 @@ function calcs.buildActiveSkillModList(env, actor, activeSkill) skillFlags.multiPart = #activeGemParts > 1 end - if skillTypes[SkillType.Shield] and (not actor.itemList["Weapon 2"] or actor.itemList["Weapon 2"].type ~= "Shield") then + if skillTypes[SkillType.Shield] and not activeSkill.summonSkill and (not actor.itemList["Weapon 2"] or actor.itemList["Weapon 2"].type ~= "Shield") then -- Skill requires a shield to be equipped skillFlags.disable = true end @@ -413,15 +413,16 @@ function calcs.buildActiveSkillModList(env, actor, activeSkill) skillFlags.haveMinion = true minion.parent = env.player minion.minionData = data.minions[minionType] - minion.level = activeSkill.skillData.minionLevel or activeSkill.skillData.levelRequirement + minion.level = activeSkill.skillData.minionLevelIsEnemyLevel and env.enemyLevel or activeSkill.skillData.minionLevel or activeSkill.skillData.levelRequirement minion.itemList = { } - local damage = data.monsterDamageTable[minion.level] * minion.minionData.damage + local attackTime = minion.minionData.attackTime * (1 - (minion.minionData.damageFixup or 0)) + local damage = data.monsterDamageTable[minion.level] * minion.minionData.damage * attackTime if activeSkill.skillData.minionUseBowAndQuiver and env.player.weaponData1.type == "Bow" then minion.weaponData1 = env.player.weaponData1 else - minion.weaponData1 = { - type = minion.minionData.weaponType1 or "None", - attackRate = 1 / minion.minionData.attackTime, + minion.weaponData1 = { + type = minion.minionData.weaponType1 or "None", + attackRate = 1 / attackTime, critChance = 5, PhysicalMin = damage * (1 - minion.minionData.damageSpread), PhysicalMax = damage * (1 + minion.minionData.damageSpread), diff --git a/Modules/CalcOffence.lua b/Modules/CalcOffence.lua index b821c911..2af03e17 100644 --- a/Modules/CalcOffence.lua +++ b/Modules/CalcOffence.lua @@ -515,10 +515,13 @@ function calcs.offence(env, actor) baseSpeed = 1 / (skillData.castTime or 1) end output.Speed = baseSpeed * round(calcLib.mod(modDB, cfg, "Speed"), 2) - output.Time = 1 / output.Speed if breakdown then breakdown.Speed = breakdown.simple(baseSpeed, cfg, output.Speed, "Speed") end + if skillData.attackRateCap then + output.Speed = m_min(output.Speed, skillData.attackRateCap) + end + output.Time = 1 / output.Speed end if skillData.hitTimeOverride then output.HitTime = skillData.hitTimeOverride diff --git a/Modules/CalcPerform.lua b/Modules/CalcPerform.lua index fa73aac6..c0e244c5 100644 --- a/Modules/CalcPerform.lua +++ b/Modules/CalcPerform.lua @@ -426,7 +426,7 @@ function calcs.perform(env) if activeSkill.skillTypes[SkillType.ManaCostReserved] and not activeSkill.skillFlags.totem then local skillModList = activeSkill.skillModList local skillCfg = activeSkill.skillCfg - local baseVal = activeSkill.skillData.manaCostOverride or activeSkill.skillData.manaCost + local baseVal = activeSkill.skillData.manaCostOverride or activeSkill.skillData.manaCost or 0 local suffix = activeSkill.skillTypes[SkillType.ManaCostPercent] and "Percent" or "Base" local mult = skillModList:Sum("MORE", skillCfg, "ManaCost") local more = modDB:Sum("MORE", skillCfg, "ManaReserved") * skillModList:Sum("MORE", skillCfg, "ManaReserved") diff --git a/Modules/CalcSetup.lua b/Modules/CalcSetup.lua index fbb5fc13..e2068140 100644 --- a/Modules/CalcSetup.lua +++ b/Modules/CalcSetup.lua @@ -326,59 +326,62 @@ function calcs.initEnv(build, mode, override) -- Process extra skills granted by items local markList = { } for _, mod in ipairs(modDB.mods["ExtraSkill"] or { }) do - -- Extract the name of the slot containing the item this skill was granted by - local slotName - for _, tag in ipairs(mod.tagList) do - if tag.type == "SocketedIn" then - slotName = tag.slotName - break - end - end - - -- Check if a matching group already exists - local group - for index, socketGroup in pairs(build.skillsTab.socketGroupList) do - if socketGroup.source == mod.source and socketGroup.slot == slotName then - if socketGroup.gemList[1] and socketGroup.gemList[1].nameSpec == mod.value.name then - group = socketGroup - markList[socketGroup] = true + if mod.value.name ~= "Unknown" then + -- Extract the name of the slot containing the item this skill was granted by + local slotName + for _, tag in ipairs(mod.tagList) do + if tag.type == "SocketedIn" then + slotName = tag.slotName break end end - end - if not group then - -- Create a new group for this skill - group = { label = "", enabled = true, gemList = { }, source = mod.source, slot = slotName } - t_insert(build.skillsTab.socketGroupList, group) - markList[group] = true - end - -- Update the group - group.sourceItem = build.itemsTab.list[tonumber(mod.source:match("Item:(%d+):"))] - wipeTable(group.gemList) - t_insert(group.gemList, { - nameSpec = mod.value.name, - level = mod.value.level, - quality = 0, - enabled = true, - fromItem = true, - }) - if mod.value.noSupports then - group.noSupports = true - else - for _, socketGroup in pairs(build.skillsTab.socketGroupList) do - -- Look for other groups that are socketed in the item - if socketGroup.slot == slotName and not socketGroup.source then - -- Add all support gems to the skill's group - for _, gem in ipairs(socketGroup.gemList) do - if gem.data and gem.data.support then - t_insert(group.gemList, gem) + -- Check if a matching group already exists + local group + for index, socketGroup in pairs(build.skillsTab.socketGroupList) do + if socketGroup.source == mod.source and socketGroup.slot == slotName then + if socketGroup.gemList[1] and socketGroup.gemList[1].nameSpec == mod.value.name then + group = socketGroup + markList[socketGroup] = true + break + end + end + end + if not group then + -- Create a new group for this skill + group = { label = "", enabled = true, gemList = { }, source = mod.source, slot = slotName } + t_insert(build.skillsTab.socketGroupList, group) + markList[group] = true + end + + -- Update the group + group.sourceItem = build.itemsTab.list[tonumber(mod.source:match("Item:(%d+):"))] + local activeGem = group.gemList[1] or { + nameSpec = mod.value.name, + quality = 0, + enabled = true, + fromItem = true, + } + activeGem.level = mod.value.level + wipeTable(group.gemList) + t_insert(group.gemList, activeGem) + if mod.value.noSupports then + group.noSupports = true + else + for _, socketGroup in pairs(build.skillsTab.socketGroupList) do + -- Look for other groups that are socketed in the item + if socketGroup.slot == slotName and not socketGroup.source then + -- Add all support gems to the skill's group + for _, gem in ipairs(socketGroup.gemList) do + if gem.data and gem.data.support then + t_insert(group.gemList, gem) + end end end end end + build.skillsTab:ProcessSocketGroup(group) end - build.skillsTab:ProcessSocketGroup(group) end -- Remove any socket groups that no longer have a matching item diff --git a/Modules/Calcs.lua b/Modules/Calcs.lua index 334a250c..8d57e095 100644 --- a/Modules/Calcs.lua +++ b/Modules/Calcs.lua @@ -153,6 +153,11 @@ function calcs.buildOutput(build, mode) env.skillsUsed = { } for _, activeSkill in ipairs(env.activeSkillList) do env.skillsUsed[activeSkill.activeGem.name] = true + if activeSkill.minion then + for _, activeSkill in ipairs(activeSkill.minion.activeSkillList) do + env.skillsUsed[activeSkill.activeGem.data.id] = true + end + end end env.conditionsUsed = { } diff --git a/README.md b/README.md index ed44b78c..50ff3df3 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,21 @@ 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.4 - 2017/04/17 +This update fixes two issues affecting the damage calculations for minions. +As a result, the calculated DPS for many minion skills will change to some degree: + * All golem skills will gain up to 25% DPS + * Other minion's attacks will generally lose up to 30% DPS, but some may gain DPS + * Other minion's spells are generally unaffected, but some will gain up to 10% DPS + * Zombies, Skeleton Warriors and Raging Spirits are not affected +Other changes: + * Improved the DPS calculation for Blade Vortex skills used by spectres: + * The blade count can be set using a new option for Raise Spectre in the Configuration tab + * The skills now have a hit rate override, which allows the DPS to be calculated properly + * Added support for the Raise Spiders skill granted by Arakaali's Fang + * Added support for the Spectral Spirits skill granted by Essence of Insanity + * Added the attack rate cap for Blink/Mirror Arrow clones + ### 1.4.3 - 2017/04/16 * Added Fighting Bull, Kraityn's Sniper, Shadow Lurker and Kaom's Chosen to the spectre library * Added options to the Configuration tab to enable charges for all minions diff --git a/changelog.txt b/changelog.txt index 5a331169..5db46dd8 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,17 @@ +VERSION[1.4.4][2017/04/17] +This update fixes two issues affecting the damage calculations for minions. +As a result, the calculated DPS for many minion skills will change to some degree: + * All golem skills will gain up to 25% DPS + * Other minion's attacks will generally lose up to 30% DPS, but some may gain DPS + * Other minion's spells are generally unaffected, but some will gain up to 10% DPS + * Zombies, Skeleton Warriors and Raging Spirits are not affected +Other changes: + * Improved the DPS calculation for Blade Vortex skills used by spectres: + * The blade count can be set using a new option for Raise Spectre in the Configuration tab + * The skills now have a hit rate override, which allows the DPS to be calculated properly + * Added support for the Raise Spiders skill granted by Arakaali's Fang + * Added support for the Spectral Spirits skill granted by Essence of Insanity + * Added the attack rate cap for Blink/Mirror Arrow clones VERSION[1.4.3][2017/04/16] * Added Fighting Bull, Kraityn's Sniper, Shadow Lurker and Kaom's Chosen to the spectre library * Added options to the Configuration tab to enable charges for all minions diff --git a/manifest.xml b/manifest.xml index 8c0fc9f1..88f3878b 100644 --- a/manifest.xml +++ b/manifest.xml @@ -1,20 +1,20 @@ - + - + - + @@ -27,8 +27,8 @@ - - + + @@ -43,16 +43,16 @@ - + - + - - - + + + - + @@ -64,18 +64,18 @@ - + - + - - - + + +