Jump to content

A Powers "API" of sorts (Gift to the community developers)


Recommended Posts

v1 is now "complete," meaning this is the structure going forward and shouldn't change, so totally safe to use for production applications. Of particular note, there is now a complete data dictionary describing the output format so you don't have to guess what things are.

 

Now for the hard part, I need to remember what I was doing back in January that prompted me to create this...

  • Thanks 2

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

Released a slightly updated data set today, fixing/adding a few things.

  • Scrapper criticals should have correct pvp/pve tagging now.
  • New "stacking" field added to effects to describe how the effect stacks with itself.
  • Times represented in display fields should no longer incorrectly round (they were always accurate in the data fields).
  • "ticks" added to effects that tick multiple times. This is a convenience field derived from duration_seconds and continuous_apply_seconds.
  • Effects that have a percent chance of 0 to apply should no longer stop the display_info of child scaled effects from being populated.

Shout out to @Bopper, @Dismiss, and @modest for helping me identify these issues and providing suggestions. 😎

  • Like 2
  • Thanks 2

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

  • 4 weeks later
On 3/8/2020 at 12:24 PM, RubyRed said:

From what I understand of City of Data, I think it's basically just a dump of what's in the bins in a nice easy to read format. It would definitely be possible to remake it in some format, obviously that would go faster if someone is around that still owns the source code.

EDIT: In fact I just realized that's kind of what Sif is already starting, you may be interested in their tool: https://indexobscurum.com/index/hc/

I created half of the source code, many years ago.  After ... Iakona (?) figured out how to dump pigg files, I tried it.  I managed to figure out most of the formats.  And then I supplied to data to ... Red Tomax like 13ish years ago maybe?  And he handed it off to ... some other people.  And I think they started dumping piggs on their own, and didn't need my data.  This was like 10 years ago.  I saved all of my code to parse piggs.  No idea if I can still read it off the DVDs, and no idea how much things have changed.  But I've been thinking about resurrecting it to get at all of the real power data.

  • Like 1
Link to comment
Share on other sites

IIRC a certain someone (who would likely know) said the changes to the way powers data is saved doesn't work with City of Data's current coding.

"If you can read this, I've failed as a developer." -- Caretaker

 

Proc information and chance calculator spreadsheet (last updated 15APR24)

Player numbers graph (updated every 15 minutes) Graph readme

@macskull/@Not Mac | Twitch | Youtube

Link to comment
Share on other sites

It doesn't. The i25 codebase modified the bins to use a completely different format, and the actual data contained in them has changed structure over the past few years as well. Unfortunately means any bin-parsing code from the beforetimes is completely useless on Homecoming.

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

Thanks to the continuous prodding of @Bopper, there's now a v2 of the API available at the usual place. It was sooner than expected, but I needed to redo the structure to accommodate a richer data set that includes the full data for referenced powers rather than summarizing them. In other words, you can now fully inspect the powers used by pets/pseudopets as well as powers granted and powers executed by other powers. Also he pointed out that redirects were completely borked in the v1 data ... totally my fault, I made a note to try and understand them better on my first pass through the data and then completely forgot. They're now properly separated so that you can figure out what to redirect to.

 

Page where you can get all the fun stuff: https://coh.tips/powers/

Release notes: https://gitlab.com/rubidium-dev/powers/-/releases/2.0.1

  • Thanks 2

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

  • Jimmy pinned this topic
  • 2 weeks later
On 3/7/2020 at 4:43 PM, RubyRed said:

I host those files online

Hello. What is a polite number of requests to make per minute (rate limit)? I'm not a professional webdev/programmer and I'm not creating anything that will be used by others. So I'm hoping that what I will be working on won't be very noticeable to you (or whoever is hosting your content). But just to be safe I would like to know what you suggest. Guild Wars 2 is another game I play and they limit their api requests to 600/min.

 

Thanks!

Link to comment
Share on other sites

16 hours ago, FallenHero said:

Hello. What is a polite number of requests to make per minute (rate limit)? I'm not a professional webdev/programmer and I'm not creating anything that will be used by others. So I'm hoping that what I will be working on won't be very noticeable to you (or whoever is hosting your content). But just to be safe I would like to know what you suggest. Guild Wars 2 is another game I play and they limit their api requests to 600/min.

 

Thanks!

I doubt anyone from this community is going to generate enough traffic for me to notice. If that does happen, I'll post a notice.

That said, I would appreciate anyone using it to be reasonable and cache responses rather than slamming the site as fast possible.

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

8 hours ago, RubyRed said:

I doubt anyone from this community is going to generate enough traffic for me to notice. If that does happen, I'll post a notice.

That said, I would appreciate anyone using it to be reasonable and cache responses rather than slamming the site as fast possible.

Thanks for the reply. I can't see myself using more than a single digit number of requests (more than likely only one or two) for what I want to do. There should never be a situation where I'm constantly pinging your site, unless I do something really dumb. But I did want to ask before I started helping myself to your delicious data. Thank you for providing this site.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later
7 hours ago, malonkey1 said:

Hey, @RubyRed do you think it would be difficult to adapt this to read Parse6 Bins? It would be really helpful for retrieving power data and the like for build planning tools on various servers.

It could be adapted, yes. You'd have to basically rewrite the bin_parse module but the structs are mostly the same (although that highly depends on what server you're adjusting it to) and the output formats would still make sense.

  • Like 1

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

22 minutes ago, RubyRed said:

It could be adapted, yes. You'd have to basically rewrite the bin_parse module but the structs are mostly the same (although that highly depends on what server you're adjusting it to) and the output formats would still make sense.

Well, I've been meaning to learn Rust anyway.

Link to comment
Share on other sites

The API has continued to evolve since June, thanks to feedback from multiple people. I really appreciate the help on making this better. Here's some highlights since the last time I posted a summary on June 20:

  • Data includes power redirects present in EntCreate mod params
  • Powers include which enhancement set categories they accept
  • Animation times added alongside the cast times
  • Suppress/cancel events included
  • MainTargetOnly/SecondaryTargetsOnly flags on effect groups (I apparently missed these new flags in the p5 data set)
  • Can create raw output of .bins

That last one takes a bit of explanation. Because of the size of the data, I'm not publishing it on my web site, but enough people have asked for info that can only be seen in the raw .bin files that I added this new output mode. You can download the source and set the "output_format" to "raw" in the config. This still writes a bunch of JSON files but they're a lot closer to the source DEFs than the API.

  • Like 1
  • Thanks 2

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

  • 2 weeks later
  • 2 weeks later

Hi I want to thank you for creating this tool.  I have created my own for making power charts that uses your API.  Without it people would have had to type in a bunch of powers values manually from Mids' or something, which would be a night for day difference in usability.  I am caching all data within a session to try to keep requests down.  Many thanks for putting in so much effort.

Link to comment
Share on other sites

8 hours ago, carroto said:

I saw these in the data but didn't know what the difference is.  Still don't.  Is that the difference between the time for the animation to play and the actual root time?

When you activate a power it takes a  certain amount of time to cast, a delay between you activate it and when the effect goes off on the target, as well as a certain amount of time to animate in the vfx system, which is the animation time. Most of the time these two are identical, but in some cases they're not. A lot of the visual animations also root you in place, so that animation time is the amount of time you won't be able to move your character.

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

Updated today with the Issue 27 data from the beta server!

You can check out the beta API here: https://coh.tips/powers/beta/

Please let me know if you see anything really weird, yet again a LOT has changed from i26 so there's all sorts of new weirdness to contend with. In addition to i27 data, I've also added:

  • New fields with detailed chain data for chain powers
  • Disallowed enhancements and global enhancements to particular attributes on powers
  • Activation effects (always activated even if the power misses)
  • The actual mode is now available for Set Mode / Unset Mode effects!

I'm developing these changes in a separate branch until i27 hits live: https://gitlab.com/rubidium-dev/powers/-/commits/i27-beta/

Shout out and many thanks to @UberGuy, @Bopper, and @Felis Noctuwho kept peppering me with info and diffs that saved me a huge chunk of time putting this together.

Edited by RubyRed
typo
  • Thanks 2

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

Ruby, all the thanks in the world. I don't know where we'd be without this tool. My work on i27 beta testing and my updates to Mids database would not have been nearly as effective or efficient without this tool. Thanks again and again


PPM Information Guide               Survivability Tool                  Interface DoT Procs Guide

Time Manipulation Guide             Bopper Builds                      +HP/+Regen Proc Cheat Sheet

Super Pack Drop Percentages       Recharge Guide                   Base Empowerment: Temp Powers


Bopper's Tools & Formulas                         Mids' Reborn                       

Link to comment
Share on other sites

Updated with i27 page 1 data on the live version of the data set.

 

Additionally:

  • Attribute mod flags that change based on the attribute should be accurately reported now.
  • Global chance mods now accurately report their % chance.
  • Strengths disallowed added to output.
  • Some chain fields that were missed from i26p5 have been added.
Edited by RubyRed
more info
  • Like 1

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

I don't see any listing for temporary or day job powers in the files; I need the full internal name of the various temporary powers I use through popmenus to use them with the new popmenu functions that check if you have the powers, and I was hoping to find them here. Any chance those could be added?

Edited by Vanden
Link to comment
Share on other sites

I'll make a note to look at it. As is, it pulls only things that are discovered through primary/secondary, epic, pool, prestige, and incarnate powers. Temps are a bit wacky because there's a lot of non-player stuff in there.

"We're out of options, I'll have to use the jetpack," I said, strapping on the jetpack and ignoring the many non-jetpack options still left.

Having trouble deciding your next alt? Just need a cool name? Try out City Suggests

Looking for powers data? Try the Powers API

Link to comment
Share on other sites

14 hours ago, Vanden said:

I don't see any listing for temporary or day job powers in the files; I need the full internal name of the various temporary powers I use through popmenus to use them with the new popmenu functions that check if you have the powers, and I was hoping to find them here. Any chance those could be added?

You could probably find all of those on my "Rosetta Stone", but as Ruby stated, you'd have to also sift through tons of NPC stuff too, that's kind of unavoidable AFAIK.

I'm out.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...