amoeba / treestats.net Goto Github PK
View Code? Open in Web Editor NEWPlayer tracking for Asheron's Call
Home Page: https://treestats.net
License: MIT License
Player tracking for Asheron's Call
Home Page: https://treestats.net
License: MIT License
False allegiance information can exist when a character changes their patron. That character's record will be correct but their old patron will still show them as their vassal. This will cause instability for chain generation. Reported in #44.
Yaroz has mentioned multiple times that the chain viewer doesn't connect stubs. Look into this and fix it.
Add in a system on character sheets so the viewer knows about any poorly known values like auras/augs/resists.
Here are the ones I know about:
139 (0x8b) = 0xe9 - Player Level
199 (0xc7) = 0x44c1f8ef - House Purchase Date (seconds since 1970)
0x11f: Celestial Hand Society Standing
0x120: Eldrytch Web Society Standing
289 (0x121) = 0x1 - Radiant Blood Society Standing
if (standing < 101) return @"Initiate";
if (standing < 301) return @"Adept";
if (standing < 601) return @"Knight";
if (standing < 1001) return @"Lord";
if (standing == 1001) return @"Master";
The value (standing) is the number of ribbons you've turned in.
307 (0x133) = 0x0 - Damage Rating
308 (0x134) = 0x0 - Damage Reduction Rating
314 (0x13a) = 0x0 - Crit Damage Rating
322 (0x142) = 0x7 - Unlocked Aetheria Slots (1 blue, 2 yellow, 4 red)
323 (0x143) = 0x0 - Healing Rating // From Growth Aetheria
350 (0x15e) = 0x0 - Damage Over Time Reduction Rating
351 (0x15f) = 0x0 - Life Reduction Rating // vigor
The tables need either more width or better formatting
Including taking a note from this: http://bost.ocks.org/mike/chart/
As of writing, the ranking queries are being post-processed in Ruby, within the request body. This is pretty fast for small numbers of users but it definitely won't scale.
Investigate using MongoDB aggregations, then just have URL->Query mappings which are called from the request depending on the params.
See http://treestats.net/allegiances/Morningthaw-Untalented%20Circus%20Midgets
Allegiance view is too cluttered.
Implement the user interface for the Accounts feature.
A good user suggestion came in that asked for a quick way to compare characters across accounts. This would essentially be /rankings as it is but it'd add a criterion for the Account onto the query.
Another way of doing this would be to implement a /account/X/table view that would show a set of attributes and those attributes would be user-editable. i.e. The table view would start with character name, server, and level. The user could then check a box for "Lum XP" and the view would refresh and add that onto the table.
Consider making it introduce the user to what the page is
Explain what the plugin does and does not do
Show some recent characters or allegiances
Show player counts maybe
Plugin/website users need to be able to know when things update. They request things. Then what? What am I working on now? What did I just ship?
Potential methods include:
It's just entirely not working. Reported by Rob.
-Most followers
-Browse the char sheet/DB for others I'm not already doing
I'd like to do every possible ranking.
I decided to display everything in UTC. I think that's okay, but I might try EST or "seconds ago" type formats. I think this makes more sense, esp. given that AC's servers are EST.
It'd be nice if the daily uploads graph could be sent around just by itself.
I never went through and checked all the Mongo queries to make sure they were reasonably efficient. For example, this query:
http://treestats.net/rankings?server=All&ranking=attribs.strength.base
Doesn't have a limit on it.
Check all queries and make sure they aren't doing insane things that don't scale.
Let users get in touch better.
Add:
The plugin view needs a few things still:
Give a short description of the site. I noticed this omission in Google's results, where Google doesn't parse the website well.
via HellsWrath
Values like server pop will be stale as they are only set (updated) when the character list packet is sent. Either don't send stale information or only send information at login.
Hells Wrath reported this issue.
http://treestats.net/Verdantine/Hungry%20Tapeworm shows Lockfang as a vassal, so the tree shows that. However, TreeStats has more recent information from Lockfang directly that Lockfang's patron is Shade of Tinktink.
The upload after_create (?) routine could simply remove connections from other characters that are no longer possible given the most recent update.
The plugin does more stuff now. Update the readme.
I thought this was fixed but it's definitely not.
If player A is uploaded with allegiance (vassal at least, not sure on others) to player B, player B's race/gender will be set to numbers instead of names. This is certainly caused by the after_save callback getting too aggressive with which attributes it updates.
A user guessed that the URL /player_counts/WintersEbb existed. It would be great if this worked
Users like Immortalbob have nodes too close together!
It would be nice if fields that had inherent progress like the augmentation Might of the the Five Mules had text describing that progress (i.e. 5/5).
Hells Wrath showed that Masteries are superfluous now and can be removed.
Masteries are a waste of time, only Summoning mastery matters. The others were made universal with the last patch, so you could actually hide that useless information that does nothing but confuse people.
February 2014 - Weapon masteries are universal. All characters get the benefit of 5 DR when using a weapon with a mastery, regardless of the character's mastery. Weapon that previously had no mastery bonus at all still don't give 5 DR.
http://acpedia.org/wiki/Announcement...#Release_Notes
This seems like a 1/0-indexing issue.
I think it's potentially possible to end up with an infinite loop which would lead to a crash if something like this happens:
A swears to B
A is uploaded
Generated Tree: A -> B
B swears to C
B is uploaded
Generated Tree: A -> B -> C
C breaks from B
A swears to C
C is uploaded
Generated Tree: C -> A -> B -> C -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞ -> ∞
Because B is two levels away from the uploader, the update doesn't contain any information about the vassals of B. If we did, we could remove C as a vassal of B. Until B is uploaded, the tree will be invalid and, without a check, will result in an infinite loop.
I removed some stats from the character view a while back and didn't add the removed ones back in. This at least covers Deaths but may cover more fields.
Also update the wiki with what I find out.
http://treestats.net/Morningthaw/He%20who%20is%20called%20I%20Am
cant figure out what character needs the update, i've logged all of the ones i moved in twice now :/
It would be nice to see the monarch on the tree. I sense that people might generally expect the entire allegiance to be on the tree anyway.
Maybe the monarch could be added as a dashed line as the parent to the highest patron when the highest patron isn't also the monarch.
The whole point of this thing is to graph data, right?
How about let users view their previous updates? Show level or XP over time?
Add more here later.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.