|
| 1 | +diff a/src/Modules/CalcPerform.lua b/src/Modules/CalcPerform.lua (rejected hunks) |
| 2 | +@@ -1088,9 +1088,18 @@ function calcs.perform(env, skipEHP) |
| 3 | + env.minion.output = output.Minion |
| 4 | + env.minion.modDB.multipliers["Level"] = env.minion.level |
| 5 | + calcs.initModDB(env, env.minion.modDB) |
| 6 | +- env.minion.modDB:NewMod("Life", "BASE", m_floor(env.minion.lifeTable[env.minion.level] * env.minion.minionData.life), "Base") |
| 7 | ++ local baseLife = env.minion.lifeTable[env.minion.level] * env.minion.minionData.life |
| 8 | ++ if env.minion.hostile then |
| 9 | ++ baseLife = baseLife * (env.data.mapLevelLifeMult[env.enemyLevel] or 1) |
| 10 | ++ end |
| 11 | ++ env.minion.modDB:NewMod("Life", "BASE", m_floor(baseLife), "Base") |
| 12 | + if env.minion.minionData.energyShield then |
| 13 | +- env.minion.modDB:NewMod("EnergyShield", "BASE", m_floor(env.data.monsterAllyLifeTable[env.minion.level] * env.minion.minionData.life * env.minion.minionData.energyShield), "Base") |
| 14 | ++ local esTable = env.minion.hostile and env.minion.lifeTable or env.data.monsterAllyLifeTable |
| 15 | ++ local baseES = esTable[env.minion.level] * env.minion.minionData.life * env.minion.minionData.energyShield |
| 16 | ++ if env.minion.hostile then |
| 17 | ++ baseES = baseES * (env.data.mapLevelLifeMult[env.enemyLevel] or 1) |
| 18 | ++ end |
| 19 | ++ env.minion.modDB:NewMod("EnergyShield", "BASE", m_floor(baseES), "Base") |
| 20 | + end |
| 21 | + --Armour formula is math.floor((10 + 2 * level) * 1.067 ^ level) |
| 22 | + env.minion.modDB:NewMod("Armour", "BASE", round(env.data.monsterArmourTable[env.minion.level] * (env.minion.minionData.armour or 1)), "Base") |
| 23 | +@@ -1713,14 +1722,25 @@ function calcs.perform(env, skipEHP) |
| 24 | + doActorAttribsConditions(env, env.player) |
| 25 | + doActorLifeMana(env.player) |
| 26 | + if env.minion then |
| 27 | +- for _, value in ipairs(env.player.mainSkill.skillModList:List(env.player.mainSkill.skillCfg, "MinionModifier")) do |
| 28 | +- if not value.type or env.minion.type == value.type then |
| 29 | +- env.minion.modDB:AddMod(value.mod) |
| 30 | ++ if env.minion.hostile then |
| 31 | ++ for _, value in ipairs(env.modDB:Tabulate(nil, nil, "EnemyModifier")) do |
| 32 | ++ local mod = value.value and value.value.mod |
| 33 | ++ if mod then |
| 34 | ++ local copy = copyTable(mod, true) |
| 35 | ++ env.minion.modDB:AddMod(modLib.setSource(copy, mod.source or value.mod.source)) |
| 36 | ++ end |
| 37 | + end |
| 38 | + end |
| 39 | +- for _, name in ipairs(env.minion.modDB:List(nil, "Keystone")) do |
| 40 | +- if env.spec.tree.keystoneMap[name] then |
| 41 | +- env.minion.modDB:AddList(env.spec.tree.keystoneMap[name].modList) |
| 42 | ++ if not env.minion.hostile then |
| 43 | ++ for _, value in ipairs(env.player.mainSkill.skillModList:List(env.player.mainSkill.skillCfg, "MinionModifier")) do |
| 44 | ++ if not value.type or env.minion.type == value.type then |
| 45 | ++ env.minion.modDB:AddMod(value.mod) |
| 46 | ++ end |
| 47 | ++ end |
| 48 | ++ for _, name in ipairs(env.minion.modDB:List(nil, "Keystone")) do |
| 49 | ++ if env.spec.tree.keystoneMap[name] then |
| 50 | ++ env.minion.modDB:AddList(env.spec.tree.keystoneMap[name].modList) |
| 51 | ++ end |
| 52 | + end |
| 53 | + end |
| 54 | + doActorAttribsConditions(env, env.minion) |
| 55 | +@@ -2045,7 +2065,7 @@ function calcs.perform(env, skipEHP) |
| 56 | + buffs[buff.name].notBuff = true |
| 57 | + end |
| 58 | + end |
| 59 | +- if env.minion and (buff.applyMinions or buff.applyAllies or skillModList:Flag(nil, "BuffAppliesToAllies")) then |
| 60 | ++ if env.minion and not env.minion.hostile and (buff.applyMinions or buff.applyAllies or skillModList:Flag(nil, "BuffAppliesToAllies")) then |
| 61 | + activeSkill.minionBuffSkill = true |
| 62 | + env.minion.modDB.conditions["AffectedBy"..buff.name:gsub(" ","")] = true |
| 63 | + local srcList = new("ModList") |
| 64 | +@@ -2190,7 +2210,7 @@ function calcs.perform(env, skipEHP) |
| 65 | + end |
| 66 | + end |
| 67 | + if not (modDB:Flag(nil, "SelfAurasCannotAffectAllies") or modDB:Flag(nil, "SelfAurasOnlyAffectYou") or modDB:Flag(nil, "SelfAuraSkillsCannotAffectAllies") ) then |
| 68 | +- if env.minion then |
| 69 | ++ if env.minion and (not env.minion.hostile or modDB:Flag(nil, "AurasAffectEnemies")) then |
| 70 | + local inc = skillModList:Sum("INC", skillCfg, "AuraEffect", "BuffEffect") + env.minion.modDB:Sum("INC", skillCfg, "BuffEffectOnSelf", "AuraEffectOnSelf") |
| 71 | + local more = skillModList:More(skillCfg, "AuraEffect", "BuffEffect") * env.minion.modDB:More(skillCfg, "BuffEffectOnSelf", "AuraEffectOnSelf") |
| 72 | + local mult = (1 + inc / 100) * more |
0 commit comments