From 5fe70f311cde95142d34e24208f1277077d5f32c Mon Sep 17 00:00:00 2001 From: versx Date: Wed, 1 Nov 2023 20:05:25 -0700 Subject: [PATCH] Update PVP filtering & Add Little Cup filtering support (#400) * Update pvp filtering and add little cup filtering support * Use maxRank value for each league * fix typos * update help text * Enable level 50 cap stats by default for pvp * update pvp league icons and add little cup icon * Add missing raid egg icons * Fix pokemon glow --- src/configs/default.json | 24 +++++++++--- src/data/map.js | 35 +++++++++-------- src/views/index.mustache | 4 +- static/img/egg/7.png | Bin 0 -> 20532 bytes static/img/egg/8.png | Bin 0 -> 19886 bytes static/img/misc/great.png | Bin 2360 -> 13355 bytes static/img/misc/little.png | Bin 0 -> 10096 bytes static/img/misc/master.png | Bin 0 -> 14136 bytes static/img/misc/ultra.png | Bin 6630 -> 14106 bytes static/js/index.js | 77 ++++++++++++++++++++----------------- static/locales/_en.json | 2 +- static/locales/_pl.json | 2 +- 12 files changed, 82 insertions(+), 62 deletions(-) create mode 100644 static/img/egg/7.png create mode 100644 static/img/egg/8.png create mode 100644 static/img/misc/little.png create mode 100644 static/img/misc/master.png diff --git a/src/configs/default.json b/src/configs/default.json index 711827ed..60a41a0c 100644 --- a/src/configs/default.json +++ b/src/configs/default.json @@ -39,16 +39,30 @@ "maxZoom": 18, "pvp": { "useName": true, - "maxRank": 100, "onlyShopTop5": false, - "minCpGreat": 1400, - "minCpUltra": 2400, "megaStats": true, "experimentalStats": false, "l40stats": true, "l41stats": false, - "l50stats": false, - "l51stats": false + "l50stats": true, + "l51stats": false, + "limits": { + "little": { + "minCp": 400, + "maxCp": 500, + "maxRank": 100 + }, + "great": { + "minCp": 1400, + "maxCp": 1500, + "maxRank": 100 + }, + "ultra": { + "minCp": 2350, + "maxCp": 2500, + "maxRank": 100 + } + } }, "devicePathColor": "red", "nestPolygons": true, diff --git a/src/data/map.js b/src/data/map.js index 5b48180d..3d447a43 100644 --- a/src/data/map.js +++ b/src/data/map.js @@ -146,12 +146,9 @@ const getPokemon = async (minLat, maxLat, minLon, maxLon, showPVP, showIV, updat } } if (showPVP && interestedLevelCaps.length > 0) { - // TODO: Filter pvp rankings - /* - const { minCpGreat, minCpUltra } = config.map.pvp; - const filterLeagueStats = (result, target, minCp) => { + const filterLeagueStats = (league, result, target, minCp) => { let last; - for (const entry of JSON.parse(result)) { + for (const entry of result) { if (minCp && entry.cp < minCp || entry.cap !== undefined && (entry.capped ? interestedLevelCaps[interestedLevelCaps.length - 1] < entry.cap : !interestedLevelCaps.includes(entry.cap))) { @@ -177,18 +174,20 @@ const getPokemon = async (minLat, maxLat, minLon, maxLon, showPVP, showIV, updat last.capped = true; } } else { - target.push(entry); + target[league].push(entry); last = entry; } } }; - if (result.pvp_rankings_great_league) { - filterLeagueStats(result.pvp_rankings_great_league, filtered.pvp_rankings_great_league = [], minCpGreat); - } - if (result.pvp_rankings_ultra_league) { - filterLeagueStats(result.pvp_rankings_ultra_league, filtered.pvp_rankings_ultra_league = [], minCpUltra); + if (result.pvp && result.atk_iv) { + const pvpRankings = JSON.parse(result.pvp); + const keys = Object.keys(pvpRankings); + for (const league of keys) { + const rankings = pvpRankings[league]; + const limits = config.map.pvp.limits[league]; + filterLeagueStats(league, rankings, filtered.pvp = { [league]: [] }, limits.minCp); + } } - */ } let pokemonFilter = result.form === 0 ? pokemonLookup[result.pokemon_id] : formLookup[result.form]; if (pokemonFilter === undefined) { @@ -1413,7 +1412,7 @@ const getPolygon = (s2cellId) => { // need to keep consistency with client-side implementation checkIVFilterValid const jsifyIvFilter = (filter) => { const input = filter.toUpperCase(); - let tokenizer = /\s*([()|&!,]|([ADSL]?|CP|[GU]L)\s*([0-9]+(?:\.[0-9]*)?)(?:\s*-\s*([0-9]+(?:\.[0-9]*)?))?)/g; + let tokenizer = /\s*([()|&!,]|([ADSL]?|CP|[GU]L|LC)\s*([0-9]+(?:\.[0-9]*)?)(?:\s*-\s*([0-9]+(?:\.[0-9]*)?))?)/g; let result = ''; let expectClause = true; // expect a clause or '(' let stack = 0; @@ -1433,15 +1432,17 @@ const jsifyIvFilter = (filter) => { case 'S': column = 'sta_iv'; break; case 'L': column = 'level'; break; case 'CP': column = 'cp'; break; - case 'GL': column = 'pvp_rankings_great_league'; break; - case 'UL': column = 'pvp_rankings_ultra_league'; break; + case 'LC': column = 'little'; break; + case 'GL': column = 'great'; break; + case 'UL': column = 'ultra'; break; } let upper = lower; if (match[4] !== undefined) { upper = parseFloat(match[4]); } - if (column.endsWith('_league')) { - result += `((pokemon['${column}'] || []).some(x => x.rank >= ${lower} && x.rank <= ${upper}))`; + const leagues = Object.keys(config.map.pvp.limits); + if (leagues.includes(column)) { + result += `(pokemon.pvp && pokemon.pvp['${column}'] && (pokemon.pvp['${column}'] || []).some(x => x.rank >= ${lower} && x.rank <= ${upper}))`; } else { result += `(pokemon['${column}'] !== null && pokemon['${column}'] >= ${lower} && pokemon['${column}'] <= ${upper})`; } diff --git a/src/views/index.mustache b/src/views/index.mustache index 9ae702cc..050bd8a0 100644 --- a/src/views/index.mustache +++ b/src/views/index.mustache @@ -367,7 +367,7 @@ {{stats}}: A0-1 & D14 & S15 - {{stats_result}}
{{popup_cp}}: CP2000-3000 - {{cp_result}}
{{not}}: !0-100 - {{not_result}}
- {{pvp}}: GL1-3 | UL1-3 - {{pvp_result}}

+ {{pvp}}: LC1-3 | GL1-3 | UL1-3 - {{pvp_result}}

@@ -387,7 +387,7 @@
{{advanced}}

- {{example}}: (A0-1 & D15 & S15 & (CP1400-1500 | CP2400-2500)) | L34-35,90-100 | GL1-3,UL1-3
+ {{example}}: (A0-1 & D15 & S15 & (CP1400-1500 | CP2400-2500)) | L34-35,90-100 | LC1-3,GL1-3,UL1-3
{{advanced_result}}

diff --git a/static/img/egg/7.png b/static/img/egg/7.png new file mode 100644 index 0000000000000000000000000000000000000000..6bb645ad58039be570f22c3d6b1ed01134d6b432 GIT binary patch literal 20532 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 Hu0mjf^RPu8 literal 0 HcmV?d00001 diff --git a/static/img/egg/8.png b/static/img/egg/8.png new file mode 100644 index 0000000000000000000000000000000000000000..c83f0fb288d30f0926832650325466e98e614d88 GIT binary patch literal 19886 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 PxBw(Cts+$`VI1;*;npAB literal 2360 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 literal 0 HcmV?d00001 diff --git a/static/img/misc/master.png b/static/img/misc/master.png new file mode 100644 index 0000000000000000000000000000000000000000..a4c7c7f7ac624928ef56d0e741a6ec636d9dca75 GIT binary patch literal 14136 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 brJePs|Nnv>28TJ|0+52Ns!XkvX~_QozNO+b literal 0 HcmV?d00001 diff --git a/static/img/misc/ultra.png b/static/img/misc/ultra.png index 764c81fcbbc826c2847fb49c0bd6144ab37b50b9..b94702ae1ef98ebb2a2215f0598ba847098f5946 100644 GIT binary patch literal 14106 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 Tv(p4{0!T$cL%v4VBJ6(vyIjSB literal 6630 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 diff --git a/static/js/index.js b/static/js/index.js index f124c134..a4488b69 100644 --- a/static/js/index.js +++ b/static/js/index.js @@ -2725,6 +2725,7 @@ function loadScanAreaPolygons () { // MARK: - Filters function getPokemonIndex (pokemon) { + const pvpLimits = configPvp.limits; const id = pokemon.form === 0 ? pokemon.pokemon_id : `${pokemon.pokemon_id}-${pokemon.form}`; if (pokemonFilter[id] === undefined) { // TODO: console.log('Pokemon index undefined:', id); @@ -2734,18 +2735,18 @@ function getPokemonIndex (pokemon) { if (pokemon.atk_iv === 15 && pokemon.def_iv === 15 && pokemon.sta_iv === 15) { return 9; } - if (pokemon.pvp_rankings_great_league !== null && pokemon.pvp_rankings_ultra_league !== null) { + if (pokemon.pvp && pokemon.pvp !== null) { let bestRank = 4; - $.each(pokemon.pvp_rankings_great_league, function (index, ranking) { - if (ranking.rank !== null && ranking.rank < bestRank && ranking.rank <= configPvp.maxRank && ranking.cp >= configPvp.minCpGreat && ranking.cp <= 1500) { - bestRank = ranking.rank; - } - }); - $.each(pokemon.pvp_rankings_ultra_league, function (index, ranking) { - if (ranking.rank !== null && ranking.rank < bestRank && ranking.rank <= configPvp.maxRank && ranking.cp >= configPvp.minCpUltra && ranking.cp <= 2500) { - bestRank = ranking.rank; - } - }); + const keys = Object.keys(pokemon.pvp); + for (const key of keys) { + const rankings = pokemon.pvp[key]; + $.each(rankings, function (index, ranking) { + const limits = pvpLimits[key]; + if (ranking.rank !== null && ranking.rank < bestRank && ranking.rank <= limits.maxRank && ranking.cp >= limits.minCp && ranking.cp <= limits.maxCp) { + bestRank = ranking.rank; + } + }); + } if (bestRank === 1) { return 7; } else if (bestRank === 2) { @@ -2987,24 +2988,23 @@ function updateMapTimers () { }); } -const hasRelevantLeagueStats = (leagueStats) => { - const maxRank = configPvp.maxRank; +const hasRelevantLeagueStats = (league, leagueStats) => { + const maxRank = configPvp.limits[league].maxRank; return leagueStats && leagueStats.some(entry => entry.rank <= maxRank); } -const getPokemonBestRank = (greatLeague, ultraLeague) => { - if ((greatLeague !== null) || (ultraLeague !== null)) { +const getPokemonBestRank = (pvp) => { + if (pvp && pvp !== null) { let bestRank = 4; - $.each(greatLeague, function (index, ranking) { - if (ranking.rank !== null && ranking.rank < bestRank) { - bestRank = ranking.rank; - } - }); - $.each(ultraLeague, function (index, ranking) { - if (ranking.rank !== null && ranking.rank < bestRank) { - bestRank = ranking.rank; - } - }); + const keys = Object.keys(pvp); + for (const key of keys) { + const rankings = pvp[key]; + $.each(rankings, function (index, ranking) { + if (ranking.rank !== null && ranking.rank < bestRank) { + bestRank = ranking.rank; + } + }); + } if (bestRank <= 3) { return bestRank; } @@ -3013,7 +3013,6 @@ const getPokemonBestRank = (greatLeague, ultraLeague) => { } const getPvpRanks = (league, pokemon) => { - const getLeague = `pvp_rankings_${league}_league` let content = ` @@ -3022,8 +3021,9 @@ const getPvpRanks = (league, pokemon) => { ${i18n('popup_lvl')} ${showPvpPercent ? '%' : ''} `; - let maxRankingToUse = showOnlyRank5Pvp ? 5 : configPvp.maxRank; - for (const [i, ranking] of Object.entries(pokemon[getLeague])) { + let maxRankingToUse = showOnlyRank5Pvp ? 5 : configPvp.limits[league].maxRank; + const pvpRankings = pokemon.pvp[league]; + for (const ranking of pvpRankings) { if (ranking.rank <= maxRankingToUse) { content += `` let pokemonName = ``; @@ -3070,8 +3070,8 @@ const getPvpRanks = (league, pokemon) => { if (showPvpPercent && ranking.percentage !== null) { content += `${Math.floor(ranking.percentage*100)}`; } + content += ``; } - content += ``; } return content.includes('#') ? content : ''; } @@ -3234,11 +3234,16 @@ const getPokemonPopupContent = (pokemon) => { let content = `
`; - if (pokemon.pvp_rankings_great_league !== undefined && pokemon.pvp_rankings_great_league !== null && hasRelevantLeagueStats(pokemon.pvp_rankings_great_league, true)) { - content += getPvpRanks('great', pokemon); - } - if (pokemon.pvp_rankings_ultra_league !== undefined && pokemon.pvp_rankings_ultra_league !== null && hasRelevantLeagueStats(pokemon.pvp_rankings_ultra_league, false)) { - content += getPvpRanks('ultra', pokemon); + if (pokemon.pvp) { + const keys = Object.keys(pokemon.pvp); + for (const league of keys) { + if (pokemon.pvp && pokemon.pvp[league] !== undefined && pokemon.pvp[league] !== null) { + const rankings = pokemon.pvp[league]; + if (hasRelevantLeagueStats(league, rankings)) { + content += getPvpRanks(league, pokemon); + } + } + } } content += `
` if (content.includes('*')) { @@ -4303,7 +4308,7 @@ function getPokemonMarkerIcon (pokemon, ts) { const size = getIconSize('pokemon', pokemon.pokemon_id, pokemon.form, pokemon.weight); const pokemonIdString = getPokemonIcon(pokemon.pokemon_id, pokemon.form, 0, pokemon.gender, pokemon.costume); const iv = calcIV(pokemon.atk_iv, pokemon.def_iv, pokemon.sta_iv); - const bestRank = getPokemonBestRank(pokemon.pvp_rankings_great_league, pokemon.pvp_rankings_ultra_league); + const bestRank = getPokemonBestRank(pokemon.pvp); const bestRankIcon = bestRank === 3 ? 'third' : bestRank === 2 @@ -6070,7 +6075,7 @@ function manageGlobalStardustCountPopup (id, filter) { function checkIVFilterValid (filter) { const input = filter.toUpperCase(); - let tokenizer = /\s*([()|&!,]|([ADSL]?|CP|[GU]L)\s*([0-9]+(?:\.[0-9]*)?)(?:\s*-\s*([0-9]+(?:\.[0-9]*)?))?)/g; + let tokenizer = /\s*([()|&!,]|([ADSL]?|CP|[GU]L|LC)\s*([0-9]+(?:\.[0-9]*)?)(?:\s*-\s*([0-9]+(?:\.[0-9]*)?))?)/g; let expectClause = true; let stack = 0; let lastIndex = 0; diff --git a/static/locales/_en.json b/static/locales/_en.json index 09cbd5fb..0ec472cb 100644 --- a/static/locales/_en.json +++ b/static/locales/_en.json @@ -358,7 +358,7 @@ "and_explanation": "AND operator, for chaining conditions together", "and_result": "All Pokemon with IVs between 80-100, are L25-30, AND have stats of 15/10/10", "advanced": "Advanced", - "advanced_result": "Returns all Pokemon that have either CP1400-1500 OR CP2400-2500 AND have 0-1 Attack, 15 Defense, 15 Stamina, OR level 34-35 OR 90-100% IVs OR PVP Great or Ultra league rank between 1-3.", + "advanced_result": "Returns all Pokemon that have either CP1400-1500 OR CP2400-2500 AND have 0-1 Attack, 15 Defense, 15 Stamina, OR level 34-35 OR 90-100% IVs OR PVP Litte, Great, or Ultra league rank between 1-3.", "popup_area": "Area", "popup_size": "Size" } diff --git a/static/locales/_pl.json b/static/locales/_pl.json index b758da8e..22c37a16 100644 --- a/static/locales/_pl.json +++ b/static/locales/_pl.json @@ -355,7 +355,7 @@ "and_explanation": "Operator ORAZ do łączenia warunków ze sobą", "and_result": "Wszystkie Pokémony z: 80-100% IV ORAZ poziomem pomiędzy 25 a 30 ORAZ statystykami 15/10/10", "advanced": "Zaawansowane", - "advanced_result": "Zwraca wszystkie Pokémony które spełniają warunek: (Od 0 do 1 ataku ORAZ 15 obrony ORAZ 15 staminy ORAZ (CP pomiędzy 1400 a 1500 ALBO CP pomiędzy 2400 a 2500)) ALBO (Poziomem pomiędzy 34 a 35 ALBO 90-100% IV) ALBO (Pozycją pomiędzy 1 a 3 Great lub Ultra ligi).", + "advanced_result": "Zwraca wszystkie Pokémony które spełniają warunek: (Od 0 do 1 ataku ORAZ 15 obrony ORAZ 15 staminy ORAZ (CP pomiędzy 1400 a 1500 ALBO CP pomiędzy 2400 a 2500)) ALBO (Poziomem pomiędzy 34 a 35 ALBO 90-100% IV) ALBO (Pozycją pomiędzy 1 a 3 Little, Great, lub Ultra ligi).", "popup_area": "Obszar", "popup_size": "Powierzchnia" }