Jump to content

City of Data v2.0


Recommended Posts

On 2/23/2024 at 8:48 PM, BillyMailman said:

FYI, something's definitely off with the sleep grenade thing from Arsenal Control; there's a stacking type not showing up. I'm also confused by the Requires bit on the bonus sleep from Domination/Overpower, but that one seems more likely to actually just be how it works. Notably, that's 100% how Smoke Canister's confuse is supposed to work, and it's showing up the same there, so yeah. Same stacking thing is showing up over there, too.

This one should be easy to track down. I'm glad at least the logic for "tell us when you don't know what to show" works, rather than the old behavior of just not showing anything!

  • Haha 1
Link to comment
Share on other sites

On 2/26/2024 at 1:54 PM, Crysis said:

[ I ] was extremely happy to find not only that COD has been rebuilt entirely by so many thoughtful and knowledgeable players, but also that it's like totally updated for recent changes.

 

EDIT: I'd forgotten the details of others' support of City of Data 2, as @UberGuy details in the next post.

 

What @UberGuy does do himself is continually refine that City of Data 2 website to serve up that data in a way we can use to better understand the fiddly bits of the various powers.  There's a lot of feedback and suggestions from a number of devs and many other users of CoD2, but @UberGuy is the one who puts them into the website.

 

Didn't do it all alone, but it's still an amazing achievement. 😺  Without @UberGuy, we wouldn't have this vital tool.

Edited by Jacke
Link to comment
Share on other sites

2 hours ago, Jacke said:

City of Data 2 is all @UberGuy's work AFAIK.  He's the dude that figures out how to take the game data (in the form provided to him) and present it on his website.  An amazing achievement. 😺

 

Oh, no, now let's be clear. While I do maintain it, I built what CoD's powers data extracs on top of @RubyRed's parser work. It's grown significantly since then, but I likely would never had undertaken it without that codebase. Also, the updates I am able to make when the Homecoming team releases updates is because they help me to know what changed at a data level. CoH's game files are extremely opaque in nature. They are almost literally a memory dump of the C data structures. If you don't have either source code or someone to tell you what has changed about them ...  well, I won't say figuring it out would be impossible, but I'll just say there's totally no way I could do it as a side hobby project without the help of others. Even Ruby based their original work on original source code leaks.

 

The one thing I can mostly take credit / blame for is the website presentation. Even there, while the codebase is wholly my own creation, I used the original City of Data as a UI inspiration and I regularly get feedback from folks like @Captain Powerhouse, @Booper and @Number Six (and many folks in this thread) when I display things poorly (or not at all) and/or things need better labels / descriptions.

  • Thanks 1
Link to comment
Share on other sites

Posted (edited)
12 hours ago, Bionic_Flea said:

Is RubyRed aka Red Tomax?  I recall Red Tomax as the original CoD person.

 

While I can't say with certainty, I do not believe so.

 

Edit: My understanding was that RedTomax had the info they did because they were close to one of the Paragon Studios powers devs. The original site was based on text info for the powers, rather than squeezing it out of client files. In fact, originally, most of this info did not exist in the client. I was only after "Real Numbers"™ was added to the client UI that powers data started being shipped with the client bins.

Edited by UberGuy
  • Thumbs Up 1
Link to comment
Share on other sites

The Live site should be updated for this week's patch.

 

I'll work on the UI bugs mentioned above (and some older ones too) this weekend.

 

References to data from the "Alpha" / Cryptic environment have been removed / updated to refer to "Beta" / Brainstorm.

  • Like 1
Link to comment
Share on other sites

On 2/21/2024 at 9:49 PM, UberGuy said:

 

Interesting. That sounds like I'm not handling unicode characters somewhere in my data processing chain, which is both surprising and not. Once I figure out where it's happening it probably won't be hard to fix. Finding it might be "fun" though. 😅

Charsets are the second most annoying thing about computers (printers are 1st, then charsets and finally timezones). 

  • Thumbs Up 1
Link to comment
Share on other sites

I just made a quick edit to the site meant to save people from being stuck on blank pages if they last had things configured to look at Cryptic/Alpha data. Since that's gone now, the site was busted for those folks, and it busted badly enough that they could not reasonably get to the settings page to fix it.

 

I just pushed code that redirects folks trying to hit Cryptic data to Brainstorm instead. This should also handle folks using direct links to a specific dataset that targeted data=cryptic.

 

The new code lets me add future data redirects like this in case they're needed again. I'll also look for ways to remove this lookup from the critical path for page load. Since there is code referencing the dataset in the header of every page, targeting a bad path breaks every page on the site early, which is, ah, not ideal.

Link to comment
Share on other sites

I just posted a data update that contains fixes for things like "Δ K'ong". The issue was was in original Rust bin parser code, in parts of it that I have never actually touched before. There was logic that stripped out non-ASCII text from display strings of all kinds. I removed this logic entirely, so now everything in the clientmessages-en.bin is parsed as it's stored. There's a chance this will introduce control characters that were not previously present, though I mostly would not expect the website to care about such things. If you see something that looks off, let me know, as always.

 

I also updated Brainstorm's data.

  • Like 2
  • Thumbs Up 1
Link to comment
Share on other sites

I just pushed a fix for the "Unknown Stacking Type" situation. I reused an existing icon for now - I need to noodle a bit on what makes sense given how small the icons are.

 

image.png.ef0a25c0dcdf51dac050b269acf53057.png

 

I improved the "Unknown X" logic so it actually tells us the unknown thing's name in the popup. It always had the flag name, but just didn't know what icon or description to display.

 

I also added the "Unknown  X" behavior to several other attribmod icons that had a possibility to fall through without picking something to display, which could happen if a new value is added that the logic is not updated to handle.

  • Thanks 1
Link to comment
Share on other sites

Looking through Arsenal control. This doesn't look right on Liquid Nitrogen.

https://cod.uberguy.net/html/power.html?power=pets.liquidnitrogen.liquid_nitrogen&at=minion_pets

 

11.122 points of Cold damage (all affected targets) every 10s for 4.5s (100% chance)

 

I read that as do damage every 10 seconds, for a duration of 4.5 seconds. So, it only runs once?

Link to comment
Share on other sites

Posted (edited)
3 hours ago, KaizenSoze said:

Looking through Arsenal control. This doesn't look right on Liquid Nitrogen.

https://cod.uberguy.net/html/power.html?power=pets.liquidnitrogen.liquid_nitrogen&at=minion_pets

 

11.122 points of Cold damage (all affected targets) every 10s for 4.5s (100% chance)

 

I read that as do damage every 10 seconds, for a duration of 4.5 seconds. So, it only runs once?

 

That doesn't seem to be any sort of display error. That's how it's actually set up.

 

Even if those numbers were backwards (every 4.5s for 10s), it would only tick twice.

 

Edit: I got confirmation from @Booper that this is WAI. It's got an interval so the attribute will stick around. The desired duration for that is 4.5s, If you check the flags, it's kept around to prevent a 2nd knock effect for that period. The 10s  interval is arbitrary - it just has to be longer than the effect duration to ensure there's only that one tick.

Edit2: I'll see about making the display more intelligent when the interval is longer than the duration, since this seems like an implementation trick we'll see in other places.

Edited by UberGuy
  • Thumbs Up 1
Link to comment
Share on other sites

On 2/23/2024 at 9:01 PM, BillyMailman said:

Second, separate bug: On both Chrome and Firefox, opening the Liquid Nitrogen pet power's page and sliding the Level thing, the two -350% maximum RunningSpeed bits adjust - the damage doesn't, showing the full level 50 damage for all levels. It's working for other powers, so not a globally busted thing, and switching to player ATs doesn't get the damage changing, either.

 

From what I can tell by looking at the git history, this never worked right.

 

I guess no one ever noticed because either (a) they didn't move the slider, (b) they were looking at powers where child effects don't scale with level, or (c) they just plain didn't notice numbers that should change did not do so. I think I have to fit in option (c).

 

The bug was incredibly simple. The hierarchy of child effects is literally a parent/child tree structure, where each effect group web display element is a child component of the parent effect group's element. The effect group widget has inputs that control how it displays its contents - things like AT tables, level, etc. Parent elements have to forward relevant inputs to their child elements. The web code has never passed the display level to the child components, so they always displayed at a default level of 50.

 

This has been fixed. 😝

  • Haha 1
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...