DestinyActivityDefinition class

The static data about Activities in Destiny 2. Note that an Activity must be combined with an ActivityMode to know - from a Gameplay perspective - what the user is "Playing". In most PvE activities, this is fairly straightforward. A Story Activity can only be played in the Story Activity Mode. However, in PvP activities, the Activity alone only tells you the map being played, or the Playlist that the user chose to enter. You'll need to know the Activity Mode they're playing to know that they're playing Mode X on Map Y. Activity Definitions tell a great deal of information about what could be relevant to a user: what rewards they can earn, what challenges could be performed, what modifiers could be applied. To figure out which of these properties is actually live, you'll need to combine the definition with "Live" data from one of the Destiny endpoints. Activities also have Activity Types, but unfortunately in Destiny 2 these are even less reliable of a source of information than they were in Destiny 1. I will be looking into ways to provide more reliable sources for type information as time goes on, but for now we're going to have to deal with the limitations. See DestinyActivityTypeDefinition for more information.

Annotations
  • @JsonSerializable()

Properties

activityGraphList List<DestinyActivityGraphListEntryDefinition>?
Unfortunately, in practice this is almost never populated. In theory, this is supposed to tell which Activity Graph to show if you bring up the director while in this activity.
getter/setter pair
activityLightLevel int?
The recommended light level for this activity.
getter/setter pair
activityLocationMappings List<DestinyEnvironmentLocationMapping>?
A list of location mappings that are affected by this activity. Pulled out of DestinyLocationDefinitions for our/your lookup convenience.
getter/setter pair
activityModeHashes List<int>?
The hash identifiers for Activity Modes relevant to this activity. Note that if this is a playlist, the specific playlist entry chosen will determine the actual activity modes that end up being relevant.
getter/setter pair
activityModeTypes List<DestinyActivityModeType>?
The activity modes - if any - in enum form. Because we can't seem to escape the enums.
getter/setter pair
activityTypeHash int?
The hash identifier for the Activity Type of this Activity. You may use it to look up the DestinyActivityTypeDefinition for human readable info, but be forewarned: Playlists and many PVP Map Activities will map to generic Activity Types. You'll have to use your knowledge of the Activity Mode being played to get more specific information about what the user is playing.
getter/setter pair
challenges List<DestinyActivityChallengeDefinition>?
An activity can have many Challenges, of which any subset of them may be active for play at any given period of time. This gives the information about the challenges and data that we use to understand when they're active and what rewards they provide. Sadly, at the moment there's no central definition for challenges: much like "Skulls" were in Destiny 1, these are defined on individual activities and there can be many duplicates/near duplicates across the Destiny 2 ecosystem. I have it in mind to centralize these in a future revision of the API, but we are out of time.
getter/setter pair
destinationHash int?
The hash identifier for the Destination on which this Activity is played. Use it to look up the DestinyDestinationDefinition for human readable info about the destination. A Destination can be thought of as a more specific location than a "Place". For instance, if the "Place" is Earth, the "Destination" would be a specific city or region on Earth.
getter/setter pair
directActivityModeHash int?
If this activity had an activity mode directly defined on it, this will be the hash of that mode.
getter/setter pair
directActivityModeType int?
If the activity had an activity mode directly defined on it, this will be the enum value of that mode.
getter/setter pair
displayProperties DestinyDisplayPropertiesDefinition?
The title, subtitle, and icon for the activity. We do a little post-processing on this to try and account for Activities where the designers have left this data too minimal to determine what activity is actually being played.
getter/setter pair
guidedGame DestinyActivityGuidedBlockDefinition?
This block of data, if it exists, provides information about the guided game experience and restrictions for this activity. If it doesn't exist, the game is not able to be played as a guided game.
getter/setter pair
hash int?
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.
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
index int?
The index of the entity as it was found in the investment tables.
getter/setter pair
insertionPoints List<DestinyActivityInsertionPointDefinition>?
The list of phases or points of entry into an activity, along with information we can use to determine their gating and availability.
getter/setter pair
isPlaylist bool?
If True, this Activity is actually a Playlist that refers to multiple possible specific Activities and Activity Modes. For instance, a Crucible Playlist may have references to multiple Activities (Maps) with multiple Activity Modes (specific PvP gameplay modes). If this is true, refer to the playlistItems property for the specific entries in the playlist.
getter/setter pair
isPvP bool?
If true, this activity is a PVP activity or playlist.
getter/setter pair
loadouts List<DestinyActivityLoadoutRequirementSet>?
The set of all possible loadout requirements that could be active for this activity. Only one will be active at any given time, and you can discover which one through activity-associated data such as Milestones that have activity info on them.
getter/setter pair
matchmaking DestinyActivityMatchmakingBlockDefinition?
This block of data provides information about the Activity's matchmaking attributes: how many people can join and such.
getter/setter pair
modifiers List<DestinyActivityModifierReferenceDefinition>?
Activities can have Modifiers, as defined in DestinyActivityModifierDefinition. These are references to the modifiers that can be applied to that activity, along with data that we use to determine if that modifier is actually active at any given point in time.
getter/setter pair
optionalUnlockStrings List<DestinyActivityUnlockStringDefinition>?
If there are status strings related to the activity and based on internal state of the game, account, or character, then this will be the definition of those strings and the states needed in order for the strings to be shown.
getter/setter pair
originalDisplayProperties DestinyDisplayPropertiesDefinition?
The unadulterated form of the display properties, as they ought to be shown in the Director (if the activity appears in the director).
getter/setter pair
pgcrImage String?
When Activities are completed, we generate a "Post-Game Carnage Report", or PGCR, with details about what happened in that activity (how many kills someone got, which team won, etc...) We use this image as the background when displaying PGCR information, and often use it when we refer to the Activity in general.
getter/setter pair
placeHash int?
The hash identifier for the "Place" on which this Activity is played. Use it to look up the DestinyPlaceDefinition for human readable info about the Place. A Place is the largest-scoped concept for location information. For instance, if the "Place" is Earth, the "Destination" would be a specific city or region on Earth.
getter/setter pair
playlistItems List<DestinyActivityPlaylistItemDefinition>?
Represents all of the possible activities that could be played in the Playlist, along with information that we can use to determine if they are active at the present time.
getter/setter pair
redacted bool?
If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!
getter/setter pair
releaseIcon String?
If the activity has an icon associated with a specific release (such as a DLC), this is the path to that release's icon.
getter/setter pair
releaseTime int?
If the activity will not be visible until a specific and known time, this will be the seconds since the Epoch when it will become visible.
getter/setter pair
rewards List<DestinyActivityRewardDefinition>?
The expected possible rewards for the activity. These rewards may or may not be accessible for an individual player based on their character state, the account state, and even the game's state overall. But it is a useful reference for possible rewards you can earn in the activity. These match up to rewards displayed when you hover over the Activity in the in-game Director, and often refer to Placeholder or "Dummy" items: items that tell you what you can earn in vague terms rather than what you'll specifically be earning (partly because the game doesn't even know what you'll earn specifically until you roll for it at the end)
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
selectionScreenDisplayProperties DestinyDisplayPropertiesDefinition?
The title, subtitle, and icon for the activity as determined by Selection Screen data, if there is any for this activity. There won't be data in this field if the activity is never shown in a selection/options screen.
getter/setter pair
tier int?
The difficulty tier of the activity.
getter/setter pair

Methods

asyncToJson() Future<Map<String, dynamic>>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toJson() Map<String, dynamic>
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

asyncFromJson(Map<String, dynamic> json) Future<DestinyActivityDefinition>