• Check out the relaunch of our general collection, with classic designs and new ones by our very own Pissog!
  • The moderator of this forum is jetou.
  • Welcome to Smogon! Take a moment to read the Introduction to Smogon for a run-down on everything Smogon, and make sure you take some time to read the global rules.

Programming Showdex - An Auto-Updating Damage Calculator Built into Showdown!


I am going to link this here because it seems like this may be caused by the showdex extension. Not sure whether or not that can be verified on the back end but just thought you should know. Cheers
 
Been using this for a while, love it to bits. It's incredible for randbats (sometimes feels borderline cheating lol) and a big improvement on the traditional calc for normal formats.

Is there a way to set it so that if you have multiple battles going, the calc tab automatically switches to match whichever battle tab you have open?

Also, if you disconnect and reconnect to a battle, sometimes it seems to switch which team it thinks is yours and which is the opponents. I can get some screenshots/recordings if this isn't a known issue already
 
Last edited:
The showdex page on the home screen that tracks wins and losses for a session has only been counting wins. I have not had the loss number change from 0 for about two weeks or so. On Mac if that helps. Firefox.
 
Last edited:
There's a bug where in Balanced Hackmons, if you set your opponent's pokemon's ability in the drop down menu to something else, it'll get reset to the default on the next turn. I don't know if it exists in other tiers where you can use any ability
 
There's a bug where in Balanced Hackmons, if you set your opponent's pokemon's ability in the drop down menu to something else, it'll get reset to the default on the next turn. I don't know if it exists in other tiers where you can use any ability
Try clicking the "Auto" button after changing it. Should stop that mon specifically from being updated automatically
 
The button to access calcdex no longer appears next to the timer when I play a match. Calcdex is always open in a separate tab, I can't pull it up over the chat log anymore on my laptop in chrome. The button is still there on mobile. Does anyone know how to fix this?
 
Is there any chance LGPE calcs could get fixed? Right now the calc doesn't account for the 2% friendship boost to all non-HP stats that happens because all pokemon get set to 70 friendship for battles (out of 255). This slightly affects calculations but matters more when natures get added in.

Example - neutral nature blastoise in the calc, but blastoise's actual stats should be 154/105/122/107/127/99
1761605176126.png
 
The button to access calcdex no longer appears next to the timer when I play a match. Calcdex is always open in a separate tab, I can't pull it up over the chat log anymore on my laptop in chrome. The button is still there on mobile. Does anyone know how to fix this?

I am also no longer seeing the "Open Calcdex" button on Android Firefox/Iceraven! Let me know if there's anything I can do to help debug!
 
The button to access calcdex no longer appears next to the timer when I play a match. Calcdex is always open in a separate tab, I can't pull it up over the chat log anymore on my laptop in chrome. The button is still there on mobile. Does anyone know how to fix this?
I am also no longer seeing the "Open Calcdex" button on Android Firefox/Iceraven! Let me know if there's anything I can do to help debug!
You can fix this by going into the Showdex settings (go to Hellodex page and right click or longhold on mobile), then change the Calcdex "Open as" to Chat Overlay, and it will reenable the "Open Calcdex" button. Edit: there is still a bug when using the preact client on mobile that causes the page to render incorrectly when a battle is opened. This appears to be related to the Chat Overlay setting.
21162.jpg
 
Last edited:
You can fix this by going into the Showdex settings (go to Hellodex page and right click or longhold on mobile), then change the Calcdex "Open as" to Chat Overlay, and it will reenable the "Open Calcdex" button. Edit: there is still a bug when using the preact client on mobile that causes the page to render incorrectly when a battle is opened. This appears to be related to the Chat Overlay setting.
This worked! Thank you so much!
 
So when your not in an active battle how do you actually toggle you have tera on? like in the honkdex and such. i can pick what tera i want but not set it on so i can look at calculations? only see that when i actually tera in battle
 
So when your not in an active battle how do you actually toggle you have tera on? like in the honkdex and such. i can pick what tera i want but not set it on so i can look at calculations? only see that when i actually tera in battle
You press the Tera button next to the moveset, here:
21273.jpg
 
Absolutely love this tool, hard to play without it.

There seems to be a bug (or feature?) where the battle will automatically close after the game ends, which is unideal as I like analyzing my games right after. Is this something that’s being looked into? Or is there an option I missed to turn it off?
 
Absolutely love this tool, hard to play without it.

There seems to be a bug (or feature?) where the battle will automatically close after the game ends, which is unideal as I like analyzing my games right after. Is this something that’s being looked into? Or is there an option I missed to turn it off?
Yeah, if you go into the Hellodex settings, scroll down a little bit and change Close Tab When to Never.
 
You can fix this by going into the Showdex settings (go to Hellodex page and right click or longhold on mobile), then change the Calcdex "Open as" to Chat Overlay, and it will reenable the "Open Calcdex" button.
On IOS and long hold isn't working. Any ideas what I'm doing wrong?
 
How to change language please?
My SD language, browser language and system language are all set to English, but Showdex language defaults to French anyway, which is kind of a problem because I don't know any of the names.:pika:
 
Showdex randomly stopped working, Calc and Honk both aren't working when opened, "has failed successfully and needs to close" is the only response I get. Text from the error report attached below and screenshot too.
Screenshot 2025-11-30 231227.png


{ "error": { "stack": "nN@@showdex/main.js:2:3463336\nlin/Dn<@@showdex/main.js:2:4096455\nuseMemo@@showdex/main.js:2:2454888\n2408/e.useMemo@@showdex/main.js:2:2527241\nlin@@showdex/main.js:2:4096411\npl@@showdex/main.js:2:2448565\nbs@@showdex/main.js:2:2507880\ngu@@showdex/main.js:2:2497034\nmu@@showdex/main.js:2:2496962\npu@@showdex/main.js:2:2496823\neu@@showdex/main.js:2:2493630\nru@@showdex/main.js:2:2494019\nRr@@showdex/main.js:2:2434918\n4448/Ys/<@@showdex/main.js:2:2491567\n", "name": "ReferenceError", "message": "BattleTeambuilderTable is not defined", "__wtf": "ReferenceError" }, "env": { "dict": { "BAKEDEX_API_PREFIX": "/v1", "BAKEDEX_BASE_URL": "https://bake.dex.tize.io", "BAKEDEX_ENABLED": "true", "BAKEDEX_UPDATE_INTERVAL": "3", "BAKEDEX_UPDATE_INTERVAL_UNIT": "days", "BUILD_DATE": "1998E7B1BE4", "BUILD_NAME": "showdex-v1.3.0-b1998E7B1BE4.firefox", "BUILD_SUFFIX": "", "BUILD_TARGET": "firefox", "CALCDEX_DEFAULT_GEN": "9", "CALCDEX_PLAYER_MIN_POKEMON": "6", "CALCDEX_POKEMON_DEFAULT_LC_LEVEL": "5", "CALCDEX_POKEMON_DEFAULT_LEVEL": "100", "CALCDEX_POKEMON_DEFAULT_VGC_LEVEL": "50", "CALCDEX_POKEMON_MAX_LEGAL_EVS": "508", "CALCDEX_POKEMON_MAX_LEGAL_RANDOMS_EVS": "510", "CALCDEX_POKEMON_PRESET_DEFAULT_IV": "31", "CALCDEX_POKEMON_PRESET_DEFAULT_EV": "0", "CALCDEX_POKEMON_PRESET_DEFAULT_LEGACY_IV": "30", "CALCDEX_POKEMON_PRESET_DEFAULT_LEGACY_EV": "252", "CALCDEX_POKEMON_PRESET_DEFAULT_RANDOMS_IV": "31", "CALCDEX_POKEMON_PRESET_DEFAULT_RANDOMS_EV": "85", "CALCDEX_POKEMON_PRESET_DEFAULT_RANDOMS_LEGACY_IV": "30", "CALCDEX_POKEMON_PRESET_DEFAULT_RANDOMS_LEGACY_EV": "252", "HELLODEX_BUGS_URL": "https://github.com/users/doshidak/projects/2", "HELLODEX_COMMUNITY_URL": "https://discord.gg/2PXVGGCkm2", "HELLODEX_DONATION_URL": "https://paypal.com/donate/?hosted_button_id=ZUYJAGAVX6MBN", "HELLODEX_ENABLED": "true", "HELLODEX_FEATURES_URL": "https://github.com/users/doshidak/projects/1", "HELLODEX_FORUM_URL": "https://smogon.com/forums/threads/s...damage-calculator-built-into-showdown.3707265", "HELLODEX_PATRONAGE_URL": "https://patreon.com/showdex", "HELLODEX_RELEASES_URL": "https://github.com/doshidak/showdex/releases", "HELLODEX_REPO_URL": "https://github.com/doshidak/showdex", "HONKDEX_DEFAULT_FORMAT": "ou", "HONKDEX_DEFAULT_GEN": "", "HONKDEX_PLAYER_EXTEND_POKEMON": "6", "HONKDEX_PLAYER_MIN_POKEMON": "6", "INDEXED_DB_BUNDLES_STORE_NAME": "bundles", "INDEXED_DB_HONKS_STORE_NAME": "honks", "INDEXED_DB_META_STORE_NAME": "meta", "INDEXED_DB_NAME": "showdex", "INDEXED_DB_NOTES_STORE_NAME": "notes", "INDEXED_DB_PRESETS_STORE_NAME": "presets", "INDEXED_DB_SETTINGS_STORE_NAME": "settings", "INDEXED_DB_VERSION": "3", "LOCAL_STORAGE_DEPRECATED_PRESET_CACHE_KEY": "showdex-presets", "LOCAL_STORAGE_DEPRECATED_SETTINGS_KEY": "showdex-settings", "LOCAL_STORAGE_SHOWDOWN_TEAMS_KEY": "showdown_teams", "NODE_ENV": "production", "NOTEDEX_ENABLED": "true", "PACKAGE_AUTHOR_EMAIL": "keith@tize.io", "PACKAGE_AUTHOR_NAME": "Keith Choison", "PACKAGE_DESCRIPTION": "Pokémon Showdown extension that harnesses the power of parabolic calculus to strategically extract your opponents' Elo.", "PACKAGE_NAME": "showdex", "PACKAGE_VERSION": "1.3.0", "PACKAGE_VERSION_SUFFIX": "", "PACKAGE_URL": "https://github.com/doshidak/showdex", "PKMN_PRESETS_BASE_URL": "https://pkmn.github.io", "PKMN_PRESETS_ENDPOINT_SUFFIX": ".json", "PKMN_PRESETS_FORMAT_PATH": "/smogon/data/sets", "PKMN_PRESETS_FORMAT_STATS_PATH": "/smogon/data/stats", "PKMN_PRESETS_RANDOMS_PATH": "/randbats/data", "PKMN_PRESETS_RANDOMS_STATS_PATH": "/randbats/data/stats", "SHOWDOWN_CLIENT_ACTION_PATH": "/~~showdown/action.php", "SHOWDOWN_CLIENT_BASE_URL": "https://play.pokemonshowdown.com", "SHOWDOWN_USERS_URL": "https://pokemonshowdown.com/users", "SMOGON_UNIVERSITY_DEX_URL": "https://smogon.com/dex", "STANDALONE_RESOURCE_PREFIX": "showdex", "STANDALONE_RESOURCE_PROTOCOL": "", "UUID_NAMESPACE": "d4ecad83-b73d-44a7-bacc-545fc5e57939" }, "navigator": { "userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:145.0) Gecko/20100101 Firefox/145.0", "__wtf": "Navigator" }, "window": { "location": { "href": "https://play.pokemonshowdown.com/", "__wtf": "Location" }, "app": { "fragment": "", "initialFragment": "", "__wtf": "child" }, "Dex": { "gen": 9, "__wtf": "_class2" }, "__wtf": "Window", "__SHOWDEX_INIT": "showdex-v1.3.0-b1998E7B1BE4.firefox" } }, "state": { "p1": { "sideid": "p1", "active": true, "name": "Side A", "rating": -1, "activeIndices": [], "selectionIndex": 0, "autoSelect": true, "maxPokemon": 6, "usedMax": false, "usedTera": false, "side": null, "pokemonOrder": [], "pokemon": [] }, "p2": { "sideid": "p2", "active": true, "name": "Side B", "rating": -1, "activeIndices": [], "selectionIndex": 0, "autoSelect": true, "maxPokemon": 6, "usedMax": false, "usedTera": false, "side": null, "pokemonOrder": [], "pokemon": [] }, "operatingMode": "standalone", "battleId": "c1b0b4d8-dd86-4dd8-89da-f2a93e543dc0", "gen": 9, "format": "gen9ou", "subFormats": [], "gameType": "Singles", "legacy": false, "defaultLevel": 100, "rules": {}, "turn": 0, "active": false, "paused": false, "renderMode": "panel", "overlayVisible": false, "containerSize": "xs", "containerWidth": 320, "playerCount": 2, "playerKey": "p1", "authPlayerKey": null, "opponentKey": "p2", "switchPlayers": false, "p3": { "sideid": "p3", "active": false, "name": null, "rating": null, "activeIndices": [], "selectionIndex": 0, "autoSelect": true, "maxPokemon": 0, "usedMax": false, "usedTera": false, "side": null, "pokemonOrder": [], "pokemon": [] }, "p4": { "sideid": "p4", "active": false, "name": null, "rating": null, "activeIndices": [], "selectionIndex": 0, "autoSelect": true, "maxPokemon": 0, "usedMax": false, "usedTera": false, "side": null, "pokemonOrder": [], "pokemon": [] }, "field": { "weather": null, "terrain": null, "isMagicRoom": false, "isWonderRoom": false, "isGravity": false, "attackerSide": null, "defenderSide": null }, "sheetsNonce": null, "sheets": [], "notes": { "pre": { "visible": false, "editorState": null }, "post": { "visible": true, "editorState": null } } }, "dumper": "@showdex/components/calc/CalcdexErrorBoundary", "created": "2025-11-30T17:34:52.541Z"}
 
Hey really cool extension, thanks! Some of the auto switching to the correct set behaviour in randbats could be better imo? Not to say it's not already really good. This doesn't apply to metagames where we don't have comprehensive knowledge of the sets involved, but I feel like autoPreset stays true (and keeps re-evaluating) for longer than is sometimes necessary (as in I can deduce what set my opponent has before calcdex does).

Like for example if a mon outspeeds me in a manner that could only happen if it had a scarf on I'd optimally want showdex to switch to the scarf set, and then have it locked in as the default instead of me having to switch to it and turn off auto myself. Recently it kept resetting my opponent's chien pao to the boots set when the damage being done was clearly banded, and if a non magic guard mon isn't taking hazard damage when it should be then the boots set isn't being locked in (since all of these items have been "revealed" the same way lorb or leftovers is revealed).
 
Back
Top