UNPKG

bungie-net-core

Version:

An easy way to interact with the Bungie.net API

94 lines (93 loc) 4.68 kB
/** * Bungie.Net API * These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality. * * Contact: support@bungie.com * * NOTE: This class is auto generated by the bungie-net-core code generator program * Repository: {@link https://github.com/owens1127/bungie-net-core} * Do not edit these files manually. */ import { DestinyActivityDifficultyTier } from './DestinyActivityDifficultyTier'; import { DestinyChallengeStatus } from './Challenges/DestinyChallengeStatus'; /** * Represents the "Live" data that we can obtain about a Character's status with a * specific Activity. This will tell you whether the character can participate in * the activity, as well as some other basic mutable information. * * Meant to be combined with static DestinyActivityDefinition data for a full * picture of the Activity. * @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.DestinyActivity} */ export interface DestinyActivity { /** * The hash identifier of the Activity. Use this to look up the * DestinyActivityDefinition of the activity. Mapped to DestinyActivityDefinition * in the manifest. */ readonly activityHash: number; /** If true, then the activity should have a "new" indicator in the Director UI. */ readonly isNew: boolean; /** If true, the user is allowed to lead a Fireteam into this activity. */ readonly canLead: boolean; /** If true, the user is allowed to join with another Fireteam in this activity. */ readonly canJoin: boolean; /** * If true, we both have the ability to know that the user has completed this * activity and they have completed it. Unfortunately, we can't necessarily know * this for all activities. As such, this should probably only be used if you * already know in advance which specific activities you wish to check. */ readonly isCompleted: boolean; /** If true, the user should be able to see this activity. */ readonly isVisible: boolean; /** The difficulty level of the activity, if applicable. */ readonly displayLevel?: number; /** The recommended light level for the activity, if applicable. */ readonly recommendedLight?: number; /** * A DestinyActivityDifficultyTier enum value indicating the difficulty of the * activity. */ readonly difficultyTier: DestinyActivityDifficultyTier; readonly challenges: DestinyChallengeStatus[]; /** * If the activity has modifiers, this will be the list of modifiers that all * variants have in common. Perform lookups against * DestinyActivityModifierDefinition which defines the modifier being applied to * get at the modifier data. * * Note that, in the DestiyActivityDefinition, you will see many more modifiers * than this being referred to: those are all *possible* modifiers for the activity, * not the active ones. Use only the active ones to match what's really live. * Mapped to DestinyActivityModifierDefinition in the manifest. */ readonly modifierHashes: number[]; /** * The set of activity options for this activity, keyed by an identifier that's * unique for this activity (not guaranteed to be unique between or across all * activities, though should be unique for every *variant* of a given *conceptual* * activity: for instance, the original D2 Raid has many variant * DestinyActivityDefinitions. While other activities could potentially have the * same option hashes, for any given D2 base Raid variant the hash will be unique). * * As a concrete example of this data, the hashes you get for Raids will correspond * to the currently active "Challenge Mode". * * We don't have any human readable information for these, but saavy 3rd party app * users could manually associate the key (a hash identifier for the "option" that * is enabled/disabled) and the value (whether it's enabled or disabled presently) * * On our side, we don't necessarily even know what these are used for (the game * designers know, but we don't), and we have no human readable data for them. In * order to use them, you will have to do some experimentation. */ readonly booleanActivityOptions: { [key: number]: boolean; }; /** * If returned, this is the index into the DestinyActivityDefinition's "loadouts" * property, indicating the currently active loadout requirements. */ readonly loadoutRequirementIndex?: number; }