JavaScript is required to use Bungie.net

Group Avatar

BungieNetPlatform

"Updates, discussions, and documentation of the BungieNetPlatform API."

Request Join
originally posted in:BungieNetPlatform
Edited by lowlines: 9/14/2015 1:59:52 AM
1

A Quest To Learn More About Quests (Spoiler Free)

So by now, there's probably a stack of developers out there, hastily building new interfaces to put into their apps/websites for the masses. While having a collections checklist that I can check against Vendor Sale Items (instead of running back and forth between the Vendor and the Kiosk to compare) is at the top of my own todo list, I'm also very interested in Quests! All InventoryItems now have a bunch of new attributes on them specifically to handle questifying. The main quest line item will have a populated "setItemHashes" of all the Quest Steps for it as an ordered list. Quest Steps will then point to the main quest line through "questlineItemHash". They also have another attribute called "objectiveHashes" which points to the new DestinyObjectiveDefinition, which has information such as location (points to another new definition called DestinyLocationDefinition, which has destination, activity, bundle, etc), the vendor you need to speak to, a displayable description and a "completionValue" for where you need to do 500 of said objective to complete it. Like bounties, quest steps use the "values" attribute to represent reward items although unlike bounties, it is not specific as to how much of something you would get: [quote]values: { itemHashForExperience : 0 // Normally the value is how many of that item you will get }[/quote] There's also a bunch of conditionals that look to be part of the quests data, but I can't see much use for them at the moment. So say you want to create a listing for all quests in the game (and there are quite a few!!), you would first find all items where setItemHashes is populated (it's quite possible this will be used for other things later on, so you should really check the itemCategories first, but for sake of a quick filter this will work) and then iterate through each quest step and then output objectives and rewards. It sounds simple, but one full quest line can be made up of like 20 or more different definitions ranging from items, to activities, vendors, destinations, etc. Here's an example of a full questline (I specifically chose a Year One quest so it's not spoiling anything) mimicking the format used on Bungie.net, all dynamically loaded, no manual hard coded hashes required :) [url]https://www.dropbox.com/s/9h6fz81x3gohiau/destiny_quest_example.png?dl=0[/url] ...And here's the code for declassifying classified items ;) [spoiler]If only...[/spoiler] [url=http://bungienetplatform.wikia.com/wiki/GetAdvisorsForCurrentCharacter]GetAdvisorsForCurrentCharacter[/url] now has a "quests" section, which will return all the quests you currently have on you. [quote]"quests": { "quests": [ { "questHash": 3894626424, "stepHash": 1338294737, "stepObjectives": [ { "objectiveHash": 3694392391, "progress": 0, "isComplete": false, "destinationHash": 0, "activityHash": 0 }, { "objectiveHash": 3018232719, "progress": 0, "isComplete": false, "destinationHash": 0, "activityHash": 0 } ], "tracked": true, "itemInstanceId": "6917529057548953895" }, { "questHash": 3778754002, "stepHash": 1744354801, "stepObjectives": [ { "objectiveHash": 321604570, "progress": 0, "isComplete": false, "destinationHash": 2612139675, "activityHash": 0 } ], "tracked": false, "itemInstanceId": "6917529057548958763" } ] },[/quote] [edit] You can also find the quest bucket in your character's inventory under "Invisible". [edit2] Looks like the itemCategoryHashes were intentionally left empty (and the bucketTypeHash set to Hidden) on Quests to make it harder to data mine. While checking the setItemHashes works for the majority of quests, [url=http://destinytracker.com/Forums/Post/17877/2/site-news-destiny-tracker-database-view-all-the-105-quests]looks like[/url] there's still about 20 or so more than I thought there were :p Unfortunately I can't seem to find out whether the Abandoned Quests kiosk is being exposed anywhere, as you could use that to do something similar to bounties where you can see what other ones are available. Also once you complete a quest, it disappears altogether, leaving no record of your character ever having done it as far as I can tell. I've only gotten as far as getting a full list of quests in a format I can logically read through, but there's stacks of other hashes/attributes in there that you could use for like filtering by location/activity etc. Off Topic: This is just me, but I wouldn't mind having the option to replay a story questline at a later date through an Archived Quests Kiosk. I've played through all of the Year One quests on one character and there were some bits (particularly cutscenes) I had not seen in nearly a year because I couldn't go back later and replay/rewatch them since that would mean deleting one of my characters :p

Posting in language:

 

Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

  • Nothing to add here, just wanted to say good sleuthing! There is an unfortunately complicated dance you have to do to get all of the data you need, I'm glad you got to the bottom of it so quickly!

    Posting in language:

     

    Play nice. Take a minute to review our Code of Conduct before submitting your post. Cancel Edit Create Fireteam Post

You are not allowed to view this content.
;
preload icon
preload icon
preload icon