Module:Monsters: Difference between revisions

From Melvor Idle
(Added link to Slayer page from the other monster box section)
(Added logic to make sure if monsters can do a normal attack due to a special not being repeatable in close succession, the max hit is appropriate updated)
Line 300: Line 300:
   local specialMaxHit = 0
   local specialMaxHit = 0
   local normalMaxHit = p._getMonsterBaseMaxHit(monster)
   local normalMaxHit = p._getMonsterBaseMaxHit(monster)
  local hasActiveBuffSpec = false
   if monster.hasSpecialAttack then
   if monster.hasSpecialAttack then
     for i, specID in pairs(monster.specialAttackID) do
     for i, specID in pairs(monster.specialAttackID) do
Line 321: Line 322:
       end
       end
       if thisMax > specialMaxHit then specialMaxHit = thisMax end
       if thisMax > specialMaxHit then specialMaxHit = thisMax end
      if specAttack.activeBuffs then hasActiveBuffSpec = true end
     end
     end
   end
   end
   --Ensure that if the monster never does a normal attack, the normal max hit is irrelevant
   --Ensure that if the monster never does a normal attack, the normal max hit is irrelevant
   if normalChance == 0 then normalMaxHit = 0 end
   if normalChance == 0 and not hasActiveBuffSpec then normalMaxHit = 0 end
   return math.max(specialMaxHit, normalMaxHit)
   return math.max(specialMaxHit, normalMaxHit)
end
end