bungie-net-core
Version:
An easy way to interact with the Bungie.net API
94 lines (93 loc) • 4.68 kB
TypeScript
/**
* 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;
}