Revisão de 18h58min de 26 de outubro de 2025 por Oriasa(discussão | contribs)(Página substituída por '<center>link=</center> ==Introdução== A link=Pokébolas Master Ball é uma Pokébola '''capaz de capturar certos tipos de Pokémon sem falha''', ela pode ser obtida vencendo Torneios Entre Mundos ou através da premiação de algumas quests que podem ser feitas apenas uma vez por personagem, sendo elas: :* Joey Quest :* Pokémon League Algumas observações sobre o uso da Master Ball:...')
A Master Ball é uma Pokébola capaz de capturar certos tipos de Pokémon sem falha, ela pode ser obtida vencendo Torneios Entre Mundos ou através da premiação de algumas quests que podem ser feitas apenas uma vez por personagem, sendo elas:
É possível comprar a Master Ball de outros jogadores.
Ao capturar um Pokémon na Master Ball, ele ficará Unique Item (Preso no Personagem) para sempre, não é possível remover esse status.
Não é possível evoluir um Pokémon que está na Master Ball.
É possível utilizar um Pokémon na Master Ball para obter um Shiny de Clã, incluindo Elite Hitmontop, Elite Hitmonchan e Elite Hitmonlee. Porém, não é possível utilizar para obter aos shinies de clã da Nightmare World.
Boost
Todos Pokémon capturados na Master Ball vem com um level de boost predefinido. Atualmente é possível fazer a consulta do boost que um Pokémon recebe após ser capturado na Master Ball na própria Pokedéx, como indicado no gif abaixo. Caso um Pokémon não apresente o ícone da Master Ball em sua descrição na Pokedéx, ele não pode ser capturado por ela.
Consulta de Boost
Master Ball - Pokémon Boost
Filtrar por Nível de Boost
Pokémon encontrados:
0
Nenhum Pokémon encontrado com esses critérios.
`;
return card;
}
// Monta a URL direta da imagem no armazenamento da wiki
function buildWikiImageUrl(filename) {
// MediaWiki usa underscores nos nomes
const name = filename.trim().replace(/\s+/g, "_");
const hash = md5(name);
return `https://wiki.pokexgames.com/images/${hash[0]}/${hash.slice(
0,
2
)}/${encodeURIComponent(name)}`;
}
function loadAllPokemon() {
const grid = document.getElementById("pokemon-grid");
grid.innerHTML = "";
Object.keys(pokemonByBoost).forEach((boost) => {
pokemonByBoost[boost].forEach((pokemon) => {
grid.appendChild(createPokemonCard(pokemon, boost));
});
});
}
function updateFilterStyle(checkbox) {
const option = checkbox.parentElement;
// Permitir apenas um filtro selecionado por vez
if (checkbox.checked) {
document.querySelectorAll('input[name="boost-filter"]').forEach((cb) => {
if (cb !== checkbox) {
cb.checked = false;
cb.parentElement.classList.remove("checked");
}
});
option.classList.add("checked");
} else {
option.classList.remove("checked");
}
filterPokemon();
}
// Lê o texto do campo de busca (compatível com input e contenteditable)
function getSearchText() {
const el = document.getElementById("searchInput");
const raw = el
? typeof el.value === "string"
? el.value
: el.textContent
: "";
return (raw || "").trim().toLowerCase();
}
function filterPokemon() {
const searchText = getSearchText();
const boostCheckboxes = document.querySelectorAll(
'input[name="boost-filter"]:checked'
);
const selectedBoosts = Array.from(boostCheckboxes).map(
(checkbox) => checkbox.value
);
const cards = document.querySelectorAll(".pokemon-card");
const emptyResults = document.getElementById("empty-results");
let visibleCount = 0;
const noFiltersApplied = selectedBoosts.length === 0 && !searchText;
if (noFiltersApplied) {
cards.forEach((card) => (card.style.display = "none"));
emptyResults.textContent =
"Selecione um nível de boost ou busque um Pokémon pelo nome.";
emptyResults.style.display = "block";
updateStats(0, 0);
return;
}
cards.forEach((card) => {
const pokemonName = card.getAttribute("data-name");
const pokemonBoost = card.getAttribute("data-boost");
const matchesSearch = pokemonName.includes(searchText);
const matchesBoost = selectedBoosts.includes(pokemonBoost);
if ((searchText && matchesSearch) || (!searchText && matchesBoost)) {
card.style.display = "block";
visibleCount++;
} else {
card.style.display = "none";
}
});
if (visibleCount === 0) {
emptyResults.style.display = "block";
emptyResults.textContent = searchText
? `Nenhum Pokémon encontrado com "${searchText}".`
: "Nenhum Pokémon encontrado nos níveis de boost selecionados.";
} else {
emptyResults.style.display = "none";
}
updateStats(visibleCount, selectedBoosts.length);
}
function updateStats(visibleCount, filterCount) {
document.getElementById("pokemon-count").textContent = visibleCount;
const af = document.getElementById("active-filters");
if (af) af.textContent = filterCount;
}
document.addEventListener("DOMContentLoaded", () => {
loadAllPokemon();
// Iniciar com todos desmarcados
const checkboxes = document.querySelectorAll('input[name="boost-filter"]');
checkboxes.forEach((checkbox) => {
checkbox.checked = false;
updateFilterStyle(checkbox);
});
const cards = document.querySelectorAll(".pokemon-card");
cards.forEach((card) => (card.style.display = "none"));
const emptyResults = document.getElementById("empty-results");
emptyResults.textContent =
"Selecione um nível de boost ou busque um Pokémon pelo nome.";
emptyResults.style.display = "block";
updateStats(0, 0);
// Colorir visualmente os filtros (borda + bolinha de cor)
document.querySelectorAll(".boost-filter-option").forEach((opt) => {
const cb = opt.querySelector('input[name="boost-filter"]');
const boost = cb?.value;
if (!boost) return;
const color = boostColors[boost];
// Bordas dos filtros na cor do boost
opt.style.borderColor = color;
// Inserir bolinha de cor antes do texto do filtro
if (!opt.querySelector(".color-dot")) {
const dot = document.createElement("span");
dot.className = "color-dot";
dot.style.background = color;
const labelSpan = opt.querySelector(".boost-filter-label");
if (labelSpan) opt.insertBefore(dot, labelSpan);
}
});
});