1. New to the forums? Check out our Mentorship Program!
    Our mentors will answer your questions and help you become a part of the community!
  2. Welcome to Smogon Forums! Please take a minute to read the rules.

Programming Base Stats Damage Calculator

Discussion in 'Technical Projects' started by Steinhauser, Feb 26, 2009.

  1. darkie

    darkie mfw i see alison brie
    is a member of the Site Staffis a Smogon IRC AOPis a Super Moderatoris a Smogon Media Contributoris a Contributor to Smogonis a CAP Contributor Alumnusis a Battle Server Moderator Alumnus
    Public Relations

    Joined:
    Dec 25, 2005
    Messages:
    6,085
  2. Rave

    Rave

    Joined:
    Jan 2, 2009
    Messages:
    106
    This is great. Just one thing:

    [​IMG]

    I don't think an attack can do 0-0 damage. If you made it always round down, I'm pretty sure there's an exception at zero.

    In any case; I would love it if there were a button next to the [EVs] column that sent it straight to 252. I would also love it if the defensive base stats went up by 5 per click too. Not really important though.
  3. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
    @Archer: The IVs and level are in the Other Options section for a reason; almost every scenario will deal with Level 100s and 31 IVs (at least if you're playign on Shoddy). Having them on the main screen would just be clutter that most people wouldn't ever touch. Keep in mind the overarching principle I'm shooting for is simplicity; the fewer unnecessary factors that the user has to think about or consider, the better.

    It was done in C#, on a whim really. When I began coding it I had no intent on ever making it accurate or releasing it.

    @Rad3n: Aye, this is a known bug. Some combinations of offensive ability, base Attack and base power return 0 - 0 damage. I can't figure out exactly what causes it. The temporary solution is to turn off the offensive ability, recalculate, then turn it back on and try again.

    The auto-252 for EVs is a good idea. Expect to see it next patch.

    Edit: Wow, I just realised from Rad's post that the program looks a lot different on Vista displays. Everything is too bright and harder to distinguish, especially the partitions. That's too bad.
  4. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
    Bumping to announce v. 1.4, which includes an app that calculates the likelihood of a O/2/3HKO.
  5. eric the espeon

    eric the espeon maybe I just misunderstood
    is a Forum Moderator Alumnusis a CAP Contributor Alumnusis a Researcher Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnus

    Joined:
    Aug 7, 2007
    Messages:
    3,694
    Ok, downloaded. Its pretty dam brilliant, and I am going to have to get nitpicky if I am going to find any more suggestions... but here I go!

    For the GK/Low Kick part of the Base Power calc it would be quite useful to have a drop down list of Pokemon to avoid the need to check a site to find the weight.

    For the Gyro Ball calc, maybe have a checkbox for Macho Brace/Iron Ball/Power <Item>, Choice Scarf and maybe Quick Powder? It would also be possible to add speed affecting abilitys, but thats up to you.
    Abilitys: Chlorophyl, Swift Swim, Unburden (x2), Quick Feet (x1.5, negates para), Slow Start (0.5)

    Tailwind is another thing that could be added but again, its not exactly common.

    It would be possible to add more end of turn effects into the "Will it KO?" Calc (Rain Dish, Ice Body, Ingrain, Ghost Curse ect), but it could end up taking a lot of space.

    Will do some careful low level testing against the damage formula in the next couple of days.
  6. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
    That's more the work of a database than a calculator. In fact, it would probably be faster for the user to click a link that brings them to http://bulbapedia.bulbagarden.net/wiki/Weight and ctrl+f it, than look up the Pokémon alphabetically. (I could do that, actually.)

    Abilities might be useful, since things like Swift Swim are common. I don't think Tailwind is common enough to warrant inclusion. Nor is Quick Powder; however since I already have the item drop-down it won't take up any space.

    I could give an option for an inputting exact stat, since there is a built-in stat calculator as well. Then if an option they don't have is required, they can calculate the stat and paste it into the base damage calc.

    I thought about that, adding Ice Body, Poison Heal, etc. But in the end I decided normal battle conditions were enough, and the rest could be manually subtracted from the HP percentage if necessary. If other people are anything like me they'd rather do some manual calculations occasionally than have to look at a list of options that are not applicable the majority of the time.

    Thanks! I'm glad the calc's getting press in the LC community as well as helpful testing.
  7. Zeromus EG

    Zeromus EG

    Joined:
    Dec 15, 2007
    Messages:
    264
    Hey I really like the look of this and I've downloaded it, but when I try to run it I need to look up the software to open it.

    I might have just skimmed through the thread and missed it, but which software should I use?

    At the moment, the Microsoft Application Search is saying either
    ~ RARLAB WinRAR
    ~ WinAce
    ~ WinZip

    Any help would be appreciated, cheers.
  8. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
  9. timw06

    timw06

    Joined:
    Jun 27, 2007
    Messages:
    543
    @Zeromus: 7-Zip is free, open-source and can open .rar files.

    @Steinhauser: Have you any plans for making the source code available - I've planned to do something similar (in Pascal or building on my old command-line calc) for a while now and am wondering how you implemented it all.

    A few bug reports:
    # the drop down panel for advanced options is a bit bugged - if you move the main window it gets stuck.
    # the about dialog cannot be opened for a second time (i suspect that instead of hiding it upon close, you've destroyed its contents) and causes a nasty JIT debugger message to appear - should that option even be available in production code?

    The MS Visual Studio compiler only works for Windows (as you would expect) but the Mono Project is bringing C# cross platform and it hopefully will compile flawlessly with their compiler, which works for Linux and less-stably for Mac also.

    Above all, a very nice piece of work though.
  10. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
    My source code is a confusing mess, so I don't know how helpful it will be. I can make it available on request, though - PM me.

    The advanced options is technically supposed to do what it does (it's actually a separate window without any frame). I could probably make it reposition itself when the main window is moved but it's low on my priority list.

    The about dialog was supposed to be handled like the tools dialogs, and that can be fixed easily.

    As for Mono Project, it looks interesting. I will play around with it when my free time levels go back up to plentiful.
  11. MagicMaster87

    MagicMaster87

    Joined:
    Nov 24, 2008
    Messages:
    1,182
    Alright, I finally got a computer that can run this program, and it looks great. The only issue I have is with the Additional Options screen, although it probably is only a problem for Vista users due to the lighter color scheme.

    Anyways, what bothers me is the fact that it's a separate window with now frames, as you said. This causes the previously-mentioned glitch, but it also causes the window to lose focus when you click back on the main window. Normally this wouldn't be a problem, but if the window or background of whatever is behind the program has a similar color scheme, the Additional Options menu seems to "vanish" if you're not expecting it. This just happened to me (ironically enough on smogon's forums), and it took me a while to figure out that it was a separate window and was still there, merely blending in with the forums. I think the best ways to remedy this are to either keep it as its own window but add frames, or to make it an extension of the main window and simply readjust the window's height to show/hide the extra options.

    Aside from that, it works great and I can't think of anything else to be added that hasn't been mentioned already, very nice job!
  12. Steinhauser

    Steinhauser

    Joined:
    Jun 5, 2007
    Messages:
    378
    Thanks MagicMaster. Actually, I forgot to upload it after I did this, but I fixed the issues with the additional options menu a while ago, including what I think you mentioned. (If it's not - show me a screenshot, I don't understand what you mean.)

    New download is up. Also, readme included. Direct download this time, no more rapidshare.
  13. MetalKid

    MetalKid

    Joined:
    Aug 5, 2005
    Messages:
    245
  14. codeanime2

    codeanime2

    Joined:
    May 23, 2009
    Messages:
    13
    thanks, its really helpful
  15. Pokevoxx

    Pokevoxx

    Joined:
    Oct 20, 2009
    Messages:
    1
    This looks very nice.
    We are developing such a tool too, and released a 0.2 version recently. It does other things than this tools, but some functions overlap.
    Our project is called POKéVOXX, but there's still alot of work on it. For the moment, it enables you to compare Pokémon using charts, and advanced comparison calculations. It gives you an immediate insight in what Pokémon are good in which stat, which attacks, etc... Google 'POKéVOXX' and take a look at it (or follow the link in my signature :P) :)

    All the best.
  16. Alex_Dino

    Alex_Dino

    Joined:
    Nov 18, 2009
    Messages:
    64
    C#, eh? This works great, I'm going to have to PM you for the source code sometime. Was going to do something like this but I guess you beat me to it.

Users Viewing Thread (Users: 0, Guests: 0)