bungie-net-core
Version:
An easy way to interact with the Bungie.net API
102 lines (101 loc) • 4.94 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 { DestinyDisplayPropertiesDefinition } from './Common/DestinyDisplayPropertiesDefinition';
import { DestinyActivityModeType } from '../HistoricalStats/Definitions/DestinyActivityModeType';
import { DestinyActivityModeCategory } from '../DestinyActivityModeCategory';
/**
* This definition represents an "Activity Mode" as it exists in the Historical
* Stats endpoints. An individual Activity Mode represents a collection of
* activities that are played in a certain way. For example, Nightfall Strikes are
* part of a "Nightfall" activity mode, and any activities played as the PVP mode "
* Clash" are part of the "Clash activity mode.
*
* Activity modes are nested under each other in a hierarchy, so that if you ask
* for - for example - "AllPvP", you will get any PVP activities that the user has
* played, regardless of what specific PVP mode was being played.
* @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.Definitions.DestinyActivityModeDefinition}
*/
export interface DestinyActivityModeDefinition {
readonly displayProperties: DestinyDisplayPropertiesDefinition;
/**
* If this activity mode has a related PGCR image, this will be the path to said
* image.
*/
readonly pgcrImage: string;
/**
* The Enumeration value for this Activity Mode. Pass this identifier into Stats
* endpoints to get aggregate stats for this mode.
*/
readonly modeType: DestinyActivityModeType;
/** The type of play being performed in broad terms (PVP, PVE) */
readonly activityModeCategory: DestinyActivityModeCategory;
/**
* If True, this mode has oppositional teams fighting against each other rather
* than "Free-For-All" or Co-operative modes of play.
*
* Note that Aggregate modes are never marked as team based, even if they happen to
* be team based at the moment. At any time, an aggregate whose subordinates are
* only team based could be changed so that one or more aren't team based, and then
* this boolean won't make much sense (the aggregation would become "sometimes team
* based"). Let's not deal with that right now.
*/
readonly isTeamBased: boolean;
/**
* If true, this mode is an aggregation of other, more specific modes rather than
* being a mode in itself. This includes modes that group Features/Events rather
* than Gameplay, such as Trials of The Nine: Trials of the Nine being an Event
* that is interesting to see aggregate data for, but when you play the activities
* within Trials of the Nine they are more specific activity modes such as Clash.
*/
readonly isAggregateMode: boolean;
/**
* The hash identifiers of the DestinyActivityModeDefinitions that represent all of
* the "parent" modes for this mode. For instance, the Nightfall Mode is also a
* member of AllStrikes and AllPvE.
*/
readonly parentHashes: number[];
/**
* A Friendly identifier you can use for referring to this Activity Mode. We really
* only used this in our URLs, so... you know, take that for whatever it's worth.
*/
readonly friendlyName: string;
/**
* If this exists, the mode has specific Activities (referred to by the Key) that
* should instead map to other Activity Modes when they are played. This was useful
* in D1 for Private Matches, where we wanted to have Private Matches as an
* activity mode while still referring to the specific mode being played.
*/
readonly activityModeMappings: {
[key: number]: DestinyActivityModeType;
};
/**
* If FALSE, we want to ignore this type when we're showing activity modes in BNet
* UI. It will still be returned in case 3rd parties want to use it for any purpose.
*/
readonly display: boolean;
/** The relative ordering of activity modes. */
readonly order: number;
/**
* The unique identifier for this entity. Guaranteed to be unique for the type of
* entity, but not globally.
*
* When entities refer to each other in Destiny content, it is this hash that they
* are referring to.
*/
readonly hash: number;
/** The index of the entity as it was found in the investment tables. */
readonly index: number;
/**
* If this is true, then there is an entity with this identifier/type combination,
* but BNet is not yet allowed to show it. Sorry!
*/
readonly redacted: boolean;
}