Spotligh:mapas: mudanças entre as edições

De Farmland
Ir para navegação Ir para pesquisar
Sem resumo de edição
Sem resumo de edição
Linha 113: Linha 113:
<script>
<script>
const monsters = {
const monsters = {
"abbey02":[["Banshee",108],["Zombie Slaughter",106],["Ragged Zombie",107],["Flame Skull",110],["Necromancer",113]],
"abbey02":[["Banshee",130],["Zombie Slaughter",132],["Ragged Zombie",131],["Flame Skull",135],["Necromancer",138]],
"abyss_03":[["Red Ferus",107],["Green Ferus",105],["Blue Ferus",106],["Acidus (Blue)",112],["Acidus (Gold)",114],["Ferus",126],["Ancient Mimic",112],["Mimic",56],["Dragon Egg",119]],
"abyss_03":[["Red Ferus",135],["Green Ferus",133],["Blue Ferus",134],["Acidus (Blue)",140],["Acidus (Gold)",142],["Ferus",145],["Ancient Mimic",140],["Mimic",130],["Dragon Egg",143]],
"ama_dun03":[["Miyabi Doll",50],["Antique Firelock",53],["Shinobi",75],["Firelock Soldier",76],["Mimic",51]],
"ama_dun03":[["Miyabi Doll",85],["Antique Firelock",88],["Shinobi",95],["Firelock Soldier",96],["Mimic",85]],
"ayo_dun01":[["Leaf Cat",55],["Pest",64],["Ancient Mummy",95],["Mimic",51]],
"ayo_dun01":[["Leaf Cat",65],["Pest",70],["Ancient Mummy",78],["Mimic",65]],
"c_tower2":[["Rideword",82],["Bathory",73],["Joker",77],["Punk",80],["Mimic",51]],
"c_tower2":[["Rideword",65],["Bathory",62],["Joker",68],["Punk"
"cmd_fild03":[["Medusa",79],["Goat",80],["Stapo",81]],
"dew_fild01":[["Bungisngis",96],["Engkanto",99],["Tikbalang",101]],
"dic_fild01":[["Tatacho",113],["Hillslion",106],["Cornus",118],["Nepenthes",115]],
"ecl_tdun01":[["Petal",117],["Menblatt",119],["Cenere",121]],
"ein_fild03":[["Metaller",55],["Holden",58],["Pitman",64]],
"gef_dun00":[["Hunter Fly",74],["Poison Spore",26],["Poporing",32],["Drainliar",52]],
"gef_fild04":[["Poison Spore",26],["Poporing",32],["Caramel",44],["Greatest General",60]],
"gef_fild10":[["Goat",80],["Harpy",83],[
};
};


// Função que renderiza e calcula dinamicamente os níveis sugeridos
const solar = [["abbey02","Abadia da Ilha 2",130,145],["abyss_03","Lago do Abismo 3",135,150],["ama_dun03","Calabouço de Amatsu 3",85,100],["ayo_dun01","Calabouço de Ayothaya 1",65,80],["c_tower2","Torre do Relógio 2",60,75],["cmd_fild03","Campo de Comodo 3",50,65],["dew_fild01","Campo de Dewata 1",95,110],["dic_fild01","Campo de El Dicastes 1",110,125],["ecl_tdun01","Calabouço de Eclage 1",125,140],["ein_fild03","Campo de Einbroch 3",55,70],["gef_dun00","Calabouço de Geffen 0",20,35],["gef_fild04","Campo de Geffen 4",30,45],["gef_fild10","Campo de Geffen 10",70,85],["gefenia02","Geffenia 2",145,160],["gl_prison1","Prisão Subterrânea de GH",90,105],["hu_fild01","Campo de Hugel 1",80,95],["in_sphinx3","Esfinge 3",60,75],["iz_dun03","Calabouço de Izlude 3",80,95],["lhz_dun02","Laboratório de LHZ 2",145,160],["lou_dun01","Calabouço de Louyang 1",45,60],["moc_fild12","Campo de Morroc 12",40,55],["moc_fild17","Campo de Morroc 17",75,90],["moc_pryd02","Pirâmide de Morroc 2",45,60],["mosk_dun02","Calabouço de Moscóvia 2",90,105],["pay_dun00","Caverna de Payon 0",10,20],["pay_dun01","Caverna de Payon 1",20,35],["pay_fild08","Campo de Payon 8",50,65],["pay_fild09","Campo de Payon 9",70,85],["prt_fild00","Campo de Prontera 0",1,15],["prt_fild02","Campo de Prontera 2",10,20],["prt_fild04","Campo de Prontera 4",15,25],["prt_fild05","Campo de Prontera 5",25,35],["prt_sewb3","Esgoto de Prontera 3",40,55],["spl_fild03","Campo de Splendide 3",125,140],["tur_dun01","Ilha das Tartarugas 1",85,100],["ve_fild03","Campo de Veins 3",120,135],["yuno_fild03","Campo de Juno 3",65,80],["yuno_fild07","Campo de Juno 7",80,95],["yuno_fild12","Campo de Juno 12",100,115]];
function filterRows() {
const lunar = [["ayo_fild01","Campo de Ayothaya 1",55,70],["bif_fild01","Campo de Bifrost 1",110,125],["cmd_fild02","Campo de Comodo 2",40,55],["cmd_fild04","Campo de Comodo 4",60,75],["ein_fild09","Campo de Einbroch 9",85,100],["gef_dun01","Calabouço de Geffen 1",35,50],["gef_fild08","Campo de Geffen 8",55,70],["gef_fild11","Campo de Geffen 11",80,95],["gefenia01","Geffenia 1",140,155],["gl_church","Igreja de Glast Heim",80,95],["gl_knt02","Cavalaria de Glast Heim 2",110,125],["gl_sew01","Esgoto de Glast Heim 1",70,85],["gl_sew02","Esgoto de Glast Heim 2",80,95],["gl_sew04","Esgoto de Glast Heim 4",100,115],["hu_fild04","Campo de Hugel 4",90,105],["lou_dun03","Calabouço de Louyang 3",95,110],["mag_dun01","Calabouço de Magma 1",100,115],["mag_dun02","Calabouço de Magma 2",120,135],["mjolnir_01","Monte Mjolnir 1",15,30],["mjolnir_04","Monte Mjolnir 4",35,50],["mjolnir_08","Monte Mjolnir 8",75,90],["moc_pryd03","Pirâmide de Morroc 3",60,75],["moc_pryd04","Pirâmide de Morroc 4",75,90],["mosk_dun03","Calabouço de Moscóvia 3",110,125],["odin_tem01","Templo de Odin 1",110,125],["orcsdun02","Calabouço dos Orcs 2",75,90],["pay_fild01","Campo de Payon 1",5,15],["pay_fild07","Campo de Payon 7",45,60],["prt_fild03","Campo de Prontera 3",15,25],["prt_fild07","Campo de Prontera 7",30,45],["prt_fild10","Campo de Prontera 10",60,75],["prt_maze03","Labirinto de Prontera 3",90,105],["ra_fild08","Campo de Rachel 8",120,135],["ra_san04","Santuário de Rachel 4",145,160],["spl_fild02","Campo de Splendide 2",120,135],["tur_dun02","Ilha das Tartarugas 2",100,115],["ve_fild06","Campo de Veins 6",130,145],["verus03","Verus 3",145,160],["verus04","Verus 4",150,165]];
  const query = document.getElementById("search").value.toLowerCase().trim();
const estelar = [["abbey01","Abadia da Ilha 1",120,135],["abyss_02","Lago do Abismo 2",125,140],["beach_dun3","Caverna da Praia 3",90,105],["bra_fild01","Campo de Brasilis 1",55,70],["c_tower3","Torre do Relógio 3",80,95],["cmd_fild06","Campo de Comodo 6",75,90],["cmd_fild07","Campo de Comodo 7",85,100],["cmd_fild08","Campo de Comodo 8",95,110],["dew_dun01","Calabouço de Dewata 1",90,105],["dew_dun02","Calabouço de Dewata 2",105,120],["dic_dun03","Calabouço de El Dicastes 3",140,155],["ein_fild05","Campo de Einbroch 5",65,80],["gef_fild02","Campo de Geffen 2",20,35],["gl_cas01","Castelo de Glast Heim 1",95,110],["gl_prison","Prisão de Glast Heim",95,110],["gl_sew03","Esgoto de Glast Heim 3",90,105],["gon_dun02","Calabouço de Gonryun 2",95,110],["gon_dun03","Calabouço de Gonryun 3",110,125],["in_sphinx4","Esfinge 4",80,95],["mjo_dun03","Mina de Mjolnir 3",70,85],["moc_fild11","Campo de Morroc 11",35,50],["moc_fild16","Campo de Morroc 16",70,85],["moc_pryd06","Pirâmide de Morroc 6",100,115],["nif_fild01","Campo de Niflheim 1",105,120],["odin_tem02","Templo de Odin 2",125,140],["pay_fild04","Campo de Payon 4",25,40],["prt_fild11","Campo de Prontera 11",70,85],["ra_fild06","Campo de Rachel 6",110,125],["ra_san03","Santuário de Rachel 3",135,150],["tha_t05","Torre de Thanatos 5",150,165],["thor_v01","Vulcão de Thor 1",130,145],["tur_dun04","Ilha das Tartarugas 4",125,140],["ve_fild01","Campo de Veins 1",110,125],["xmas_dun01","Fábrica de Brinquedos 1",45,60],["xmas_dun02","Fábrica de Brinquedos 2",65,80],["xmas_fild01","Campo de Lutie 1",35,50],["yuno_fild02","Campo de Juno 2",55,70],["yuno_fild06","Campo de Juno 6",75,90],["yuno_fild11","Campo de Juno 11",95,110],["alde_dun03","Torre do Relógio 3",80,95],["ama_dun01","Calabouço de Amatsu 1",45,60],["anthell02","Formigueiro Infernal 2",30,45],["ayo_dun02","Calabouço de Ayothaya 2",80,95]];
  const spotName = document.getElementById("spotlight").value;
const radiante = [["alde_dun03","Torre do Relógio 3",80,95],["ama_dun01","Calabouço de Amatsu 1",45,60],["anthell02","Formigueiro Infernal 2",30,45],["ayo_dun02","Calabouço de Ayothaya 2",80,95],["c_tower1","Torre do Relógio 1",40,55],["ecl_fild01","Campo de Eclage 1",120,135],["ecl_tdun02","Calabouço de Eclage 2",135,150],["ecl_tdun03","Calabouço de Eclage 3",145,160],["ein_fild04","Campo de Einbroch 4",60,75],["gef_fild05","Campo de Geffen 5",40,55],["gl_cas02","Castelo de Glast Heim 2",105,120],["gl_dun01","Calabouço de Glast Heim 1",90,105],["in_sphinx2","Esfinge 2",40,55],["in_sphinx5","Esfinge 5",95,110],["iz_dun01","Calabouço de Izlude 1",40,55],["lhz_fild03","Campo de Lighthalzen 3",135,150],["lou_dun02","Calabouço de Louyang 2",75,90],["mjo_dun01","Mina de Mjolnir 1",30,45],["mjolnir_02","Monte Mjolnir 2",25,40],["mjolnir_03","Monte Mjolnir 3",30,45],["mosk_dun01","Calabouço de Moscóvia 1",75,90],["nif_fild02","Campo de Niflheim 2",115,130],["pay_dun02","Caverna de Payon 2",35,50],["pay_dun04","Caverna de Payon 4",75,90],["pay_fild02","Campo de Payon 2",15,25],["pay_fild03","Campo de Payon 3",20,35],["prt_fild09","Campo de Prontera 9",50,65],["prt_maze02","Labirinto de Prontera 2",70,85],["prt_sewb1","Esgoto de Prontera 1",20,30],["ra_fild04","Campo de Rachel 4",90,105],["ra_fild05","Campo de Rachel 5",100,115],["ra_fild11","Campo de Rachel 11",135,150],["ra_fild12","Campo de Rachel 12",145,160],["ra_san01","Santuário de Rachel 1",120,135],["tha_t01","Torre de Thanatos 1",115,130],["tha_t07","Torre de Thanatos 7",160,175],["thor_v02","Vulcão de Thor 2",145,160],["um_fild04","Campo de Umbala 4",95,110],["ve_fild07","Campo de Veins 7",140,155]];
  const lvRange = document.getElementById("level").value;
const celestial = [["abbey03","Abadia da Ilha 3",145,160],["alde_dun01","Torre do Relógio 1",40,55],["beach_dun","Caverna da Praia",30,45],["dic_dun02","Calabouço de El Dicastes 2",125,140],["ein_fild01","Campo de Einbroch 1",30,45],["gef_dun02","Calabouço de Geffen 2",55,70],["gef_fild01","Campo de Geffen 1",15,30],["gef_fild09","Campo de Geffen 9",65,80],["gl_chyard","Cemitério de Glast Heim",95,110],["gl_knt01","Cavalaria de Glast Heim 1",100,115],["iz_dun04","Calabouço de Izlude 4",100,115],["jupe_core","Núcleo de Juperos",145,160],["juperos_01","Ruínas de Juperos 1",125,140],["kh_dun01","Fábrica de Kiel Hyre 1",135,150],["kh_dun02","Fábrica de Kiel Hyre 2",145,160],["lhz_fild01","Campo de Lighthalzen 1",115,130],["lhz_fild02","Campo de Lighthalzen 2",125,140],["lou_fild01","Campo de Louyang 1",55,70],["ma_fild02","Campo de Malaya 2",120,135],["mal_dun01","Calabouço de Malangdo 1",105,120],["man_fild02","Campo de Manuk 2",125,140],["mjo_dun02","Mina de Mjolnir 2",50,65],["mjolnir_10","Monte Mjolnir 10",90,105],["mjolnir_12","Monte Mjolnir 12",105,120],["moc_fild02","Campo de Morroc 2",15,30],["moc_fild07","Campo de Morroc 7",30,45],["moc_fild13","Campo de Morroc 13",50,65],["mosk_fild02","Campo de Moscóvia 2",95,110],["odin_tem03","Templo de Odin 3",145,160],["pay_fild10","Campo de Payon 10",85,100],["prt_fild01","Campo de Prontera 1",1,15],["prt_fild06","Campo de Prontera 6",25,40],["prt_maze01","Labirinto de Prontera 1",50,65],["prt_sewb2","Esgoto de Prontera 2",30,45],["tha_t03","Torre de Thanatos 3",130,145],["thor_v03","Vulcão de Thor 3",155,170],["treasure02","Ilha do Tesouro 2",135,150],["tur_dun05","Ilha das Tartarugas 5",140,155],["um_fild01","Campo de Umbala 1",70,85]];
  const tbody = document.getElementById("rows");
const infernal = [["alde_dun04","Torre do Relógio 4",100,115],["ama_fild01","Campo de Amatsu 1",25,40],["bif_fild02","Campo de Bifrost 2",135,150],["bra_dun01","Calabouço de Brasilis 1",65,80],["c_tower4","Torre do Relógio 4",100,115],["cmd_fild09","Campo de Comodo 9",100,115],["dic_dun01","Calabouço de El Dicastes 1",110,125],["ein_dun01","Mina de Einbech 1",50,65],["ein_dun02","Mina de Einbech 2",70,85],["ein_fild07","Campo de Einbroch 7",75,90],["gef_fild03","Campo de Geffen 3",25,40],["gef_fild07","Campo de Geffen 7",50,65],["gefenia03","Geffenia 3",150,165],["gl_dun02","Calabouço de Glast Heim 2",110,125],["hu_fild02","Campo de Hugel 2",75,90],["hu_fild06","Campo de Hugel 6",100,115],["iz_dun00","Calabouço de Izlude 0",15,30],["iz_dun02","Calabouço de Izlude 2",60,75],["iz_dun05","Calabouço de Izlude 5",120,135],["man_fild03","Campo de Manuk 3",135,150],["mjolnir_05","Monte Mjolnir 5",45,60],["mjolnir_07","Monte Mjolnir 7",65,80],["mjolnir_11","Monte Mjolnir 11",95,110],["moc_fild19","Campo de Morroc 19",90,105],["moc_pryd01","Pirâmide de Morroc 1",30,45],["moc_pryd05","Pirâmide de Morroc 5",90,105],["orcsdun01","Calabouço dos Orcs 1",50,65],["prt_fild08","Campo de Prontera 8",40,55],["ra_fild01","Campo de Rachel 1",80,95],["ra_fild03","Campo de Rachel 3",90,105],["ra_fild10","Campo de Rachel 10",125,140],["tha_t04","Torre de Thanatos 4",140,155],["treasure01","Ilha do Tesouro 1",120,135],["tur_dun03","Ilha das Tartarugas 3",115,130],["um_fild02","Campo de Umbala 2",80,95],["ve_fild02","Campo de Veins 2",115,130],["ve_fild04","Campo de Veins 4",125,140],["yuno_fild04","Campo de Juno 4",70,85],["yuno_fild08","Campo de Juno 8",90,105]];
 
const astral = [["abyss_01","Lago do Abismo 1",110,125],["alde_dun02","Torre do Relógio 2",60,75],["ama_dun02","Calabouço de Amatsu 2",65,80],["anthell01","Formigueiro Infernal 1",15,30],["beach_dun2","Caverna da Praia 2",60,75],["bra_dun02","Calabouço de Brasilis 2",85,100],["cmd_fild01","Campo de Comodo 1",25,40],["dic_fild02","Campo de El Dicastes 2",120,135],["ein_fild06","Campo de Einbroch 6",70,85],["ein_fild08","Campo de Einbroch 8",80,95],["gef_fild00","Campo de Geffen 0",10,20],["gef_fild06","Campo de Geffen 6",45,60],["gef_fild13","Campo de Geffen 13",90,105],["gon_dun01","Calabouço de Gonryun 1",70,85],["gon_fild01","Campo de Gonryun 1",60,75],["hu_fild05","Campo de Hugel 5",95,110],["in_sphinx1","Esfinge 1",20,35],["juperos_02","Ruínas de Juperos 2",140,155],["lhz_dun01","Laboratório de LHZ 1",130,145],["lhz_dun03","Laboratório de LHZ 3",155,170],["ma_dun01","Calabouço de Malaya 1",105,120],["ma_fild01","Campo de Malaya 1",95,110],["man_fild01","Campo de Manuk 1",115,130],["mjolnir_06","Monte Mjolnir 6",55,70],["mjolnir_09","Monte Mjolnir 9",85,100],["moc_fild01","Campo de Morroc 1",5,15],["moc_fild03","Campo de Morroc 3",20,35],["moc_fild18","Campo de Morroc 18",80,95],["pay_dun03","Caverna de Payon 3",55,70],["pay_fild06","Campo de Payon 6",35,50],["prt_sewb4","Esgoto de Prontera 4",60,75],["ra_san02","Santuário de Rachel 2",130,145],["ra_san05","Santuário de Rachel 5",150,165],["spl_fild01","Campo de Splendide 1",110,125],["tha_t02","Torre de Thanatos 2",120,135],["tha_t06","Torre de Thanatos 6",155,170],["um_fild03","Campo de Umbala 3",90,105],["yuno_fild01","Campo de Juno 1",45,60],["yuno_fild09","Campo de Juno 9",95,110]];
  if (!tbody) return;
  tbody.innerHTML = "";
 
  const list = spots[spotName] || [];
  let index = 1;


  list.forEach(x => {
const lists = {
    const mapCode = x[0];
  "Spotlight Solar": solar,
    const mapName = x[1];
  "Spotlight Lunar": lunar,
    const mapSub  = x[2];
  "Spotlight Estelar": estelar,
    const lvMin   = x[3];
  "Spotlight Radiante": radiante,
    const lvMax   = x[4];
   "Spotlight Celestial": celestial,
   
   "Spotlight Infernal": infernal,
    const recLv = Math.max(1, lvMax - 15);
  "Spotlight Astral": astral
};


    if (query && !mapCode.toLowerCase().includes(query) && !mapName.toLowerCase().includes(query) && !mapSub.toLowerCase().includes(query)) {
function recommended(max){return Math.max(1,max-15)}
      return;
    }


    if (lvRange) {
function showTooltip(e, mapCode, mapName){
      const [minStr, maxStr] = lvRange.split("-");
  const tip = document.getElementById("tooltip");
      const rMin = parseInt(minStr), rMax = parseInt(maxStr);
  const title = document.getElementById("tt-title");
      if (lvMax < rMin || lvMin > rMax) return;
  const list = document.getElementById("tt-list");
    }
  const data = monsters[mapCode];


    const tr = document.createElement("tr");
  title.textContent = mapName;
     tr.innerHTML = `
  if(!data || data.length === 0){
      <td>${index++}</td>
     list.innerHTML = "<li style='color:#98a7c3'>Nenhuma informação de monstros cadastrada.</li>";
      <td><code>${mapCode}</code></td>
  } else {
      <td>
    list.innerHTML = data.map(m => {
        <span class="map-name"
      const isMvp = m[2] === "MVP" || m[2] === "especial";
              onmouseenter="showTooltip(event, '${mapCode}', '${mapName}')"
      const label = isMvp ? ` <span class="tt-mvp">(${m[2]})</span>` : "";
              onmouseleave="startHideTimeout()"
       return `<li>${m[0]} <span>Nv. ${m[1]}</span>${label}</li>`;
              onclick="toggleTooltipClick(event, '${mapCode}', '${mapName}')">
     }).join("");
          ${mapName}
   }
        </span>
        <br><small style="color:var(--muted); font-size:11px;">${mapSub}</small>
      </td>
       <td class="num">${lvMin}</td>
      <td class="num max">${lvMax}</td>
      <td class="num rec">${recLv}</td>
    `;
     tbody.appendChild(tr);
   });


   const countEl = document.getElementById("result-count");
  tip.classList.add("visible");
   if (countEl) countEl.innerText = index - 1;
   const x = Math.min(e.clientX + 14, window.innerWidth - 360);
   const y = Math.min(e.clientY + 14, window.innerHeight - 300);
  tip.style.left = x + "px";
  tip.style.top = y + "px";
}
}


function initStats() {
function hideTooltip(){
   let total = 0;
   document.getElementById("tooltip").classList.remove("visible");
  for (let k in spots) total += spots[k].length;
  const totalEl = document.getElementById("total-maps");
  if (totalEl) totalEl.innerText = total;
}
}


function clearFilters() {
function render(list){
   document.getElementById("search").value = "";
   const tbody = document.getElementById("rows");
   document.getElementById("level").value = "";
   document.getElementById("result-count").textContent = list.length;
   filterRows();
   document.getElementById("total-maps").textContent = list.length;
}


let tooltipTimeout;
   if(list.length === 0){
let isPinned = false;
    tbody.innerHTML = `<tr><td colspan="6" style="text-align:center;padding:28px;color:#98a7c3">Nenhum mapa encontrado com os filtros atuais.</td></tr>`;
 
    return;
function showTooltip(e, mapCode, mapName) {
   }
   if (isPinned) return;
  clearTimeout(tooltipTimeout);
 
  const tt = document.getElementById("tooltip");
  const ttTitle = document.getElementById("tt-title");
  const ttList = document.getElementById("tt-list");
    
  if (!tt || !ttTitle || !ttList) return;


   ttTitle.innerText = `${mapName} (${mapCode})`;
   tbody.innerHTML = list.map((x,i)=>`<tr>
   ttList.innerHTML = "";
    <td>${i+1}</td>
    <td><code>${x[0]}</code></td>
    <td><span class="map-name" data-code="${x[0]}" data-name="${x[1]}">${x[1]}</span></td>
    <td class="num">${x[2]}</td>
    <td class="num max">${x[3]}</td>
    <td class="num rec">${recommended(x[3])}</td>
   </tr>`).join("");


   const data = monsters[mapCode];
   document.querySelectorAll(".map-name").forEach(el => {
 
     el.addEventListener("mouseenter", e => showTooltip(e, el.dataset.code, el.dataset.name));
  if (!data || data.length === 0) {
     el.addEventListener("mouseleave", () => setTimeout(hideTooltip, 180));
     ttList.innerHTML = `<li><i style="color:var(--muted)">Sem dados de monstros cadastrados.</i></li>`;
    el.addEventListener("click", e => {
  } else {
       e.stopPropagation();
     data.forEach(m => {
       showTooltip(e, el.dataset.code, el.dataset.name);
      const mName = m[0];
      const mBase = m[1];
      const mProp = m[2] || "";
     
      let cssClass = "";
       if (mProp.toLowerCase() === "mvp") cssClass = "class='tt-mvp'";
        
      ttList.innerHTML += `<li ${cssClass}>• ${mName} <span>(Nv. ${mBase})</span> ${mProp ? `<b>[${mProp}]</b>` : ''}</li>`;
     });
     });
   }
   });
 
  tt.classList.add("visible");
  moveTooltip(e);
}
}


function moveTooltip(e) {
function filterRows(){
   const tt = document.getElementById("tooltip");
   const q = document.getElementById("search").value.toLowerCase().trim();
  if (!tt) return;
   const range = document.getElementById("level").value;
   let x = e.clientX + 15;
   const selected = document.getElementById("spotlight").value;
   let y = e.clientY + 15;


   if (x + tt.offsetWidth > window.innerWidth) {
   let list = (lists[selected] || []).filter(x => (x[0] + " " + x[1]).toLowerCase().includes(q));
    x = e.clientX - tt.offsetWidth - 15;
  }
  if (y + tt.offsetHeight > window.innerHeight) {
    y = window.innerHeight - tt.offsetHeight - 15;
  }


   tt.style.left = x + "px";
   if(range){
  tt.style.top = y + "px";
    const [a,b] = range.split("-").map(Number);
}
    list = list.filter(x => {
 
      const rec = recommended(x[3]);
document.addEventListener("mousemove", function(e) {
      return rec >= a && rec <= b;
  const tt = document.getElementById("tooltip");
     });
  if (tt && !isPinned && tt.classList.contains("visible")) {
     moveTooltip(e);
   }
   }
});
   render(list);
 
function startHideTimeout() {
  if (isPinned) return;
   tooltipTimeout = setTimeout(hideTooltip, 200);
}
}


function hideTooltip() {
function clearFilters(){
   isPinned = false;
   document.getElementById("search").value = "";
  const tt = document.getElementById("tooltip");
   document.getElementById("level").value = "";
   if (tt) tt.classList.remove("visible");
   document.getElementById("spotlight").value = "Spotlight Solar";
}
   filterRows();
 
function toggleTooltipClick(e, mapCode, mapName) {
  e.stopPropagation();
    
  if (isPinned) {
    hideTooltip();
  } else {
    showTooltip(e, mapCode, mapName);
    isPinned = true;
    const tt = document.getElementById("tooltip");
    if (tt) tt.style.pointerEvents = "auto";
   }
}
}


document.addEventListener("click", function(e) {
document.addEventListener("click", e => {
   const tt = document.getElementById("tooltip");
   if(!e.target.closest(".guia-tooltip") && !e.target.closest(".map-name")) hideTooltip();
  if (tt && isPinned && !tt.contains(e.target)) {
    hideTooltip();
  }
});
 
// Inicialização segura após o carregamento da DOM do MediaWiki
document.addEventListener("DOMContentLoaded", function() {
  initStats();
  filterRows();
});
});


// Fallback imediato caso o DOMContentLoaded já tenha passado
initStats();
filterRows();
filterRows();
</script>
</script>
</html>

Edição das 21h37min de 26 de julho de 2026

Mapas Spotlight

Nível recomendado = Máximo − 15. Passe o mouse (ou clique) no nome do mapa para ver os monstros.

0mapas nesta lista
1 → 175faixa total de níveis
Máx. − 15regra do nível recomendado
Mostrando 0 mapas Passe o mouse no nome do mapa para ver os monstros
# Mapa Nome Mín. Máx. Recomendado
O nível recomendado é calculado automaticamente (Máximo − 15). A dificuldade real pode variar conforme classe, equipamento e monstros do mapa.
×