showdex
Current v1.2.4 | Install on Chrome · Opera · Firefox · Safari | Discuss on Smogon · Discord |
---|
Showdex is a browser extension for Pokémon Showdown that brings the Damage Calculator you know & love right into your battle! Automatically syncs all Pokémon & field conditions as you play, so you can spend less time shitting brix & more time hitting kicks.
Officially supported on Chrome (+ any native Chromium browser, like Edge & Brave), Opera & Firefox.
Planned Features | Known Bugs |
---|
Suggest a Feature | Report a Bug | Contribute/Translate |
---|
[!CAUTION] You are about to get in the zone, the developer zone.
If you do not wish to get in the zone, the developer zone, please visit the Smogon Forums post instead.
[!NOTE] This section is a work-in-progress.
This extension is written in TypeScript, which is essentially JavaScript on crack, using:
tsc
),How It's Made™ |
---|
[!IMPORTANT] Due to the removal of
--experimental-specifier-resolution=node
starting innode
v19, v18 is required (i.e.,^18.0.0
) to build this project. Use something likenvm
to install v18 (nvm install lts/hydrogen
) alongside your currentnode
installation.
node
LTS Hydrogen v18yarn
Classic v1.22.0+bash
(Windows WSL, macOS, or Linux)[!TIP] If your browser is already configured for extension development, you can skip this part. If you're building for
'standalone'
, don't skip this part.
When building this as an extension (i.e., the BUILD_TARGET
env is either 'chrome'
or 'firefox'
), you'll need to apply some slight tweaks to your browser in order to directly install extensions from your local disk.
When building in 'standalone'
mode (for embedding Showdex into your own pokemon-showdown-client
), you'll need to mimic what the content
script does in your client's index.html
file.
[!IMPORTANT] These are instructions for installing the development environment for building Showdex locally from source.
cd
into your favorite directory.git clone git@github.com:doshidak/showdex.git
cd showdex
yarn
Post-Installation Scripts |
---|
[!TIP]
yarn dev
is an alias ofyarn dev:chrome
.[!CAUTION] While developing in
'standalone'
mode is possible, I don't recommend it as you'll need to manually move the built files to your webserver every time (& they can pile up between hot-reloads!). Skip this step if you're intending on just embedding a production build of Showdex into your Showdown client.
cd showdex
yarn dev:chrome
or yarn dev:firefox
or yarn dev:standalone
(not recommended!)[!IMPORTANT] Although this project makes use of TypeScript & ESLint, they are only used suggestively. In other words, your code will still compile even if you have errors!
Built contents will be dumped into a build
directory in the project root (will be created if it doesn't exist).
"Hot" Reloading |
---|
Environment Variables |
---|
[!TIP]
yarn build
is an alias ofyarn build:chrome && yarn build:firefox
.
cd showdex
yarn build:chrome
or yarn build:firefox
or yarn build:standalone
[!IMPORTANT] As mentioned in the Development section, TypeScript & ESLint are configured to be suggestive, so your code will still compile even if you have errors!
Built contents will be dumped into a dist
directory in the project root (will be created if it doesn't exist).
There will be an un-zipped directory named after the BUILD_TARGET
env (i.e., chrome
, firefox
or standalone
) containing all the bundled files, as well as:
showdex-...chrome.zip
in dist
, andshowdex-...firefox.xpi
in dist
.What's the HTML file? |
---|
(ノ◕ヮ◕)ノ* :・゚✧ Issues & PRs (Pull Requests) are very welcome! ✧゚・: *ヽ(◕ヮ◕ヽ)
Found a bug? · Got a cool idea? · Have suggestions? · Hate these questions & demand answers?
Thanks for your help in making Showdex better for everyone!
I'm not a stickler for how these should be formatted; just make sure you provide enough info for me to work off of. If you're having trouble running Showdex, please make sure you first try turning off your other extensions before opening an issue. This will help me narrow down the problem (e.g., your ad-blocker, productivity enforcer &/or distraction minimizer could potentially block Showdex from downloading sets!).
If possible, including the following would be immensely helpful!
- Device (e.g., Custom PC, MacBook Pro 14" 2023, eMachines eTower 400i, Samsung Smart Fridge, etc.)
- OS & Version (e.g., Windows 11, macOS Sonoma 14.5, Ubuntu 22.04.4 LTS, Android 14, etc.)
- Browser (e.g., Chrome, Firefox, Opera, Netscape Navigator, etc.)
- Showdex Version (e.g., v1.2.4)
- Format, if applicable (e.g., Gen 9 VGC 2024 Reg G Bo3)
- Replay, if applicable
If you would like to be credited for your contribution, please also include your username on Smogon Forums or Pokémon Showdown. Otherwise, your GitHub username will be used, unless you don't want to be credited.
Create a GitHub Issue --- |
No GitHub? No problem!
We're also listening for feedback & bug reports on our Showdex thread on Smogon Forums.
Post on Smogon Forums --- |
Not on Smogon Forums? All good!
We also created a Discord community with channels where you can report bugs, request features & get help.
Join Our Discord --- |
No Discord? Still, no problem!
Feel free to contact me directly via email.
Slide Into My Inbox --- |
Fixed a bug? · Added something cool? · A translation, perchance?
Not a stickler with these either, but at the very least, please:
- Fork this repo & commit changes to your fork,
- Style your code according to the ESLint rules,
- Create a PR from your fork to this repo, and
- Provide a brief description of your changes in your PR.
Although this project makes use of Commitizen, you don't need to format your commit messages this way. Use whatever you're comfortable with!
Additionally, I don't make use of any fancy automations like CI (Continuous Integration), so each PR will be manually reviewed. Your patience is greatly appreciated!
Fork Me on GitHub --- |
big thank to:
@smogon/calc
Maintainers & Contributors for the sauce,big ・゚✧ sparkly thank ✧゚・ to these fine individuals for their generous support!
・゚✧ Dastardlydwarf ✧゚・ | ・゚✧ Ah Ok Got It ✧゚・ | ・゚✧ ADVs Nuts ✧゚・ |
・゚✧ Swift Mochi ✧゚・ | ・゚✧ Picachuleboss ✧゚・ | ・゚✧ Zzodz ✧゚・ |
・゚✧ benzyne ✧゚・ |
・゚✧ GabrielPBC ✧゚・ | ・゚✧ BruhMomentMaker ✧゚・ | ・゚✧ TheNexyr ✧゚・ |
・゚✧ Christopher Y ✧゚・ | ・゚✧ PokePastry ✧゚・ | ・゚✧ FurryKrisp ✧゚・ |
・゚✧ Michael K ✧゚・ | ・゚✧ Wan L ✧゚・ | ・゚✧ RadiantShackles ✧゚・ |
・゚✧ Trent L ✧゚・ | ・゚✧ qizwn ✧゚・ | ・゚✧ buyuuh ✧゚・ |
・゚✧ Janaval ✧゚・ |
༼ つ ͡° ͜ʖ ͡° ༽つ
・゚✧ Texas Cloverleaf ✧゚・ | ・゚✧ CPL593H ✧゚・ | ・゚✧ Angie L ✧゚・ |
・゚✧ Fubwubs ✧゚・ | ・゚✧ Timothy B ✧゚・ | ・゚✧ PastGenOUFan ✧゚・ |
・゚✧ Luc H ✧゚・ | ・゚✧ Snacky98 ✧゚・ | ・゚✧ Wesley L ✧゚・ |
・゚✧ James G ✧゚・ | ・゚✧ joshtheking7 ✧゚・ | ・゚✧ Michael L ✧゚・ |
・゚✧ Bongphan ✧゚・ | ・゚✧ Pulse_kS ✧゚・ | ・゚✧ Thilo P ✧゚・ |
・゚✧ Emile L ✧゚・ | ・゚✧ Nima R ✧゚・ | ・゚✧ Pinachi ✧゚・ |
・゚✧ GenOne ✧゚・ | ・゚✧ Jacek L ✧゚・ | ・゚✧ Rodrigo S ✧゚・ |
・゚✧ Lunarvania ✧゚・ | ・゚✧ Leman T ✧゚・ | ・゚✧ Sunny B ✧゚・ |
・゚✧ Peter T ✧゚・ | ・゚✧ Sam P ✧゚・ | ・゚✧ PokePastry ✧゚・ |
・゚✧ DoubleCaret ✧゚・ | ・゚✧ JesskyKhemically ✧゚・ | ・゚✧ Plague von Karma ✧゚・ |
・゚✧ MrMimikry ✧゚・ | ・゚✧ Ethan D ✧゚・ | ・゚✧ Jonas H ✧゚・ |
・゚✧ Itamar M ✧゚・ | ・゚✧ sylvthesizer ✧゚・ | ・゚✧ Joseph A ✧゚・ |
・゚✧ momalaharris ✧゚・ | ・゚✧ Sylvee1 ✧゚・ | ・゚✧ FR1E5 ✧゚・ |
・゚✧ Tanuj C ✧゚・ | ・゚✧ GoldenGottaGo ✧゚・ |
(づ ̄ ³ ̄)づ
another big thank to these fine people for helping with development!
SpiffyTheSpaceman | malaow3 · GitHub | Cureja · GitHub |
now that Showdex went mr worldwide, big thank to these fine people for helping with translations!
Sykless · Français | Betcheg · Français |
also big thank to this fine person for providing us with dank bundled sets!
nerd-of-now · NCP VGC |
...and finally, big thank to these fine people who helped improve Showdex!
\ (•◡•) \/