Giter VIP home page Giter VIP logo

smogon-usage-stats's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

smogon-usage-stats's Issues

Automated unit tests from problematic logs

When batchLogReader chokes on a log (usually due to not knowing what a Pokemon is), it should copy the problematic log into a "test" folder so that it's easier to make sure that any changes fix the problem (rather than having to run the whole script again).

Parting Shot not in U-turn moves

I noticed while going through the code that Parting Shot is not counted as a u-turn move:
elif move in ["U-Turn","U-turn","Volt Switch","Baton Pass"]: uturn = True

This seems like a mistake, as it's very much similar to the listed moves - is there a reason for this, or should it be updated?

TierUpdate.py needs to be fixed for PS

Three issues:

-Using the PS species names now, not the PO ones
-Species field is larger because of goddamn Thundurus-Therian
-We're probably not gonna keep maintaining the tier yaml, so we're gonna need some other way of determining old tiers (pokedex.js?)

List EV spreads until Other is below 20%

Currently, the top 6 EV spreads are listed. This often means a large proportion of EV spreads aren't listed. For instance, view the 1695+ 2016-12 moveset stats:

http://www.smogon.com/stats/2016-12/moveset/ou-1695.txt

Over half of Landorus-Therian's used EV spreads are bucketed under Other.

I'd suggest that in addition to listing a minimum of 6 spreads, that spreads be listed until the Other bucket contains fewer than 20% of spreads.

I'd be happy to send a pull request to make this happen.

Hackmons, Mega Evolutions and Team Analysis

When a Pokemon that can Mega Evolve is holding a Mega Stone, Team Analysis adjusts stalliness by averaging the stalliness associated with the base Pokemon and its Mega. In Hackmons, you can have, say, a Mega Charizard X on your team holding a Charizardite-Y, which will allow it to Mega Evolve into Mega Charizard Y. These events won't be detected, nor will it be taken into account that the Pokemon has access to the Drought ability (for team-type classification).

This should be a relatively simple fix: just adding lines to the megas list to detect X -> Y and Y -> X Mega Evolutions.

Simpler stats rewrite

At this point, it's kinda obvious that Onix has stalled out. I regret nothing, in that I learned a metric ton about SQLAlchemy, CICD, packaging, documentation...

but at the end of the day, Onix is probably over-engineered.

I'd like to spec out an "80/20" stats rewrite solution--something that's robust and easily maintained, but not nearly as complex as Onix.

I'm thinking:

  • preserve the current workstream (read logs into intermediate files, process intermediate files into stats)
  • clean up and modularize code, adhering to coding best practices (four spaces instead of tabs!)
  • some amount of unit tests (probably more for the high level stuff like the tier update code, rather than the low-level log-reading)
  • move as much of the bash logic into python as possible (glob! concurrent.futures!)
  • optimize workstream by doing stuff like computing stats for all baselines at once
  • pull code from Onix where appropriate (Contexts are nice)
  • py3 only -- I just find it super painful to write py2 code now. Don't worry about pypy--if I want performance, I'll see if I can numbafy anything.

I'm thinking the rewrite will live in this repo.

It's probably still going to be months before I can get around to tackling this, but the reduction in scope should make this actually attainable.

Happiness data

A user asked whether they could obtain data on Pokemon happiness (specifically of Ditto). This is not currently being mined by batchLogReader. I don't think it's necessary to include this data in the moveset stats, but it shouldn't be too much work to throw it into the "chaos" jsons.

I need to check with PS about how it determines happiness (defaults, etc.)

Problems with U-Turn KO

A1 vs. B1--A1 is switched out, A2 is brought in and dies to entry hazards. Meanwhile, B1 is switched out in favor of B2

Currently, the encounter is parsed as:

A1 vs. B1: A2 was u-turn KOed

THAT'S DEFINITELY wrong, but it's not clear what's right. A1vB1 double-switch with B2 getting the KO on A2? A1 single-switch, then B1 u-turn KO against A2? Or a new category entirely?

License?

Is it acceptable to modify the source code for private use? (e.g. modded alt servers)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.