Bungie-net / api

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

Viewing available "random rolls" for perks in the api #611

Open ArkahnX opened 6 years ago

ArkahnX commented 6 years ago

With the new weapons and armor having randomly rolled perks on september 4th, whereabouts would I be looking in the api to find this relationship between a specific piece of gear and which perks can roll in which sockets? I'm imagining it would be in the mobile manifests somewhere once those go live? (But should still be able to find them in the swagger docs)

vthornheart-bng commented 6 years ago

Yes indeed! So you'll want to use the new randomized plug items property on the socket entries!

https://bungie-net.github.io/multi/schema_Destiny-Definitions-DestinyItemSocketEntryDefinition.html#schema_Destiny-Definitions-DestinyItemSocketEntryDefinition

That has every possible plug that can "roll" for a given socket. Some subset of them - 0 to many - will actually be insertable for that socket once it is instantiated.

ArkahnX commented 6 years ago

Cool, a subset of inventoryItemDefinition, looks like a simple array, should be easy enough.

Does this take into account where the perk would be in a typical perk tree? for instance, typically a weapon can have at most 3 scopes or barrels, since the new mobile manifests arent live yet, is it going to be possible to know which scopes / barrels can fit in which of those three slots?

To use Destiny 1 as an example, perks like firefly and outlaw were sometimes in the same slot, meaning you couldn't have both of them on certain weapons, while some others such as imago loop allowed you to roll firefly in one slot, and outlaw in the other

vthornheart-bng commented 6 years ago

Indeed - if you think of a perk as being the benefit granted by a specific plug, and also having some "type" (weapon frame, sight, bow string etc...), each of the sockets generally represent one of those types: so the randomized plugs defined in a given socket should generally all be of the same type and grant the same category/type/"style(?)" of benefits that plugs of that type provide.

However, there is nothing stopping the content creators and designers from breaking those rules, so I can't actually guarantee that a given socket will actually consistently fill a given role/type, and there may be places where items intentionally break that convention (I don't know if there is, just that there could be: either now or in the future).

ArkahnX commented 6 years ago

Thats good info

On the implementation side should we expect something like one array/object for each socket? from the sounds of it, using my example of barrels/scopes, that would count as one "socket" and could have 3 randomly selected plugs/perks (for example)

would this mean that example barrel/scope "A" could roll as any number of the 3 options for the random rolls?

If so, this is slightly different than how D1 worked, where every single perk slot had a fixed variety of what could roll, for instance only "scope 2" could roll "truesight" not scope 1 or 3 on a given weapon

hopefully that is clear

ArkahnX commented 6 years ago

Alright I figured out my question. How can I tell how many reusable plugs a given socket can support? for instance if you have a gun that always rolls three perks on a given socket, where can I find that "three"?

vthornheart-bng commented 6 years ago

Unfortunately, that is determined dynamically - we won't be guaranteed to know until an item actually rolls how many plugs will be available for the socket. There might be some times where it's configured such that it will end up being consistently predictable, but the actual operation of calculating it happens at runtime and has the potential to be affected by state.

I do think it would be cool to provide this information when we are able to know that it will be consistent at content generation time. Just know that there may/will be sockets for whom we can't predict it.

ArkahnX commented 6 years ago

Yeah this would be helpful to know! in the meantime I'll have to crowdsource data from other apps that record gear on players to get an idea of how many options you get for a given socket

floatingatoll commented 6 years ago

If it helps any, we’re cool with ammo counts varying somewhat, so it’s fine if perk grids vary somewhat!

On Aug 29, 2018, at 10:29, Vendal Thornheart notifications@github.com wrote:

Unfortunately, that is determined dynamically - we won't be guaranteed to know until an item actually rolls how many plugs will be available for the socket. There might be some times where it's configured such that it will end up being consistently predictable, but the actual operation of calculating it happens at runtime and has the potential to be affected by state.

I do think it would be cool to provide this information when we are able to know that it will be consistent at content generation time. Just know that there may/will be sockets for whom we can't predict it.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.