1. I have corrected the e-mail settings so that outgoing e-mails from these forums should be sent now. If you tried to Register or Reset your Password, please try again!
    Dismiss Notice

Adding alternateadvancement to c:resolve

Discussion in 'Census: General Discussion' started by Lantis, Feb 23, 2012.

  1. Lantis

    Lantis Guest

    Hi,

    Any possibility of adding alternateadvancements to c:resolve (at least for name/displayname)?

    Thanks!

     
  2. DanKinney

    DanKinney Guest

    We took a stab at it, but it was pretty daunting.  This is a task that requires more game knowledge than I have.

    I would be very happy to include this if I can get some direction as to what information to include.

    -dan

     
  3. Lantis

    Lantis Guest

    You can basically consider them as spells I would say.  Some only have one possible rank, while others can have up to 10 ranks as you put more points in them (not unlike spells that can rank from Apprentice up to Grandmaster).

    Perhaps you could start small scale, by resolving just the name of the AA itself, possibly the name of the treeid as well (if that info is easily available, I'll have to look again).

    When I get home tonight I'll take a closer look at what is available already in the feeds, and post my suggestions as to what to resolve in the character collection.

     
  4. DanKinney

    DanKinney Guest

    That would be great.  You might want to coordinate with Dethdlr with this as he's thought about it some.  Between the two of you, I'm confident we can solve it.

    -dan

     
  5. feldon30

    feldon30 Guest

    Right now we are caching all the AA trees internally, and then using the character record to tell us which AAs to light up (and how many points, and which spell tier to display, and which icon, and which icon background). Good times. :cool:

    It would be interesting to pull it all in one data pull, but that is one whole heck of a lot of data.

     
  6. DanKinney

    DanKinney Guest

    I'm not afraid of the amount of data.  Making the format of this information be consistent will enable a lot of innovation around the AA tree.

    -dan

     
  7. Lantis

    Lantis Guest

    I just did some poking at the alternateadvancement collection, and I think this collection as it currently is might be a bit ackward to use.  For instance, let's take AA ID 470432550.  If I try a query for it, I seem to get a complete branch (?) rather than just a single AA.   Deathdlr has actually worked with that collection, so maybe he could shed some lights as to how it actually works?

    Ideally, it should be possible to query for a single AA item from that collection.  Once that's the case, I suspect it will become easier for you to allow AAs in the character collection to be c:resolve'able?

    In the character collection, the resolved end result should look a bit like how spells are currently resolved: each AA has a single node in a character item, which expands to reveal at least some details that are specific to it:

    nameid (by which you could poll the alternateadvancement collection, already there I think?)descriptiontreeid (already there)treename (a resolved treeid: Heroic, Templar, Cleric, Shadow)branchname (if memory's right, each branch also has a name in-game: Cure, Heals, etc...)pointsspent (how many points someone has spent in it)maxpoints (the maximum number of points you can spend in it, not taking in account other requirement limitations?)

    The part where it can become very complex is if you also want to resolve dependencies.  To be able to spend points in an AA, there are many requirements: character level, currently spent amount global, points spent in the previous entry(ies) in the branch.  Maybe that part could be left to the alternateadvancement collection.  I assume someone polling the character collection (like I am in RosterMaster) is more interested about which AA someone has, how many points he has spent in it, its name, its description, and an ID to be able to query the other collection for more advanced details.



    Deathdlr has actually worked with AAs on EQ2U, so I'm sure he has some more enlightened input to throw in on this matter :)

     
  8. Lantis

    Lantis Guest

    Dan, if you want to easily see a visual display on how AAs are organized, check Beetny's excellent tool: [url="http://www.beetny.com/eq2aa/">http://www.beetny.com/eq2aa/[/url]

     
  9. DanKinney

    DanKinney Guest

    Yup...I've played with beetny.  It is quite awesome.

    I am willing to work with the game team to completely overhaul the entire structure of the AA tree data if we can come to a consensus on how it would be best organized for what you guys want to do with it.

    Proposals?

    -dan

     
  10. Dethdlr

    Dethdlr Guest

    When I looked into trying to do a resolve, it became fairly clear that with the complexity of the information, it wasn't going to be an easy thing.  I then looked at what it would take to do it manually.

    It wasn't all that tough to pull back all the AA trees:

    [url="census.daybreakgames.com/jml/get/eq2/alternateadvancement/?c:show=name&c:limit=100&c:sort=id">census.daybreakgames.com/jml/get/eq2/alt...t=100&c:sort=id[/url]

    From there, it was pretty easy to pull back everything I needed to map the character data and store it locally:

    [url="census.daybreakgames.com/jml/get/eq2/alternateadvancement/?c:show=alternateadvancementnode&c:sort=id&c:limit=100">census.daybreakgames.com/jml/get/eq2/alt...=id&c:limit=100[/url]

    Then, when I want to pull the AAs for a character, all I need is the data directly in the character collection:

    [url="census.daybreakgames.com/xml/get/eq2/character/?name.first=Nicd&locationdata.world=Butcherblock&c:show=alternateadvancements">census.daybreakgames.com/xml/get/eq2/cha...ateadvancements[/url]

    Which looks like this:

    <alternateadvancements availablepoints="1" spentpoints="317" warderpoints="0">

      <alternateadvancement_list>

        <alternateadvancement id="1154819799" tier="8" treeID="6"/>

        <alternateadvancement id="235151408" tier="5" treeID="35"/>

        <alternateadvancement id="2719331724" tier="2" treeID="6"/>

        <alternateadvancement id="3485492527" tier="1" treeID="66"/>

        <...lots more goes here...>

      </alternateadvancement_list>



    </alternateadvancements>



    The treeID matches up to the ID of the tree, the id matches up to spellcrc and the tier tells me what tier they have it upgraded to (but not neccesarily how many points because that can change from node to node).

    When I tried to devise a resolve to show all that, it didn't take long before I got wrapped around the axle.  It may be possible to come up with one that's useful, but with that much data needed about the nodes themselves, and so little info needed from the character data, it just seemed easier to do it without a resolve.

    Dethdlr

     
  11. Dethdlr

    Dethdlr Guest

    Oops.  I think I have that wrong.  I think id matches nodeid.  From there you use spellcrc to pull up the spell in the spell collection and the tier to get the specific spell they have it at.

     
  12. Lantis

    Lantis Guest

    To be honest, due to the complexity of the data in this particular case, it's a bit over my head to propose any actual data format that would still fit while being easier to use <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" />

     
  13. Dethdlr

    Dethdlr Guest

    lol.  That's pretty close to what I told him a few months ago.  :)  I kept asking him to do a resolve for it so it would all magically come together and he finally asked me what it should look like.  I thought, "Great!  I can come up with exactly what I think the resolve should look like!".  A few days and several beers later, I decided it would be better if just left alone.  :)

    It's a fairly complex structure and not easily simplified.  Probably not impossible, but not simple.  And most likely not worth it IMO since you can get pretty much what you need out of the current structure.

     
  14. Lantis

    Lantis Guest

    So how about a middle-ground: have c:resolve only resolve the fields I listed above (such as name, description, treename and branchname), without touching the alternateadvancement collection itself?  That would already be quite usefull IMHO (personally that's all I would need for RosterMaster's charviewer).

     
  15. DanKinney

    DanKinney Guest

    I'm okay with middle ground (and beer driven software development).

    -dan

     
  16. Lantis

    Lantis Guest

    Ok, so here's my proposal for resolved fields in the character collection, and what they map to from the alternateadvancement collection:

    name: <span style="white-space: pre;"> alternateadvancementnode.item['name']id: <span style="white-space: pre;"> alternateadvancementnode.item['nodeid'], already theredescription: <span style="white-space: pre;"> alternateadvancementnode.item['description']treeid <span style="white-space: pre;"> already there, maps to alternateadvancement['id']treename: <span style="white-space: pre;"> alternateadvancement['name']branchname (or classification?): <span style="white-space: pre;"> alternateadvancementnode.item['classification'] 

    Missing info that might be nice to also have in the character collection, for each AA:

    pointsspent <span style="white-space: pre;"> (how many points someone has spent in it)<span style="font-family: verdana, arial, helvetica, sans-serif; color: #aab6bd;">maxpoints <span style="white-space: pre;"> (the maximum number of points you can spend in it, not taking in account other requirement limitations?)

     

Share This Page