diff --git a/bundle.js b/bundle.js index 68c66ec1a..289a38126 100644 --- a/bundle.js +++ b/bundle.js @@ -78950,13 +78950,9 @@ const hasLootWithRequirements = (dungeon) => { hasLootWithRequirements.cache = new WeakMap(); const getDungeonShadowPokemon = (dungeon) => { - // This will need to be updated to skip checking requirements once Orre XD is released - const shadows = []; + let shadows = []; dungeon.enemyList.forEach(enemy => { if (enemy instanceof DungeonTrainer) { - if (enemy.options?.requirement?.isCompleted() === false) { - return; - } enemy.getTeam().forEach(pokemon => { if (pokemon.shadow == GameConstants.ShadowStatus.Shadow) { shadows.push({ @@ -78970,9 +78966,6 @@ const getDungeonShadowPokemon = (dungeon) => { }); dungeon.bossList.forEach(boss => { if (boss instanceof DungeonTrainer) { - if (boss.options?.requirement?.isCompleted() === false) { - return; - } boss.getTeam().forEach(pokemon => { if (pokemon.shadow == GameConstants.ShadowStatus.Shadow) { shadows.push({ @@ -78986,6 +78979,15 @@ const getDungeonShadowPokemon = (dungeon) => { } }); + // Some dungeons have duplicate trainers with the same shadow form, filter these out + shadows = shadows.reduce((unique, s) => { + if (!unique.some(obj => obj.pokemon === s.pokemon && obj.dungeon === s.dungeon + && obj.trainer.name === s.trainer.name && obj.boss === s.boss)) { + unique.push(s); + } + return unique; + }, []); + return shadows; }; diff --git "a/data/Shadow Pok\303\251mon/overview_description.md" "b/data/Shadow Pok\303\251mon/overview_description.md" index 700e403c7..0826c7f5b 100644 --- "a/data/Shadow Pok\303\251mon/overview_description.md" +++ "b/data/Shadow Pok\303\251mon/overview_description.md" @@ -1,4 +1,4 @@ -Shadow Pokémon are Pokémon with a shadowy aura that can be encountered in Orre, a subregion from [[Regions/Hoenn]]. They can only be encountered as part of a trainer battle and never as a wild encounter. +Shadow Pokémon are Pokémon with a shadowy aura that can be encountered in Orre, a subregion from [[Regions/Hoenn]]. They can only be encountered as part of a trainer battle and never as a wild encounter. There are a total of **131** Pokémon that can be obtained as shadows. These Pokémon have a **0.8x** multiplier to its attack. However, they can be purified which will change the multiplier to **1.2x** instead, making Purified Pokémon stronger than a regular one. diff --git a/images/settings.svg b/images/settings.svg new file mode 100644 index 000000000..b48030bca --- /dev/null +++ b/images/settings.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/images/user.svg b/images/user.svg new file mode 100644 index 000000000..8881f85f3 --- /dev/null +++ b/images/user.svg @@ -0,0 +1,6 @@ + + + + + + diff --git "a/pages/Pok\303\251mon/main.html" "b/pages/Pok\303\251mon/main.html" index d7c63bf7b..1b0028125 100644 --- "a/pages/Pok\303\251mon/main.html" +++ "b/pages/Pok\303\251mon/main.html" @@ -101,7 +101,14 @@

- +
diff --git a/scripts/pages/dungeons.js b/scripts/pages/dungeons.js index 7b4a6ec92..66d43cf4f 100644 --- a/scripts/pages/dungeons.js +++ b/scripts/pages/dungeons.js @@ -316,13 +316,9 @@ const hasLootWithRequirements = (dungeon) => { hasLootWithRequirements.cache = new WeakMap(); const getDungeonShadowPokemon = (dungeon) => { - // This will need to be updated to skip checking requirements once Orre XD is released - const shadows = []; + let shadows = []; dungeon.enemyList.forEach(enemy => { if (enemy instanceof DungeonTrainer) { - if (enemy.options?.requirement?.isCompleted() === false) { - return; - } enemy.getTeam().forEach(pokemon => { if (pokemon.shadow == GameConstants.ShadowStatus.Shadow) { shadows.push({ @@ -336,9 +332,6 @@ const getDungeonShadowPokemon = (dungeon) => { }); dungeon.bossList.forEach(boss => { if (boss instanceof DungeonTrainer) { - if (boss.options?.requirement?.isCompleted() === false) { - return; - } boss.getTeam().forEach(pokemon => { if (pokemon.shadow == GameConstants.ShadowStatus.Shadow) { shadows.push({ @@ -352,6 +345,15 @@ const getDungeonShadowPokemon = (dungeon) => { } }); + // Some dungeons have duplicate trainers with the same shadow form, filter these out + shadows = shadows.reduce((unique, s) => { + if (!unique.some(obj => obj.pokemon === s.pokemon && obj.dungeon === s.dungeon + && obj.trainer.name === s.trainer.name && obj.boss === s.boss)) { + unique.push(s); + } + return unique; + }, []); + return shadows; };