Go to file
2023-04-07 10:13:55 +10:00
.gitignore add bot 2023-04-07 10:01:57 +10:00
bot.py log complete update 2023-04-07 10:13:55 +10:00
flake.lock
flake.nix add bot 2023-04-07 10:01:57 +10:00
games.txt add game 4.5 2023-04-03 17:39:28 +10:00
index.py move main file 2023-04-07 09:16:15 +10:00
README.md move main file 2023-04-07 09:16:15 +10:00
teams.json

Holy Heck I Really Like Stats

Pokemon Showdown data processing, mostly for HHIRLLL's Pokemon league. Ugly as fuck.

Requirements

  • Python with sqlite
  • requests

Usage

$ ./index.py -h
usage: hhirlstats [-h] [-v] [-C] [-t FILE] [-o FILE] replay [replay ...]

extracts stats from a Showdown replay

positional arguments:
  replay                replay ID or URL

options:
  -h, --help            show this help message and exit
  -v, --verbose         add debugging info (default: None)
  -C, --no-cache        fetch replays instead of using cache (default: False)
  -t FILE, --teams FILE
                        JSON file defining players to teams (default: teams.json)
  -o FILE, --output FILE
                        output data file (default: data.db)

Replay files are cached after they're downloaded for the first time save issuing requests to Showdown on every new run.

Run the program once with all your replays (or once for each replay), then run whatever SQL queries against the data file (default data.db) you want.

Future work

  • include timestamps in logs to correlate KOs with the mon that KOed
  • calculate gametime based on active turns rather than moves used
    • also solves the issue where paralyzed/confused turns are not counted