Bungie-net / api

Resources for the Bungie.net API
Other
1.21k stars 92 forks source link

Add WANTED Adventures to GetProfile.CharacterActivities[204] #711

Open lowlines opened 5 years ago

lowlines commented 5 years ago

Every week, Spider sells an orange WANTED bounty to go kill a boss enemy that is hiding in one or more Lost Sectors on a given destination. For some locations, the Lost Sector actually rotates on a daily basis allowing players to choose whether they complete the bounty in a more challenging location. Would it be possible to return the daily activityHash?


EDZ Bounty: 1704959157 WANTED: Silent Fang

EDZ Activities: 494635832 WANTED: Silent Fang (Winding Cove) 1111101131 WANTED: Silent Fang 3679946187 WANTED: Silent Fang

Titan Bounty: 2277930478 WANTED: Gravetide Summoner

Titan Activities: 186006588 WANTED: Gravetide Summoner 386959931 WANTED: Gravetide Summoner (DS Quarters-2) 497583046 WANTED: Gravetide Summoner (Methane Flush)

Nessus Bounty: 1781061075 WANTED: Arcadian Chord

Nessus Activities: 2431838030 WANTED: Arcadian Chord 3676143304 WANTED: Arcadian Chord 3774573332 WANTED: Arcadian Chord

Io Bounty: 2755895280 WANTED: Blood Cleaver

Io Activities 1003955024 WANTED: Blood Cleaver (Grove of Ulan-tan) 3957909528 WANTED: Blood Cleaver (Sanctum of Bones) 4275462311 WANTED: Blood Cleaver (Aphix Conduit)

Mercury Bounty: 3805779101 WANTED: Combustor Valus

Mercury Activity: 1835551337 WANTED: Combustor Valus

Mars Bounty: 3321772950 WANTED: Eye in the Dark

Mars Activities: 4150577752 WANTED: The Eye in the Dark 4199058482 WANTED: The Eye in the Dark


There should also be a locationHash for each of these activities as I've been checking against the data returned of the APIs and have seen them.

ghost commented 5 years ago

Adventures unfortunately are no CharacterActivities for the API - you can't get the current heroic adventure for the flashpoint that way, either. Activities are only things you can launch from orbit.

lowlines commented 5 years ago

That's not true. Adventures are an activity much like patrol missions and even public events, the latter which being the only type of activity in the game that doesn't have an ActivityDefinition in the manifest. That being said, both public events and adventures are marked in the Director, so it should be possible to return this state to get the activityHash for the CharacterActivities component.

ghost commented 5 years ago

My last sentence was a bit misleading, sorry! I was only referring to what that endpoint (CharacterActivities) returns, which is (as of now) just stuff that you can launch into directly from the director. There are many nodes & missions on the worldmap that you can select and track, but that aren't returned by CharacterActivities.

(Not that I don't want this to change or see CharacterActivities expanded, see #432)

vthornheart-bng commented 5 years ago

I'll have to give this some thought - this would be another place where we may have to add and maintain a manual relationship between these bounties and their activities/locations... and I'd like to do that, but I also have to be careful of signing us up for too much manual relationship creation work: it's the problem of staffing vs. future needs.

If we had these relationships available directly in the data, that will be a different story... but I'll need to do some investigation to see if that's something we can do. If we can hook this kind of data up automatically, I'm game for it. If it'll require something that we'll have to manually maintain going forward, we may have to go without.

I'll make a bug to track that investigation!

vthornheart-bng commented 5 years ago

TFS 717538

lowlines commented 5 years ago

I wasn't expecting the bounties to get linked up, i just listed them as part of my findings. All you really need to know is which activityHash is currently active for a given day for each destination. From what other folks have told me, it sounds like these are the same for every player. I'm quite happy to manually link the bounties and then hide them depending on whether the user has a non-expired bounty on them.