Anonymous

Module:CombatAreas: Difference between revisions

From Melvor Idle
Accounted for Infernal Stronghold needing multiple clears
(getAreaFilterType)
(Accounted for Infernal Stronghold needing multiple clears)
(2 intermediate revisions by the same user not shown)
Line 68: Line 68:
end
end


function p.getAreaStat(frame)
function p._getAreaStat(area, statName)
  local areaName = frame.args ~= nil and frame.args[1] or frame[1]
  local statName = frame.args ~= nil and frame.args[2] or frame[2]
  local area = p.getArea(areaName)
  if area == nil then
    return "ERROR: Could not find an area named "..areaName
  end
   if statName == 'slayerLevel' then
   if statName == 'slayerLevel' then
     return Icons._SkillReq('Slayer', area.slayerLevel)
     return Icons._SkillReq('Slayer', area.slayerLevel)
   end
   elseif statName == 'slayerItem' then
  if statName == 'slayerItem' then
     if area.slayerItem ~= nil and area.slayerItem > 0 then
     if area.slayerItem ~= nil and area.slayerItem > 0 then
       local slayItem = Items.getItemByID(area.slayerItem)
       local slayItem = Items.getItemByID(area.slayerItem)
Line 84: Line 77:
     else
     else
       return 'None'
       return 'None'
    end
  elseif statName == 'dungeonReq' then
    if area.requiresCompletion ~= nil and area.requiresCompletion >= 0 then
      local dung = p.getAreaByID('dungeon', area.requiresCompletion)
      local compCount = area.requiresCompletionCount ~= nil and area.requiresCompletionCount or 1
      if compCount > 1 then
        return compCount..'x '..Icons.Icon({dung.name, type='dungeon'})..' Completions'
      else
        return Icons.Icon({dung.name, type='dungeon'})..' Completed'
      end
    else
      return ''
     end
     end
   end
   end


   return area[statName]
   return area[statName]
end
function p.getAreaStat(frame)
  local areaName = frame.args ~= nil and frame.args[1] or frame[1]
  local statName = frame.args ~= nil and frame.args[2] or frame[2]
  local area = p.getArea(areaName)
  if area == nil then
    return "ERROR: Could not find an area named "..areaName
  end
  return p._getAreaStat(area, statName)
end
end


Line 111: Line 127:
   end
   end
   return areaArray
   return areaArray
end
function p.getDungeonRequirements(frame)
  local areaName = frame.args ~= nil and frame.args[1] or frame
  local area = p.getArea(areaName)
  if area == nil then
    return "ERROR: Could not find an area named "..areaName
  end
  local result = p._getAreaStat(area, 'dungeonReq')
  if result ~= '' then
    result = "\r\n|-\r\n|'''Requirements:'''<br/>"..result
  end
  return result
end
end


return p
return p