Documentation ¶
Index ¶
- Constants
- func Version() string
- type API
- func (a API) AppGetApplicationApiUsage(ctx context.Context, req AppGetApplicationApiUsageRequest) (*ServerResponse[ApiUsage], error)
- func (a API) AppGetBungieApplications(ctx context.Context, req AppGetBungieApplicationsRequest) (*ServerResponse[[]Application], error)
- func (a API) CommunityContentGetCommunityContent(ctx context.Context, req CommunityContentGetCommunityContentRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ContentGetContentById(ctx context.Context, req ContentGetContentByIdRequest) (*ServerResponse[ContentItemPublicContract], error)
- func (a API) ContentGetContentByTagAndType(ctx context.Context, req ContentGetContentByTagAndTypeRequest) (*ServerResponse[ContentItemPublicContract], error)
- func (a API) ContentGetContentType(ctx context.Context, req ContentGetContentTypeRequest) (*ServerResponse[ContentTypeDescription], error)
- func (a API) ContentRssNewsArticles(ctx context.Context, req ContentRssNewsArticlesRequest) (*ServerResponse[NewsArticleRssResponse], error)
- func (a API) ContentSearchContentByTagAndType(ctx context.Context, req ContentSearchContentByTagAndTypeRequest) (*ServerResponse[SearchResult[ContentItemPublicContract]], error)
- func (a API) ContentSearchContentWithText(ctx context.Context, req ContentSearchContentWithTextRequest) (*ServerResponse[SearchResult[ContentItemPublicContract]], error)
- func (a API) ContentSearchHelpArticles(ctx context.Context, req ContentSearchHelpArticlesRequest) (*ServerResponse[any], error)
- func (a API) Destiny2AwaGetActionToken(ctx context.Context, req Destiny2AwaGetActionTokenRequest) (*ServerResponse[AwaAuthorizationResult], error)
- func (a API) Destiny2AwaInitializeRequest(ctx context.Context, req Destiny2AwaInitializeRequestRequest) (*ServerResponse[AwaInitializeResponse], error)
- func (a API) Destiny2AwaProvideAuthorizationResult(ctx context.Context, req Destiny2AwaProvideAuthorizationResultRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2ClearLoadout(ctx context.Context, req Destiny2ClearLoadoutRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2EquipItem(ctx context.Context, req Destiny2EquipItemRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2EquipItems(ctx context.Context, req Destiny2EquipItemsRequest) (*ServerResponse[EquipItemResults], error)
- func (a API) Destiny2EquipLoadout(ctx context.Context, req Destiny2EquipLoadoutRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2GetActivityHistory(ctx context.Context, req Destiny2GetActivityHistoryRequest) (*ServerResponse[ActivityHistoryResults], error)
- func (a API) Destiny2GetCharacter(ctx context.Context, req Destiny2GetCharacterRequest) (*ServerResponse[CharacterResponse], error)
- func (a API) Destiny2GetClanAggregateStats(ctx context.Context, req Destiny2GetClanAggregateStatsRequest) (*ServerResponse[[]ClanAggregateStat], error)
- func (a API) Destiny2GetClanBannerSource(ctx context.Context, req Destiny2GetClanBannerSourceRequest) (*ServerResponse[ClanBannerSource], error)
- func (a API) Destiny2GetClanLeaderboards(ctx context.Context, req Destiny2GetClanLeaderboardsRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
- func (a API) Destiny2GetClanWeeklyRewardState(ctx context.Context, req Destiny2GetClanWeeklyRewardStateRequest) (*ServerResponse[Milestone], error)
- func (a API) Destiny2GetCollectibleNodeDetails(ctx context.Context, req Destiny2GetCollectibleNodeDetailsRequest) (*ServerResponse[CollectibleNodeDetailResponse], error)
- func (a API) Destiny2GetDestinyAggregateActivityStats(ctx context.Context, req Destiny2GetDestinyAggregateActivityStatsRequest) (*ServerResponse[AggregateActivityResults], error)
- func (a API) Destiny2GetDestinyEntityDefinition(ctx context.Context, req Destiny2GetDestinyEntityDefinitionRequest) (*ServerResponse[Definition], error)
- func (a API) Destiny2GetDestinyManifest(ctx context.Context, req Destiny2GetDestinyManifestRequest) (*ServerResponse[Manifest], error)
- func (a API) Destiny2GetHistoricalStats(ctx context.Context, req Destiny2GetHistoricalStatsRequest) (*ServerResponse[map[string]HistoricalStatsByPeriod], error)
- func (a API) Destiny2GetHistoricalStatsDefinition(ctx context.Context, req Destiny2GetHistoricalStatsDefinitionRequest) (*ServerResponse[map[string]HistoricalStatsDefinition], error)
- func (a API) Destiny2GetHistoricalStatsForAccount(ctx context.Context, req Destiny2GetHistoricalStatsForAccountRequest) (*ServerResponse[HistoricalStatsAccountResult], error)
- func (a API) Destiny2GetItem(ctx context.Context, req Destiny2GetItemRequest) (*ServerResponse[ItemResponse], error)
- func (a API) Destiny2GetLeaderboards(ctx context.Context, req Destiny2GetLeaderboardsRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
- func (a API) Destiny2GetLeaderboardsForCharacter(ctx context.Context, req Destiny2GetLeaderboardsForCharacterRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
- func (a API) Destiny2GetLinkedProfiles(ctx context.Context, req Destiny2GetLinkedProfilesRequest) (*ServerResponse[LinkedProfilesResponse], error)
- func (a API) Destiny2GetPostGameCarnageReport(ctx context.Context, req Destiny2GetPostGameCarnageReportRequest) (*ServerResponse[PostGameCarnageReportData], error)
- func (a API) Destiny2GetProfile(ctx context.Context, req Destiny2GetProfileRequest) (*ServerResponse[ProfileResponse], error)
- func (a API) Destiny2GetPublicMilestoneContent(ctx context.Context, req Destiny2GetPublicMilestoneContentRequest) (*ServerResponse[MilestoneContent], error)
- func (a API) Destiny2GetPublicMilestones(ctx context.Context, req Destiny2GetPublicMilestonesRequest) (*ServerResponse[map[uint32]PublicMilestone], error)
- func (a API) Destiny2GetPublicVendors(ctx context.Context, req Destiny2GetPublicVendorsRequest) (*ServerResponse[PublicVendorsResponse], error)
- func (a API) Destiny2GetUniqueWeaponHistory(ctx context.Context, req Destiny2GetUniqueWeaponHistoryRequest) (*ServerResponse[HistoricalWeaponStatsData], error)
- func (a API) Destiny2GetVendor(ctx context.Context, req Destiny2GetVendorRequest) (*ServerResponse[VendorResponse], error)
- func (a API) Destiny2GetVendors(ctx context.Context, req Destiny2GetVendorsRequest) (*ServerResponse[VendorsResponse], error)
- func (a API) Destiny2InsertSocketPlug(ctx context.Context, req Destiny2InsertSocketPlugRequest) (*ServerResponse[ItemChangeResponse], error)
- func (a API) Destiny2InsertSocketPlugFree(ctx context.Context, req Destiny2InsertSocketPlugFreeRequest) (*ServerResponse[ItemChangeResponse], error)
- func (a API) Destiny2PullFromPostmaster(ctx context.Context, req Destiny2PullFromPostmasterRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2ReportOffensivePostGameCarnageReportPlayer(ctx context.Context, ...) (*ServerResponse[int32], error)
- func (a API) Destiny2SearchDestinyEntities(ctx context.Context, req Destiny2SearchDestinyEntitiesRequest) (*ServerResponse[EntitySearchResult], error)
- func (a API) Destiny2SearchDestinyPlayerByBungieName(ctx context.Context, req Destiny2SearchDestinyPlayerByBungieNameRequest) (*ServerResponse[[]UserInfoCard], error)
- func (a API) Destiny2SetItemLockState(ctx context.Context, req Destiny2SetItemLockStateRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2SetQuestTrackedState(ctx context.Context, req Destiny2SetQuestTrackedStateRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2SnapshotLoadout(ctx context.Context, req Destiny2SnapshotLoadoutRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2TransferItem(ctx context.Context, req Destiny2TransferItemRequest) (*ServerResponse[int32], error)
- func (a API) Destiny2UpdateLoadoutIdentifiers(ctx context.Context, req Destiny2UpdateLoadoutIdentifiersRequest) (*ServerResponse[int32], error)
- func (a API) FireteamGetActivePrivateClanFireteamCount(ctx context.Context, req FireteamGetActivePrivateClanFireteamCountRequest) (*ServerResponse[int32], error)
- func (a API) FireteamGetAvailableClanFireteams(ctx context.Context, req FireteamGetAvailableClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamSummary]], error)
- func (a API) FireteamGetClanFireteam(ctx context.Context, req FireteamGetClanFireteamRequest) (*ServerResponse[FireteamResponse], error)
- func (a API) FireteamGetMyClanFireteams(ctx context.Context, req FireteamGetMyClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamResponse]], error)
- func (a API) FireteamSearchPublicAvailableClanFireteams(ctx context.Context, req FireteamSearchPublicAvailableClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamSummary]], error)
- func (a API) ForumGetCoreTopicsPaged(ctx context.Context, req ForumGetCoreTopicsPagedRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetForumTagSuggestions(ctx context.Context, req ForumGetForumTagSuggestionsRequest) (*ServerResponse[[]TagResponse], error)
- func (a API) ForumGetPoll(ctx context.Context, req ForumGetPollRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetPostAndParent(ctx context.Context, req ForumGetPostAndParentRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetPostAndParentAwaitingApproval(ctx context.Context, req ForumGetPostAndParentAwaitingApprovalRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetPostsThreadedPaged(ctx context.Context, req ForumGetPostsThreadedPagedRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetPostsThreadedPagedFromChild(ctx context.Context, req ForumGetPostsThreadedPagedFromChildRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) ForumGetRecruitmentThreadSummaries(ctx context.Context, req ForumGetRecruitmentThreadSummariesRequest) (*ServerResponse[[]ForumRecruitmentDetail], error)
- func (a API) ForumGetTopicForContent(ctx context.Context, req ForumGetTopicForContentRequest) (*ServerResponse[Int64], error)
- func (a API) ForumGetTopicsPaged(ctx context.Context, req ForumGetTopicsPagedRequest) (*ServerResponse[PostSearchResponse], error)
- func (a API) GetAvailableLocales(ctx context.Context, req GetAvailableLocalesRequest) (*ServerResponse[map[string]string], error)
- func (a *API) GetClient() Client
- func (a API) GetCommonSettings(ctx context.Context, req GetCommonSettingsRequest) (*ServerResponse[CoreSettingsConfiguration], error)
- func (a API) GetDef(table string, hash uint32, out any) error
- func (a API) GetGlobalAlerts(ctx context.Context, req GetGlobalAlertsRequest) (*ServerResponse[[]GlobalAlert], error)
- func (a API) GetUserSystemOverrides(ctx context.Context, req GetUserSystemOverridesRequest) (*ServerResponse[map[string]CoreSystem], error)
- func (a API) GroupV2AbdicateFoundership(ctx context.Context, req GroupV2AbdicateFoundershipRequest) (*ServerResponse[bool], error)
- func (a API) GroupV2AddOptionalConversation(ctx context.Context, req GroupV2AddOptionalConversationRequest) (*ServerResponse[Int64], error)
- func (a API) GroupV2ApproveAllPending(ctx context.Context, req GroupV2ApproveAllPendingRequest) (*ServerResponse[[]EntityActionResult], error)
- func (a API) GroupV2ApprovePending(ctx context.Context, req GroupV2ApprovePendingRequest) (*ServerResponse[bool], error)
- func (a API) GroupV2ApprovePendingForList(ctx context.Context, req GroupV2ApprovePendingForListRequest) (*ServerResponse[[]EntityActionResult], error)
- func (a API) GroupV2BanMember(ctx context.Context, req GroupV2BanMemberRequest) (*ServerResponse[int32], error)
- func (a API) GroupV2DenyAllPending(ctx context.Context, req GroupV2DenyAllPendingRequest) (*ServerResponse[[]EntityActionResult], error)
- func (a API) GroupV2DenyPendingForList(ctx context.Context, req GroupV2DenyPendingForListRequest) (*ServerResponse[[]EntityActionResult], error)
- func (a API) GroupV2EditClanBanner(ctx context.Context, req GroupV2EditClanBannerRequest) (*ServerResponse[int32], error)
- func (a API) GroupV2EditFounderOptions(ctx context.Context, req GroupV2EditFounderOptionsRequest) (*ServerResponse[int32], error)
- func (a API) GroupV2EditGroup(ctx context.Context, req GroupV2EditGroupRequest) (*ServerResponse[int32], error)
- func (a API) GroupV2EditGroupMembership(ctx context.Context, req GroupV2EditGroupMembershipRequest) (*ServerResponse[int32], error)
- func (a API) GroupV2EditOptionalConversation(ctx context.Context, req GroupV2EditOptionalConversationRequest) (*ServerResponse[Int64], error)
- func (a API) GroupV2GetAdminsAndFounderOfGroup(ctx context.Context, req GroupV2GetAdminsAndFounderOfGroupRequest) (*ServerResponse[SearchResult[GroupMember]], error)
- func (a API) GroupV2GetAvailableAvatars(ctx context.Context, req GroupV2GetAvailableAvatarsRequest) (*ServerResponse[map[int32]string], error)
- func (a API) GroupV2GetAvailableThemes(ctx context.Context, req GroupV2GetAvailableThemesRequest) (*ServerResponse[[]GroupTheme], error)
- func (a API) GroupV2GetBannedMembersOfGroup(ctx context.Context, req GroupV2GetBannedMembersOfGroupRequest) (*ServerResponse[SearchResult[GroupBan]], error)
- func (a API) GroupV2GetGroup(ctx context.Context, req GroupV2GetGroupRequest) (*ServerResponse[GroupResponse], error)
- func (a API) GroupV2GetGroupByName(ctx context.Context, req GroupV2GetGroupByNameRequest) (*ServerResponse[GroupResponse], error)
- func (a API) GroupV2GetGroupByNameV2(ctx context.Context, req GroupV2GetGroupByNameV2Request) (*ServerResponse[GroupResponse], error)
- func (a API) GroupV2GetGroupOptionalConversations(ctx context.Context, req GroupV2GetGroupOptionalConversationsRequest) (*ServerResponse[[]GroupOptionalConversation], error)
- func (a API) GroupV2GetGroupsForMember(ctx context.Context, req GroupV2GetGroupsForMemberRequest) (*ServerResponse[GetGroupsForMemberResponse], error)
- func (a API) GroupV2GetInvitedIndividuals(ctx context.Context, req GroupV2GetInvitedIndividualsRequest) (*ServerResponse[SearchResult[GroupMemberApplication]], error)
- func (a API) GroupV2GetMembersOfGroup(ctx context.Context, req GroupV2GetMembersOfGroupRequest) (*ServerResponse[SearchResult[GroupMember]], error)
- func (a API) GroupV2GetPendingMemberships(ctx context.Context, req GroupV2GetPendingMembershipsRequest) (*ServerResponse[SearchResult[GroupMemberApplication]], error)
- func (a API) GroupV2GetPotentialGroupsForMember(ctx context.Context, req GroupV2GetPotentialGroupsForMemberRequest) (*ServerResponse[GroupPotentialMembershipSearchResponse], error)
- func (a API) GroupV2GetRecommendedGroups(ctx context.Context, req GroupV2GetRecommendedGroupsRequest) (*ServerResponse[[]GroupV2Card], error)
- func (a API) GroupV2GetUserClanInviteSetting(ctx context.Context, req GroupV2GetUserClanInviteSettingRequest) (*ServerResponse[bool], error)
- func (a API) GroupV2GroupSearch(ctx context.Context, req GroupV2GroupSearchRequest) (*ServerResponse[GroupSearchResponse], error)
- func (a API) GroupV2IndividualGroupInvite(ctx context.Context, req GroupV2IndividualGroupInviteRequest) (*ServerResponse[GroupApplicationResponse], error)
- func (a API) GroupV2IndividualGroupInviteCancel(ctx context.Context, req GroupV2IndividualGroupInviteCancelRequest) (*ServerResponse[GroupApplicationResponse], error)
- func (a API) GroupV2KickMember(ctx context.Context, req GroupV2KickMemberRequest) (*ServerResponse[GroupMemberLeaveResult], error)
- func (a API) GroupV2RecoverGroupForFounder(ctx context.Context, req GroupV2RecoverGroupForFounderRequest) (*ServerResponse[GroupMembershipSearchResponse], error)
- func (a API) GroupV2UnbanMember(ctx context.Context, req GroupV2UnbanMemberRequest) (*ServerResponse[int32], error)
- func (a API) SocialAcceptFriendRequest(ctx context.Context, req SocialAcceptFriendRequestRequest) (*ServerResponse[bool], error)
- func (a API) SocialDeclineFriendRequest(ctx context.Context, req SocialDeclineFriendRequestRequest) (*ServerResponse[bool], error)
- func (a API) SocialGetFriendList(ctx context.Context, req SocialGetFriendListRequest) (*ServerResponse[BungieFriendListResponse], error)
- func (a API) SocialGetFriendRequestList(ctx context.Context, req SocialGetFriendRequestListRequest) (*ServerResponse[BungieFriendRequestListResponse], error)
- func (a API) SocialGetPlatformFriendList(ctx context.Context, req SocialGetPlatformFriendListRequest) (*ServerResponse[PlatformFriendResponse], error)
- func (a API) SocialIssueFriendRequest(ctx context.Context, req SocialIssueFriendRequestRequest) (*ServerResponse[bool], error)
- func (a API) SocialRemoveFriend(ctx context.Context, req SocialRemoveFriendRequest) (*ServerResponse[bool], error)
- func (a API) SocialRemoveFriendRequest(ctx context.Context, req SocialRemoveFriendRequestRequest) (*ServerResponse[bool], error)
- func (a API) TokensApplyMissingPartnerOffersWithoutClaim(ctx context.Context, req TokensApplyMissingPartnerOffersWithoutClaimRequest) (*ServerResponse[bool], error)
- func (a API) TokensClaimPartnerOffer(ctx context.Context, req TokensClaimPartnerOfferRequest) (*ServerResponse[bool], error)
- func (a API) TokensForceDropsRepair(ctx context.Context, req TokensForceDropsRepairRequest) (*ServerResponse[bool], error)
- func (a API) TokensGetBungieRewardsForPlatformUser(ctx context.Context, req TokensGetBungieRewardsForPlatformUserRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
- func (a API) TokensGetBungieRewardsForUser(ctx context.Context, req TokensGetBungieRewardsForUserRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
- func (a API) TokensGetBungieRewardsList(ctx context.Context, req TokensGetBungieRewardsListRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
- func (a API) TokensGetPartnerOfferSkuHistory(ctx context.Context, req TokensGetPartnerOfferSkuHistoryRequest) (*ServerResponse[[]PartnerOfferSkuHistoryResponse], error)
- func (a API) TokensGetPartnerRewardHistory(ctx context.Context, req TokensGetPartnerRewardHistoryRequest) (*ServerResponse[PartnerRewardHistoryResponse], error)
- func (a API) TrendingGetTrendingCategories(ctx context.Context, req TrendingGetTrendingCategoriesRequest) (*ServerResponse[TrendingCategories], error)
- func (a API) TrendingGetTrendingCategory(ctx context.Context, req TrendingGetTrendingCategoryRequest) (*ServerResponse[SearchResult[TrendingEntry]], error)
- func (a API) TrendingGetTrendingEntryDetail(ctx context.Context, req TrendingGetTrendingEntryDetailRequest) (*ServerResponse[TrendingDetail], error)
- func (a API) UserGetAvailableThemes(ctx context.Context, req UserGetAvailableThemesRequest) (*ServerResponse[[]UserTheme], error)
- func (a API) UserGetBungieNetUserById(ctx context.Context, req UserGetBungieNetUserByIdRequest) (*ServerResponse[GeneralUser], error)
- func (a API) UserGetCredentialTypesForTargetAccount(ctx context.Context, req UserGetCredentialTypesForTargetAccountRequest) (*ServerResponse[[]GetCredentialTypesForAccountResponse], error)
- func (a API) UserGetMembershipDataById(ctx context.Context, req UserGetMembershipDataByIdRequest) (*ServerResponse[UserMembershipData], error)
- func (a API) UserGetMembershipDataForCurrentUser(ctx context.Context, req UserGetMembershipDataForCurrentUserRequest) (*ServerResponse[UserMembershipData], error)
- func (a API) UserGetMembershipFromHardLinkedCredential(ctx context.Context, req UserGetMembershipFromHardLinkedCredentialRequest) (*ServerResponse[HardLinkedUserMembership], error)
- func (a API) UserGetSanitizedPlatformDisplayNames(ctx context.Context, req UserGetSanitizedPlatformDisplayNamesRequest) (*ServerResponse[map[string]string], error)
- func (a API) UserSearchByGlobalNamePost(ctx context.Context, req UserSearchByGlobalNamePostRequest) (*ServerResponse[UserSearchResponse], error)
- func (a API) UserSearchByGlobalNamePrefix(ctx context.Context, req UserSearchByGlobalNamePrefixRequest) (*ServerResponse[UserSearchResponse], error)
- func (a *API) WithAuthToken(tok string) *API
- func (a *API) WithBaseURL(url string) *API
- func (a *API) WithInterceptor(interceptor func(c Client) Client) *API
- func (a *API) WithInterceptorFunc(f InterceptorFunc) *API
- type ActionRequest
- type Activity
- type ActivityChallengeDefinition
- type ActivityDefinition
- type ActivityDifficultyTier
- type ActivityGraphArtElementDefinition
- type ActivityGraphConnectionDefinition
- type ActivityGraphDefinition
- type ActivityGraphDisplayObjectiveDefinition
- type ActivityGraphDisplayProgressionDefinition
- type ActivityGraphListEntryDefinition
- type ActivityGraphNodeActivityDefinition
- type ActivityGraphNodeDefinition
- type ActivityGraphNodeFeaturingStateDefinition
- type ActivityGraphNodeHighlightType
- type ActivityGraphNodeStateEntry
- type ActivityGuidedBlockDefinition
- type ActivityHistoryResults
- type ActivityInsertionPointDefinition
- type ActivityLoadoutRequirement
- type ActivityLoadoutRequirementSet
- type ActivityMatchmakingBlockDefinition
- type ActivityModeCategory
- type ActivityModeDefinition
- type ActivityModeType
- type ActivityModifierDefinition
- type ActivityModifierReferenceDefinition
- type ActivityNavPointType
- type ActivityPlaylistItemDefinition
- type ActivityRewardDefinition
- type ActivityTypeDefinition
- type ActivityUnlockStringDefinition
- type AggregateActivityResults
- type AggregateActivityStats
- type AmmunitionType
- type AnimationReference
- type ApiUsage
- type AppGetApplicationApiUsageRequest
- type AppGetBungieApplicationsRequest
- type Application
- type ApplicationDeveloper
- type ApplicationScopes
- type ApplicationStatus
- type ArrangementRegionFilterDefinition
- type ArtDyeReference
- type ArtifactCharacterScoped
- type ArtifactDefinition
- type ArtifactProfileScoped
- type ArtifactTier
- type ArtifactTierDefinition
- type ArtifactTierItem
- type ArtifactTierItemDefinition
- type AwaAuthorizationResult
- type AwaInitializeResponse
- type AwaPermissionRequested
- type AwaResponseReason
- type AwaType
- type AwaUserResponse
- type AwaUserSelection
- type BaseItemComponentSet
- type BitmaskSet
- type BreakerType
- type BreakerTypeDefinition
- type BubbleDefinition
- type BucketCategory
- type BucketScope
- type BungieCredentialType
- type BungieError
- type BungieFriend
- type BungieFriendListResponse
- type BungieFriendRequestListResponse
- type BungieMembershipType
- type BungieRewardDisplay
- type Capabilities
- type ChallengeStatus
- type CharacterActionRequest
- type CharacterActivitiesComponent
- type CharacterComponent
- type CharacterCustomization
- type CharacterPeerView
- type CharacterProgressionComponent
- type CharacterRecordsComponent
- type CharacterRenderComponent
- type CharacterResponse
- type ChatSecuritySetting
- type ChecklistDefinition
- type ChecklistEntryDefinition
- type ClanAggregateStat
- type ClanBanner
- type ClanBannerDecal
- type ClanBannerSource
- type Class
- type ClassDefinition
- type Client
- type ClientRequest
- type CollectibleAcquisitionBlock
- type CollectibleComponent
- type CollectibleDefinition
- type CollectibleDefinitions
- type CollectibleNodeDetailResponse
- type CollectibleState
- type CollectibleStateBlock
- type CollectiblesComponent
- type Color
- type CommentSummary
- type CommunityContentGetCommunityContentRequest
- type CommunityContentSortMode
- type ComponentPrivacySetting
- type ComponentResponse
- type ComponentType
- type ContentGetContentByIdRequest
- type ContentGetContentByTagAndTypeRequest
- type ContentGetContentTypeRequest
- type ContentItemPublicContract
- type ContentPreview
- type ContentPropertyDataType
- type ContentRepresentation
- type ContentRssNewsArticlesRequest
- type ContentSearchContentByTagAndTypeRequest
- type ContentSearchContentWithTextRequest
- type ContentSearchHelpArticlesRequest
- type ContentTypeDefaultValue
- type ContentTypeDescription
- type ContentTypeProperty
- type ContentTypePropertySection
- type CoreSetting
- type CoreSettings
- type CoreSettingsConfiguration
- type CoreSystem
- type CraftableComponent
- type CraftableSocketComponent
- type CraftableSocketPlugComponent
- type CraftablesComponent
- type CrossSaveUserMembership
- type CurrenciesComponent
- type DamageType
- type DamageTypeDefinition
- type Datapoint
- type DateRange
- type DefSource
- type DefaultClient
- type Definition
- type DerivedItemCategoryDefinition
- type DerivedItemDefinition
- type DestinationBubbleSettingDefinition
- type DestinationDefinition
- type Destiny2AwaGetActionTokenRequest
- type Destiny2AwaInitializeRequestRequest
- type Destiny2AwaProvideAuthorizationResultRequest
- type Destiny2ClearLoadoutRequest
- type Destiny2EquipItemRequest
- type Destiny2EquipItemsRequest
- type Destiny2EquipLoadoutRequest
- type Destiny2GetActivityHistoryRequest
- type Destiny2GetCharacterRequest
- type Destiny2GetClanAggregateStatsRequest
- type Destiny2GetClanBannerSourceRequest
- type Destiny2GetClanLeaderboardsRequest
- type Destiny2GetClanWeeklyRewardStateRequest
- type Destiny2GetCollectibleNodeDetailsRequest
- type Destiny2GetDestinyAggregateActivityStatsRequest
- type Destiny2GetDestinyEntityDefinitionRequest
- type Destiny2GetDestinyManifestRequest
- type Destiny2GetHistoricalStatsDefinitionRequest
- type Destiny2GetHistoricalStatsForAccountRequest
- type Destiny2GetHistoricalStatsRequest
- type Destiny2GetItemRequest
- type Destiny2GetLeaderboardsForCharacterRequest
- type Destiny2GetLeaderboardsRequest
- type Destiny2GetLinkedProfilesRequest
- type Destiny2GetPostGameCarnageReportRequest
- type Destiny2GetProfileRequest
- type Destiny2GetPublicMilestoneContentRequest
- type Destiny2GetPublicMilestonesRequest
- type Destiny2GetPublicVendorsRequest
- type Destiny2GetUniqueWeaponHistoryRequest
- type Destiny2GetVendorRequest
- type Destiny2GetVendorsRequest
- type Destiny2InsertSocketPlugFreeRequest
- type Destiny2InsertSocketPlugRequest
- type Destiny2PullFromPostmasterRequest
- type Destiny2ReportOffensivePostGameCarnageReportPlayerRequest
- type Destiny2SearchDestinyEntitiesRequest
- type Destiny2SearchDestinyPlayerByBungieNameRequest
- type Destiny2SetItemLockStateRequest
- type Destiny2SetQuestTrackedStateRequest
- type Destiny2SnapshotLoadoutRequest
- type Destiny2TransferItemRequest
- type Destiny2UpdateLoadoutIdentifiersRequest
- type DeveloperRole
- type DisplayCategoryDefinition
- type DisplayPropertiesDefinition
- type DropState
- type DyeReference
- type EMailSettingLocalization
- type EMailSettingSubscriptionLocalization
- type EmailOptInDefinition
- type EmailSettings
- type EmailSubscriptionDefinition
- type EmailViewDefinition
- type EmailViewDefinitionSetting
- type EnergyCapacityEntry
- type EnergyCostEntry
- type EnergyType
- type EnergyTypeDefinition
- type EntityActionResult
- type EntitySearchResult
- type EntitySearchResultItem
- type EnvironmentLocationMapping
- type EquipFailureReason
- type EquipItemResult
- type EquipItemResults
- type EquipmentSlotDefinition
- type EquippingBlockDefinition
- type EquippingItemBlockAttributes
- type ErrorProfile
- type EventCardDefinition
- type EventCardImages
- type ExactSearchRequest
- type FactionDefinition
- type FactionProgression
- type FactionVendorDefinition
- type FireteamDateRange
- type FireteamGetActivePrivateClanFireteamCountRequest
- type FireteamGetAvailableClanFireteamsRequest
- type FireteamGetClanFireteamRequest
- type FireteamGetMyClanFireteamsRequest
- type FireteamMember
- type FireteamPlatform
- type FireteamPlatformInviteResult
- type FireteamPublicSearchOption
- type FireteamResponse
- type FireteamSearchPublicAvailableClanFireteamsRequest
- type FireteamSlotSearch
- type FireteamSummary
- type FireteamUserInfoCard
- type ForumFlags
- type ForumGetCoreTopicsPagedRequest
- type ForumGetForumTagSuggestionsRequest
- type ForumGetPollRequest
- type ForumGetPostAndParentAwaitingApprovalRequest
- type ForumGetPostAndParentRequest
- type ForumGetPostsThreadedPagedFromChildRequest
- type ForumGetPostsThreadedPagedRequest
- type ForumGetRecruitmentThreadSummariesRequest
- type ForumGetTopicForContentRequest
- type ForumGetTopicsPagedRequest
- type ForumMediaType
- type ForumPostCategory
- type ForumPostPopularity
- type ForumPostSort
- type ForumRecruitmentDetail
- type ForumRecruitmentIntensityLabel
- type ForumRecruitmentToneLabel
- type ForumTopicsCategoryFilters
- type ForumTopicsQuickDate
- type ForumTopicsSort
- type FriendRelationshipState
- type GamePrivacySetting
- type GameVersions
- type GatingScope
- type GearArtArrangementReference
- type GearAssetDataBaseDefinition
- type Gender
- type GenderDefinition
- type GeneralUser
- type GetAvailableLocalesRequest
- type GetCommonSettingsRequest
- type GetCredentialTypesForAccountResponse
- type GetGlobalAlertsRequest
- type GetGroupsForMemberResponse
- type GetUserSystemOverridesRequest
- type GlobalAlert
- type GlobalAlertLevel
- type GlobalAlertType
- type GraphNodeState
- type GroupAllianceStatus
- type GroupApplicationListRequest
- type GroupApplicationRequest
- type GroupApplicationResolveState
- type GroupApplicationResponse
- type GroupBan
- type GroupBanRequest
- type GroupDateRange
- type GroupEditAction
- type GroupFeatures
- type GroupHomepage
- type GroupMember
- type GroupMemberApplication
- type GroupMemberCountFilter
- type GroupMemberLeaveResult
- type GroupMembership
- type GroupMembershipBase
- type GroupMembershipSearchResponse
- type GroupNameSearchRequest
- type GroupOptionalConversation
- type GroupOptionalConversationAddRequest
- type GroupOptionalConversationEditRequest
- type GroupOptionsEditAction
- type GroupPostPublicity
- type GroupPotentialMember
- type GroupPotentialMemberStatus
- type GroupPotentialMembership
- type GroupPotentialMembershipSearchResponse
- type GroupQuery
- type GroupResponse
- type GroupSearchResponse
- type GroupSortBy
- type GroupTheme
- type GroupType
- type GroupUserBase
- type GroupUserInfoCard
- type GroupV2
- type GroupV2AbdicateFoundershipRequest
- type GroupV2AddOptionalConversationRequest
- type GroupV2ApproveAllPendingRequest
- type GroupV2ApprovePendingForListRequest
- type GroupV2ApprovePendingRequest
- type GroupV2BanMemberRequest
- type GroupV2Card
- type GroupV2ClanInfo
- type GroupV2ClanInfoAndInvestment
- type GroupV2DenyAllPendingRequest
- type GroupV2DenyPendingForListRequest
- type GroupV2EditClanBannerRequest
- type GroupV2EditFounderOptionsRequest
- type GroupV2EditGroupMembershipRequest
- type GroupV2EditGroupRequest
- type GroupV2EditOptionalConversationRequest
- type GroupV2GetAdminsAndFounderOfGroupRequest
- type GroupV2GetAvailableAvatarsRequest
- type GroupV2GetAvailableThemesRequest
- type GroupV2GetBannedMembersOfGroupRequest
- type GroupV2GetGroupByNameRequest
- type GroupV2GetGroupByNameV2Request
- type GroupV2GetGroupOptionalConversationsRequest
- type GroupV2GetGroupRequest
- type GroupV2GetGroupsForMemberRequest
- type GroupV2GetInvitedIndividualsRequest
- type GroupV2GetMembersOfGroupRequest
- type GroupV2GetPendingMembershipsRequest
- type GroupV2GetPotentialGroupsForMemberRequest
- type GroupV2GetRecommendedGroupsRequest
- type GroupV2GetUserClanInviteSettingRequest
- type GroupV2GroupSearchRequest
- type GroupV2IndividualGroupInviteCancelRequest
- type GroupV2IndividualGroupInviteRequest
- type GroupV2KickMemberRequest
- type GroupV2RecoverGroupForFounderRequest
- type GroupV2UnbanMemberRequest
- type GroupsForMemberFilter
- type GuardianRankConstantsDefinition
- type GuardianRankDefinition
- type GuardianRankIconBackgroundsDefinition
- type HTTPError
- type HardLinkedUserMembership
- type Hash
- type HistoricalStatsAccountResult
- type HistoricalStatsActivity
- type HistoricalStatsByPeriod
- type HistoricalStatsDefinition
- type HistoricalStatsPerCharacter
- type HistoricalStatsPeriodGroup
- type HistoricalStatsResults
- type HistoricalStatsValue
- type HistoricalStatsValuePair
- type HistoricalStatsWithMerged
- type HistoricalWeaponStats
- type HistoricalWeaponStatsData
- type HostGuidedGamesPermissionLevel
- type HyperlinkReference
- type IconSequenceDefinition
- type IgnoreLength
- type IgnoreResponse
- type IgnoreStatus
- type ImagePyramidEntry
- type InsertPlugActionDefinition
- type InsertPlugsActionRequest
- type InsertPlugsFreeActionRequest
- type InsertPlugsRequestEntry
- type Int64
- type InterceptorFunc
- type InterceptorFuncClient
- type InterpolationPoint
- type InterpolationPointFloat
- type InventoryBucketDefinition
- type InventoryChangedResponse
- type InventoryComponent
- type InventoryItemDefinition
- type InventoryItemStatDefinition
- type ItemActionBlockDefinition
- type ItemActionRequest
- type ItemActionRequiredItemDefinition
- type ItemBindStatus
- type ItemCategoryDefinition
- type ItemChangeResponse
- type ItemComponent
- type ItemComponentSet
- type ItemCraftingBlockBonusPlugDefinition
- type ItemCraftingBlockDefinition
- type ItemCreationEntryLevelDefinition
- type ItemGearsetBlockDefinition
- type ItemInstanceComponent
- type ItemInstanceEnergy
- type ItemIntrinsicSocketEntryDefinition
- type ItemInventoryBlockDefinition
- type ItemInvestmentStatDefinition
- type ItemLocation
- type ItemMetricBlockDefinition
- type ItemObjectiveBlockDefinition
- type ItemObjectivesComponent
- type ItemPeerView
- type ItemPerkEntryDefinition
- type ItemPerkVisibility
- type ItemPerksComponent
- type ItemPlug
- type ItemPlugBase
- type ItemPlugComponent
- type ItemPlugDefinition
- type ItemPlugObjectivesComponent
- type ItemPreviewBlockDefinition
- type ItemQualityBlockDefinition
- type ItemQuantity
- type ItemRenderComponent
- type ItemResponse
- type ItemReusablePlugsComponent
- type ItemSackBlockDefinition
- type ItemSetActionRequest
- type ItemSetBlockDefinition
- type ItemSetBlockEntryDefinition
- type ItemSocketBlockDefinition
- type ItemSocketCategoryDefinition
- type ItemSocketEntryDefinition
- type ItemSocketEntryPlugItemDefinition
- type ItemSocketEntryPlugItemRandomizedDefinition
- type ItemSocketState
- type ItemSocketsComponent
- type ItemSortType
- type ItemSourceBlockDefinition
- type ItemSourceDefinition
- type ItemStatBlockDefinition
- type ItemState
- type ItemStateRequest
- type ItemStatsComponent
- type ItemSubType
- type ItemSummaryBlockDefinition
- type ItemTalentGridBlockDefinition
- type ItemTalentGridComponent
- type ItemTierTypeDefinition
- type ItemTierTypeInfusionBlock
- type ItemTooltipNotification
- type ItemTransferRequest
- type ItemTranslationBlockDefinition
- type ItemType
- type ItemValueBlockDefinition
- type ItemVendorSourceReference
- type ItemVersionDefinition
- type JoinClosedReasons
- type KioskItem
- type KiosksComponent
- type Leaderboard
- type LeaderboardEntry
- type LeaderboardResults
- type LinkedGraphDefinition
- type LinkedGraphEntryDefinition
- type LinkedProfilesResponse
- type LoadoutActionRequest
- type LoadoutColorDefinition
- type LoadoutComponent
- type LoadoutConstantsDefinition
- type LoadoutIconDefinition
- type LoadoutItemComponent
- type LoadoutNameDefinition
- type LoadoutUpdateActionRequest
- type LoadoutsComponent
- type LocationDefinition
- type LocationReleaseDefinition
- type LoreDefinition
- type Manifest
- type MaterialRequirement
- type MaterialRequirementSetDefinition
- type MedalTierDefinition
- type MembershipOption
- type MetricComponent
- type MetricDefinition
- type MetricsComponent
- type Milestone
- type MilestoneActivity
- type MilestoneActivityCompletionStatus
- type MilestoneActivityDefinition
- type MilestoneActivityPhase
- type MilestoneActivityVariant
- type MilestoneActivityVariantDefinition
- type MilestoneChallengeActivity
- type MilestoneChallengeActivityDefinition
- type MilestoneChallengeActivityGraphNodeEntry
- type MilestoneChallengeActivityPhase
- type MilestoneChallengeDefinition
- type MilestoneContent
- type MilestoneContentItemCategory
- type MilestoneDefinition
- type MilestoneDisplayPreference
- type MilestoneQuest
- type MilestoneQuestDefinition
- type MilestoneQuestRewardItem
- type MilestoneQuestRewardsDefinition
- type MilestoneRewardCategory
- type MilestoneRewardCategoryDefinition
- type MilestoneRewardEntry
- type MilestoneRewardEntryDefinition
- type MilestoneType
- type MilestoneValueDefinition
- type MilestoneVendor
- type MilestoneVendorDefinition
- type NewsArticleRssItem
- type NewsArticleRssResponse
- type NodeActivationRequirement
- type NodeSocketReplaceResponse
- type NodeStepDefinition
- type Nullable
- type ObjectiveDefinition
- type ObjectiveDisplayProperties
- type ObjectiveGrantStyle
- type ObjectivePerkEntryDefinition
- type ObjectiveProgress
- type ObjectiveStatEntryDefinition
- type ObjectiveUiStyle
- type OptInFlags
- type PagedQuery
- type ParentItemOverride
- type PartnerOfferClaimRequest
- type PartnerOfferHistoryResponse
- type PartnerOfferSkuHistoryResponse
- type PartnerRewardHistoryResponse
- type PartyMemberStates
- type PeriodType
- type PerkReference
- type PersonalDestinyVendorSaleItemSetComponent
- type PlaceDefinition
- type PlatformErrorCodes
- type PlatformFriend
- type PlatformFriendResponse
- type PlatformFriendType
- type PlatformSilverComponent
- type Player
- type PlugAvailabilityMode
- type PlugItemCraftingRequirements
- type PlugItemCraftingUnlockRequirement
- type PlugRuleDefinition
- type PlugSetDefinition
- type PlugSetsComponent
- type PlugUiStyles
- type PlugWhitelistEntryDefinition
- type PollResponse
- type PollResult
- type PositionDefinition
- type PostGameCarnageReportData
- type PostGameCarnageReportEntry
- type PostGameCarnageReportExtendedData
- type PostGameCarnageReportTeamEntry
- type PostResponse
- type PostSearchResponse
- type PostmasterTransferRequest
- type PowerCapDefinition
- type PresenceOnlineStateFlags
- type PresenceStatus
- type PresentationChildBlock
- type PresentationDisplayStyle
- type PresentationNodeBaseDefinition
- type PresentationNodeChildEntry
- type PresentationNodeChildEntryBase
- type PresentationNodeChildrenBlock
- type PresentationNodeCollectibleChildEntry
- type PresentationNodeComponent
- type PresentationNodeCraftableChildEntry
- type PresentationNodeDefinition
- type PresentationNodeMetricChildEntry
- type PresentationNodeRecordChildEntry
- type PresentationNodeRequirementsBlock
- type PresentationNodeState
- type PresentationNodeType
- type PresentationNodesComponent
- type PresentationScreenStyle
- type ProfileCollectiblesComponent
- type ProfileComponent
- type ProfileProgressionComponent
- type ProfileRecordsComponent
- type ProfileResponse
- type ProfileTransitoryComponent
- type ProfileTransitoryCurrentActivity
- type ProfileTransitoryJoinability
- type ProfileTransitoryPartyMember
- type ProfileTransitoryTrackingEntry
- type ProfileUserInfoCard
- type Progression
- type ProgressionDefinition
- type ProgressionDisplayPropertiesDefinition
- type ProgressionLevelRequirementDefinition
- type ProgressionMappingDefinition
- type ProgressionResetEntry
- type ProgressionRewardDefinition
- type ProgressionRewardItemAcquisitionBehavior
- type ProgressionRewardItemQuantity
- type ProgressionRewardItemState
- type ProgressionScope
- type ProgressionStepDefinition
- type ProgressionStepDisplayEffect
- type PublicActivityStatus
- type PublicDestinyVendorSaleItemSetComponent
- type PublicMilestone
- type PublicMilestoneActivity
- type PublicMilestoneActivityVariant
- type PublicMilestoneChallenge
- type PublicMilestoneChallengeActivity
- type PublicMilestoneQuest
- type PublicMilestoneVendor
- type PublicVendorComponent
- type PublicVendorSaleItemComponent
- type PublicVendorsResponse
- type QuestStatus
- type Race
- type RaceDefinition
- type RecordCompletionBlock
- type RecordComponent
- type RecordDefinition
- type RecordExpirationBlock
- type RecordIntervalBlock
- type RecordIntervalObjective
- type RecordIntervalRewards
- type RecordState
- type RecordTitleBlock
- type RecordToastStyle
- type RecordValueStyle
- type RecordsComponent
- type ReportOffensePgcrRequest
- type ReportReasonCategoryDefinition
- type ReportReasonDefinition
- type RewardAvailabilityModel
- type RewardDisplayProperties
- type RewardSourceCategory
- type RewardSourceDefinition
- type RuntimeGroupMemberType
- type SandboxPatternDefinition
- type SandboxPerkDefinition
- type SchemaRecordStateBlock
- type Scope
- type ScoredPresentationNodeBaseDefinition
- type SearchResult
- type SeasonDefinition
- type SeasonPassDefinition
- type SeasonPreviewDefinition
- type SeasonPreviewImageDefinition
- type Series
- type ServerResponse
- type SocialAcceptFriendRequestRequest
- type SocialCommendationDefinition
- type SocialCommendationNodeDefinition
- type SocialCommendationsComponent
- type SocialDeclineFriendRequestRequest
- type SocialGetFriendListRequest
- type SocialGetFriendRequestListRequest
- type SocialGetPlatformFriendListRequest
- type SocialIssueFriendRequestRequest
- type SocialRemoveFriendRequest
- type SocialRemoveFriendRequestRequest
- type SocketArrayType
- type SocketCategoryDefinition
- type SocketCategoryStyle
- type SocketPlugSources
- type SocketTypeActionType
- type SocketTypeDefinition
- type SocketTypeScalarMaterialRequirementEntry
- type SocketVisibility
- type SpecialItemType
- type Stat
- type StatAggregationType
- type StatCategory
- type StatDefinition
- type StatDisplayDefinition
- type StatGroupDefinition
- type StatOverrideDefinition
- type StatsCategoryType
- type StatsGroupType
- type StatsMergeMethod
- type StreamInfo
- type StringVariablesComponent
- type TagMetadataDefinition
- type TagMetadataItem
- type TagResponse
- type TalentExclusiveGroup
- type TalentGridDefinition
- type TalentNode
- type TalentNodeCategory
- type TalentNodeDefinition
- type TalentNodeExclusiveSetDefinition
- type TalentNodeStatBlock
- type TalentNodeState
- type TalentNodeStepDamageTypes
- type TalentNodeStepGroups
- type TalentNodeStepGuardianAttributes
- type TalentNodeStepImpactEffects
- type TalentNodeStepLightAbilities
- type TalentNodeStepWeaponPerformances
- type TierType
- type Timestamp
- type TokensApplyMissingPartnerOffersWithoutClaimRequest
- type TokensClaimPartnerOfferRequest
- type TokensForceDropsRepairRequest
- type TokensGetBungieRewardsForPlatformUserRequest
- type TokensGetBungieRewardsForUserRequest
- type TokensGetBungieRewardsListRequest
- type TokensGetPartnerOfferSkuHistoryRequest
- type TokensGetPartnerRewardHistoryRequest
- type TraitDefinition
- type TransferStatuses
- type TrendingCategories
- type TrendingCategory
- type TrendingDetail
- type TrendingEntry
- type TrendingEntryCommunityCreation
- type TrendingEntryDestinyActivity
- type TrendingEntryDestinyItem
- type TrendingEntryDestinyRitual
- type TrendingEntryNews
- type TrendingEntrySupportArticle
- type TrendingEntryType
- type TrendingGetTrendingCategoriesRequest
- type TrendingGetTrendingCategoryRequest
- type TrendingGetTrendingEntryDetailRequest
- type TwitchDropHistoryResponse
- type UnitType
- type UnlockDefinition
- type UnlockExpressionDefinition
- type UnlockStatus
- type UnlockValueDefinition
- type UnlockValueUIStyle
- type UserGetAvailableThemesRequest
- type UserGetBungieNetUserByIdRequest
- type UserGetCredentialTypesForTargetAccountRequest
- type UserGetMembershipDataByIdRequest
- type UserGetMembershipDataForCurrentUserRequest
- type UserGetMembershipFromHardLinkedCredentialRequest
- type UserGetSanitizedPlatformDisplayNamesRequest
- type UserInfoCard
- type UserMembership
- type UserMembershipData
- type UserRewardAvailabilityModel
- type UserSearchByGlobalNamePostRequest
- type UserSearchByGlobalNamePrefixRequest
- type UserSearchPrefixRequest
- type UserSearchResponse
- type UserSearchResponseDetail
- type UserTheme
- type UserToUserContext
- type VendorAcceptedItemDefinition
- type VendorActionDefinition
- type VendorBaseComponent
- type VendorCategoriesComponent
- type VendorCategory
- type VendorCategoryEntryDefinition
- type VendorCategoryOverlayDefinition
- type VendorComponent
- type VendorDefinition
- type VendorDisplayCategorySortOrder
- type VendorDisplayPropertiesDefinition
- type VendorFilter
- type VendorGroup
- type VendorGroupComponent
- type VendorGroupDefinition
- type VendorGroupReference
- type VendorInteractionDefinition
- type VendorInteractionReplyDefinition
- type VendorInteractionRewardSelection
- type VendorInteractionSackEntryDefinition
- type VendorInteractionType
- type VendorInventoryFlyoutBucketDefinition
- type VendorInventoryFlyoutDefinition
- type VendorItemDefinition
- type VendorItemQuantity
- type VendorItemRefundPolicy
- type VendorItemSocketOverride
- type VendorItemState
- type VendorItemStatus
- type VendorLocationDefinition
- type VendorProgressionType
- type VendorReceipt
- type VendorReceiptsComponent
- type VendorReplyType
- type VendorRequirementDisplayEntryDefinition
- type VendorResponse
- type VendorSaleItemActionBlockDefinition
- type VendorSaleItemBaseComponent
- type VendorSaleItemComponent
- type VendorSaleItemSetComponent
- type VendorServiceDefinition
- type VendorsResponse
Constants ¶
const ( ApplicationScopes_ReadBasicUserProfile = ApplicationScopes(1) ApplicationScopes_ReadGroups = ApplicationScopes(2) ApplicationScopes_WriteGroups = ApplicationScopes(4) ApplicationScopes_AdminGroups = ApplicationScopes(8) ApplicationScopes_BnetWrite = ApplicationScopes(16) ApplicationScopes_MoveEquipDestinyItems = ApplicationScopes(32) ApplicationScopes_ReadDestinyInventoryAndVault = ApplicationScopes(64) ApplicationScopes_ReadUserData = ApplicationScopes(128) ApplicationScopes_EditUserData = ApplicationScopes(256) ApplicationScopes_ReadDestinyVendorsAndAdvisors = ApplicationScopes(512) ApplicationScopes_ReadAndApplyTokens = ApplicationScopes(1024) ApplicationScopes_AdvancedWriteActions = ApplicationScopes(2048) ApplicationScopes_PartnerOfferGrant = ApplicationScopes(4096) ApplicationScopes_DestinyUnlockValueQuery = ApplicationScopes(8192) ApplicationScopes_UserPiiRead = ApplicationScopes(16384) )
const ( ApplicationStatus_None = ApplicationStatus(0) ApplicationStatus_Private = ApplicationStatus(1) ApplicationStatus_Public = ApplicationStatus(2) ApplicationStatus_Disabled = ApplicationStatus(3) ApplicationStatus_Blocked = ApplicationStatus(4) )
const ( DeveloperRole_None = DeveloperRole(0) DeveloperRole_Owner = DeveloperRole(1) DeveloperRole_TeamMember = DeveloperRole(2) )
const ( BungieCredentialType_None = BungieCredentialType(0) BungieCredentialType_Xuid = BungieCredentialType(1) BungieCredentialType_Psnid = BungieCredentialType(2) BungieCredentialType_Wlid = BungieCredentialType(3) BungieCredentialType_Fake = BungieCredentialType(4) BungieCredentialType_Facebook = BungieCredentialType(5) BungieCredentialType_Google = BungieCredentialType(8) BungieCredentialType_Windows = BungieCredentialType(9) BungieCredentialType_DemonId = BungieCredentialType(10) BungieCredentialType_SteamId = BungieCredentialType(12) BungieCredentialType_BattleNetId = BungieCredentialType(14) BungieCredentialType_StadiaId = BungieCredentialType(16) BungieCredentialType_TwitchId = BungieCredentialType(18) BungieCredentialType_EgsId = BungieCredentialType(20) )
const ( BungieMembershipType_None = BungieMembershipType(0) BungieMembershipType_TigerXbox = BungieMembershipType(1) BungieMembershipType_TigerPsn = BungieMembershipType(2) BungieMembershipType_TigerSteam = BungieMembershipType(3) BungieMembershipType_TigerBlizzard = BungieMembershipType(4) BungieMembershipType_TigerStadia = BungieMembershipType(5) BungieMembershipType_TigerEgs = BungieMembershipType(6) BungieMembershipType_TigerDemon = BungieMembershipType(10) BungieMembershipType_BungieNext = BungieMembershipType(254) BungieMembershipType_All = BungieMembershipType(-1) )
const ( ComponentPrivacySetting_None = ComponentPrivacySetting(0) ComponentPrivacySetting_Public = ComponentPrivacySetting(1) ComponentPrivacySetting_Private = ComponentPrivacySetting(2) )
const ( ContentPropertyDataType_None = ContentPropertyDataType(0) ContentPropertyDataType_Plaintext = ContentPropertyDataType(1) ContentPropertyDataType_Html = ContentPropertyDataType(2) ContentPropertyDataType_Dropdown = ContentPropertyDataType(3) ContentPropertyDataType_List = ContentPropertyDataType(4) ContentPropertyDataType_Json = ContentPropertyDataType(5) ContentPropertyDataType_Content = ContentPropertyDataType(6) ContentPropertyDataType_Representation = ContentPropertyDataType(7) ContentPropertyDataType_Set = ContentPropertyDataType(8) ContentPropertyDataType_File = ContentPropertyDataType(9) ContentPropertyDataType_FolderSet = ContentPropertyDataType(10) ContentPropertyDataType_Date = ContentPropertyDataType(11) ContentPropertyDataType_MultilinePlaintext = ContentPropertyDataType(12) ContentPropertyDataType_DestinyContent = ContentPropertyDataType(13) ContentPropertyDataType_Color = ContentPropertyDataType(14) )
const ( ActivityGraphNodeHighlightType_None = ActivityGraphNodeHighlightType(0) ActivityGraphNodeHighlightType_Normal = ActivityGraphNodeHighlightType(1) ActivityGraphNodeHighlightType_Hyper = ActivityGraphNodeHighlightType(2) ActivityGraphNodeHighlightType_Comet = ActivityGraphNodeHighlightType(3) ActivityGraphNodeHighlightType_RiseOfIron = ActivityGraphNodeHighlightType(4) )
const ( AwaResponseReason_None = AwaResponseReason(0) AwaResponseReason_Answered = AwaResponseReason(1) AwaResponseReason_TimedOut = AwaResponseReason(2) AwaResponseReason_Replaced = AwaResponseReason(3) )
const ( AwaType_None = AwaType(0) AwaType_InsertPlugs = AwaType(1) )
const ( AwaUserSelection_None = AwaUserSelection(0) AwaUserSelection_Rejected = AwaUserSelection(1) AwaUserSelection_Approved = AwaUserSelection(2) )
const ( BucketCategory_Invisible = BucketCategory(0) BucketCategory_Item = BucketCategory(1) BucketCategory_Currency = BucketCategory(2) BucketCategory_Equippable = BucketCategory(3) BucketCategory_Ignored = BucketCategory(4) )
const ( BucketScope_Character = BucketScope(0) BucketScope_Account = BucketScope(1) )
const ( DamageType_None = DamageType(0) DamageType_Kinetic = DamageType(1) DamageType_Arc = DamageType(2) DamageType_Thermal = DamageType(3) DamageType_Void = DamageType(4) DamageType_Raid = DamageType(5) DamageType_Stasis = DamageType(6) DamageType_Strand = DamageType(7) )
const ( RewardSourceCategory_None = RewardSourceCategory(0) RewardSourceCategory_Activity = RewardSourceCategory(1) RewardSourceCategory_Vendor = RewardSourceCategory(2) RewardSourceCategory_Aggregate = RewardSourceCategory(3) )
const ( TalentNodeStepDamageTypes_None = TalentNodeStepDamageTypes(0) TalentNodeStepDamageTypes_Kinetic = TalentNodeStepDamageTypes(1) TalentNodeStepDamageTypes_Arc = TalentNodeStepDamageTypes(2) TalentNodeStepDamageTypes_Solar = TalentNodeStepDamageTypes(4) TalentNodeStepDamageTypes_Void = TalentNodeStepDamageTypes(8) TalentNodeStepDamageTypes_All = TalentNodeStepDamageTypes(15) )
const ( TalentNodeStepGuardianAttributes_None = TalentNodeStepGuardianAttributes(0) TalentNodeStepGuardianAttributes_Stats = TalentNodeStepGuardianAttributes(1) TalentNodeStepGuardianAttributes_Shields = TalentNodeStepGuardianAttributes(2) TalentNodeStepGuardianAttributes_Health = TalentNodeStepGuardianAttributes(4) TalentNodeStepGuardianAttributes_Revive = TalentNodeStepGuardianAttributes(8) TalentNodeStepGuardianAttributes_AimUnderFire = TalentNodeStepGuardianAttributes(16) TalentNodeStepGuardianAttributes_Radar = TalentNodeStepGuardianAttributes(32) TalentNodeStepGuardianAttributes_Invisibility = TalentNodeStepGuardianAttributes(64) TalentNodeStepGuardianAttributes_Reputations = TalentNodeStepGuardianAttributes(128) TalentNodeStepGuardianAttributes_All = TalentNodeStepGuardianAttributes(255) )
const ( TalentNodeStepImpactEffects_None = TalentNodeStepImpactEffects(0) TalentNodeStepImpactEffects_ArmorPiercing = TalentNodeStepImpactEffects(1) TalentNodeStepImpactEffects_Ricochet = TalentNodeStepImpactEffects(2) TalentNodeStepImpactEffects_Flinch = TalentNodeStepImpactEffects(4) TalentNodeStepImpactEffects_CollateralDamage = TalentNodeStepImpactEffects(8) TalentNodeStepImpactEffects_Disorient = TalentNodeStepImpactEffects(16) TalentNodeStepImpactEffects_HighlightTarget = TalentNodeStepImpactEffects(32) TalentNodeStepImpactEffects_All = TalentNodeStepImpactEffects(63) )
const ( TalentNodeStepLightAbilities_None = TalentNodeStepLightAbilities(0) TalentNodeStepLightAbilities_Grenades = TalentNodeStepLightAbilities(1) TalentNodeStepLightAbilities_Melee = TalentNodeStepLightAbilities(2) TalentNodeStepLightAbilities_MovementModes = TalentNodeStepLightAbilities(4) TalentNodeStepLightAbilities_Orbs = TalentNodeStepLightAbilities(8) TalentNodeStepLightAbilities_SuperEnergy = TalentNodeStepLightAbilities(16) TalentNodeStepLightAbilities_SuperMods = TalentNodeStepLightAbilities(32) TalentNodeStepLightAbilities_All = TalentNodeStepLightAbilities(63) )
const ( TalentNodeStepWeaponPerformances_None = TalentNodeStepWeaponPerformances(0) TalentNodeStepWeaponPerformances_RateOfFire = TalentNodeStepWeaponPerformances(1) TalentNodeStepWeaponPerformances_Damage = TalentNodeStepWeaponPerformances(2) TalentNodeStepWeaponPerformances_Accuracy = TalentNodeStepWeaponPerformances(4) TalentNodeStepWeaponPerformances_Range = TalentNodeStepWeaponPerformances(8) TalentNodeStepWeaponPerformances_Zoom = TalentNodeStepWeaponPerformances(16) TalentNodeStepWeaponPerformances_Recoil = TalentNodeStepWeaponPerformances(32) TalentNodeStepWeaponPerformances_Ready = TalentNodeStepWeaponPerformances(64) TalentNodeStepWeaponPerformances_Reload = TalentNodeStepWeaponPerformances(128) TalentNodeStepWeaponPerformances_HairTrigger = TalentNodeStepWeaponPerformances(256) TalentNodeStepWeaponPerformances_AmmoAndMagazine = TalentNodeStepWeaponPerformances(512) TalentNodeStepWeaponPerformances_TrackingAndDetonation = TalentNodeStepWeaponPerformances(1024) TalentNodeStepWeaponPerformances_ShotgunSpread = TalentNodeStepWeaponPerformances(2048) TalentNodeStepWeaponPerformances_ChargeTime = TalentNodeStepWeaponPerformances(4096) TalentNodeStepWeaponPerformances_All = TalentNodeStepWeaponPerformances(8191) )
const ( MilestoneDisplayPreference_MilestoneDefinition = MilestoneDisplayPreference(0) MilestoneDisplayPreference_CurrentQuestSteps = MilestoneDisplayPreference(1) MilestoneDisplayPreference_CurrentActivityChallenges = MilestoneDisplayPreference(2) )
const ( MilestoneType_Unknown = MilestoneType(0) MilestoneType_Tutorial = MilestoneType(1) MilestoneType_OneTime = MilestoneType(2) MilestoneType_Weekly = MilestoneType(3) MilestoneType_Daily = MilestoneType(4) MilestoneType_Special = MilestoneType(5) )
const ( ActivityDifficultyTier_Trivial = ActivityDifficultyTier(0) ActivityDifficultyTier_Easy = ActivityDifficultyTier(1) ActivityDifficultyTier_Normal = ActivityDifficultyTier(2) ActivityDifficultyTier_Challenging = ActivityDifficultyTier(3) ActivityDifficultyTier_Hard = ActivityDifficultyTier(4) ActivityDifficultyTier_Brave = ActivityDifficultyTier(5) ActivityDifficultyTier_AlmostImpossible = ActivityDifficultyTier(6) ActivityDifficultyTier_Impossible = ActivityDifficultyTier(7) )
const ( ActivityModeCategory_None = ActivityModeCategory(0) ActivityModeCategory_PvE = ActivityModeCategory(1) ActivityModeCategory_PvP = ActivityModeCategory(2) ActivityModeCategory_PvECompetitive = ActivityModeCategory(3) )
const ()
const ( AmmunitionType_None = AmmunitionType(0) AmmunitionType_Primary = AmmunitionType(1) AmmunitionType_Special = AmmunitionType(2) AmmunitionType_Heavy = AmmunitionType(3) AmmunitionType_Unknown = AmmunitionType(4) )
const ( BreakerType_None = BreakerType(0) BreakerType_ShieldPiercing = BreakerType(1) BreakerType_Disruption = BreakerType(2) BreakerType_Stagger = BreakerType(3) )
const ( Class_Titan = Class(0) Class_Hunter = Class(1) Class_Warlock = Class(2) Class_Unknown = Class(3) )
const ( CollectibleState_None = CollectibleState(0) CollectibleState_NotAcquired = CollectibleState(1) CollectibleState_Obscured = CollectibleState(2) CollectibleState_Invisible = CollectibleState(4) CollectibleState_CannotAffordMaterialRequirements = CollectibleState(8) CollectibleState_UniquenessViolation = CollectibleState(32) CollectibleState_PurchaseDisabled = CollectibleState(64) )
const ( ComponentType_None = ComponentType(0) ComponentType_Profiles = ComponentType(100) ComponentType_VendorReceipts = ComponentType(101) ComponentType_ProfileInventories = ComponentType(102) ComponentType_ProfileCurrencies = ComponentType(103) ComponentType_ProfileProgression = ComponentType(104) ComponentType_PlatformSilver = ComponentType(105) ComponentType_Characters = ComponentType(200) ComponentType_CharacterInventories = ComponentType(201) ComponentType_CharacterProgressions = ComponentType(202) ComponentType_CharacterRenderData = ComponentType(203) ComponentType_CharacterActivities = ComponentType(204) ComponentType_CharacterEquipment = ComponentType(205) ComponentType_CharacterLoadouts = ComponentType(206) ComponentType_ItemInstances = ComponentType(300) ComponentType_ItemObjectives = ComponentType(301) ComponentType_ItemPerks = ComponentType(302) ComponentType_ItemRenderData = ComponentType(303) ComponentType_ItemStats = ComponentType(304) ComponentType_ItemSockets = ComponentType(305) ComponentType_ItemTalentGrids = ComponentType(306) ComponentType_ItemCommonData = ComponentType(307) ComponentType_ItemPlugStates = ComponentType(308) ComponentType_ItemPlugObjectives = ComponentType(309) ComponentType_ItemReusablePlugs = ComponentType(310) ComponentType_Vendors = ComponentType(400) ComponentType_VendorCategories = ComponentType(401) ComponentType_VendorSales = ComponentType(402) ComponentType_Kiosks = ComponentType(500) ComponentType_CurrencyLookups = ComponentType(600) ComponentType_PresentationNodes = ComponentType(700) ComponentType_Collectibles = ComponentType(800) ComponentType_Records = ComponentType(900) ComponentType_Transitory = ComponentType(1000) ComponentType_Metrics = ComponentType(1100) ComponentType_StringVariables = ComponentType(1200) ComponentType_Craftables = ComponentType(1300) ComponentType_SocialCommendations = ComponentType(1400) )
const ( EnergyType_Any = EnergyType(0) EnergyType_Arc = EnergyType(1) EnergyType_Thermal = EnergyType(2) EnergyType_Void = EnergyType(3) EnergyType_Ghost = EnergyType(4) EnergyType_Subclass = EnergyType(5) EnergyType_Stasis = EnergyType(6) )
const ( GamePrivacySetting_Open = GamePrivacySetting(0) GamePrivacySetting_ClanAndFriendsOnly = GamePrivacySetting(1) GamePrivacySetting_FriendsOnly = GamePrivacySetting(2) GamePrivacySetting_InvitationOnly = GamePrivacySetting(3) GamePrivacySetting_Closed = GamePrivacySetting(4) )
const ( GameVersions_None = GameVersions(0) GameVersions_Destiny2 = GameVersions(1) GameVersions_DLC1 = GameVersions(2) GameVersions_DLC2 = GameVersions(4) GameVersions_Forsaken = GameVersions(8) GameVersions_YearTwoAnnualPass = GameVersions(16) GameVersions_Shadowkeep = GameVersions(32) GameVersions_BeyondLight = GameVersions(64) GameVersions_Anniversary30th = GameVersions(128) GameVersions_TheWitchQueen = GameVersions(256) GameVersions_Lightfall = GameVersions(512) )
const ( GatingScope_None = GatingScope(0) GatingScope_Global = GatingScope(1) GatingScope_Clan = GatingScope(2) GatingScope_Profile = GatingScope(3) GatingScope_Character = GatingScope(4) GatingScope_Item = GatingScope(5) GatingScope_AssumedWorstCase = GatingScope(6) )
const ( Gender_Male = Gender(0) Gender_Female = Gender(1) Gender_Unknown = Gender(2) )
const ( GraphNodeState_Hidden = GraphNodeState(0) GraphNodeState_Visible = GraphNodeState(1) GraphNodeState_Incomplete = GraphNodeState(3) GraphNodeState_Completed = GraphNodeState(4) )
const ( ItemSortType_ItemId = ItemSortType(0) ItemSortType_Timestamp = ItemSortType(1) ItemSortType_StackSize = ItemSortType(2) )
const ( ItemSubType_None = ItemSubType(0) ItemSubType_Crucible = ItemSubType(1) ItemSubType_Vanguard = ItemSubType(2) ItemSubType_Exotic = ItemSubType(5) ItemSubType_AutoRifle = ItemSubType(6) ItemSubType_Shotgun = ItemSubType(7) ItemSubType_Machinegun = ItemSubType(8) ItemSubType_HandCannon = ItemSubType(9) ItemSubType_RocketLauncher = ItemSubType(10) ItemSubType_FusionRifle = ItemSubType(11) ItemSubType_SniperRifle = ItemSubType(12) ItemSubType_PulseRifle = ItemSubType(13) ItemSubType_ScoutRifle = ItemSubType(14) ItemSubType_Crm = ItemSubType(16) ItemSubType_Sidearm = ItemSubType(17) ItemSubType_Sword = ItemSubType(18) ItemSubType_Mask = ItemSubType(19) ItemSubType_Shader = ItemSubType(20) ItemSubType_Ornament = ItemSubType(21) ItemSubType_FusionRifleLine = ItemSubType(22) ItemSubType_GrenadeLauncher = ItemSubType(23) ItemSubType_SubmachineGun = ItemSubType(24) ItemSubType_TraceRifle = ItemSubType(25) ItemSubType_HelmetArmor = ItemSubType(26) ItemSubType_GauntletsArmor = ItemSubType(27) ItemSubType_ChestArmor = ItemSubType(28) ItemSubType_LegArmor = ItemSubType(29) ItemSubType_ClassArmor = ItemSubType(30) ItemSubType_Bow = ItemSubType(31) ItemSubType_DummyRepeatableBounty = ItemSubType(32) ItemSubType_Glaive = ItemSubType(33) )
const ( ItemType_None = ItemType(0) ItemType_Currency = ItemType(1) ItemType_Armor = ItemType(2) ItemType_Weapon = ItemType(3) ItemType_Message = ItemType(7) ItemType_Engram = ItemType(8) ItemType_Consumable = ItemType(9) ItemType_ExchangeMaterial = ItemType(10) ItemType_MissionReward = ItemType(11) ItemType_QuestStep = ItemType(12) ItemType_QuestStepComplete = ItemType(13) ItemType_Emblem = ItemType(14) ItemType_Quest = ItemType(15) ItemType_Subclass = ItemType(16) ItemType_ClanBanner = ItemType(17) ItemType_Aura = ItemType(18) ItemType_Mod = ItemType(19) ItemType_Dummy = ItemType(20) ItemType_Ship = ItemType(21) ItemType_Vehicle = ItemType(22) ItemType_Emote = ItemType(23) ItemType_Ghost = ItemType(24) ItemType_Package = ItemType(25) ItemType_Bounty = ItemType(26) ItemType_Wrapper = ItemType(27) ItemType_SeasonalArtifact = ItemType(28) ItemType_Finisher = ItemType(29) ItemType_Pattern = ItemType(30) )
const ( JoinClosedReasons_None = JoinClosedReasons(0) JoinClosedReasons_InMatchmaking = JoinClosedReasons(1) JoinClosedReasons_Loading = JoinClosedReasons(2) JoinClosedReasons_SoloMode = JoinClosedReasons(4) JoinClosedReasons_InternalReasons = JoinClosedReasons(8) JoinClosedReasons_DisallowedByGameState = JoinClosedReasons(16) JoinClosedReasons_Offline = JoinClosedReasons(32768) )
const ( ObjectiveGrantStyle_WhenIncomplete = ObjectiveGrantStyle(0) ObjectiveGrantStyle_WhenComplete = ObjectiveGrantStyle(1) ObjectiveGrantStyle_Always = ObjectiveGrantStyle(2) )
const ( ObjectiveUiStyle_None = ObjectiveUiStyle(0) ObjectiveUiStyle_Highlighted = ObjectiveUiStyle(1) ObjectiveUiStyle_CraftingWeaponLevel = ObjectiveUiStyle(2) ObjectiveUiStyle_CraftingWeaponLevelProgress = ObjectiveUiStyle(3) ObjectiveUiStyle_CraftingWeaponTimestamp = ObjectiveUiStyle(4) ObjectiveUiStyle_CraftingMementos = ObjectiveUiStyle(5) ObjectiveUiStyle_CraftingMementoTitle = ObjectiveUiStyle(6) )
const ( PartyMemberStates_None = PartyMemberStates(0) PartyMemberStates_FireteamMember = PartyMemberStates(1) PartyMemberStates_PosseMember = PartyMemberStates(2) PartyMemberStates_GroupMember = PartyMemberStates(4) PartyMemberStates_PartyLeader = PartyMemberStates(8) )
const ( PresentationDisplayStyle_Category = PresentationDisplayStyle(0) PresentationDisplayStyle_Badge = PresentationDisplayStyle(1) PresentationDisplayStyle_Medals = PresentationDisplayStyle(2) PresentationDisplayStyle_Collectible = PresentationDisplayStyle(3) PresentationDisplayStyle_Record = PresentationDisplayStyle(4) PresentationDisplayStyle_SeasonalTriumph = PresentationDisplayStyle(5) PresentationDisplayStyle_GuardianRank = PresentationDisplayStyle(6) )
const ( PresentationNodeState_None = PresentationNodeState(0) PresentationNodeState_Invisible = PresentationNodeState(1) PresentationNodeState_Obscured = PresentationNodeState(2) )
const ( PresentationNodeType_Default = PresentationNodeType(0) PresentationNodeType_Category = PresentationNodeType(1) PresentationNodeType_Collectibles = PresentationNodeType(2) PresentationNodeType_Records = PresentationNodeType(3) PresentationNodeType_Metric = PresentationNodeType(4) PresentationNodeType_Craftable = PresentationNodeType(5) )
const ( PresentationScreenStyle_Default = PresentationScreenStyle(0) PresentationScreenStyle_CategorySets = PresentationScreenStyle(1) PresentationScreenStyle_Badge = PresentationScreenStyle(2) )
const ( ProgressionRewardItemAcquisitionBehavior_Instant = ProgressionRewardItemAcquisitionBehavior(0) ProgressionRewardItemAcquisitionBehavior_PlayerClaimRequired = ProgressionRewardItemAcquisitionBehavior(1) )
const ( ProgressionRewardItemState_None = ProgressionRewardItemState(0) ProgressionRewardItemState_Invisible = ProgressionRewardItemState(1) ProgressionRewardItemState_Earned = ProgressionRewardItemState(2) ProgressionRewardItemState_Claimed = ProgressionRewardItemState(4) ProgressionRewardItemState_ClaimAllowed = ProgressionRewardItemState(8) )
const ( ProgressionScope_Account = ProgressionScope(0) ProgressionScope_Character = ProgressionScope(1) ProgressionScope_Clan = ProgressionScope(2) ProgressionScope_Item = ProgressionScope(3) ProgressionScope_ImplicitFromEquipment = ProgressionScope(4) ProgressionScope_Mapped = ProgressionScope(5) ProgressionScope_MappedAggregate = ProgressionScope(6) ProgressionScope_MappedStat = ProgressionScope(7) ProgressionScope_MappedUnlockValue = ProgressionScope(8) )
const ( ProgressionStepDisplayEffect_None = ProgressionStepDisplayEffect(0) ProgressionStepDisplayEffect_Character = ProgressionStepDisplayEffect(1) ProgressionStepDisplayEffect_Item = ProgressionStepDisplayEffect(2) )
const ( Race_Human = Race(0) Race_Awoken = Race(1) Race_Exo = Race(2) Race_Unknown = Race(3) )
const ( RecordState_None = RecordState(0) RecordState_RecordRedeemed = RecordState(1) RecordState_ObjectiveNotCompleted = RecordState(4) RecordState_Obscured = RecordState(8) RecordState_Invisible = RecordState(16) RecordState_EntitlementUnowned = RecordState(32) RecordState_CanEquipTitle = RecordState(64) )
const ( RecordToastStyle_None = RecordToastStyle(0) RecordToastStyle_Record = RecordToastStyle(1) RecordToastStyle_Lore = RecordToastStyle(2) RecordToastStyle_Badge = RecordToastStyle(3) RecordToastStyle_MetaRecord = RecordToastStyle(4) RecordToastStyle_MedalComplete = RecordToastStyle(5) RecordToastStyle_SeasonChallengeComplete = RecordToastStyle(6) RecordToastStyle_GildedTitleComplete = RecordToastStyle(7) RecordToastStyle_CraftingRecipeUnlocked = RecordToastStyle(8) RecordToastStyle_ToastGuardianRankDetails = RecordToastStyle(9) )
const ( RecordValueStyle_Integer = RecordValueStyle(0) RecordValueStyle_Percentage = RecordValueStyle(1) RecordValueStyle_Milliseconds = RecordValueStyle(2) RecordValueStyle_Boolean = RecordValueStyle(3) RecordValueStyle_Decimal = RecordValueStyle(4) )
const ( Scope_Profile = Scope(0) Scope_Character = Scope(1) )
const ( SocketCategoryStyle_Unknown = SocketCategoryStyle(0) SocketCategoryStyle_Reusable = SocketCategoryStyle(1) SocketCategoryStyle_Consumable = SocketCategoryStyle(2) SocketCategoryStyle_Unlockable = SocketCategoryStyle(3) SocketCategoryStyle_Intrinsic = SocketCategoryStyle(4) SocketCategoryStyle_EnergyMeter = SocketCategoryStyle(5) SocketCategoryStyle_LargePerk = SocketCategoryStyle(6) SocketCategoryStyle_Abilities = SocketCategoryStyle(7) SocketCategoryStyle_Supers = SocketCategoryStyle(8) )
const ( SocketVisibility_Visible = SocketVisibility(0) SocketVisibility_Hidden = SocketVisibility(1) SocketVisibility_HiddenWhenEmpty = SocketVisibility(2) SocketVisibility_HiddenIfNoPlugsAvailable = SocketVisibility(3) )
const ( StatAggregationType_CharacterAverage = StatAggregationType(0) StatAggregationType_Character = StatAggregationType(1) StatAggregationType_Item = StatAggregationType(2) )
const ( StatCategory_Gameplay = StatCategory(0) StatCategory_Weapon = StatCategory(1) StatCategory_Defense = StatCategory(2) StatCategory_Primary = StatCategory(3) )
const ( TalentNodeState_Invalid = TalentNodeState(0) TalentNodeState_CanUpgrade = TalentNodeState(1) TalentNodeState_NoPoints = TalentNodeState(2) TalentNodeState_NoPrerequisites = TalentNodeState(3) TalentNodeState_NoSteps = TalentNodeState(4) TalentNodeState_NoUnlock = TalentNodeState(5) TalentNodeState_NoMaterial = TalentNodeState(6) TalentNodeState_NoGridLevel = TalentNodeState(7) TalentNodeState_SwappingLocked = TalentNodeState(8) TalentNodeState_MustSwap = TalentNodeState(9) TalentNodeState_Complete = TalentNodeState(10) TalentNodeState_Unknown = TalentNodeState(11) TalentNodeState_CreationOnly = TalentNodeState(12) TalentNodeState_Hidden = TalentNodeState(13) )
const ( UnlockValueUIStyle_Automatic = UnlockValueUIStyle(0) UnlockValueUIStyle_Fraction = UnlockValueUIStyle(1) UnlockValueUIStyle_Checkbox = UnlockValueUIStyle(2) UnlockValueUIStyle_Percentage = UnlockValueUIStyle(3) UnlockValueUIStyle_DateTime = UnlockValueUIStyle(4) UnlockValueUIStyle_FractionFloat = UnlockValueUIStyle(5) UnlockValueUIStyle_Integer = UnlockValueUIStyle(6) UnlockValueUIStyle_TimeDuration = UnlockValueUIStyle(7) UnlockValueUIStyle_Hidden = UnlockValueUIStyle(8) UnlockValueUIStyle_Multiplier = UnlockValueUIStyle(9) UnlockValueUIStyle_GreenPips = UnlockValueUIStyle(10) UnlockValueUIStyle_RedPips = UnlockValueUIStyle(11) UnlockValueUIStyle_ExplicitPercentage = UnlockValueUIStyle(12) UnlockValueUIStyle_RawFloat = UnlockValueUIStyle(13) UnlockValueUIStyle_LevelAndReward = UnlockValueUIStyle(14) )
const ( VendorFilter_None = VendorFilter(0) VendorFilter_ApiPurchasable = VendorFilter(1) )
const ( VendorInteractionRewardSelection_None = VendorInteractionRewardSelection(0) VendorInteractionRewardSelection_One = VendorInteractionRewardSelection(1) VendorInteractionRewardSelection_All = VendorInteractionRewardSelection(2) )
const ( VendorItemRefundPolicy_NotRefundable = VendorItemRefundPolicy(0) VendorItemRefundPolicy_DeletesItem = VendorItemRefundPolicy(1) VendorItemRefundPolicy_RevokesLicense = VendorItemRefundPolicy(2) )
const ( VendorItemState_None = VendorItemState(0) VendorItemState_Incomplete = VendorItemState(1) VendorItemState_RewardAvailable = VendorItemState(2) VendorItemState_Complete = VendorItemState(4) VendorItemState_New = VendorItemState(8) VendorItemState_Featured = VendorItemState(16) VendorItemState_Ending = VendorItemState(32) VendorItemState_OnSale = VendorItemState(64) VendorItemState_Owned = VendorItemState(128) VendorItemState_WideView = VendorItemState(256) VendorItemState_NexusAttention = VendorItemState(512) VendorItemState_SetDiscount = VendorItemState(1024) VendorItemState_PriceDrop = VendorItemState(2048) VendorItemState_DailyOffer = VendorItemState(4096) VendorItemState_Charity = VendorItemState(8192) VendorItemState_SeasonalRewardExpiration = VendorItemState(16384) VendorItemState_BestDeal = VendorItemState(32768) VendorItemState_Popular = VendorItemState(65536) VendorItemState_Free = VendorItemState(131072) VendorItemState_Locked = VendorItemState(262144) VendorItemState_Paracausal = VendorItemState(524288) VendorItemState_Cryptarch = VendorItemState(1048576) )
const ( VendorProgressionType_Default = VendorProgressionType(0) VendorProgressionType_Ritual = VendorProgressionType(1) VendorProgressionType_NoSeasonalRefresh = VendorProgressionType(2) )
const ( VendorReplyType_Accept = VendorReplyType(0) VendorReplyType_Decline = VendorReplyType(1) VendorReplyType_Complete = VendorReplyType(2) )
const ( EquipFailureReason_None = EquipFailureReason(0) EquipFailureReason_ItemUnequippable = EquipFailureReason(1) EquipFailureReason_ItemUniqueEquipRestricted = EquipFailureReason(2) EquipFailureReason_ItemFailedUnlockCheck = EquipFailureReason(4) EquipFailureReason_ItemFailedLevelCheck = EquipFailureReason(8) EquipFailureReason_ItemWrapped = EquipFailureReason(16) EquipFailureReason_ItemNotLoaded = EquipFailureReason(32) EquipFailureReason_ItemEquipBlocklisted = EquipFailureReason(64) EquipFailureReason_ItemLoadoutRequirementNotMet = EquipFailureReason(128) )
const ( EquippingItemBlockAttributes_None = EquippingItemBlockAttributes(0) EquippingItemBlockAttributes_EquipOnAcquire = EquippingItemBlockAttributes(1) )
const ( ActivityModeType_None = ActivityModeType(0) ActivityModeType_Story = ActivityModeType(2) ActivityModeType_Strike = ActivityModeType(3) ActivityModeType_Raid = ActivityModeType(4) ActivityModeType_AllPvP = ActivityModeType(5) ActivityModeType_Patrol = ActivityModeType(6) ActivityModeType_AllPvE = ActivityModeType(7) ActivityModeType_Reserved9 = ActivityModeType(9) ActivityModeType_Control = ActivityModeType(10) ActivityModeType_Reserved11 = ActivityModeType(11) ActivityModeType_Clash = ActivityModeType(12) ActivityModeType_Reserved13 = ActivityModeType(13) ActivityModeType_CrimsonDoubles = ActivityModeType(15) ActivityModeType_Nightfall = ActivityModeType(16) ActivityModeType_HeroicNightfall = ActivityModeType(17) ActivityModeType_AllStrikes = ActivityModeType(18) ActivityModeType_IronBanner = ActivityModeType(19) ActivityModeType_Reserved20 = ActivityModeType(20) ActivityModeType_Reserved21 = ActivityModeType(21) ActivityModeType_Reserved22 = ActivityModeType(22) ActivityModeType_Reserved24 = ActivityModeType(24) ActivityModeType_AllMayhem = ActivityModeType(25) ActivityModeType_Reserved26 = ActivityModeType(26) ActivityModeType_Reserved27 = ActivityModeType(27) ActivityModeType_Reserved28 = ActivityModeType(28) ActivityModeType_Reserved29 = ActivityModeType(29) ActivityModeType_Reserved30 = ActivityModeType(30) ActivityModeType_Supremacy = ActivityModeType(31) ActivityModeType_PrivateMatchesAll = ActivityModeType(32) ActivityModeType_Survival = ActivityModeType(37) ActivityModeType_Countdown = ActivityModeType(38) ActivityModeType_TrialsOfTheNine = ActivityModeType(39) ActivityModeType_Social = ActivityModeType(40) ActivityModeType_TrialsCountdown = ActivityModeType(41) ActivityModeType_TrialsSurvival = ActivityModeType(42) ActivityModeType_IronBannerControl = ActivityModeType(43) ActivityModeType_IronBannerClash = ActivityModeType(44) ActivityModeType_IronBannerSupremacy = ActivityModeType(45) ActivityModeType_ScoredNightfall = ActivityModeType(46) ActivityModeType_ScoredHeroicNightfall = ActivityModeType(47) ActivityModeType_Rumble = ActivityModeType(48) ActivityModeType_AllDoubles = ActivityModeType(49) ActivityModeType_Doubles = ActivityModeType(50) ActivityModeType_PrivateMatchesClash = ActivityModeType(51) ActivityModeType_PrivateMatchesControl = ActivityModeType(52) ActivityModeType_PrivateMatchesSupremacy = ActivityModeType(53) ActivityModeType_PrivateMatchesCountdown = ActivityModeType(54) ActivityModeType_PrivateMatchesSurvival = ActivityModeType(55) ActivityModeType_PrivateMatchesMayhem = ActivityModeType(56) ActivityModeType_PrivateMatchesRumble = ActivityModeType(57) ActivityModeType_HeroicAdventure = ActivityModeType(58) ActivityModeType_Showdown = ActivityModeType(59) ActivityModeType_Lockdown = ActivityModeType(60) ActivityModeType_Scorched = ActivityModeType(61) ActivityModeType_ScorchedTeam = ActivityModeType(62) ActivityModeType_Gambit = ActivityModeType(63) ActivityModeType_AllPvECompetitive = ActivityModeType(64) ActivityModeType_Breakthrough = ActivityModeType(65) ActivityModeType_BlackArmoryRun = ActivityModeType(66) ActivityModeType_Salvage = ActivityModeType(67) ActivityModeType_IronBannerSalvage = ActivityModeType(68) ActivityModeType_PvPCompetitive = ActivityModeType(69) ActivityModeType_PvPQuickplay = ActivityModeType(70) ActivityModeType_ClashQuickplay = ActivityModeType(71) ActivityModeType_ClashCompetitive = ActivityModeType(72) ActivityModeType_ControlQuickplay = ActivityModeType(73) ActivityModeType_ControlCompetitive = ActivityModeType(74) ActivityModeType_GambitPrime = ActivityModeType(75) ActivityModeType_Reckoning = ActivityModeType(76) ActivityModeType_Menagerie = ActivityModeType(77) ActivityModeType_VexOffensive = ActivityModeType(78) ActivityModeType_NightmareHunt = ActivityModeType(79) ActivityModeType_Elimination = ActivityModeType(80) ActivityModeType_Momentum = ActivityModeType(81) ActivityModeType_Dungeon = ActivityModeType(82) ActivityModeType_Sundial = ActivityModeType(83) ActivityModeType_TrialsOfOsiris = ActivityModeType(84) ActivityModeType_Dares = ActivityModeType(85) ActivityModeType_Offensive = ActivityModeType(86) ActivityModeType_LostSector = ActivityModeType(87) ActivityModeType_Rift = ActivityModeType(88) ActivityModeType_ZoneControl = ActivityModeType(89) ActivityModeType_IronBannerRift = ActivityModeType(90) ActivityModeType_IronBannerZoneControl = ActivityModeType(91) )
const ( StatsCategoryType_None = StatsCategoryType(0) StatsCategoryType_Kills = StatsCategoryType(1) StatsCategoryType_Assists = StatsCategoryType(2) StatsCategoryType_Deaths = StatsCategoryType(3) StatsCategoryType_Criticals = StatsCategoryType(4) StatsCategoryType_KDa = StatsCategoryType(5) StatsCategoryType_KD = StatsCategoryType(6) StatsCategoryType_Score = StatsCategoryType(7) StatsCategoryType_Entered = StatsCategoryType(8) StatsCategoryType_TimePlayed = StatsCategoryType(9) StatsCategoryType_MedalWins = StatsCategoryType(10) StatsCategoryType_MedalGame = StatsCategoryType(11) StatsCategoryType_MedalSpecialKills = StatsCategoryType(12) StatsCategoryType_MedalSprees = StatsCategoryType(13) StatsCategoryType_MedalMultiKills = StatsCategoryType(14) StatsCategoryType_MedalAbilities = StatsCategoryType(15) )
const ( StatsGroupType_None = StatsGroupType(0) StatsGroupType_General = StatsGroupType(1) StatsGroupType_Weapons = StatsGroupType(2) StatsGroupType_Medals = StatsGroupType(3) StatsGroupType_ReservedGroups = StatsGroupType(100) StatsGroupType_Leaderboard = StatsGroupType(101) StatsGroupType_Activity = StatsGroupType(102) StatsGroupType_UniqueWeapon = StatsGroupType(103) StatsGroupType_Internal = StatsGroupType(104) )
const ( StatsMergeMethod_Add = StatsMergeMethod(0) StatsMergeMethod_Min = StatsMergeMethod(1) StatsMergeMethod_Max = StatsMergeMethod(2) )
const ( PeriodType_None = PeriodType(0) PeriodType_Daily = PeriodType(1) PeriodType_AllTime = PeriodType(2) PeriodType_Activity = PeriodType(3) )
const ( UnitType_None = UnitType(0) UnitType_Count = UnitType(1) UnitType_PerGame = UnitType(2) UnitType_Seconds = UnitType(3) UnitType_Points = UnitType(4) UnitType_Team = UnitType(5) UnitType_Distance = UnitType(6) UnitType_Percent = UnitType(7) UnitType_Ratio = UnitType(8) UnitType_Boolean = UnitType(9) UnitType_WeaponType = UnitType(10) UnitType_Standing = UnitType(11) UnitType_Milliseconds = UnitType(12) UnitType_CompletionReason = UnitType(13) )
const ( ItemBindStatus_NotBound = ItemBindStatus(0) ItemBindStatus_BoundToCharacter = ItemBindStatus(1) ItemBindStatus_BoundToAccount = ItemBindStatus(2) ItemBindStatus_BoundToGuild = ItemBindStatus(3) )
const ( ItemLocation_Unknown = ItemLocation(0) ItemLocation_Inventory = ItemLocation(1) ItemLocation_Vault = ItemLocation(2) ItemLocation_Vendor = ItemLocation(3) ItemLocation_Postmaster = ItemLocation(4) )
const ( ItemPerkVisibility_Visible = ItemPerkVisibility(0) ItemPerkVisibility_Disabled = ItemPerkVisibility(1) ItemPerkVisibility_Hidden = ItemPerkVisibility(2) )
const ( ItemState_None = ItemState(0) ItemState_Locked = ItemState(1) ItemState_Tracked = ItemState(2) ItemState_Masterwork = ItemState(4) ItemState_Crafted = ItemState(8) ItemState_HighlightedObjective = ItemState(16) )
const ( PlugAvailabilityMode_Normal = PlugAvailabilityMode(0) PlugAvailabilityMode_AvailableIfSocketContainsMatchingPlugCategory = PlugAvailabilityMode(2) )
const ( PlugUiStyles_None = PlugUiStyles(0) PlugUiStyles_Masterwork = PlugUiStyles(1) )
const ( SocketArrayType_Default = SocketArrayType(0) SocketArrayType_Intrinsic = SocketArrayType(1) )
const ( SocketPlugSources_None = SocketPlugSources(0) SocketPlugSources_InventorySourced = SocketPlugSources(1) SocketPlugSources_ReusablePlugItems = SocketPlugSources(2) SocketPlugSources_ProfilePlugSet = SocketPlugSources(4) SocketPlugSources_CharacterPlugSet = SocketPlugSources(8) )
const ( SocketTypeActionType_InsertPlug = SocketTypeActionType(0) SocketTypeActionType_InfuseItem = SocketTypeActionType(1) SocketTypeActionType_ReinitializeSocket = SocketTypeActionType(2) )
const ( SpecialItemType_None = SpecialItemType(0) SpecialItemType_SpecialCurrency = SpecialItemType(1) SpecialItemType_Armor = SpecialItemType(8) SpecialItemType_Weapon = SpecialItemType(9) SpecialItemType_Engram = SpecialItemType(23) SpecialItemType_Consumable = SpecialItemType(24) SpecialItemType_ExchangeMaterial = SpecialItemType(25) SpecialItemType_MissionReward = SpecialItemType(27) SpecialItemType_Currency = SpecialItemType(29) )
const ( TierType_Unknown = TierType(0) TierType_Currency = TierType(1) TierType_Basic = TierType(2) TierType_Common = TierType(3) TierType_Rare = TierType(4) TierType_Superior = TierType(5) TierType_Exotic = TierType(6) )
const ( TransferStatuses_CanTransfer = TransferStatuses(0) TransferStatuses_ItemIsEquipped = TransferStatuses(1) TransferStatuses_NotTransferrable = TransferStatuses(2) TransferStatuses_NoRoomInDestination = TransferStatuses(4) )
const ( VendorDisplayCategorySortOrder_Default = VendorDisplayCategorySortOrder(0) VendorDisplayCategorySortOrder_SortByTier = VendorDisplayCategorySortOrder(1) )
const ( VendorInteractionType_Unknown = VendorInteractionType(0) VendorInteractionType_Undefined = VendorInteractionType(1) VendorInteractionType_QuestComplete = VendorInteractionType(2) VendorInteractionType_QuestContinue = VendorInteractionType(3) VendorInteractionType_ReputationPreview = VendorInteractionType(4) VendorInteractionType_RankUpReward = VendorInteractionType(5) VendorInteractionType_TokenTurnIn = VendorInteractionType(6) VendorInteractionType_QuestAccept = VendorInteractionType(7) VendorInteractionType_ProgressTab = VendorInteractionType(8) VendorInteractionType_End = VendorInteractionType(9) VendorInteractionType_Start = VendorInteractionType(10) )
const ( VendorItemStatus_Success = VendorItemStatus(0) VendorItemStatus_NoInventorySpace = VendorItemStatus(1) VendorItemStatus_NoFunds = VendorItemStatus(2) VendorItemStatus_NoProgression = VendorItemStatus(4) VendorItemStatus_NoUnlock = VendorItemStatus(8) VendorItemStatus_NoQuantity = VendorItemStatus(16) VendorItemStatus_OutsidePurchaseWindow = VendorItemStatus(32) VendorItemStatus_NotAvailable = VendorItemStatus(64) VendorItemStatus_UniquenessViolation = VendorItemStatus(128) VendorItemStatus_UnknownError = VendorItemStatus(256) VendorItemStatus_AlreadySelling = VendorItemStatus(512) VendorItemStatus_Unsellable = VendorItemStatus(1024) VendorItemStatus_SellingInhibited = VendorItemStatus(2048) VendorItemStatus_AlreadyOwned = VendorItemStatus(4096) VendorItemStatus_DisplayOnly = VendorItemStatus(8192) )
const ( PlatformErrorCodes_None = PlatformErrorCodes(0) PlatformErrorCodes_Success = PlatformErrorCodes(1) PlatformErrorCodes_TransportException = PlatformErrorCodes(2) PlatformErrorCodes_UnhandledException = PlatformErrorCodes(3) PlatformErrorCodes_NotImplemented = PlatformErrorCodes(4) PlatformErrorCodes_SystemDisabled = PlatformErrorCodes(5) PlatformErrorCodes_FailedToLoadAvailableLocalesConfiguration = PlatformErrorCodes(6) PlatformErrorCodes_ParameterParseFailure = PlatformErrorCodes(7) PlatformErrorCodes_ParameterInvalidRange = PlatformErrorCodes(8) PlatformErrorCodes_BadRequest = PlatformErrorCodes(9) PlatformErrorCodes_AuthenticationInvalid = PlatformErrorCodes(10) PlatformErrorCodes_DataNotFound = PlatformErrorCodes(11) PlatformErrorCodes_InsufficientPrivileges = PlatformErrorCodes(12) PlatformErrorCodes_Duplicate = PlatformErrorCodes(13) PlatformErrorCodes_UnknownSqlResult = PlatformErrorCodes(14) PlatformErrorCodes_ValidationError = PlatformErrorCodes(15) PlatformErrorCodes_ValidationMissingFieldError = PlatformErrorCodes(16) PlatformErrorCodes_ValidationInvalidInputError = PlatformErrorCodes(17) PlatformErrorCodes_InvalidParameters = PlatformErrorCodes(18) PlatformErrorCodes_ParameterNotFound = PlatformErrorCodes(19) PlatformErrorCodes_UnhandledHttpException = PlatformErrorCodes(20) PlatformErrorCodes_NotFound = PlatformErrorCodes(21) PlatformErrorCodes_WebAuthModuleAsyncFailed = PlatformErrorCodes(22) PlatformErrorCodes_InvalidReturnValue = PlatformErrorCodes(23) PlatformErrorCodes_UserBanned = PlatformErrorCodes(24) PlatformErrorCodes_InvalidPostBody = PlatformErrorCodes(25) PlatformErrorCodes_MissingPostBody = PlatformErrorCodes(26) PlatformErrorCodes_ExternalServiceTimeout = PlatformErrorCodes(27) PlatformErrorCodes_ValidationLengthError = PlatformErrorCodes(28) PlatformErrorCodes_ValidationRangeError = PlatformErrorCodes(29) PlatformErrorCodes_JsonDeserializationError = PlatformErrorCodes(30) PlatformErrorCodes_ThrottleLimitExceeded = PlatformErrorCodes(31) PlatformErrorCodes_ValidationTagError = PlatformErrorCodes(32) PlatformErrorCodes_ValidationProfanityError = PlatformErrorCodes(33) PlatformErrorCodes_ValidationUrlFormatError = PlatformErrorCodes(34) PlatformErrorCodes_ThrottleLimitExceededMinutes = PlatformErrorCodes(35) PlatformErrorCodes_ThrottleLimitExceededMomentarily = PlatformErrorCodes(36) PlatformErrorCodes_ThrottleLimitExceededSeconds = PlatformErrorCodes(37) PlatformErrorCodes_ExternalServiceUnknown = PlatformErrorCodes(38) PlatformErrorCodes_ValidationWordLengthError = PlatformErrorCodes(39) PlatformErrorCodes_ValidationInvisibleUnicode = PlatformErrorCodes(40) PlatformErrorCodes_ValidationBadNames = PlatformErrorCodes(41) PlatformErrorCodes_ExternalServiceFailed = PlatformErrorCodes(42) PlatformErrorCodes_ServiceRetired = PlatformErrorCodes(43) PlatformErrorCodes_UnknownSqlException = PlatformErrorCodes(44) PlatformErrorCodes_UnsupportedLocale = PlatformErrorCodes(45) PlatformErrorCodes_InvalidPageNumber = PlatformErrorCodes(46) PlatformErrorCodes_MaximumPageSizeExceeded = PlatformErrorCodes(47) PlatformErrorCodes_ServiceUnsupported = PlatformErrorCodes(48) PlatformErrorCodes_ValidationMaximumUnicodeCombiningCharacters = PlatformErrorCodes(49) PlatformErrorCodes_ValidationMaximumSequentialCarriageReturns = PlatformErrorCodes(50) PlatformErrorCodes_PerEndpointRequestThrottleExceeded = PlatformErrorCodes(51) PlatformErrorCodes_AuthContextCacheAssertion = PlatformErrorCodes(52) PlatformErrorCodes_ExPlatformStringValidationError = PlatformErrorCodes(53) PlatformErrorCodes_PerApplicationThrottleExceeded = PlatformErrorCodes(54) PlatformErrorCodes_PerApplicationAnonymousThrottleExceeded = PlatformErrorCodes(55) PlatformErrorCodes_PerApplicationAuthenticatedThrottleExceeded = PlatformErrorCodes(56) PlatformErrorCodes_PerUserThrottleExceeded = PlatformErrorCodes(57) PlatformErrorCodes_PayloadSignatureVerificationFailure = PlatformErrorCodes(58) PlatformErrorCodes_InvalidServiceAuthContext = PlatformErrorCodes(59) PlatformErrorCodes_ObsoleteCredentialType = PlatformErrorCodes(89) PlatformErrorCodes_UnableToUnPairMobileApp = PlatformErrorCodes(90) PlatformErrorCodes_UnableToPairMobileApp = PlatformErrorCodes(91) PlatformErrorCodes_CannotUseMobileAuthWithNonMobileProvider = PlatformErrorCodes(92) PlatformErrorCodes_MissingDeviceCookie = PlatformErrorCodes(93) PlatformErrorCodes_FacebookTokenExpired = PlatformErrorCodes(94) PlatformErrorCodes_AuthTicketRequired = PlatformErrorCodes(95) PlatformErrorCodes_CookieContextRequired = PlatformErrorCodes(96) PlatformErrorCodes_UnknownAuthenticationError = PlatformErrorCodes(97) PlatformErrorCodes_BungieNetAccountCreationRequired = PlatformErrorCodes(98) PlatformErrorCodes_WebAuthRequired = PlatformErrorCodes(99) PlatformErrorCodes_ContentUnknownSqlResult = PlatformErrorCodes(100) PlatformErrorCodes_ContentNeedUniquePath = PlatformErrorCodes(101) PlatformErrorCodes_ContentSqlException = PlatformErrorCodes(102) PlatformErrorCodes_ContentNotFound = PlatformErrorCodes(103) PlatformErrorCodes_ContentSuccessWithTagAddFail = PlatformErrorCodes(104) PlatformErrorCodes_ContentSearchMissingParameters = PlatformErrorCodes(105) PlatformErrorCodes_ContentInvalidId = PlatformErrorCodes(106) PlatformErrorCodes_ContentPhysicalFileDeletionError = PlatformErrorCodes(107) PlatformErrorCodes_ContentPhysicalFileCreationError = PlatformErrorCodes(108) PlatformErrorCodes_ContentPerforceSubmissionError = PlatformErrorCodes(109) PlatformErrorCodes_ContentPerforceInitializationError = PlatformErrorCodes(110) PlatformErrorCodes_ContentDeploymentPackageNotReadyError = PlatformErrorCodes(111) PlatformErrorCodes_ContentUploadFailed = PlatformErrorCodes(112) PlatformErrorCodes_ContentTooManyResults = PlatformErrorCodes(113) PlatformErrorCodes_ContentInvalidState = PlatformErrorCodes(115) PlatformErrorCodes_DeploymentPackageNotEditable = PlatformErrorCodes(118) PlatformErrorCodes_ContentValidationError = PlatformErrorCodes(119) PlatformErrorCodes_ContentPropertiesValidationError = PlatformErrorCodes(120) PlatformErrorCodes_ContentTypeNotFound = PlatformErrorCodes(121) PlatformErrorCodes_DeploymentPackageNotFound = PlatformErrorCodes(122) PlatformErrorCodes_ContentSearchInvalidParameters = PlatformErrorCodes(123) PlatformErrorCodes_ContentItemPropertyAggregationError = PlatformErrorCodes(124) PlatformErrorCodes_DeploymentPackageFileNotFound = PlatformErrorCodes(125) PlatformErrorCodes_ContentPerforceFileHistoryNotFound = PlatformErrorCodes(126) PlatformErrorCodes_ContentAssetZipCreationFailure = PlatformErrorCodes(127) PlatformErrorCodes_ContentAssetZipCreationBusy = PlatformErrorCodes(128) PlatformErrorCodes_ContentProjectNotFound = PlatformErrorCodes(129) PlatformErrorCodes_ContentFolderNotFound = PlatformErrorCodes(130) PlatformErrorCodes_ContentPackagesInconsistent = PlatformErrorCodes(131) PlatformErrorCodes_ContentPackagesInvalidState = PlatformErrorCodes(132) PlatformErrorCodes_ContentPackagesInconsistentType = PlatformErrorCodes(133) PlatformErrorCodes_ContentCannotDeletePackage = PlatformErrorCodes(134) PlatformErrorCodes_ContentLockedForChanges = PlatformErrorCodes(135) PlatformErrorCodes_ContentFileUploadFailed = PlatformErrorCodes(136) PlatformErrorCodes_ContentNotReviewed = PlatformErrorCodes(137) PlatformErrorCodes_ContentPermissionDenied = PlatformErrorCodes(138) PlatformErrorCodes_ContentInvalidExternalUrl = PlatformErrorCodes(139) PlatformErrorCodes_ContentExternalFileCannotBeImportedLocally = PlatformErrorCodes(140) PlatformErrorCodes_ContentTagSaveFailure = PlatformErrorCodes(141) PlatformErrorCodes_ContentPerforceUnmatchedFileError = PlatformErrorCodes(142) PlatformErrorCodes_ContentPerforceChangelistResultNotFound = PlatformErrorCodes(143) PlatformErrorCodes_ContentPerforceChangelistFileItemsNotFound = PlatformErrorCodes(144) PlatformErrorCodes_ContentPerforceInvalidRevisionError = PlatformErrorCodes(145) PlatformErrorCodes_ContentUnloadedSaveResult = PlatformErrorCodes(146) PlatformErrorCodes_ContentPropertyInvalidNumber = PlatformErrorCodes(147) PlatformErrorCodes_ContentPropertyInvalidUrl = PlatformErrorCodes(148) PlatformErrorCodes_ContentPropertyInvalidDate = PlatformErrorCodes(149) PlatformErrorCodes_ContentPropertyInvalidSet = PlatformErrorCodes(150) PlatformErrorCodes_ContentPropertyCannotDeserialize = PlatformErrorCodes(151) PlatformErrorCodes_ContentRegexValidationFailOnProperty = PlatformErrorCodes(152) PlatformErrorCodes_ContentMaxLengthFailOnProperty = PlatformErrorCodes(153) PlatformErrorCodes_ContentPropertyUnexpectedDeserializationError = PlatformErrorCodes(154) PlatformErrorCodes_ContentPropertyRequired = PlatformErrorCodes(155) PlatformErrorCodes_ContentCannotCreateFile = PlatformErrorCodes(156) PlatformErrorCodes_ContentInvalidMigrationFile = PlatformErrorCodes(157) PlatformErrorCodes_ContentMigrationAlteringProcessedItem = PlatformErrorCodes(158) PlatformErrorCodes_ContentPropertyDefinitionNotFound = PlatformErrorCodes(159) PlatformErrorCodes_ContentReviewDataChanged = PlatformErrorCodes(160) PlatformErrorCodes_ContentRollbackRevisionNotInPackage = PlatformErrorCodes(161) PlatformErrorCodes_ContentItemNotBasedOnLatestRevision = PlatformErrorCodes(162) PlatformErrorCodes_ContentCannotCreateDeploymentPackage = PlatformErrorCodes(164) PlatformErrorCodes_ContentUserNotFound = PlatformErrorCodes(165) PlatformErrorCodes_ContentLocalePermissionDenied = PlatformErrorCodes(166) PlatformErrorCodes_ContentInvalidLinkToInternalEnvironment = PlatformErrorCodes(167) PlatformErrorCodes_ContentInvalidBlacklistedContent = PlatformErrorCodes(168) PlatformErrorCodes_ContentMacroMalformedNoContentId = PlatformErrorCodes(169) PlatformErrorCodes_ContentMacroMalformedNoTemplateType = PlatformErrorCodes(170) PlatformErrorCodes_ContentIllegalBNetMembershipId = PlatformErrorCodes(171) PlatformErrorCodes_ContentLocaleDidNotMatchExpected = PlatformErrorCodes(172) PlatformErrorCodes_ContentBabelCallFailed = PlatformErrorCodes(173) PlatformErrorCodes_ContentEnglishPostLiveForbidden = PlatformErrorCodes(174) PlatformErrorCodes_ContentLocaleEditPermissionDenied = PlatformErrorCodes(175) PlatformErrorCodes_ContentStackUnknownError = PlatformErrorCodes(176) PlatformErrorCodes_ContentStackNotFound = PlatformErrorCodes(177) PlatformErrorCodes_ContentStackRateLimited = PlatformErrorCodes(178) PlatformErrorCodes_ContentStackTimeout = PlatformErrorCodes(179) PlatformErrorCodes_ContentStackServiceError = PlatformErrorCodes(180) PlatformErrorCodes_ContentStackDeserializationFailure = PlatformErrorCodes(181) PlatformErrorCodes_UserNonUniqueName = PlatformErrorCodes(200) PlatformErrorCodes_UserManualLinkingStepRequired = PlatformErrorCodes(201) PlatformErrorCodes_UserCreateUnknownSqlResult = PlatformErrorCodes(202) PlatformErrorCodes_UserCreateUnknownSqlException = PlatformErrorCodes(203) PlatformErrorCodes_UserMalformedMembershipId = PlatformErrorCodes(204) PlatformErrorCodes_UserCannotFindRequestedUser = PlatformErrorCodes(205) PlatformErrorCodes_UserCannotLoadAccountCredentialLinkInfo = PlatformErrorCodes(206) PlatformErrorCodes_UserInvalidMobileAppType = PlatformErrorCodes(207) PlatformErrorCodes_UserMissingMobilePairingInfo = PlatformErrorCodes(208) PlatformErrorCodes_UserCannotGenerateMobileKeyWhileUsingMobileCredential = PlatformErrorCodes(209) PlatformErrorCodes_UserGenerateMobileKeyExistingSlotCollision = PlatformErrorCodes(210) PlatformErrorCodes_UserDisplayNameMissingOrInvalid = PlatformErrorCodes(211) PlatformErrorCodes_UserCannotLoadAccountProfileData = PlatformErrorCodes(212) PlatformErrorCodes_UserCannotSaveUserProfileData = PlatformErrorCodes(213) PlatformErrorCodes_UserEmailMissingOrInvalid = PlatformErrorCodes(214) PlatformErrorCodes_UserTermsOfUseRequired = PlatformErrorCodes(215) PlatformErrorCodes_UserCannotCreateNewAccountWhileLoggedIn = PlatformErrorCodes(216) PlatformErrorCodes_UserCannotResolveCentralAccount = PlatformErrorCodes(217) PlatformErrorCodes_UserInvalidAvatar = PlatformErrorCodes(218) PlatformErrorCodes_UserMissingCreatedUserResult = PlatformErrorCodes(219) PlatformErrorCodes_UserCannotChangeUniqueNameYet = PlatformErrorCodes(220) PlatformErrorCodes_UserCannotChangeDisplayNameYet = PlatformErrorCodes(221) PlatformErrorCodes_UserCannotChangeEmail = PlatformErrorCodes(222) PlatformErrorCodes_UserUniqueNameMustStartWithLetter = PlatformErrorCodes(223) PlatformErrorCodes_UserNoLinkedAccountsSupportFriendListings = PlatformErrorCodes(224) PlatformErrorCodes_UserAcknowledgmentTableFull = PlatformErrorCodes(225) PlatformErrorCodes_UserCreationDestinyMembershipRequired = PlatformErrorCodes(226) PlatformErrorCodes_UserFriendsTokenNeedsRefresh = PlatformErrorCodes(227) PlatformErrorCodes_UserEmailValidationUnknown = PlatformErrorCodes(228) PlatformErrorCodes_UserEmailValidationLimit = PlatformErrorCodes(229) PlatformErrorCodes_TransactionEmailSendFailure = PlatformErrorCodes(230) PlatformErrorCodes_MailHookPermissionFailure = PlatformErrorCodes(231) PlatformErrorCodes_MailServiceRateLimit = PlatformErrorCodes(232) PlatformErrorCodes_UserEmailMustBeVerified = PlatformErrorCodes(233) PlatformErrorCodes_UserMustAllowCustomerServiceEmails = PlatformErrorCodes(234) PlatformErrorCodes_NonTransactionalEmailSendFailure = PlatformErrorCodes(235) PlatformErrorCodes_UnknownErrorSettingGlobalDisplayName = PlatformErrorCodes(236) PlatformErrorCodes_DuplicateGlobalDisplayName = PlatformErrorCodes(237) PlatformErrorCodes_ErrorRunningNameValidationChecks = PlatformErrorCodes(238) PlatformErrorCodes_ErrorDatabaseGlobalName = PlatformErrorCodes(239) PlatformErrorCodes_ErrorNoAvailableNameChanges = PlatformErrorCodes(240) PlatformErrorCodes_ErrorNameAlreadySetToInput = PlatformErrorCodes(241) PlatformErrorCodes_UserDisplayNameLessThanMinLength = PlatformErrorCodes(242) PlatformErrorCodes_UserDisplayNameGreaterThanMaxLength = PlatformErrorCodes(243) PlatformErrorCodes_UserDisplayNameContainsUnacceptableOrInvalidContent = PlatformErrorCodes(244) PlatformErrorCodes_MessagingUnknownError = PlatformErrorCodes(300) PlatformErrorCodes_MessagingSelfError = PlatformErrorCodes(301) PlatformErrorCodes_MessagingSendThrottle = PlatformErrorCodes(302) PlatformErrorCodes_MessagingNoBody = PlatformErrorCodes(303) PlatformErrorCodes_MessagingTooManyUsers = PlatformErrorCodes(304) PlatformErrorCodes_MessagingCanNotLeaveConversation = PlatformErrorCodes(305) PlatformErrorCodes_MessagingUnableToSend = PlatformErrorCodes(306) PlatformErrorCodes_MessagingDeletedUserForbidden = PlatformErrorCodes(307) PlatformErrorCodes_MessagingCannotDeleteExternalConversation = PlatformErrorCodes(308) PlatformErrorCodes_MessagingGroupChatDisabled = PlatformErrorCodes(309) PlatformErrorCodes_MessagingMustIncludeSelfInPrivateMessage = PlatformErrorCodes(310) PlatformErrorCodes_MessagingSenderIsBanned = PlatformErrorCodes(311) PlatformErrorCodes_MessagingGroupOptionalChatExceededMaximum = PlatformErrorCodes(312) PlatformErrorCodes_PrivateMessagingRequiresDestinyMembership = PlatformErrorCodes(313) PlatformErrorCodes_AddSurveyAnswersUnknownSqlException = PlatformErrorCodes(400) PlatformErrorCodes_ForumBodyCannotBeEmpty = PlatformErrorCodes(500) PlatformErrorCodes_ForumSubjectCannotBeEmptyOnTopicPost = PlatformErrorCodes(501) PlatformErrorCodes_ForumCannotLocateParentPost = PlatformErrorCodes(502) PlatformErrorCodes_ForumThreadLockedForReplies = PlatformErrorCodes(503) PlatformErrorCodes_ForumUnknownSqlResultDuringCreatePost = PlatformErrorCodes(504) PlatformErrorCodes_ForumUnknownTagCreationError = PlatformErrorCodes(505) PlatformErrorCodes_ForumUnknownSqlResultDuringTagItem = PlatformErrorCodes(506) PlatformErrorCodes_ForumUnknownExceptionCreatePost = PlatformErrorCodes(507) PlatformErrorCodes_ForumQuestionMustBeTopicPost = PlatformErrorCodes(508) PlatformErrorCodes_ForumExceptionDuringTagSearch = PlatformErrorCodes(509) PlatformErrorCodes_ForumExceptionDuringTopicRetrieval = PlatformErrorCodes(510) PlatformErrorCodes_ForumAliasedTagError = PlatformErrorCodes(511) PlatformErrorCodes_ForumCannotLocateThread = PlatformErrorCodes(512) PlatformErrorCodes_ForumUnknownExceptionEditPost = PlatformErrorCodes(513) PlatformErrorCodes_ForumCannotLocatePost = PlatformErrorCodes(514) PlatformErrorCodes_ForumUnknownExceptionGetOrCreateTags = PlatformErrorCodes(515) PlatformErrorCodes_ForumEditPermissionDenied = PlatformErrorCodes(516) PlatformErrorCodes_ForumUnknownSqlResultDuringTagIdRetrieval = PlatformErrorCodes(517) PlatformErrorCodes_ForumCannotGetRating = PlatformErrorCodes(518) PlatformErrorCodes_ForumUnknownExceptionGetRating = PlatformErrorCodes(519) PlatformErrorCodes_ForumRatingsAccessError = PlatformErrorCodes(520) PlatformErrorCodes_ForumRelatedPostAccessError = PlatformErrorCodes(521) PlatformErrorCodes_ForumLatestReplyAccessError = PlatformErrorCodes(522) PlatformErrorCodes_ForumUserStatusAccessError = PlatformErrorCodes(523) PlatformErrorCodes_ForumAuthorAccessError = PlatformErrorCodes(524) PlatformErrorCodes_ForumGroupAccessError = PlatformErrorCodes(525) PlatformErrorCodes_ForumUrlExpectedButMissing = PlatformErrorCodes(526) PlatformErrorCodes_ForumRepliesCannotBeEmpty = PlatformErrorCodes(527) PlatformErrorCodes_ForumRepliesCannotBeInDifferentGroups = PlatformErrorCodes(528) PlatformErrorCodes_ForumSubTopicCannotBeCreatedAtThisThreadLevel = PlatformErrorCodes(529) PlatformErrorCodes_ForumCannotCreateContentTopic = PlatformErrorCodes(530) PlatformErrorCodes_ForumTopicDoesNotExist = PlatformErrorCodes(531) PlatformErrorCodes_ForumContentCommentsNotAllowed = PlatformErrorCodes(532) PlatformErrorCodes_ForumUnknownSqlResultDuringEditPost = PlatformErrorCodes(533) PlatformErrorCodes_ForumUnknownSqlResultDuringGetPost = PlatformErrorCodes(534) PlatformErrorCodes_ForumPostValidationBadUrl = PlatformErrorCodes(535) PlatformErrorCodes_ForumBodyTooLong = PlatformErrorCodes(536) PlatformErrorCodes_ForumSubjectTooLong = PlatformErrorCodes(537) PlatformErrorCodes_ForumAnnouncementNotAllowed = PlatformErrorCodes(538) PlatformErrorCodes_ForumEditNoOp = PlatformErrorCodes(540) PlatformErrorCodes_ForumUnknownDatabaseErrorDuringGetPost = PlatformErrorCodes(541) PlatformErrorCodes_ForumExceeedMaximumRowLimit = PlatformErrorCodes(542) PlatformErrorCodes_ForumCannotCrossPostBetweenGroups = PlatformErrorCodes(544) PlatformErrorCodes_ForumIncompatibleCategories = PlatformErrorCodes(555) PlatformErrorCodes_ForumCannotUseTheseCategoriesOnNonTopicPost = PlatformErrorCodes(556) PlatformErrorCodes_ForumCanOnlyDeleteTopics = PlatformErrorCodes(557) PlatformErrorCodes_ForumDeleteSqlException = PlatformErrorCodes(558) PlatformErrorCodes_ForumDeleteSqlUnknownResult = PlatformErrorCodes(559) PlatformErrorCodes_ForumTooManyTags = PlatformErrorCodes(560) PlatformErrorCodes_ForumCanOnlyRateTopics = PlatformErrorCodes(561) PlatformErrorCodes_ForumBannedPostsCannotBeEdited = PlatformErrorCodes(562) PlatformErrorCodes_ForumThreadRootIsBanned = PlatformErrorCodes(563) PlatformErrorCodes_ForumCannotUseOfficialTagCategoryAsTag = PlatformErrorCodes(564) PlatformErrorCodes_ForumAnswerCannotBeMadeOnCreatePost = PlatformErrorCodes(565) PlatformErrorCodes_ForumAnswerCannotBeMadeOnEditPost = PlatformErrorCodes(566) PlatformErrorCodes_ForumAnswerPostIdIsNotADirectReplyOfQuestion = PlatformErrorCodes(567) PlatformErrorCodes_ForumAnswerTopicIdIsNotAQuestion = PlatformErrorCodes(568) PlatformErrorCodes_ForumUnknownExceptionDuringMarkAnswer = PlatformErrorCodes(569) PlatformErrorCodes_ForumUnknownSqlResultDuringMarkAnswer = PlatformErrorCodes(570) PlatformErrorCodes_ForumCannotRateYourOwnPosts = PlatformErrorCodes(571) PlatformErrorCodes_ForumPollsMustBeTheFirstPostInTopic = PlatformErrorCodes(572) PlatformErrorCodes_ForumInvalidPollInput = PlatformErrorCodes(573) PlatformErrorCodes_ForumGroupAdminEditNonMember = PlatformErrorCodes(574) PlatformErrorCodes_ForumCannotEditModeratorEditedPost = PlatformErrorCodes(575) PlatformErrorCodes_ForumRequiresDestinyMembership = PlatformErrorCodes(576) PlatformErrorCodes_ForumUnexpectedError = PlatformErrorCodes(577) PlatformErrorCodes_ForumAgeLock = PlatformErrorCodes(578) PlatformErrorCodes_ForumMaxPages = PlatformErrorCodes(579) PlatformErrorCodes_ForumMaxPagesOldestFirst = PlatformErrorCodes(580) PlatformErrorCodes_ForumCannotApplyForumIdWithoutTags = PlatformErrorCodes(581) PlatformErrorCodes_ForumCannotApplyForumIdToNonTopics = PlatformErrorCodes(582) PlatformErrorCodes_ForumCannotDownvoteCommunityCreations = PlatformErrorCodes(583) PlatformErrorCodes_ForumTopicsMustHaveOfficialCategory = PlatformErrorCodes(584) PlatformErrorCodes_ForumRecruitmentTopicMalformed = PlatformErrorCodes(585) PlatformErrorCodes_ForumRecruitmentTopicNotFound = PlatformErrorCodes(586) PlatformErrorCodes_ForumRecruitmentTopicNoSlotsRemaining = PlatformErrorCodes(587) PlatformErrorCodes_ForumRecruitmentTopicKickBan = PlatformErrorCodes(588) PlatformErrorCodes_ForumRecruitmentTopicRequirementsNotMet = PlatformErrorCodes(589) PlatformErrorCodes_ForumRecruitmentTopicNoPlayers = PlatformErrorCodes(590) PlatformErrorCodes_ForumRecruitmentApproveFailMessageBan = PlatformErrorCodes(591) PlatformErrorCodes_ForumRecruitmentGlobalBan = PlatformErrorCodes(592) PlatformErrorCodes_ForumUserBannedFromThisTopic = PlatformErrorCodes(593) PlatformErrorCodes_ForumRecruitmentFireteamMembersOnly = PlatformErrorCodes(594) PlatformErrorCodes_ForumRequiresDestiny2Progress = PlatformErrorCodes(595) PlatformErrorCodes_ForumRequiresDestiny2EntitlementPurchase = PlatformErrorCodes(596) PlatformErrorCodes_GroupMembershipApplicationAlreadyResolved = PlatformErrorCodes(601) PlatformErrorCodes_GroupMembershipAlreadyApplied = PlatformErrorCodes(602) PlatformErrorCodes_GroupMembershipInsufficientPrivileges = PlatformErrorCodes(603) PlatformErrorCodes_GroupIdNotReturnedFromCreation = PlatformErrorCodes(604) PlatformErrorCodes_GroupSearchInvalidParameters = PlatformErrorCodes(605) PlatformErrorCodes_GroupMembershipPendingApplicationNotFound = PlatformErrorCodes(606) PlatformErrorCodes_GroupInvalidId = PlatformErrorCodes(607) PlatformErrorCodes_GroupInvalidMembershipId = PlatformErrorCodes(608) PlatformErrorCodes_GroupInvalidMembershipType = PlatformErrorCodes(609) PlatformErrorCodes_GroupMissingTags = PlatformErrorCodes(610) PlatformErrorCodes_GroupMembershipNotFound = PlatformErrorCodes(611) PlatformErrorCodes_GroupInvalidRating = PlatformErrorCodes(612) PlatformErrorCodes_GroupUserFollowingAccessError = PlatformErrorCodes(613) PlatformErrorCodes_GroupUserMembershipAccessError = PlatformErrorCodes(614) PlatformErrorCodes_GroupCreatorAccessError = PlatformErrorCodes(615) PlatformErrorCodes_GroupAdminAccessError = PlatformErrorCodes(616) PlatformErrorCodes_GroupPrivatePostNotViewable = PlatformErrorCodes(617) PlatformErrorCodes_GroupMembershipNotLoggedIn = PlatformErrorCodes(618) PlatformErrorCodes_GroupNotDeleted = PlatformErrorCodes(619) PlatformErrorCodes_GroupUnknownErrorUndeletingGroup = PlatformErrorCodes(620) PlatformErrorCodes_GroupDeleted = PlatformErrorCodes(621) PlatformErrorCodes_GroupNotFound = PlatformErrorCodes(622) PlatformErrorCodes_GroupMemberBanned = PlatformErrorCodes(623) PlatformErrorCodes_GroupMembershipClosed = PlatformErrorCodes(624) PlatformErrorCodes_GroupPrivatePostOverrideError = PlatformErrorCodes(625) PlatformErrorCodes_GroupNameTaken = PlatformErrorCodes(626) PlatformErrorCodes_GroupDeletionGracePeriodExpired = PlatformErrorCodes(627) PlatformErrorCodes_GroupCannotCheckBanStatus = PlatformErrorCodes(628) PlatformErrorCodes_GroupMaximumMembershipCountReached = PlatformErrorCodes(629) PlatformErrorCodes_NoDestinyAccountForClanPlatform = PlatformErrorCodes(630) PlatformErrorCodes_AlreadyRequestingMembershipForClanPlatform = PlatformErrorCodes(631) PlatformErrorCodes_AlreadyClanMemberOnPlatform = PlatformErrorCodes(632) PlatformErrorCodes_GroupJoinedCannotSetClanName = PlatformErrorCodes(633) PlatformErrorCodes_GroupLeftCannotClearClanName = PlatformErrorCodes(634) PlatformErrorCodes_GroupRelationshipRequestPending = PlatformErrorCodes(635) PlatformErrorCodes_GroupRelationshipRequestBlocked = PlatformErrorCodes(636) PlatformErrorCodes_GroupRelationshipRequestNotFound = PlatformErrorCodes(637) PlatformErrorCodes_GroupRelationshipBlockNotFound = PlatformErrorCodes(638) PlatformErrorCodes_GroupRelationshipNotFound = PlatformErrorCodes(639) PlatformErrorCodes_GroupAlreadyAllied = PlatformErrorCodes(641) PlatformErrorCodes_GroupAlreadyMember = PlatformErrorCodes(642) PlatformErrorCodes_GroupRelationshipAlreadyExists = PlatformErrorCodes(643) PlatformErrorCodes_InvalidGroupTypesForRelationshipRequest = PlatformErrorCodes(644) PlatformErrorCodes_GroupAtMaximumAlliances = PlatformErrorCodes(646) PlatformErrorCodes_GroupCannotSetClanOnlySettings = PlatformErrorCodes(647) PlatformErrorCodes_ClanCannotSetTwoDefaultPostTypes = PlatformErrorCodes(648) PlatformErrorCodes_GroupMemberInvalidMemberType = PlatformErrorCodes(649) PlatformErrorCodes_GroupInvalidPlatformType = PlatformErrorCodes(650) PlatformErrorCodes_GroupMemberInvalidSort = PlatformErrorCodes(651) PlatformErrorCodes_GroupInvalidResolveState = PlatformErrorCodes(652) PlatformErrorCodes_ClanAlreadyEnabledForPlatform = PlatformErrorCodes(653) PlatformErrorCodes_ClanNotEnabledForPlatform = PlatformErrorCodes(654) PlatformErrorCodes_ClanEnabledButCouldNotJoinNoAccount = PlatformErrorCodes(655) PlatformErrorCodes_ClanEnabledButCouldNotJoinAlreadyMember = PlatformErrorCodes(656) PlatformErrorCodes_ClanCannotJoinNoCredential = PlatformErrorCodes(657) PlatformErrorCodes_NoClanMembershipForPlatform = PlatformErrorCodes(658) PlatformErrorCodes_GroupToGroupFollowLimitReached = PlatformErrorCodes(659) PlatformErrorCodes_ChildGroupAlreadyInAlliance = PlatformErrorCodes(660) PlatformErrorCodes_OwnerGroupAlreadyInAlliance = PlatformErrorCodes(661) PlatformErrorCodes_AllianceOwnerCannotJoinAlliance = PlatformErrorCodes(662) PlatformErrorCodes_GroupNotInAlliance = PlatformErrorCodes(663) PlatformErrorCodes_ChildGroupCannotInviteToAlliance = PlatformErrorCodes(664) PlatformErrorCodes_GroupToGroupAlreadyFollowed = PlatformErrorCodes(665) PlatformErrorCodes_GroupToGroupNotFollowing = PlatformErrorCodes(666) PlatformErrorCodes_ClanMaximumMembershipReached = PlatformErrorCodes(667) PlatformErrorCodes_ClanNameNotValid = PlatformErrorCodes(668) PlatformErrorCodes_ClanNameNotValidError = PlatformErrorCodes(669) PlatformErrorCodes_AllianceOwnerNotDefined = PlatformErrorCodes(670) PlatformErrorCodes_AllianceChildNotDefined = PlatformErrorCodes(671) PlatformErrorCodes_ClanCultureIllegalCharacters = PlatformErrorCodes(672) PlatformErrorCodes_ClanTagIllegalCharacters = PlatformErrorCodes(673) PlatformErrorCodes_ClanRequiresInvitation = PlatformErrorCodes(674) PlatformErrorCodes_ClanMembershipClosed = PlatformErrorCodes(675) PlatformErrorCodes_ClanInviteAlreadyMember = PlatformErrorCodes(676) PlatformErrorCodes_GroupInviteAlreadyMember = PlatformErrorCodes(677) PlatformErrorCodes_GroupJoinApprovalRequired = PlatformErrorCodes(678) PlatformErrorCodes_ClanTagRequired = PlatformErrorCodes(679) PlatformErrorCodes_GroupNameCannotStartOrEndWithWhiteSpace = PlatformErrorCodes(680) PlatformErrorCodes_ClanCallsignCannotStartOrEndWithWhiteSpace = PlatformErrorCodes(681) PlatformErrorCodes_ClanMigrationFailed = PlatformErrorCodes(682) PlatformErrorCodes_ClanNotEnabledAlreadyMemberOfAnotherClan = PlatformErrorCodes(683) PlatformErrorCodes_GroupModerationNotPermittedOnNonMembers = PlatformErrorCodes(684) PlatformErrorCodes_ClanCreationInWorldServerFailed = PlatformErrorCodes(685) PlatformErrorCodes_ClanNotFound = PlatformErrorCodes(686) PlatformErrorCodes_ClanMembershipLevelDoesNotPermitThatAction = PlatformErrorCodes(687) PlatformErrorCodes_ClanMemberNotFound = PlatformErrorCodes(688) PlatformErrorCodes_ClanMissingMembershipApprovers = PlatformErrorCodes(689) PlatformErrorCodes_ClanInWrongStateForRequestedAction = PlatformErrorCodes(690) PlatformErrorCodes_ClanNameAlreadyUsed = PlatformErrorCodes(691) PlatformErrorCodes_ClanTooFewMembers = PlatformErrorCodes(692) PlatformErrorCodes_ClanInfoCannotBeWhitespace = PlatformErrorCodes(693) PlatformErrorCodes_GroupCultureThrottle = PlatformErrorCodes(694) PlatformErrorCodes_ClanTargetDisallowsInvites = PlatformErrorCodes(695) PlatformErrorCodes_ClanInvalidOperation = PlatformErrorCodes(696) PlatformErrorCodes_ClanFounderCannotLeaveWithoutAbdication = PlatformErrorCodes(697) PlatformErrorCodes_ClanNameReserved = PlatformErrorCodes(698) PlatformErrorCodes_ClanApplicantInClanSoNowInvited = PlatformErrorCodes(699) PlatformErrorCodes_ActivitiesUnknownException = PlatformErrorCodes(701) PlatformErrorCodes_ActivitiesParameterNull = PlatformErrorCodes(702) PlatformErrorCodes_ActivityCountsDiabled = PlatformErrorCodes(703) PlatformErrorCodes_ActivitySearchInvalidParameters = PlatformErrorCodes(704) PlatformErrorCodes_ActivityPermissionDenied = PlatformErrorCodes(705) PlatformErrorCodes_ActivityLoggingDisabled = PlatformErrorCodes(707) PlatformErrorCodes_ClanRequiresExistingDestinyAccount = PlatformErrorCodes(750) PlatformErrorCodes_ClanNameRestricted = PlatformErrorCodes(751) PlatformErrorCodes_ClanCreationBan = PlatformErrorCodes(752) PlatformErrorCodes_ClanCreationTenureRequirementsNotMet = PlatformErrorCodes(753) PlatformErrorCodes_ClanFieldContainsReservedTerms = PlatformErrorCodes(754) PlatformErrorCodes_ClanFieldContainsInappropriateContent = PlatformErrorCodes(755) PlatformErrorCodes_ItemAlreadyFollowed = PlatformErrorCodes(801) PlatformErrorCodes_ItemNotFollowed = PlatformErrorCodes(802) PlatformErrorCodes_CannotFollowSelf = PlatformErrorCodes(803) PlatformErrorCodes_GroupFollowLimitExceeded = PlatformErrorCodes(804) PlatformErrorCodes_TagFollowLimitExceeded = PlatformErrorCodes(805) PlatformErrorCodes_UserFollowLimitExceeded = PlatformErrorCodes(806) PlatformErrorCodes_FollowUnsupportedEntityType = PlatformErrorCodes(807) PlatformErrorCodes_NoValidTagsInList = PlatformErrorCodes(900) PlatformErrorCodes_BelowMinimumSuggestionLength = PlatformErrorCodes(901) PlatformErrorCodes_CannotGetSuggestionsOnMultipleTagsSimultaneously = PlatformErrorCodes(902) PlatformErrorCodes_NotAValidPartialTag = PlatformErrorCodes(903) PlatformErrorCodes_TagSuggestionsUnknownSqlResult = PlatformErrorCodes(904) PlatformErrorCodes_TagsUnableToLoadPopularTagsFromDatabase = PlatformErrorCodes(905) PlatformErrorCodes_TagInvalid = PlatformErrorCodes(906) PlatformErrorCodes_TagNotFound = PlatformErrorCodes(907) PlatformErrorCodes_SingleTagExpected = PlatformErrorCodes(908) PlatformErrorCodes_TagsExceededMaximumPerItem = PlatformErrorCodes(909) PlatformErrorCodes_IgnoreInvalidParameters = PlatformErrorCodes(1000) PlatformErrorCodes_IgnoreSqlException = PlatformErrorCodes(1001) PlatformErrorCodes_IgnoreErrorRetrievingGroupPermissions = PlatformErrorCodes(1002) PlatformErrorCodes_IgnoreErrorInsufficientPermission = PlatformErrorCodes(1003) PlatformErrorCodes_IgnoreErrorRetrievingItem = PlatformErrorCodes(1004) PlatformErrorCodes_IgnoreCannotIgnoreSelf = PlatformErrorCodes(1005) PlatformErrorCodes_IgnoreIllegalType = PlatformErrorCodes(1006) PlatformErrorCodes_IgnoreNotFound = PlatformErrorCodes(1007) PlatformErrorCodes_IgnoreUserGloballyIgnored = PlatformErrorCodes(1008) PlatformErrorCodes_IgnoreUserIgnored = PlatformErrorCodes(1009) PlatformErrorCodes_TargetUserIgnored = PlatformErrorCodes(1010) PlatformErrorCodes_NotificationSettingInvalid = PlatformErrorCodes(1100) PlatformErrorCodes_PsnApiExpiredAccessToken = PlatformErrorCodes(1204) PlatformErrorCodes_PSNExForbidden = PlatformErrorCodes(1205) PlatformErrorCodes_PSNExSystemDisabled = PlatformErrorCodes(1218) PlatformErrorCodes_PsnApiErrorCodeUnknown = PlatformErrorCodes(1223) PlatformErrorCodes_PsnApiErrorWebException = PlatformErrorCodes(1224) PlatformErrorCodes_PsnApiBadRequest = PlatformErrorCodes(1225) PlatformErrorCodes_PsnApiAccessTokenRequired = PlatformErrorCodes(1226) PlatformErrorCodes_PsnApiInvalidAccessToken = PlatformErrorCodes(1227) PlatformErrorCodes_PsnApiBannedUser = PlatformErrorCodes(1229) PlatformErrorCodes_PsnApiAccountUpgradeRequired = PlatformErrorCodes(1230) PlatformErrorCodes_PsnApiServerBusy = PlatformErrorCodes(1232) PlatformErrorCodes_PsnApiUnderMaintenance = PlatformErrorCodes(1233) PlatformErrorCodes_PsnApiProfileUserNotFound = PlatformErrorCodes(1234) PlatformErrorCodes_PsnApiProfilePrivacyRestriction = PlatformErrorCodes(1235) PlatformErrorCodes_PsnApiProfileUnderMaintenance = PlatformErrorCodes(1236) PlatformErrorCodes_PsnApiAccountAttributeMissing = PlatformErrorCodes(1237) PlatformErrorCodes_PsnApiNoPermission = PlatformErrorCodes(1238) PlatformErrorCodes_PsnApiTargetUserBlocked = PlatformErrorCodes(1239) PlatformErrorCodes_PsnApiJwksMissing = PlatformErrorCodes(1240) PlatformErrorCodes_PsnApiJwtMalformedHeader = PlatformErrorCodes(1241) PlatformErrorCodes_PsnApiJwtMalformedPayload = PlatformErrorCodes(1242) PlatformErrorCodes_XblExSystemDisabled = PlatformErrorCodes(1300) PlatformErrorCodes_XblExUnknownError = PlatformErrorCodes(1301) PlatformErrorCodes_XblApiErrorWebException = PlatformErrorCodes(1302) PlatformErrorCodes_XblStsTokenInvalid = PlatformErrorCodes(1303) PlatformErrorCodes_XblStsMissingToken = PlatformErrorCodes(1304) PlatformErrorCodes_XblStsExpiredToken = PlatformErrorCodes(1305) PlatformErrorCodes_XblAccessToTheSandboxDenied = PlatformErrorCodes(1306) PlatformErrorCodes_XblMsaResponseMissing = PlatformErrorCodes(1307) PlatformErrorCodes_XblMsaAccessTokenExpired = PlatformErrorCodes(1308) PlatformErrorCodes_XblMsaInvalidRequest = PlatformErrorCodes(1309) PlatformErrorCodes_XblMsaFriendsRequireSignIn = PlatformErrorCodes(1310) PlatformErrorCodes_XblUserActionRequired = PlatformErrorCodes(1311) PlatformErrorCodes_XblParentalControls = PlatformErrorCodes(1312) PlatformErrorCodes_XblDeveloperAccount = PlatformErrorCodes(1313) PlatformErrorCodes_XblUserTokenExpired = PlatformErrorCodes(1314) PlatformErrorCodes_XblUserTokenInvalid = PlatformErrorCodes(1315) PlatformErrorCodes_XblOffline = PlatformErrorCodes(1316) PlatformErrorCodes_XblUnknownErrorCode = PlatformErrorCodes(1317) PlatformErrorCodes_XblMsaInvalidGrant = PlatformErrorCodes(1318) PlatformErrorCodes_ReportNotYetResolved = PlatformErrorCodes(1400) PlatformErrorCodes_ReportOverturnDoesNotChangeDecision = PlatformErrorCodes(1401) PlatformErrorCodes_ReportNotFound = PlatformErrorCodes(1402) PlatformErrorCodes_ReportAlreadyReported = PlatformErrorCodes(1403) PlatformErrorCodes_ReportInvalidResolution = PlatformErrorCodes(1404) PlatformErrorCodes_ReportNotAssignedToYou = PlatformErrorCodes(1405) PlatformErrorCodes_LegacyGameStatsSystemDisabled = PlatformErrorCodes(1500) PlatformErrorCodes_LegacyGameStatsUnknownError = PlatformErrorCodes(1501) PlatformErrorCodes_LegacyGameStatsMalformedSneakerNetCode = PlatformErrorCodes(1502) PlatformErrorCodes_DestinyAccountAcquisitionFailure = PlatformErrorCodes(1600) PlatformErrorCodes_DestinyAccountNotFound = PlatformErrorCodes(1601) PlatformErrorCodes_DestinyBuildStatsDatabaseError = PlatformErrorCodes(1602) PlatformErrorCodes_DestinyCharacterStatsDatabaseError = PlatformErrorCodes(1603) PlatformErrorCodes_DestinyPvPStatsDatabaseError = PlatformErrorCodes(1604) PlatformErrorCodes_DestinyPvEStatsDatabaseError = PlatformErrorCodes(1605) PlatformErrorCodes_DestinyGrimoireStatsDatabaseError = PlatformErrorCodes(1606) PlatformErrorCodes_DestinyStatsParameterMembershipTypeParseError = PlatformErrorCodes(1607) PlatformErrorCodes_DestinyStatsParameterMembershipIdParseError = PlatformErrorCodes(1608) PlatformErrorCodes_DestinyStatsParameterRangeParseError = PlatformErrorCodes(1609) PlatformErrorCodes_DestinyStringItemHashNotFound = PlatformErrorCodes(1610) PlatformErrorCodes_DestinyStringSetNotFound = PlatformErrorCodes(1611) PlatformErrorCodes_DestinyContentLookupNotFoundForKey = PlatformErrorCodes(1612) PlatformErrorCodes_DestinyContentItemNotFound = PlatformErrorCodes(1613) PlatformErrorCodes_DestinyContentSectionNotFound = PlatformErrorCodes(1614) PlatformErrorCodes_DestinyContentPropertyNotFound = PlatformErrorCodes(1615) PlatformErrorCodes_DestinyContentConfigNotFound = PlatformErrorCodes(1616) PlatformErrorCodes_DestinyContentPropertyBucketValueNotFound = PlatformErrorCodes(1617) PlatformErrorCodes_DestinyUnexpectedError = PlatformErrorCodes(1618) PlatformErrorCodes_DestinyInvalidAction = PlatformErrorCodes(1619) PlatformErrorCodes_DestinyCharacterNotFound = PlatformErrorCodes(1620) PlatformErrorCodes_DestinyInvalidFlag = PlatformErrorCodes(1621) PlatformErrorCodes_DestinyInvalidRequest = PlatformErrorCodes(1622) PlatformErrorCodes_DestinyItemNotFound = PlatformErrorCodes(1623) PlatformErrorCodes_DestinyInvalidCustomizationChoices = PlatformErrorCodes(1624) PlatformErrorCodes_DestinyVendorItemNotFound = PlatformErrorCodes(1625) PlatformErrorCodes_DestinyInternalError = PlatformErrorCodes(1626) PlatformErrorCodes_DestinyVendorNotFound = PlatformErrorCodes(1627) PlatformErrorCodes_DestinyRecentActivitiesDatabaseError = PlatformErrorCodes(1628) PlatformErrorCodes_DestinyItemBucketNotFound = PlatformErrorCodes(1629) PlatformErrorCodes_DestinyInvalidMembershipType = PlatformErrorCodes(1630) PlatformErrorCodes_DestinyVersionIncompatibility = PlatformErrorCodes(1631) PlatformErrorCodes_DestinyItemAlreadyInInventory = PlatformErrorCodes(1632) PlatformErrorCodes_DestinyBucketNotFound = PlatformErrorCodes(1633) PlatformErrorCodes_DestinyCharacterNotInTower = PlatformErrorCodes(1634) PlatformErrorCodes_DestinyCharacterNotLoggedIn = PlatformErrorCodes(1635) PlatformErrorCodes_DestinyDefinitionsNotLoaded = PlatformErrorCodes(1636) PlatformErrorCodes_DestinyInventoryFull = PlatformErrorCodes(1637) PlatformErrorCodes_DestinyItemFailedLevelCheck = PlatformErrorCodes(1638) PlatformErrorCodes_DestinyItemFailedUnlockCheck = PlatformErrorCodes(1639) PlatformErrorCodes_DestinyItemUnequippable = PlatformErrorCodes(1640) PlatformErrorCodes_DestinyItemUniqueEquipRestricted = PlatformErrorCodes(1641) PlatformErrorCodes_DestinyNoRoomInDestination = PlatformErrorCodes(1642) PlatformErrorCodes_DestinyServiceFailure = PlatformErrorCodes(1643) PlatformErrorCodes_DestinyServiceRetired = PlatformErrorCodes(1644) PlatformErrorCodes_DestinyTransferFailed = PlatformErrorCodes(1645) PlatformErrorCodes_DestinyTransferNotFoundForSourceBucket = PlatformErrorCodes(1646) PlatformErrorCodes_DestinyUnexpectedResultInVendorTransferCheck = PlatformErrorCodes(1647) PlatformErrorCodes_DestinyUniquenessViolation = PlatformErrorCodes(1648) PlatformErrorCodes_DestinyErrorDeserializationFailure = PlatformErrorCodes(1649) PlatformErrorCodes_DestinyValidAccountTicketRequired = PlatformErrorCodes(1650) PlatformErrorCodes_DestinyShardRelayClientTimeout = PlatformErrorCodes(1651) PlatformErrorCodes_DestinyShardRelayProxyTimeout = PlatformErrorCodes(1652) PlatformErrorCodes_DestinyPGCRNotFound = PlatformErrorCodes(1653) PlatformErrorCodes_DestinyAccountMustBeOffline = PlatformErrorCodes(1654) PlatformErrorCodes_DestinyCanOnlyEquipInGame = PlatformErrorCodes(1655) PlatformErrorCodes_DestinyCannotPerformActionOnEquippedItem = PlatformErrorCodes(1656) PlatformErrorCodes_DestinyQuestAlreadyCompleted = PlatformErrorCodes(1657) PlatformErrorCodes_DestinyQuestAlreadyTracked = PlatformErrorCodes(1658) PlatformErrorCodes_DestinyTrackableQuestsFull = PlatformErrorCodes(1659) PlatformErrorCodes_DestinyItemNotTransferrable = PlatformErrorCodes(1660) PlatformErrorCodes_DestinyVendorPurchaseNotAllowed = PlatformErrorCodes(1661) PlatformErrorCodes_DestinyContentVersionMismatch = PlatformErrorCodes(1662) PlatformErrorCodes_DestinyItemActionForbidden = PlatformErrorCodes(1663) PlatformErrorCodes_DestinyRefundInvalid = PlatformErrorCodes(1664) PlatformErrorCodes_DestinyPrivacyRestriction = PlatformErrorCodes(1665) PlatformErrorCodes_DestinyActionInsufficientPrivileges = PlatformErrorCodes(1666) PlatformErrorCodes_DestinyInvalidClaimException = PlatformErrorCodes(1667) PlatformErrorCodes_DestinyLegacyPlatformRestricted = PlatformErrorCodes(1668) PlatformErrorCodes_DestinyLegacyPlatformInUse = PlatformErrorCodes(1669) PlatformErrorCodes_DestinyLegacyPlatformInaccessible = PlatformErrorCodes(1670) PlatformErrorCodes_DestinyCannotPerformActionAtThisLocation = PlatformErrorCodes(1671) PlatformErrorCodes_DestinyThrottledByGameServer = PlatformErrorCodes(1672) PlatformErrorCodes_DestinyItemNotTransferrableHasSideEffects = PlatformErrorCodes(1673) PlatformErrorCodes_DestinyItemLocked = PlatformErrorCodes(1674) PlatformErrorCodes_DestinyCannotAffordMaterialRequirements = PlatformErrorCodes(1675) PlatformErrorCodes_DestinyFailedPlugInsertionRules = PlatformErrorCodes(1676) PlatformErrorCodes_DestinySocketNotFound = PlatformErrorCodes(1677) PlatformErrorCodes_DestinySocketActionNotAllowed = PlatformErrorCodes(1678) PlatformErrorCodes_DestinySocketAlreadyHasPlug = PlatformErrorCodes(1679) PlatformErrorCodes_DestinyPlugItemNotAvailable = PlatformErrorCodes(1680) PlatformErrorCodes_DestinyCharacterLoggedInNotAllowed = PlatformErrorCodes(1681) PlatformErrorCodes_DestinyPublicAccountNotAccessible = PlatformErrorCodes(1682) PlatformErrorCodes_DestinyClaimsItemAlreadyClaimed = PlatformErrorCodes(1683) PlatformErrorCodes_DestinyClaimsNoInventorySpace = PlatformErrorCodes(1684) PlatformErrorCodes_DestinyClaimsRequiredLevelNotMet = PlatformErrorCodes(1685) PlatformErrorCodes_DestinyClaimsInvalidState = PlatformErrorCodes(1686) PlatformErrorCodes_DestinyNotEnoughRoomForMultipleRewards = PlatformErrorCodes(1687) PlatformErrorCodes_DestinyDirectBabelClientTimeout = PlatformErrorCodes(1688) PlatformErrorCodes_FbInvalidRequest = PlatformErrorCodes(1800) PlatformErrorCodes_FbRedirectMismatch = PlatformErrorCodes(1801) PlatformErrorCodes_FbAccessDenied = PlatformErrorCodes(1802) PlatformErrorCodes_FbUnsupportedResponseType = PlatformErrorCodes(1803) PlatformErrorCodes_FbInvalidScope = PlatformErrorCodes(1804) PlatformErrorCodes_FbUnsupportedGrantType = PlatformErrorCodes(1805) PlatformErrorCodes_FbInvalidGrant = PlatformErrorCodes(1806) PlatformErrorCodes_InvitationExpired = PlatformErrorCodes(1900) PlatformErrorCodes_InvitationUnknownType = PlatformErrorCodes(1901) PlatformErrorCodes_InvitationInvalidResponseStatus = PlatformErrorCodes(1902) PlatformErrorCodes_InvitationInvalidType = PlatformErrorCodes(1903) PlatformErrorCodes_InvitationAlreadyPending = PlatformErrorCodes(1904) PlatformErrorCodes_InvitationInsufficientPermission = PlatformErrorCodes(1905) PlatformErrorCodes_InvitationInvalidCode = PlatformErrorCodes(1906) PlatformErrorCodes_InvitationInvalidTargetState = PlatformErrorCodes(1907) PlatformErrorCodes_InvitationCannotBeReactivated = PlatformErrorCodes(1908) PlatformErrorCodes_InvitationNoRecipients = PlatformErrorCodes(1910) PlatformErrorCodes_InvitationGroupCannotSendToSelf = PlatformErrorCodes(1911) PlatformErrorCodes_InvitationTooManyRecipients = PlatformErrorCodes(1912) PlatformErrorCodes_InvitationInvalid = PlatformErrorCodes(1913) PlatformErrorCodes_InvitationNotFound = PlatformErrorCodes(1914) PlatformErrorCodes_TokenInvalid = PlatformErrorCodes(2000) PlatformErrorCodes_TokenBadFormat = PlatformErrorCodes(2001) PlatformErrorCodes_TokenAlreadyClaimed = PlatformErrorCodes(2002) PlatformErrorCodes_TokenAlreadyClaimedSelf = PlatformErrorCodes(2003) PlatformErrorCodes_TokenThrottling = PlatformErrorCodes(2004) PlatformErrorCodes_TokenUnknownRedemptionFailure = PlatformErrorCodes(2005) PlatformErrorCodes_TokenPurchaseClaimFailedAfterTokenClaimed = PlatformErrorCodes(2006) PlatformErrorCodes_TokenUserAlreadyOwnsOffer = PlatformErrorCodes(2007) PlatformErrorCodes_TokenInvalidOfferKey = PlatformErrorCodes(2008) PlatformErrorCodes_TokenEmailNotValidated = PlatformErrorCodes(2009) PlatformErrorCodes_TokenProvisioningBadVendorOrOffer = PlatformErrorCodes(2010) PlatformErrorCodes_TokenPurchaseHistoryUnknownError = PlatformErrorCodes(2011) PlatformErrorCodes_TokenThrottleStateUnknownError = PlatformErrorCodes(2012) PlatformErrorCodes_TokenUserAgeNotVerified = PlatformErrorCodes(2013) PlatformErrorCodes_TokenExceededOfferMaximum = PlatformErrorCodes(2014) PlatformErrorCodes_TokenNoAvailableUnlocks = PlatformErrorCodes(2015) PlatformErrorCodes_TokenMarketplaceInvalidPlatform = PlatformErrorCodes(2016) PlatformErrorCodes_TokenNoMarketplaceCodesFound = PlatformErrorCodes(2017) PlatformErrorCodes_TokenOfferNotAvailableForRedemption = PlatformErrorCodes(2018) PlatformErrorCodes_TokenUnlockPartialFailure = PlatformErrorCodes(2019) PlatformErrorCodes_TokenMarketplaceInvalidRegion = PlatformErrorCodes(2020) PlatformErrorCodes_TokenOfferExpired = PlatformErrorCodes(2021) PlatformErrorCodes_RAFExceededMaximumReferrals = PlatformErrorCodes(2022) PlatformErrorCodes_RAFDuplicateBond = PlatformErrorCodes(2023) PlatformErrorCodes_RAFNoValidVeteranDestinyMembershipsFound = PlatformErrorCodes(2024) PlatformErrorCodes_RAFNotAValidVeteranUser = PlatformErrorCodes(2025) PlatformErrorCodes_RAFCodeAlreadyClaimedOrNotFound = PlatformErrorCodes(2026) PlatformErrorCodes_RAFMismatchedDestinyMembershipType = PlatformErrorCodes(2027) PlatformErrorCodes_RAFUnableToAccessPurchaseHistory = PlatformErrorCodes(2028) PlatformErrorCodes_RAFUnableToCreateBond = PlatformErrorCodes(2029) PlatformErrorCodes_RAFUnableToFindBond = PlatformErrorCodes(2030) PlatformErrorCodes_RAFUnableToRemoveBond = PlatformErrorCodes(2031) PlatformErrorCodes_RAFCannotBondToSelf = PlatformErrorCodes(2032) PlatformErrorCodes_RAFInvalidPlatform = PlatformErrorCodes(2033) PlatformErrorCodes_RAFGenerateThrottled = PlatformErrorCodes(2034) PlatformErrorCodes_RAFUnableToCreateBondVersionMismatch = PlatformErrorCodes(2035) PlatformErrorCodes_RAFUnableToRemoveBondVersionMismatch = PlatformErrorCodes(2036) PlatformErrorCodes_RAFRedeemThrottled = PlatformErrorCodes(2037) PlatformErrorCodes_NoAvailableDiscountCode = PlatformErrorCodes(2038) PlatformErrorCodes_DiscountAlreadyClaimed = PlatformErrorCodes(2039) PlatformErrorCodes_DiscountClaimFailure = PlatformErrorCodes(2040) PlatformErrorCodes_DiscountConfigurationFailure = PlatformErrorCodes(2041) PlatformErrorCodes_DiscountGenerationFailure = PlatformErrorCodes(2042) PlatformErrorCodes_DiscountAlreadyExists = PlatformErrorCodes(2043) PlatformErrorCodes_TokenRequiresCredentialXuid = PlatformErrorCodes(2044) PlatformErrorCodes_TokenRequiresCredentialPsnid = PlatformErrorCodes(2045) PlatformErrorCodes_OfferRequired = PlatformErrorCodes(2046) PlatformErrorCodes_UnknownEververseHistoryError = PlatformErrorCodes(2047) PlatformErrorCodes_MissingEververseHistoryError = PlatformErrorCodes(2048) PlatformErrorCodes_BungieRewardEmailStateInvalid = PlatformErrorCodes(2049) PlatformErrorCodes_BungieRewardNotYetClaimable = PlatformErrorCodes(2050) PlatformErrorCodes_MissingOfferConfig = PlatformErrorCodes(2051) PlatformErrorCodes_RAFQuestEntitlementRequiresBnet = PlatformErrorCodes(2052) PlatformErrorCodes_RAFQuestEntitlementTransportFailure = PlatformErrorCodes(2053) PlatformErrorCodes_RAFQuestEntitlementUnknownFailure = PlatformErrorCodes(2054) PlatformErrorCodes_RAFVeteranRewardUnknownFailure = PlatformErrorCodes(2055) PlatformErrorCodes_RAFTooEarlyToCancelBond = PlatformErrorCodes(2056) PlatformErrorCodes_LoyaltyRewardAlreadyRedeemed = PlatformErrorCodes(2057) PlatformErrorCodes_UnclaimedLoyaltyRewardEntryNotFound = PlatformErrorCodes(2058) PlatformErrorCodes_PartnerOfferPartialFailure = PlatformErrorCodes(2059) PlatformErrorCodes_PartnerOfferAlreadyClaimed = PlatformErrorCodes(2060) PlatformErrorCodes_PartnerOfferSkuNotFound = PlatformErrorCodes(2061) PlatformErrorCodes_PartnerOfferSkuExpired = PlatformErrorCodes(2062) PlatformErrorCodes_PartnerOfferPermissionFailure = PlatformErrorCodes(2063) PlatformErrorCodes_PartnerOfferNoDestinyAccount = PlatformErrorCodes(2064) PlatformErrorCodes_PartnerOfferApplyDataNotFound = PlatformErrorCodes(2065) PlatformErrorCodes_ApiExceededMaxKeys = PlatformErrorCodes(2100) PlatformErrorCodes_ApiInvalidOrExpiredKey = PlatformErrorCodes(2101) PlatformErrorCodes_ApiKeyMissingFromRequest = PlatformErrorCodes(2102) PlatformErrorCodes_ApplicationDisabled = PlatformErrorCodes(2103) PlatformErrorCodes_ApplicationExceededMax = PlatformErrorCodes(2104) PlatformErrorCodes_ApplicationDisallowedByScope = PlatformErrorCodes(2105) PlatformErrorCodes_AuthorizationCodeInvalid = PlatformErrorCodes(2106) PlatformErrorCodes_OriginHeaderDoesNotMatchKey = PlatformErrorCodes(2107) PlatformErrorCodes_AccessNotPermittedByApplicationScope = PlatformErrorCodes(2108) PlatformErrorCodes_ApplicationNameIsTaken = PlatformErrorCodes(2109) PlatformErrorCodes_RefreshTokenNotYetValid = PlatformErrorCodes(2110) PlatformErrorCodes_AccessTokenHasExpired = PlatformErrorCodes(2111) PlatformErrorCodes_ApplicationTokenFormatNotValid = PlatformErrorCodes(2112) PlatformErrorCodes_ApplicationNotConfiguredForBungieAuth = PlatformErrorCodes(2113) PlatformErrorCodes_ApplicationNotConfiguredForOAuth = PlatformErrorCodes(2114) PlatformErrorCodes_OAuthAccessTokenExpired = PlatformErrorCodes(2115) PlatformErrorCodes_ApplicationTokenKeyIdDoesNotExist = PlatformErrorCodes(2116) PlatformErrorCodes_ProvidedTokenNotValidRefreshToken = PlatformErrorCodes(2117) PlatformErrorCodes_RefreshTokenExpired = PlatformErrorCodes(2118) PlatformErrorCodes_AuthorizationRecordInvalid = PlatformErrorCodes(2119) PlatformErrorCodes_TokenPreviouslyRevoked = PlatformErrorCodes(2120) PlatformErrorCodes_TokenInvalidMembership = PlatformErrorCodes(2121) PlatformErrorCodes_AuthorizationCodeStale = PlatformErrorCodes(2122) PlatformErrorCodes_AuthorizationRecordExpired = PlatformErrorCodes(2123) PlatformErrorCodes_AuthorizationRecordRevoked = PlatformErrorCodes(2124) PlatformErrorCodes_AuthorizationRecordInactiveApiKey = PlatformErrorCodes(2125) PlatformErrorCodes_AuthorizationRecordApiKeyMatching = PlatformErrorCodes(2126) PlatformErrorCodes_PartnershipInvalidType = PlatformErrorCodes(2200) PlatformErrorCodes_PartnershipValidationError = PlatformErrorCodes(2201) PlatformErrorCodes_PartnershipValidationTimeout = PlatformErrorCodes(2202) PlatformErrorCodes_PartnershipAccessFailure = PlatformErrorCodes(2203) PlatformErrorCodes_PartnershipAccountInvalid = PlatformErrorCodes(2204) PlatformErrorCodes_PartnershipGetAccountInfoFailure = PlatformErrorCodes(2205) PlatformErrorCodes_PartnershipDisabled = PlatformErrorCodes(2206) PlatformErrorCodes_PartnershipAlreadyExists = PlatformErrorCodes(2207) PlatformErrorCodes_TwitchNotLinked = PlatformErrorCodes(2500) PlatformErrorCodes_TwitchAccountNotFound = PlatformErrorCodes(2501) PlatformErrorCodes_TwitchCouldNotLoadDestinyInfo = PlatformErrorCodes(2502) PlatformErrorCodes_TwitchCouldNotRegisterUser = PlatformErrorCodes(2503) PlatformErrorCodes_TwitchCouldNotUnregisterUser = PlatformErrorCodes(2504) PlatformErrorCodes_TwitchRequiresRelinking = PlatformErrorCodes(2505) PlatformErrorCodes_TwitchNoPlatformChosen = PlatformErrorCodes(2506) PlatformErrorCodes_TwitchDropHistoryPermissionFailure = PlatformErrorCodes(2507) PlatformErrorCodes_TwitchDropsRepairPartialFailure = PlatformErrorCodes(2508) PlatformErrorCodes_TwitchNotAuthorized = PlatformErrorCodes(2509) PlatformErrorCodes_TwitchUnknownAuthorizationFailure = PlatformErrorCodes(2510) PlatformErrorCodes_TrendingCategoryNotFound = PlatformErrorCodes(2600) PlatformErrorCodes_TrendingEntryTypeNotSupported = PlatformErrorCodes(2601) PlatformErrorCodes_ReportOffenderNotInPgcr = PlatformErrorCodes(2700) PlatformErrorCodes_ReportRequestorNotInPgcr = PlatformErrorCodes(2701) PlatformErrorCodes_ReportSubmissionFailed = PlatformErrorCodes(2702) PlatformErrorCodes_ReportCannotReportSelf = PlatformErrorCodes(2703) PlatformErrorCodes_AwaTypeDisabled = PlatformErrorCodes(2800) PlatformErrorCodes_AwaTooManyPendingRequests = PlatformErrorCodes(2801) PlatformErrorCodes_AwaTheFeatureRequiresARegisteredDevice = PlatformErrorCodes(2802) PlatformErrorCodes_AwaRequestWasUnansweredForTooLong = PlatformErrorCodes(2803) PlatformErrorCodes_AwaWriteRequestMissingOrInvalidToken = PlatformErrorCodes(2804) PlatformErrorCodes_AwaWriteRequestTokenExpired = PlatformErrorCodes(2805) PlatformErrorCodes_AwaWriteRequestTokenUsageLimitReached = PlatformErrorCodes(2806) PlatformErrorCodes_SteamWebApiError = PlatformErrorCodes(2900) PlatformErrorCodes_SteamWebNullResponseError = PlatformErrorCodes(2901) PlatformErrorCodes_SteamAccountRequired = PlatformErrorCodes(2902) PlatformErrorCodes_SteamNotAuthorized = PlatformErrorCodes(2903) PlatformErrorCodes_ClanFireteamNotFound = PlatformErrorCodes(3000) PlatformErrorCodes_ClanFireteamAddNoAlternatesForImmediate = PlatformErrorCodes(3001) PlatformErrorCodes_ClanFireteamFull = PlatformErrorCodes(3002) PlatformErrorCodes_ClanFireteamAltFull = PlatformErrorCodes(3003) PlatformErrorCodes_ClanFireteamBlocked = PlatformErrorCodes(3004) PlatformErrorCodes_ClanFireteamPlayerEntryNotFound = PlatformErrorCodes(3005) PlatformErrorCodes_ClanFireteamPermissions = PlatformErrorCodes(3006) PlatformErrorCodes_ClanFireteamInvalidPlatform = PlatformErrorCodes(3007) PlatformErrorCodes_ClanFireteamCannotAdjustSlotCount = PlatformErrorCodes(3008) PlatformErrorCodes_ClanFireteamInvalidPlayerPlatform = PlatformErrorCodes(3009) PlatformErrorCodes_ClanFireteamNotReadyForInvitesNotEnoughPlayers = PlatformErrorCodes(3010) PlatformErrorCodes_ClanFireteamGameInvitesNotSupportForPlatform = PlatformErrorCodes(3011) PlatformErrorCodes_ClanFireteamPlatformInvitePreqFailure = PlatformErrorCodes(3012) PlatformErrorCodes_ClanFireteamInvalidAuthContext = PlatformErrorCodes(3013) PlatformErrorCodes_ClanFireteamInvalidAuthProviderPsn = PlatformErrorCodes(3014) PlatformErrorCodes_ClanFireteamPs4SessionFull = PlatformErrorCodes(3015) PlatformErrorCodes_ClanFireteamInvalidAuthToken = PlatformErrorCodes(3016) PlatformErrorCodes_ClanFireteamScheduledFireteamsDisabled = PlatformErrorCodes(3017) PlatformErrorCodes_ClanFireteamNotReadyForInvitesNotScheduledYet = PlatformErrorCodes(3018) PlatformErrorCodes_ClanFireteamNotReadyForInvitesClosed = PlatformErrorCodes(3019) PlatformErrorCodes_ClanFireteamScheduledFireteamsRequireAdminPermissions = PlatformErrorCodes(3020) PlatformErrorCodes_ClanFireteamNonPublicMustHaveClan = PlatformErrorCodes(3021) PlatformErrorCodes_ClanFireteamPublicCreationRestriction = PlatformErrorCodes(3022) PlatformErrorCodes_ClanFireteamAlreadyJoined = PlatformErrorCodes(3023) PlatformErrorCodes_ClanFireteamScheduledFireteamsRange = PlatformErrorCodes(3024) PlatformErrorCodes_ClanFireteamPublicCreationRestrictionExtended = PlatformErrorCodes(3025) PlatformErrorCodes_ClanFireteamExpired = PlatformErrorCodes(3026) PlatformErrorCodes_ClanFireteamInvalidAuthProvider = PlatformErrorCodes(3027) PlatformErrorCodes_ClanFireteamInvalidAuthProviderXuid = PlatformErrorCodes(3028) PlatformErrorCodes_ClanFireteamThrottle = PlatformErrorCodes(3029) PlatformErrorCodes_ClanFireteamTooManyOpenScheduledFireteams = PlatformErrorCodes(3030) PlatformErrorCodes_ClanFireteamCannotReopenScheduledFireteams = PlatformErrorCodes(3031) PlatformErrorCodes_ClanFireteamJoinNoAccountSpecified = PlatformErrorCodes(3032) PlatformErrorCodes_ClanFireteamMinDestiny2ProgressForCreation = PlatformErrorCodes(3033) PlatformErrorCodes_ClanFireteamMinDestiny2ProgressForJoin = PlatformErrorCodes(3034) PlatformErrorCodes_ClanFireteamSMSOrPurchaseRequiredCreate = PlatformErrorCodes(3035) PlatformErrorCodes_ClanFireteamPurchaseRequiredCreate = PlatformErrorCodes(3036) PlatformErrorCodes_ClanFireteamSMSOrPurchaseRequiredJoin = PlatformErrorCodes(3037) PlatformErrorCodes_ClanFireteamPurchaseRequiredJoin = PlatformErrorCodes(3038) PlatformErrorCodes_CrossSaveOverriddenAccountNotFound = PlatformErrorCodes(3200) PlatformErrorCodes_CrossSaveTooManyOverriddenPlatforms = PlatformErrorCodes(3201) PlatformErrorCodes_CrossSaveNoOverriddenPlatforms = PlatformErrorCodes(3202) PlatformErrorCodes_CrossSavePrimaryAccountNotFound = PlatformErrorCodes(3203) PlatformErrorCodes_CrossSaveRequestInvalid = PlatformErrorCodes(3204) PlatformErrorCodes_CrossSaveBungieAccountValidationFailure = PlatformErrorCodes(3206) PlatformErrorCodes_CrossSaveOverriddenPlatformNotAllowed = PlatformErrorCodes(3207) PlatformErrorCodes_CrossSaveThresholdExceeded = PlatformErrorCodes(3208) PlatformErrorCodes_CrossSaveIncompatibleMembershipType = PlatformErrorCodes(3209) PlatformErrorCodes_CrossSaveCouldNotFindLinkedAccountForMembershipType = PlatformErrorCodes(3210) PlatformErrorCodes_CrossSaveCouldNotCreateDestinyProfileForMembershipType = PlatformErrorCodes(3211) PlatformErrorCodes_CrossSaveErrorCreatingDestinyProfileForMembershipType = PlatformErrorCodes(3212) PlatformErrorCodes_CrossSaveCannotOverrideSelf = PlatformErrorCodes(3213) PlatformErrorCodes_CrossSaveRecentSilverPurchase = PlatformErrorCodes(3214) PlatformErrorCodes_CrossSaveSilverBalanceNegative = PlatformErrorCodes(3215) PlatformErrorCodes_CrossSaveAccountNotAuthenticated = PlatformErrorCodes(3216) PlatformErrorCodes_ErrorOneAccountAlreadyActive = PlatformErrorCodes(3217) PlatformErrorCodes_ErrorOneAccountDestinyRestriction = PlatformErrorCodes(3218) PlatformErrorCodes_CrossSaveMustMigrateToSteam = PlatformErrorCodes(3219) PlatformErrorCodes_CrossSaveSteamAlreadyPaired = PlatformErrorCodes(3220) PlatformErrorCodes_CrossSaveCannotPairJustSteamAndBlizzard = PlatformErrorCodes(3221) PlatformErrorCodes_CrossSaveCannotPairSteamAloneBeforeShadowkeep = PlatformErrorCodes(3222) PlatformErrorCodes_AuthVerificationNotLinkedToAccount = PlatformErrorCodes(3300) PlatformErrorCodes_PCMigrationMissingBlizzard = PlatformErrorCodes(3400) PlatformErrorCodes_PCMigrationMissingSteam = PlatformErrorCodes(3401) PlatformErrorCodes_PCMigrationInvalidBlizzard = PlatformErrorCodes(3402) PlatformErrorCodes_PCMigrationInvalidSteam = PlatformErrorCodes(3403) PlatformErrorCodes_PCMigrationUnknownFailure = PlatformErrorCodes(3404) PlatformErrorCodes_PCMigrationUnknownException = PlatformErrorCodes(3405) PlatformErrorCodes_PCMigrationNotLinked = PlatformErrorCodes(3406) PlatformErrorCodes_PCMigrationAccountsAlreadyUsed = PlatformErrorCodes(3407) PlatformErrorCodes_PCMigrationStepFailed = PlatformErrorCodes(3408) PlatformErrorCodes_PCMigrationInvalidBlizzardCrossSaveState = PlatformErrorCodes(3409) PlatformErrorCodes_PCMigrationDestinationBanned = PlatformErrorCodes(3410) PlatformErrorCodes_PCMigrationDestinyFailure = PlatformErrorCodes(3411) PlatformErrorCodes_PCMigrationSilverTransferFailed = PlatformErrorCodes(3412) PlatformErrorCodes_PCMigrationEntitlementTransferFailed = PlatformErrorCodes(3413) PlatformErrorCodes_PCMigrationCannotStompClanFounder = PlatformErrorCodes(3414) PlatformErrorCodes_UnsupportedBrowser = PlatformErrorCodes(3500) PlatformErrorCodes_StadiaAccountRequired = PlatformErrorCodes(3600) PlatformErrorCodes_ErrorPhoneValidationTooManyUses = PlatformErrorCodes(3702) PlatformErrorCodes_ErrorPhoneValidationNoAssociatedPhone = PlatformErrorCodes(3703) PlatformErrorCodes_ErrorPhoneValidationCodeInvalid = PlatformErrorCodes(3705) PlatformErrorCodes_ErrorPhoneValidationBanned = PlatformErrorCodes(3706) PlatformErrorCodes_ErrorPhoneValidationCodeTooRecentlySent = PlatformErrorCodes(3707) PlatformErrorCodes_ErrorPhoneValidationCodeExpired = PlatformErrorCodes(3708) PlatformErrorCodes_ErrorPhoneValidationInvalidNumberType = PlatformErrorCodes(3709) PlatformErrorCodes_ErrorPhoneValidationCodeTooRecentlyChecked = PlatformErrorCodes(3710) PlatformErrorCodes_ApplePushErrorUnknown = PlatformErrorCodes(3800) PlatformErrorCodes_ApplePushErrorNull = PlatformErrorCodes(3801) PlatformErrorCodes_ApplePushErrorTimeout = PlatformErrorCodes(3802) PlatformErrorCodes_ApplePushBadRequest = PlatformErrorCodes(3803) PlatformErrorCodes_ApplePushFailedAuth = PlatformErrorCodes(3804) PlatformErrorCodes_ApplePushThrottled = PlatformErrorCodes(3805) PlatformErrorCodes_NotAnImageOrVideo = PlatformErrorCodes(3807) PlatformErrorCodes_ErrorBungieFriendsBlockFailed = PlatformErrorCodes(3900) PlatformErrorCodes_ErrorBungieFriendsAutoReject = PlatformErrorCodes(3901) PlatformErrorCodes_ErrorBungieFriendsNoRequestFound = PlatformErrorCodes(3902) PlatformErrorCodes_ErrorBungieFriendsAlreadyFriends = PlatformErrorCodes(3903) PlatformErrorCodes_ErrorBungieFriendsUnableToRemoveRequest = PlatformErrorCodes(3904) PlatformErrorCodes_ErrorBungieFriendsUnableToRemove = PlatformErrorCodes(3905) PlatformErrorCodes_ErrorBungieFriendsIdenticalSourceTarget = PlatformErrorCodes(3906) PlatformErrorCodes_ErrorBungieFriendsSelf = PlatformErrorCodes(3907) PlatformErrorCodes_ErrorBungieBlockSelf = PlatformErrorCodes(3908) PlatformErrorCodes_ErrorBungieFriendsListFull = PlatformErrorCodes(3910) PlatformErrorCodes_ErrorBungieBlockListFull = PlatformErrorCodes(3911) PlatformErrorCodes_ErrorEgsUnknown = PlatformErrorCodes(4000) PlatformErrorCodes_ErrorEgsBadRequest = PlatformErrorCodes(4001) PlatformErrorCodes_ErrorEgsNotAuthorized = PlatformErrorCodes(4002) PlatformErrorCodes_ErrorEgsForbidden = PlatformErrorCodes(4003) PlatformErrorCodes_ErrorEgsAccountNotFound = PlatformErrorCodes(4004) PlatformErrorCodes_ErrorEgsWebException = PlatformErrorCodes(4005) PlatformErrorCodes_ErrorEgsJwksMissing = PlatformErrorCodes(4007) PlatformErrorCodes_ErrorEgsJwtMalformedHeader = PlatformErrorCodes(4008) PlatformErrorCodes_ErrorEgsJwtMalformedPayload = PlatformErrorCodes(4009) )
const ( FireteamDateRange_All = FireteamDateRange(0) FireteamDateRange_Now = FireteamDateRange(1) FireteamDateRange_TwentyFourHours = FireteamDateRange(2) FireteamDateRange_FortyEightHours = FireteamDateRange(3) FireteamDateRange_ThisWeek = FireteamDateRange(4) )
const ( FireteamPlatform_Any = FireteamPlatform(0) FireteamPlatform_Playstation4 = FireteamPlatform(1) FireteamPlatform_XboxOne = FireteamPlatform(2) FireteamPlatform_Blizzard = FireteamPlatform(3) FireteamPlatform_Steam = FireteamPlatform(4) FireteamPlatform_Stadia = FireteamPlatform(5) FireteamPlatform_Egs = FireteamPlatform(6) )
const ( FireteamPlatformInviteResult_None = FireteamPlatformInviteResult(0) FireteamPlatformInviteResult_Success = FireteamPlatformInviteResult(1) FireteamPlatformInviteResult_AlreadyInFireteam = FireteamPlatformInviteResult(2) FireteamPlatformInviteResult_Throttled = FireteamPlatformInviteResult(3) FireteamPlatformInviteResult_ServiceError = FireteamPlatformInviteResult(4) )
const ( FireteamPublicSearchOption_PublicAndPrivate = FireteamPublicSearchOption(0) FireteamPublicSearchOption_PublicOnly = FireteamPublicSearchOption(1) FireteamPublicSearchOption_PrivateOnly = FireteamPublicSearchOption(2) )
const ( FireteamSlotSearch_NoSlotRestriction = FireteamSlotSearch(0) FireteamSlotSearch_HasOpenPlayerSlots = FireteamSlotSearch(1) FireteamSlotSearch_HasOpenPlayerOrAltSlots = FireteamSlotSearch(2) )
const ( CommunityContentSortMode_Trending = CommunityContentSortMode(0) CommunityContentSortMode_Latest = CommunityContentSortMode(1) CommunityContentSortMode_HighestRated = CommunityContentSortMode(2) )
const ( ForumMediaType_None = ForumMediaType(0) ForumMediaType_Image = ForumMediaType(1) ForumMediaType_Video = ForumMediaType(2) ForumMediaType_Youtube = ForumMediaType(3) )
const ( ForumPostPopularity_Empty = ForumPostPopularity(0) ForumPostPopularity_Default = ForumPostPopularity(1) ForumPostPopularity_Discussed = ForumPostPopularity(2) ForumPostPopularity_CoolStory = ForumPostPopularity(3) ForumPostPopularity_HeatingUp = ForumPostPopularity(4) ForumPostPopularity_Hot = ForumPostPopularity(5) )
const ( ForumPostSort_Default = ForumPostSort(0) ForumPostSort_OldestFirst = ForumPostSort(1) )
const ( ForumRecruitmentIntensityLabel_None = ForumRecruitmentIntensityLabel(0) ForumRecruitmentIntensityLabel_Casual = ForumRecruitmentIntensityLabel(1) ForumRecruitmentIntensityLabel_Professional = ForumRecruitmentIntensityLabel(2) )
const ( ForumRecruitmentToneLabel_None = ForumRecruitmentToneLabel(0) ForumRecruitmentToneLabel_FamilyFriendly = ForumRecruitmentToneLabel(1) ForumRecruitmentToneLabel_Rowdy = ForumRecruitmentToneLabel(2) )
const ( ForumTopicsCategoryFilters_None = ForumTopicsCategoryFilters(0) ForumTopicsCategoryFilters_Links = ForumTopicsCategoryFilters(1) ForumTopicsCategoryFilters_Questions = ForumTopicsCategoryFilters(2) ForumTopicsCategoryFilters_AnsweredQuestions = ForumTopicsCategoryFilters(4) ForumTopicsCategoryFilters_Media = ForumTopicsCategoryFilters(8) ForumTopicsCategoryFilters_TextOnly = ForumTopicsCategoryFilters(16) ForumTopicsCategoryFilters_Announcement = ForumTopicsCategoryFilters(32) ForumTopicsCategoryFilters_BungieOfficial = ForumTopicsCategoryFilters(64) ForumTopicsCategoryFilters_Polls = ForumTopicsCategoryFilters(128) )
const ( ForumTopicsQuickDate_All = ForumTopicsQuickDate(0) ForumTopicsQuickDate_LastYear = ForumTopicsQuickDate(1) ForumTopicsQuickDate_LastMonth = ForumTopicsQuickDate(2) ForumTopicsQuickDate_LastWeek = ForumTopicsQuickDate(3) ForumTopicsQuickDate_LastDay = ForumTopicsQuickDate(4) )
const ( ForumTopicsSort_Default = ForumTopicsSort(0) ForumTopicsSort_LastReplied = ForumTopicsSort(1) ForumTopicsSort_MostReplied = ForumTopicsSort(2) ForumTopicsSort_Popularity = ForumTopicsSort(3) ForumTopicsSort_Controversiality = ForumTopicsSort(4) ForumTopicsSort_Liked = ForumTopicsSort(5) ForumTopicsSort_HighestRated = ForumTopicsSort(6) ForumTopicsSort_MostUpvoted = ForumTopicsSort(7) )
const ( ForumFlags_None = ForumFlags(0) ForumFlags_BungieStaffPost = ForumFlags(1) ForumFlags_ForumNinjaPost = ForumFlags(2) ForumFlags_ForumMentorPost = ForumFlags(4) ForumFlags_TopicBungieStaffPosted = ForumFlags(8) ForumFlags_TopicBungieVolunteerPosted = ForumFlags(16) ForumFlags_QuestionAnsweredByBungie = ForumFlags(32) ForumFlags_QuestionAnsweredByNinja = ForumFlags(64) ForumFlags_CommunityContent = ForumFlags(128) )
const ( ForumPostCategory_None = ForumPostCategory(0) ForumPostCategory_TextOnly = ForumPostCategory(1) ForumPostCategory_Media = ForumPostCategory(2) ForumPostCategory_Link = ForumPostCategory(4) ForumPostCategory_Poll = ForumPostCategory(8) ForumPostCategory_Question = ForumPostCategory(16) ForumPostCategory_Answered = ForumPostCategory(32) ForumPostCategory_Announcement = ForumPostCategory(64) ForumPostCategory_ContentComment = ForumPostCategory(128) ForumPostCategory_BungieOfficial = ForumPostCategory(256) ForumPostCategory_NinjaOfficial = ForumPostCategory(512) ForumPostCategory_Recruitment = ForumPostCategory(1024) )
const ( GlobalAlertLevel_Unknown = GlobalAlertLevel(0) GlobalAlertLevel_Blue = GlobalAlertLevel(1) GlobalAlertLevel_Yellow = GlobalAlertLevel(2) GlobalAlertLevel_Red = GlobalAlertLevel(3) )
const ( GlobalAlertType_GlobalAlert = GlobalAlertType(0) GlobalAlertType_StreamingAlert = GlobalAlertType(1) )
const ( Capabilities_None = Capabilities(0) Capabilities_Leaderboards = Capabilities(1) Capabilities_Callsign = Capabilities(2) Capabilities_OptionalConversations = Capabilities(4) Capabilities_ClanBanner = Capabilities(8) Capabilities_D2InvestmentData = Capabilities(16) Capabilities_Tags = Capabilities(32) Capabilities_Alliances = Capabilities(64) )
const ( ChatSecuritySetting_Group = ChatSecuritySetting(0) ChatSecuritySetting_Admins = ChatSecuritySetting(1) )
const ( GroupAllianceStatus_Unallied = GroupAllianceStatus(0) GroupAllianceStatus_Parent = GroupAllianceStatus(1) GroupAllianceStatus_Child = GroupAllianceStatus(2) )
const ( GroupApplicationResolveState_Unresolved = GroupApplicationResolveState(0) GroupApplicationResolveState_Accepted = GroupApplicationResolveState(1) GroupApplicationResolveState_Denied = GroupApplicationResolveState(2) GroupApplicationResolveState_Rescinded = GroupApplicationResolveState(3) )
const ( GroupDateRange_All = GroupDateRange(0) GroupDateRange_PastDay = GroupDateRange(1) GroupDateRange_PastWeek = GroupDateRange(2) GroupDateRange_PastMonth = GroupDateRange(3) GroupDateRange_PastYear = GroupDateRange(4) )
const ( GroupHomepage_Wall = GroupHomepage(0) GroupHomepage_Forum = GroupHomepage(1) GroupHomepage_AllianceForum = GroupHomepage(2) )
const ( GroupMemberCountFilter_All = GroupMemberCountFilter(0) GroupMemberCountFilter_OneToTen = GroupMemberCountFilter(1) GroupMemberCountFilter_ElevenToOneHundred = GroupMemberCountFilter(2) GroupMemberCountFilter_GreaterThanOneHundred = GroupMemberCountFilter(3) )
const ( GroupPostPublicity_Public = GroupPostPublicity(0) GroupPostPublicity_Alliance = GroupPostPublicity(1) GroupPostPublicity_Private = GroupPostPublicity(2) )
const ( GroupPotentialMemberStatus_None = GroupPotentialMemberStatus(0) GroupPotentialMemberStatus_Applicant = GroupPotentialMemberStatus(1) GroupPotentialMemberStatus_Invitee = GroupPotentialMemberStatus(2) )
const ( GroupSortBy_Name = GroupSortBy(0) GroupSortBy_Date = GroupSortBy(1) GroupSortBy_Popularity = GroupSortBy(2) GroupSortBy_Id = GroupSortBy(3) )
const ( GroupType_General = GroupType(0) GroupType_Clan = GroupType(1) )
const ( GroupsForMemberFilter_All = GroupsForMemberFilter(0) GroupsForMemberFilter_Founded = GroupsForMemberFilter(1) GroupsForMemberFilter_NonFounded = GroupsForMemberFilter(2) )
const ( HostGuidedGamesPermissionLevel_None = HostGuidedGamesPermissionLevel(0) HostGuidedGamesPermissionLevel_Beginner = HostGuidedGamesPermissionLevel(1) HostGuidedGamesPermissionLevel_Member = HostGuidedGamesPermissionLevel(2) )
const ( MembershipOption_Reviewed = MembershipOption(0) MembershipOption_Open = MembershipOption(1) MembershipOption_Closed = MembershipOption(2) )
const ( RuntimeGroupMemberType_None = RuntimeGroupMemberType(0) RuntimeGroupMemberType_Beginner = RuntimeGroupMemberType(1) RuntimeGroupMemberType_Member = RuntimeGroupMemberType(2) RuntimeGroupMemberType_Admin = RuntimeGroupMemberType(3) RuntimeGroupMemberType_ActingFounder = RuntimeGroupMemberType(4) RuntimeGroupMemberType_Founder = RuntimeGroupMemberType(5) )
const ( IgnoreLength_None = IgnoreLength(0) IgnoreLength_Week = IgnoreLength(1) IgnoreLength_TwoWeeks = IgnoreLength(2) IgnoreLength_ThreeWeeks = IgnoreLength(3) IgnoreLength_Month = IgnoreLength(4) IgnoreLength_ThreeMonths = IgnoreLength(5) IgnoreLength_SixMonths = IgnoreLength(6) IgnoreLength_Year = IgnoreLength(7) IgnoreLength_Forever = IgnoreLength(8) IgnoreLength_ThreeMinutes = IgnoreLength(9) IgnoreLength_Hour = IgnoreLength(10) IgnoreLength_ThirtyDays = IgnoreLength(11) )
const ( IgnoreStatus_NotIgnored = IgnoreStatus(0) IgnoreStatus_IgnoredUser = IgnoreStatus(1) IgnoreStatus_IgnoredGroup = IgnoreStatus(2) IgnoreStatus_IgnoredByGroup = IgnoreStatus(4) IgnoreStatus_IgnoredPost = IgnoreStatus(8) IgnoreStatus_IgnoredTag = IgnoreStatus(16) IgnoreStatus_IgnoredGlobal = IgnoreStatus(32) )
const ( FriendRelationshipState_Unknown = FriendRelationshipState(0) FriendRelationshipState_Friend = FriendRelationshipState(1) FriendRelationshipState_IncomingRequest = FriendRelationshipState(2) FriendRelationshipState_OutgoingRequest = FriendRelationshipState(3) )
const ( PlatformFriendType_Unknown = PlatformFriendType(0) PlatformFriendType_Xbox = PlatformFriendType(1) PlatformFriendType_PSN = PlatformFriendType(2) PlatformFriendType_Steam = PlatformFriendType(3) PlatformFriendType_Egs = PlatformFriendType(4) )
const ( PresenceOnlineStateFlags_None = PresenceOnlineStateFlags(0) PresenceOnlineStateFlags_Destiny1 = PresenceOnlineStateFlags(1) PresenceOnlineStateFlags_Destiny2 = PresenceOnlineStateFlags(2) )
const ( PresenceStatus_OfflineOrUnknown = PresenceStatus(0) PresenceStatus_Online = PresenceStatus(1) )
const ( DropState_Claimed = DropState(0) DropState_Applied = DropState(1) DropState_Fulfilled = DropState(2) )
const ( TrendingEntryType_News = TrendingEntryType(0) TrendingEntryType_DestinyItem = TrendingEntryType(1) TrendingEntryType_DestinyActivity = TrendingEntryType(2) TrendingEntryType_DestinyRitual = TrendingEntryType(3) TrendingEntryType_SupportArticle = TrendingEntryType(4) TrendingEntryType_Creation = TrendingEntryType(5) TrendingEntryType_Stream = TrendingEntryType(6) TrendingEntryType_Update = TrendingEntryType(7) TrendingEntryType_Link = TrendingEntryType(8) TrendingEntryType_ForumTag = TrendingEntryType(9) TrendingEntryType_Container = TrendingEntryType(10) TrendingEntryType_Release = TrendingEntryType(11) )
const ( OptInFlags_None = OptInFlags(0) OptInFlags_Newsletter = OptInFlags(1) OptInFlags_System = OptInFlags(2) OptInFlags_Marketing = OptInFlags(4) OptInFlags_UserResearch = OptInFlags(8) OptInFlags_CustomerService = OptInFlags(16) OptInFlags_Social = OptInFlags(32) OptInFlags_PlayTests = OptInFlags(64) OptInFlags_PlayTestsLocal = OptInFlags(128) OptInFlags_Careers = OptInFlags(256) )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type API ¶
func (API) AppGetApplicationApiUsage ¶
func (a API) AppGetApplicationApiUsage(ctx context.Context, req AppGetApplicationApiUsageRequest) (*ServerResponse[ApiUsage], error)
AppGetApplicationApiUsage: Get API usage by application for time frame specified. You can go as far back as 30 days ago, and can ask for up to a 48 hour window of time in a single request. You must be authenticated with at least the ReadUserData permission to access this endpoint.
URL: /App/ApiUsage/{applicationId}/
Operation: App.GetApplicationApiUsage
Scope: oauth2 [ReadUserData]
func (API) AppGetBungieApplications ¶
func (a API) AppGetBungieApplications(ctx context.Context, req AppGetBungieApplicationsRequest) (*ServerResponse[[]Application], error)
AppGetBungieApplications: Get list of applications created by Bungie.
URL: /App/FirstParty/
Operation: App.GetBungieApplications
func (API) CommunityContentGetCommunityContent ¶
func (a API) CommunityContentGetCommunityContent(ctx context.Context, req CommunityContentGetCommunityContentRequest) (*ServerResponse[PostSearchResponse], error)
CommunityContentGetCommunityContent: Returns community content.
URL: /CommunityContent/Get/{sort}/{mediaFilter}/{page}/
Operation: CommunityContent.GetCommunityContent
func (API) ContentGetContentById ¶
func (a API) ContentGetContentById(ctx context.Context, req ContentGetContentByIdRequest) (*ServerResponse[ContentItemPublicContract], error)
ContentGetContentById: Returns a content item referenced by id
URL: /Content/GetContentById/{id}/{locale}/
Operation: Content.GetContentById
func (API) ContentGetContentByTagAndType ¶
func (a API) ContentGetContentByTagAndType(ctx context.Context, req ContentGetContentByTagAndTypeRequest) (*ServerResponse[ContentItemPublicContract], error)
ContentGetContentByTagAndType: Returns the newest item that matches a given tag and Content Type.
URL: /Content/GetContentByTagAndType/{tag}/{type}/{locale}/
Operation: Content.GetContentByTagAndType
func (API) ContentGetContentType ¶
func (a API) ContentGetContentType(ctx context.Context, req ContentGetContentTypeRequest) (*ServerResponse[ContentTypeDescription], error)
ContentGetContentType: Gets an object describing a particular variant of content.
URL: /Content/GetContentType/{type}/
Operation: Content.GetContentType
func (API) ContentRssNewsArticles ¶
func (a API) ContentRssNewsArticles(ctx context.Context, req ContentRssNewsArticlesRequest) (*ServerResponse[NewsArticleRssResponse], error)
ContentRssNewsArticles: Returns a JSON string response that is the RSS feed for news articles.
URL: /Content/Rss/NewsArticles/{pageToken}/
Operation: Content.RssNewsArticles
func (API) ContentSearchContentByTagAndType ¶
func (a API) ContentSearchContentByTagAndType(ctx context.Context, req ContentSearchContentByTagAndTypeRequest) (*ServerResponse[SearchResult[ContentItemPublicContract]], error)
ContentSearchContentByTagAndType: Searches for Content Items that match the given Tag and Content Type.
URL: /Content/SearchContentByTagAndType/{tag}/{type}/{locale}/
Operation: Content.SearchContentByTagAndType
func (API) ContentSearchContentWithText ¶
func (a API) ContentSearchContentWithText(ctx context.Context, req ContentSearchContentWithTextRequest) (*ServerResponse[SearchResult[ContentItemPublicContract]], error)
ContentSearchContentWithText: Gets content based on querystring information passed in. Provides basic search and text search capabilities.
URL: /Content/Search/{locale}/
Operation: Content.SearchContentWithText
func (API) ContentSearchHelpArticles ¶
func (a API) ContentSearchHelpArticles(ctx context.Context, req ContentSearchHelpArticlesRequest) (*ServerResponse[any], error)
ContentSearchHelpArticles: Search for Help Articles.
URL: /Content/SearchHelpArticles/{searchtext}/{size}/
Operation: Content.SearchHelpArticles
func (API) Destiny2AwaGetActionToken ¶
func (a API) Destiny2AwaGetActionToken(ctx context.Context, req Destiny2AwaGetActionTokenRequest) (*ServerResponse[AwaAuthorizationResult], error)
Destiny2AwaGetActionToken: Returns the action token if user approves the request.
URL: /Destiny2/Awa/GetActionToken/{correlationId}/
Operation: Destiny2.AwaGetActionToken
Scope: oauth2 [AdvancedWriteActions]
func (API) Destiny2AwaInitializeRequest ¶
func (a API) Destiny2AwaInitializeRequest(ctx context.Context, req Destiny2AwaInitializeRequestRequest) (*ServerResponse[AwaInitializeResponse], error)
Destiny2AwaInitializeRequest: Initialize a request to perform an advanced write action.
URL: /Destiny2/Awa/Initialize/
Operation: Destiny2.AwaInitializeRequest
Scope: oauth2 [AdvancedWriteActions]
func (API) Destiny2AwaProvideAuthorizationResult ¶
func (a API) Destiny2AwaProvideAuthorizationResult(ctx context.Context, req Destiny2AwaProvideAuthorizationResultRequest) (*ServerResponse[int32], error)
Destiny2AwaProvideAuthorizationResult: Provide the result of the user interaction. Called by the Bungie Destiny App to approve or reject a request.
URL: /Destiny2/Awa/AwaProvideAuthorizationResult/
Operation: Destiny2.AwaProvideAuthorizationResult
func (API) Destiny2ClearLoadout ¶
func (a API) Destiny2ClearLoadout(ctx context.Context, req Destiny2ClearLoadoutRequest) (*ServerResponse[int32], error)
Destiny2ClearLoadout: Clear the identifiers and items of a loadout.
URL: /Destiny2/Actions/Loadouts/ClearLoadout/
Operation: Destiny2.ClearLoadout
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2EquipItem ¶
func (a API) Destiny2EquipItem(ctx context.Context, req Destiny2EquipItemRequest) (*ServerResponse[int32], error)
Destiny2EquipItem: Equip an item. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline.
URL: /Destiny2/Actions/Items/EquipItem/
Operation: Destiny2.EquipItem
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2EquipItems ¶
func (a API) Destiny2EquipItems(ctx context.Context, req Destiny2EquipItemsRequest) (*ServerResponse[EquipItemResults], error)
Destiny2EquipItems: Equip a list of items by itemInstanceIds. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Any items not found on your character will be ignored.
URL: /Destiny2/Actions/Items/EquipItems/
Operation: Destiny2.EquipItems
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2EquipLoadout ¶
func (a API) Destiny2EquipLoadout(ctx context.Context, req Destiny2EquipLoadoutRequest) (*ServerResponse[int32], error)
Destiny2EquipLoadout: Equip a loadout. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline.
URL: /Destiny2/Actions/Loadouts/EquipLoadout/
Operation: Destiny2.EquipLoadout
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2GetActivityHistory ¶
func (a API) Destiny2GetActivityHistory(ctx context.Context, req Destiny2GetActivityHistoryRequest) (*ServerResponse[ActivityHistoryResults], error)
Destiny2GetActivityHistory: Gets activity history stats for indicated character.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/Activities/
Operation: Destiny2.GetActivityHistory
func (API) Destiny2GetCharacter ¶
func (a API) Destiny2GetCharacter(ctx context.Context, req Destiny2GetCharacterRequest) (*ServerResponse[CharacterResponse], error)
Destiny2GetCharacter: Returns character information for the supplied character.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/
Operation: Destiny2.GetCharacter
func (API) Destiny2GetClanAggregateStats ¶
func (a API) Destiny2GetClanAggregateStats(ctx context.Context, req Destiny2GetClanAggregateStatsRequest) (*ServerResponse[[]ClanAggregateStat], error)
Destiny2GetClanAggregateStats: Gets aggregated stats for a clan using the same categories as the clan leaderboards. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
URL: /Destiny2/Stats/AggregateClanStats/{groupId}/
Operation: Destiny2.GetClanAggregateStats
func (API) Destiny2GetClanBannerSource ¶
func (a API) Destiny2GetClanBannerSource(ctx context.Context, req Destiny2GetClanBannerSourceRequest) (*ServerResponse[ClanBannerSource], error)
Destiny2GetClanBannerSource: Returns the dictionary of values for the Clan Banner
URL: /Destiny2/Clan/ClanBannerDictionary/
Operation: Destiny2.GetClanBannerSource
func (API) Destiny2GetClanLeaderboards ¶
func (a API) Destiny2GetClanLeaderboards(ctx context.Context, req Destiny2GetClanLeaderboardsRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
Destiny2GetClanLeaderboards: Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
URL: /Destiny2/Stats/Leaderboards/Clans/{groupId}/
Operation: Destiny2.GetClanLeaderboards
func (API) Destiny2GetClanWeeklyRewardState ¶
func (a API) Destiny2GetClanWeeklyRewardState(ctx context.Context, req Destiny2GetClanWeeklyRewardStateRequest) (*ServerResponse[Milestone], error)
Destiny2GetClanWeeklyRewardState: Returns information on the weekly clan rewards and if the clan has earned them or not. Note that this will always report rewards as not redeemed.
URL: /Destiny2/Clan/{groupId}/WeeklyRewardState/
Operation: Destiny2.GetClanWeeklyRewardState
func (API) Destiny2GetCollectibleNodeDetails ¶
func (a API) Destiny2GetCollectibleNodeDetails(ctx context.Context, req Destiny2GetCollectibleNodeDetailsRequest) (*ServerResponse[CollectibleNodeDetailResponse], error)
Destiny2GetCollectibleNodeDetails: Given a Presentation Node that has Collectibles as direct descendants, this will return item details about those descendants in the context of the requesting character.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Collectibles/{collectiblePresentationNodeHash}/
Operation: Destiny2.GetCollectibleNodeDetails
func (API) Destiny2GetDestinyAggregateActivityStats ¶
func (a API) Destiny2GetDestinyAggregateActivityStats(ctx context.Context, req Destiny2GetDestinyAggregateActivityStatsRequest) (*ServerResponse[AggregateActivityResults], error)
Destiny2GetDestinyAggregateActivityStats: Gets all activities the character has participated in together with aggregate statistics for those activities.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/AggregateActivityStats/
Operation: Destiny2.GetDestinyAggregateActivityStats
func (API) Destiny2GetDestinyEntityDefinition ¶
func (a API) Destiny2GetDestinyEntityDefinition(ctx context.Context, req Destiny2GetDestinyEntityDefinitionRequest) (*ServerResponse[Definition], error)
Destiny2GetDestinyEntityDefinition: Returns the static definition of an entity of the given Type and hash identifier. Examine the API Documentation for the Type Names of entities that have their own definitions. Note that the return type will always *inherit from* DestinyDefinition, but the specific type returned will be the requested entity type if it can be found. Please don't use this as a chatty alternative to the Manifest database if you require large sets of data, but for simple and one-off accesses this should be handy.
URL: /Destiny2/Manifest/{entityType}/{hashIdentifier}/
Operation: Destiny2.GetDestinyEntityDefinition
func (API) Destiny2GetDestinyManifest ¶
func (a API) Destiny2GetDestinyManifest(ctx context.Context, req Destiny2GetDestinyManifestRequest) (*ServerResponse[Manifest], error)
Destiny2GetDestinyManifest: Returns the current version of the manifest as a json object.
URL: /Destiny2/Manifest/
Operation: Destiny2.GetDestinyManifest
func (API) Destiny2GetHistoricalStats ¶
func (a API) Destiny2GetHistoricalStats(ctx context.Context, req Destiny2GetHistoricalStatsRequest) (*ServerResponse[map[string]HistoricalStatsByPeriod], error)
Destiny2GetHistoricalStats: Gets historical stats for indicated character.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/
Operation: Destiny2.GetHistoricalStats
func (API) Destiny2GetHistoricalStatsDefinition ¶
func (a API) Destiny2GetHistoricalStatsDefinition(ctx context.Context, req Destiny2GetHistoricalStatsDefinitionRequest) (*ServerResponse[map[string]HistoricalStatsDefinition], error)
Destiny2GetHistoricalStatsDefinition: Gets historical stats definitions.
URL: /Destiny2/Stats/Definition/
Operation: Destiny2.GetHistoricalStatsDefinition
func (API) Destiny2GetHistoricalStatsForAccount ¶
func (a API) Destiny2GetHistoricalStatsForAccount(ctx context.Context, req Destiny2GetHistoricalStatsForAccountRequest) (*ServerResponse[HistoricalStatsAccountResult], error)
Destiny2GetHistoricalStatsForAccount: Gets aggregate historical stats organized around each character for a given account.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/
Operation: Destiny2.GetHistoricalStatsForAccount
func (API) Destiny2GetItem ¶
func (a API) Destiny2GetItem(ctx context.Context, req Destiny2GetItemRequest) (*ServerResponse[ItemResponse], error)
Destiny2GetItem: Retrieve the details of an instanced Destiny Item. An instanced Destiny item is one with an ItemInstanceId. Non-instanced items, such as materials, have no useful instance-specific details and thus are not queryable here.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Item/{itemInstanceId}/
Operation: Destiny2.GetItem
func (API) Destiny2GetLeaderboards ¶
func (a API) Destiny2GetLeaderboards(ctx context.Context, req Destiny2GetLeaderboardsRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
Destiny2GetLeaderboards: Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint has not yet been implemented. It is being returned for a preview of future functionality, and for public comment/suggestion/preparation.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Stats/Leaderboards/
Operation: Destiny2.GetLeaderboards
func (API) Destiny2GetLeaderboardsForCharacter ¶
func (a API) Destiny2GetLeaderboardsForCharacter(ctx context.Context, req Destiny2GetLeaderboardsForCharacterRequest) (*ServerResponse[map[string]map[string]Leaderboard], error)
Destiny2GetLeaderboardsForCharacter: Gets leaderboards with the signed in user's friends and the supplied destinyMembershipId as the focus. PREVIEW: This endpoint is still in beta, and may experience rough edges. The schema is in final form, but there may be bugs that prevent desirable operation.
URL: /Destiny2/Stats/Leaderboards/{membershipType}/{destinyMembershipId}/{characterId}/
Operation: Destiny2.GetLeaderboardsForCharacter
func (API) Destiny2GetLinkedProfiles ¶
func (a API) Destiny2GetLinkedProfiles(ctx context.Context, req Destiny2GetLinkedProfilesRequest) (*ServerResponse[LinkedProfilesResponse], error)
Destiny2GetLinkedProfiles: Returns a summary information about all profiles linked to the requesting membership type/membership ID that have valid Destiny information. The passed-in Membership Type/Membership ID may be a Bungie.Net membership or a Destiny membership. It only returns the minimal amount of data to begin making more substantive requests, but will hopefully serve as a useful alternative to UserServices for people who just care about Destiny data. Note that it will only return linked accounts whose linkages you are allowed to view.
URL: /Destiny2/{membershipType}/Profile/{membershipId}/LinkedProfiles/
Operation: Destiny2.GetLinkedProfiles
func (API) Destiny2GetPostGameCarnageReport ¶
func (a API) Destiny2GetPostGameCarnageReport(ctx context.Context, req Destiny2GetPostGameCarnageReportRequest) (*ServerResponse[PostGameCarnageReportData], error)
Destiny2GetPostGameCarnageReport: Gets the available post game carnage report for the activity ID.
URL: /Destiny2/Stats/PostGameCarnageReport/{activityId}/
Operation: Destiny2.GetPostGameCarnageReport
func (API) Destiny2GetProfile ¶
func (a API) Destiny2GetProfile(ctx context.Context, req Destiny2GetProfileRequest) (*ServerResponse[ProfileResponse], error)
Destiny2GetProfile: Returns Destiny Profile information for the supplied membership.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/
Operation: Destiny2.GetProfile
func (API) Destiny2GetPublicMilestoneContent ¶
func (a API) Destiny2GetPublicMilestoneContent(ctx context.Context, req Destiny2GetPublicMilestoneContentRequest) (*ServerResponse[MilestoneContent], error)
Destiny2GetPublicMilestoneContent: Gets custom localized content for the milestone of the given hash, if it exists.
URL: /Destiny2/Milestones/{milestoneHash}/Content/
Operation: Destiny2.GetPublicMilestoneContent
func (API) Destiny2GetPublicMilestones ¶
func (a API) Destiny2GetPublicMilestones(ctx context.Context, req Destiny2GetPublicMilestonesRequest) (*ServerResponse[map[uint32]PublicMilestone], error)
Destiny2GetPublicMilestones: Gets public information about currently available Milestones.
URL: /Destiny2/Milestones/
Operation: Destiny2.GetPublicMilestones
func (API) Destiny2GetPublicVendors ¶
func (a API) Destiny2GetPublicVendors(ctx context.Context, req Destiny2GetPublicVendorsRequest) (*ServerResponse[PublicVendorsResponse], error)
Destiny2GetPublicVendors: Get items available from vendors where the vendors have items for sale that are common for everyone. If any portion of the Vendor's available inventory is character or account specific, we will be unable to return their data from this endpoint due to the way that available inventory is computed. As I am often guilty of saying: 'It's a long story...'
URL: /Destiny2/Vendors/
Operation: Destiny2.GetPublicVendors
func (API) Destiny2GetUniqueWeaponHistory ¶
func (a API) Destiny2GetUniqueWeaponHistory(ctx context.Context, req Destiny2GetUniqueWeaponHistoryRequest) (*ServerResponse[HistoricalWeaponStatsData], error)
Destiny2GetUniqueWeaponHistory: Gets details about unique weapon usage, including all exotic weapons.
URL: /Destiny2/{membershipType}/Account/{destinyMembershipId}/Character/{characterId}/Stats/UniqueWeapons/
Operation: Destiny2.GetUniqueWeaponHistory
func (API) Destiny2GetVendor ¶
func (a API) Destiny2GetVendor(ctx context.Context, req Destiny2GetVendorRequest) (*ServerResponse[VendorResponse], error)
Destiny2GetVendor: Get the details of a specific Vendor.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/{vendorHash}/
Operation: Destiny2.GetVendor
func (API) Destiny2GetVendors ¶
func (a API) Destiny2GetVendors(ctx context.Context, req Destiny2GetVendorsRequest) (*ServerResponse[VendorsResponse], error)
Destiny2GetVendors: Get currently available vendors from the list of vendors that can possibly have rotating inventory. Note that this does not include things like preview vendors and vendors-as-kiosks, neither of whom have rotating/dynamic inventories. Use their definitions as-is for those.
URL: /Destiny2/{membershipType}/Profile/{destinyMembershipId}/Character/{characterId}/Vendors/
Operation: Destiny2.GetVendors
func (API) Destiny2InsertSocketPlug ¶
func (a API) Destiny2InsertSocketPlug(ctx context.Context, req Destiny2InsertSocketPlugRequest) (*ServerResponse[ItemChangeResponse], error)
Destiny2InsertSocketPlug: Insert a plug into a socketed item. I know how it sounds, but I assure you it's much more G-rated than you might be guessing. We haven't decided yet whether this will be able to insert plugs that have side effects, but if we do it will require special scope permission for an application attempting to do so. You must have a valid Destiny Account, and either be in a social space, in orbit, or offline. Request must include proof of permission for 'InsertPlugs' from the account owner.
URL: /Destiny2/Actions/Items/InsertSocketPlug/
Operation: Destiny2.InsertSocketPlug
Scope: oauth2 [AdvancedWriteActions]
func (API) Destiny2InsertSocketPlugFree ¶
func (a API) Destiny2InsertSocketPlugFree(ctx context.Context, req Destiny2InsertSocketPlugFreeRequest) (*ServerResponse[ItemChangeResponse], error)
Destiny2InsertSocketPlugFree: Insert a 'free' plug into an item's socket. This does not require 'Advanced Write Action' authorization and is available to 3rd-party apps, but will only work on 'free and reversible' socket actions (Perks, Armor Mods, Shaders, Ornaments, etc.). You must have a valid Destiny Account, and the character must either be in a social space, in orbit, or offline.
URL: /Destiny2/Actions/Items/InsertSocketPlugFree/
Operation: Destiny2.InsertSocketPlugFree
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2PullFromPostmaster ¶
func (a API) Destiny2PullFromPostmaster(ctx context.Context, req Destiny2PullFromPostmasterRequest) (*ServerResponse[int32], error)
Destiny2PullFromPostmaster: Extract an item from the Postmaster, with whatever implications that may entail. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it's an instanced item.
URL: /Destiny2/Actions/Items/PullFromPostmaster/
Operation: Destiny2.PullFromPostmaster
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2ReportOffensivePostGameCarnageReportPlayer ¶
func (a API) Destiny2ReportOffensivePostGameCarnageReportPlayer(ctx context.Context, req Destiny2ReportOffensivePostGameCarnageReportPlayerRequest) (*ServerResponse[int32], error)
Destiny2ReportOffensivePostGameCarnageReportPlayer: Report a player that you met in an activity that was engaging in ToS-violating activities. Both you and the offending player must have played in the activityId passed in. Please use this judiciously and only when you have strong suspicions of violation, pretty please.
URL: /Destiny2/Stats/PostGameCarnageReport/{activityId}/Report/
Operation: Destiny2.ReportOffensivePostGameCarnageReportPlayer
Scope: oauth2 [BnetWrite]
func (API) Destiny2SearchDestinyEntities ¶
func (a API) Destiny2SearchDestinyEntities(ctx context.Context, req Destiny2SearchDestinyEntitiesRequest) (*ServerResponse[EntitySearchResult], error)
Destiny2SearchDestinyEntities: Gets a page list of Destiny items.
URL: /Destiny2/Armory/Search/{type}/{searchTerm}/
Operation: Destiny2.SearchDestinyEntities
func (API) Destiny2SearchDestinyPlayerByBungieName ¶
func (a API) Destiny2SearchDestinyPlayerByBungieName(ctx context.Context, req Destiny2SearchDestinyPlayerByBungieNameRequest) (*ServerResponse[[]UserInfoCard], error)
Destiny2SearchDestinyPlayerByBungieName: Returns a list of Destiny memberships given a global Bungie Display Name. This method will hide overridden memberships due to cross save.
URL: /Destiny2/SearchDestinyPlayerByBungieName/{membershipType}/
Operation: Destiny2.SearchDestinyPlayerByBungieName
func (API) Destiny2SetItemLockState ¶
func (a API) Destiny2SetItemLockState(ctx context.Context, req Destiny2SetItemLockStateRequest) (*ServerResponse[int32], error)
Destiny2SetItemLockState: Set the Lock State for an instanced item. You must have a valid Destiny Account.
URL: /Destiny2/Actions/Items/SetLockState/
Operation: Destiny2.SetItemLockState
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2SetQuestTrackedState ¶
func (a API) Destiny2SetQuestTrackedState(ctx context.Context, req Destiny2SetQuestTrackedStateRequest) (*ServerResponse[int32], error)
Destiny2SetQuestTrackedState: Set the Tracking State for an instanced item, if that item is a Quest or Bounty. You must have a valid Destiny Account. Yeah, it's an item.
URL: /Destiny2/Actions/Items/SetTrackedState/
Operation: Destiny2.SetQuestTrackedState
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2SnapshotLoadout ¶
func (a API) Destiny2SnapshotLoadout(ctx context.Context, req Destiny2SnapshotLoadoutRequest) (*ServerResponse[int32], error)
Destiny2SnapshotLoadout: Snapshot a loadout with the currently equipped items.
URL: /Destiny2/Actions/Loadouts/SnapshotLoadout/
Operation: Destiny2.SnapshotLoadout
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2TransferItem ¶
func (a API) Destiny2TransferItem(ctx context.Context, req Destiny2TransferItemRequest) (*ServerResponse[int32], error)
Destiny2TransferItem: Transfer an item to/from your vault. You must have a valid Destiny account. You must also pass BOTH a reference AND an instance ID if it's an instanced item. itshappening.gif
URL: /Destiny2/Actions/Items/TransferItem/
Operation: Destiny2.TransferItem
Scope: oauth2 [MoveEquipDestinyItems]
func (API) Destiny2UpdateLoadoutIdentifiers ¶
func (a API) Destiny2UpdateLoadoutIdentifiers(ctx context.Context, req Destiny2UpdateLoadoutIdentifiersRequest) (*ServerResponse[int32], error)
Destiny2UpdateLoadoutIdentifiers: Update the color, icon, and name of a loadout.
URL: /Destiny2/Actions/Loadouts/UpdateLoadoutIdentifiers/
Operation: Destiny2.UpdateLoadoutIdentifiers
Scope: oauth2 [MoveEquipDestinyItems]
func (API) FireteamGetActivePrivateClanFireteamCount ¶
func (a API) FireteamGetActivePrivateClanFireteamCount(ctx context.Context, req FireteamGetActivePrivateClanFireteamCountRequest) (*ServerResponse[int32], error)
FireteamGetActivePrivateClanFireteamCount: Gets a count of all active non-public fireteams for the specified clan. Maximum value returned is 25.
URL: /Fireteam/Clan/{groupId}/ActiveCount/
Operation: Fireteam.GetActivePrivateClanFireteamCount
Scope: oauth2 [ReadGroups]
func (API) FireteamGetAvailableClanFireteams ¶
func (a API) FireteamGetAvailableClanFireteams(ctx context.Context, req FireteamGetAvailableClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamSummary]], error)
FireteamGetAvailableClanFireteams: Gets a listing of all of this clan's fireteams that are have available slots. Caller is not checked for join criteria so caching is maximized.
URL: /Fireteam/Clan/{groupId}/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{publicOnly}/{page}/
Operation: Fireteam.GetAvailableClanFireteams
Scope: oauth2 [ReadGroups]
func (API) FireteamGetClanFireteam ¶
func (a API) FireteamGetClanFireteam(ctx context.Context, req FireteamGetClanFireteamRequest) (*ServerResponse[FireteamResponse], error)
FireteamGetClanFireteam: Gets a specific fireteam.
URL: /Fireteam/Clan/{groupId}/Summary/{fireteamId}/
Operation: Fireteam.GetClanFireteam
Scope: oauth2 [ReadGroups]
func (API) FireteamGetMyClanFireteams ¶
func (a API) FireteamGetMyClanFireteams(ctx context.Context, req FireteamGetMyClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamResponse]], error)
FireteamGetMyClanFireteams: Gets a listing of all fireteams that caller is an applicant, a member, or an alternate of.
URL: /Fireteam/Clan/{groupId}/My/{platform}/{includeClosed}/{page}/
Operation: Fireteam.GetMyClanFireteams
Scope: oauth2 [ReadGroups]
func (API) FireteamSearchPublicAvailableClanFireteams ¶
func (a API) FireteamSearchPublicAvailableClanFireteams(ctx context.Context, req FireteamSearchPublicAvailableClanFireteamsRequest) (*ServerResponse[SearchResult[FireteamSummary]], error)
FireteamSearchPublicAvailableClanFireteams: Gets a listing of all public fireteams starting now with open slots. Caller is not checked for join criteria so caching is maximized.
URL: /Fireteam/Search/Available/{platform}/{activityType}/{dateRange}/{slotFilter}/{page}/
Operation: Fireteam.SearchPublicAvailableClanFireteams
Scope: oauth2 [ReadGroups]
func (API) ForumGetCoreTopicsPaged ¶
func (a API) ForumGetCoreTopicsPaged(ctx context.Context, req ForumGetCoreTopicsPagedRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetCoreTopicsPaged: Gets a listing of all topics marked as part of the core group.
URL: /Forum/GetCoreTopicsPaged/{page}/{sort}/{quickDate}/{categoryFilter}/
Operation: Forum.GetCoreTopicsPaged
func (API) ForumGetForumTagSuggestions ¶
func (a API) ForumGetForumTagSuggestions(ctx context.Context, req ForumGetForumTagSuggestionsRequest) (*ServerResponse[[]TagResponse], error)
ForumGetForumTagSuggestions: Gets tag suggestions based on partial text entry, matching them with other tags previously used in the forums.
URL: /Forum/GetForumTagSuggestions/
Operation: Forum.GetForumTagSuggestions
func (API) ForumGetPoll ¶
func (a API) ForumGetPoll(ctx context.Context, req ForumGetPollRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetPoll: Gets the specified forum poll.
URL: /Forum/Poll/{topicId}/
Operation: Forum.GetPoll
func (API) ForumGetPostAndParent ¶
func (a API) ForumGetPostAndParent(ctx context.Context, req ForumGetPostAndParentRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetPostAndParent: Returns the post specified and its immediate parent.
URL: /Forum/GetPostAndParent/{childPostId}/
Operation: Forum.GetPostAndParent
func (API) ForumGetPostAndParentAwaitingApproval ¶
func (a API) ForumGetPostAndParentAwaitingApproval(ctx context.Context, req ForumGetPostAndParentAwaitingApprovalRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetPostAndParentAwaitingApproval: Returns the post specified and its immediate parent of posts that are awaiting approval.
URL: /Forum/GetPostAndParentAwaitingApproval/{childPostId}/
Operation: Forum.GetPostAndParentAwaitingApproval
func (API) ForumGetPostsThreadedPaged ¶
func (a API) ForumGetPostsThreadedPaged(ctx context.Context, req ForumGetPostsThreadedPagedRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetPostsThreadedPaged: Returns a thread of posts at the given parent, optionally returning replies to those posts as well as the original parent.
URL: /Forum/GetPostsThreadedPaged/{parentPostId}/{page}/{pageSize}/{replySize}/{getParentPost}/{rootThreadMode}/{sortMode}/
Operation: Forum.GetPostsThreadedPaged
func (API) ForumGetPostsThreadedPagedFromChild ¶
func (a API) ForumGetPostsThreadedPagedFromChild(ctx context.Context, req ForumGetPostsThreadedPagedFromChildRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetPostsThreadedPagedFromChild: Returns a thread of posts starting at the topicId of the input childPostId, optionally returning replies to those posts as well as the original parent.
URL: /Forum/GetPostsThreadedPagedFromChild/{childPostId}/{page}/{pageSize}/{replySize}/{rootThreadMode}/{sortMode}/
Operation: Forum.GetPostsThreadedPagedFromChild
func (API) ForumGetRecruitmentThreadSummaries ¶
func (a API) ForumGetRecruitmentThreadSummaries(ctx context.Context, req ForumGetRecruitmentThreadSummariesRequest) (*ServerResponse[[]ForumRecruitmentDetail], error)
ForumGetRecruitmentThreadSummaries: Allows the caller to get a list of to 25 recruitment thread summary information objects.
URL: /Forum/Recruit/Summaries/
Operation: Forum.GetRecruitmentThreadSummaries
func (API) ForumGetTopicForContent ¶
func (a API) ForumGetTopicForContent(ctx context.Context, req ForumGetTopicForContentRequest) (*ServerResponse[Int64], error)
ForumGetTopicForContent: Gets the post Id for the given content item's comments, if it exists.
URL: /Forum/GetTopicForContent/{contentId}/
Operation: Forum.GetTopicForContent
func (API) ForumGetTopicsPaged ¶
func (a API) ForumGetTopicsPaged(ctx context.Context, req ForumGetTopicsPagedRequest) (*ServerResponse[PostSearchResponse], error)
ForumGetTopicsPaged: Get topics from any forum.
URL: /Forum/GetTopicsPaged/{page}/{pageSize}/{group}/{sort}/{quickDate}/{categoryFilter}/
Operation: Forum.GetTopicsPaged
func (API) GetAvailableLocales ¶
func (a API) GetAvailableLocales(ctx context.Context, req GetAvailableLocalesRequest) (*ServerResponse[map[string]string], error)
GetAvailableLocales: List of available localization cultures
URL: /GetAvailableLocales/
Operation: .GetAvailableLocales
func (API) GetCommonSettings ¶
func (a API) GetCommonSettings(ctx context.Context, req GetCommonSettingsRequest) (*ServerResponse[CoreSettingsConfiguration], error)
GetCommonSettings: Get the common settings used by the Bungie.Net environment.
URL: /Settings/
Operation: .GetCommonSettings
func (API) GetGlobalAlerts ¶
func (a API) GetGlobalAlerts(ctx context.Context, req GetGlobalAlertsRequest) (*ServerResponse[[]GlobalAlert], error)
GetGlobalAlerts: Gets any active global alert for display in the forum banners, help pages, etc. Usually used for DOC alerts.
URL: /GlobalAlerts/
Operation: .GetGlobalAlerts
func (API) GetUserSystemOverrides ¶
func (a API) GetUserSystemOverrides(ctx context.Context, req GetUserSystemOverridesRequest) (*ServerResponse[map[string]CoreSystem], error)
GetUserSystemOverrides: Get the user-specific system overrides that should be respected alongside common systems.
URL: /UserSystemOverrides/
Operation: .GetUserSystemOverrides
func (API) GroupV2AbdicateFoundership ¶
func (a API) GroupV2AbdicateFoundership(ctx context.Context, req GroupV2AbdicateFoundershipRequest) (*ServerResponse[bool], error)
GroupV2AbdicateFoundership: An administrative method to allow the founder of a group or clan to give up their position to another admin permanently.
URL: /GroupV2/{groupId}/Admin/AbdicateFoundership/{membershipType}/{founderIdNew}/
Operation: GroupV2.AbdicateFoundership
func (API) GroupV2AddOptionalConversation ¶
func (a API) GroupV2AddOptionalConversation(ctx context.Context, req GroupV2AddOptionalConversationRequest) (*ServerResponse[Int64], error)
GroupV2AddOptionalConversation: Add a new optional conversation/chat channel. Requires admin permissions to the group.
URL: /GroupV2/{groupId}/OptionalConversations/Add/
Operation: GroupV2.AddOptionalConversation
Scope: oauth2 [AdminGroups]
func (API) GroupV2ApproveAllPending ¶
func (a API) GroupV2ApproveAllPending(ctx context.Context, req GroupV2ApproveAllPendingRequest) (*ServerResponse[[]EntityActionResult], error)
GroupV2ApproveAllPending: Approve all of the pending users for the given group.
URL: /GroupV2/{groupId}/Members/ApproveAll/
Operation: GroupV2.ApproveAllPending
Scope: oauth2 [AdminGroups]
func (API) GroupV2ApprovePending ¶
func (a API) GroupV2ApprovePending(ctx context.Context, req GroupV2ApprovePendingRequest) (*ServerResponse[bool], error)
GroupV2ApprovePending: Approve the given membershipId to join the group/clan as long as they have applied.
URL: /GroupV2/{groupId}/Members/Approve/{membershipType}/{membershipId}/
Operation: GroupV2.ApprovePending
Scope: oauth2 [AdminGroups]
func (API) GroupV2ApprovePendingForList ¶
func (a API) GroupV2ApprovePendingForList(ctx context.Context, req GroupV2ApprovePendingForListRequest) (*ServerResponse[[]EntityActionResult], error)
GroupV2ApprovePendingForList: Approve all of the pending users for the given group.
URL: /GroupV2/{groupId}/Members/ApproveList/
Operation: GroupV2.ApprovePendingForList
Scope: oauth2 [AdminGroups]
func (API) GroupV2BanMember ¶
func (a API) GroupV2BanMember(ctx context.Context, req GroupV2BanMemberRequest) (*ServerResponse[int32], error)
GroupV2BanMember: Bans the requested member from the requested group for the specified period of time.
URL: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Ban/
Operation: GroupV2.BanMember
Scope: oauth2 [AdminGroups]
func (API) GroupV2DenyAllPending ¶
func (a API) GroupV2DenyAllPending(ctx context.Context, req GroupV2DenyAllPendingRequest) (*ServerResponse[[]EntityActionResult], error)
GroupV2DenyAllPending: Deny all of the pending users for the given group.
URL: /GroupV2/{groupId}/Members/DenyAll/
Operation: GroupV2.DenyAllPending
Scope: oauth2 [AdminGroups]
func (API) GroupV2DenyPendingForList ¶
func (a API) GroupV2DenyPendingForList(ctx context.Context, req GroupV2DenyPendingForListRequest) (*ServerResponse[[]EntityActionResult], error)
GroupV2DenyPendingForList: Deny all of the pending users for the given group that match the passed-in .
URL: /GroupV2/{groupId}/Members/DenyList/
Operation: GroupV2.DenyPendingForList
Scope: oauth2 [AdminGroups]
func (API) GroupV2EditClanBanner ¶
func (a API) GroupV2EditClanBanner(ctx context.Context, req GroupV2EditClanBannerRequest) (*ServerResponse[int32], error)
GroupV2EditClanBanner: Edit an existing group's clan banner. You must have suitable permissions in the group to perform this operation. All fields are required.
URL: /GroupV2/{groupId}/EditClanBanner/
Operation: GroupV2.EditClanBanner
Scope: oauth2 [AdminGroups]
func (API) GroupV2EditFounderOptions ¶
func (a API) GroupV2EditFounderOptions(ctx context.Context, req GroupV2EditFounderOptionsRequest) (*ServerResponse[int32], error)
GroupV2EditFounderOptions: Edit group options only available to a founder. You must have suitable permissions in the group to perform this operation.
URL: /GroupV2/{groupId}/EditFounderOptions/
Operation: GroupV2.EditFounderOptions
Scope: oauth2 [AdminGroups]
func (API) GroupV2EditGroup ¶
func (a API) GroupV2EditGroup(ctx context.Context, req GroupV2EditGroupRequest) (*ServerResponse[int32], error)
GroupV2EditGroup: Edit an existing group. You must have suitable permissions in the group to perform this operation. This latest revision will only edit the fields you pass in - pass null for properties you want to leave unaltered.
URL: /GroupV2/{groupId}/Edit/
Operation: GroupV2.EditGroup
Scope: oauth2 [AdminGroups]
func (API) GroupV2EditGroupMembership ¶
func (a API) GroupV2EditGroupMembership(ctx context.Context, req GroupV2EditGroupMembershipRequest) (*ServerResponse[int32], error)
GroupV2EditGroupMembership: Edit the membership type of a given member. You must have suitable permissions in the group to perform this operation.
URL: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/SetMembershipType/{memberType}/
Operation: GroupV2.EditGroupMembership
Scope: oauth2 [AdminGroups]
func (API) GroupV2EditOptionalConversation ¶
func (a API) GroupV2EditOptionalConversation(ctx context.Context, req GroupV2EditOptionalConversationRequest) (*ServerResponse[Int64], error)
GroupV2EditOptionalConversation: Edit the settings of an optional conversation/chat channel. Requires admin permissions to the group.
URL: /GroupV2/{groupId}/OptionalConversations/Edit/{conversationId}/
Operation: GroupV2.EditOptionalConversation
Scope: oauth2 [AdminGroups]
func (API) GroupV2GetAdminsAndFounderOfGroup ¶
func (a API) GroupV2GetAdminsAndFounderOfGroup(ctx context.Context, req GroupV2GetAdminsAndFounderOfGroupRequest) (*ServerResponse[SearchResult[GroupMember]], error)
GroupV2GetAdminsAndFounderOfGroup: Get the list of members in a given group who are of admin level or higher.
URL: /GroupV2/{groupId}/AdminsAndFounder/
Operation: GroupV2.GetAdminsAndFounderOfGroup
func (API) GroupV2GetAvailableAvatars ¶
func (a API) GroupV2GetAvailableAvatars(ctx context.Context, req GroupV2GetAvailableAvatarsRequest) (*ServerResponse[map[int32]string], error)
GroupV2GetAvailableAvatars: Returns a list of all available group avatars for the signed-in user.
URL: /GroupV2/GetAvailableAvatars/
Operation: GroupV2.GetAvailableAvatars
func (API) GroupV2GetAvailableThemes ¶
func (a API) GroupV2GetAvailableThemes(ctx context.Context, req GroupV2GetAvailableThemesRequest) (*ServerResponse[[]GroupTheme], error)
GroupV2GetAvailableThemes: Returns a list of all available group themes.
URL: /GroupV2/GetAvailableThemes/
Operation: GroupV2.GetAvailableThemes
func (API) GroupV2GetBannedMembersOfGroup ¶
func (a API) GroupV2GetBannedMembersOfGroup(ctx context.Context, req GroupV2GetBannedMembersOfGroupRequest) (*ServerResponse[SearchResult[GroupBan]], error)
GroupV2GetBannedMembersOfGroup: Get the list of banned members in a given group. Only accessible to group Admins and above. Not applicable to all groups. Check group features.
URL: /GroupV2/{groupId}/Banned/
Operation: GroupV2.GetBannedMembersOfGroup
Scope: oauth2 [AdminGroups]
func (API) GroupV2GetGroup ¶
func (a API) GroupV2GetGroup(ctx context.Context, req GroupV2GetGroupRequest) (*ServerResponse[GroupResponse], error)
GroupV2GetGroup: Get information about a specific group of the given ID.
URL: /GroupV2/{groupId}/
Operation: GroupV2.GetGroup
func (API) GroupV2GetGroupByName ¶
func (a API) GroupV2GetGroupByName(ctx context.Context, req GroupV2GetGroupByNameRequest) (*ServerResponse[GroupResponse], error)
GroupV2GetGroupByName: Get information about a specific group with the given name and type.
URL: /GroupV2/Name/{groupName}/{groupType}/
Operation: GroupV2.GetGroupByName
func (API) GroupV2GetGroupByNameV2 ¶
func (a API) GroupV2GetGroupByNameV2(ctx context.Context, req GroupV2GetGroupByNameV2Request) (*ServerResponse[GroupResponse], error)
GroupV2GetGroupByNameV2: Get information about a specific group with the given name and type. The POST version.
URL: /GroupV2/NameV2/
Operation: GroupV2.GetGroupByNameV2
func (API) GroupV2GetGroupOptionalConversations ¶
func (a API) GroupV2GetGroupOptionalConversations(ctx context.Context, req GroupV2GetGroupOptionalConversationsRequest) (*ServerResponse[[]GroupOptionalConversation], error)
GroupV2GetGroupOptionalConversations: Gets a list of available optional conversation channels and their settings.
URL: /GroupV2/{groupId}/OptionalConversations/
Operation: GroupV2.GetGroupOptionalConversations
func (API) GroupV2GetGroupsForMember ¶
func (a API) GroupV2GetGroupsForMember(ctx context.Context, req GroupV2GetGroupsForMemberRequest) (*ServerResponse[GetGroupsForMemberResponse], error)
GroupV2GetGroupsForMember: Get information about the groups that a given member has joined.
URL: /GroupV2/User/{membershipType}/{membershipId}/{filter}/{groupType}/
Operation: GroupV2.GetGroupsForMember
func (API) GroupV2GetInvitedIndividuals ¶
func (a API) GroupV2GetInvitedIndividuals(ctx context.Context, req GroupV2GetInvitedIndividualsRequest) (*ServerResponse[SearchResult[GroupMemberApplication]], error)
GroupV2GetInvitedIndividuals: Get the list of users who have been invited into the group.
URL: /GroupV2/{groupId}/Members/InvitedIndividuals/
Operation: GroupV2.GetInvitedIndividuals
Scope: oauth2 [AdminGroups]
func (API) GroupV2GetMembersOfGroup ¶
func (a API) GroupV2GetMembersOfGroup(ctx context.Context, req GroupV2GetMembersOfGroupRequest) (*ServerResponse[SearchResult[GroupMember]], error)
GroupV2GetMembersOfGroup: Get the list of members in a given group.
URL: /GroupV2/{groupId}/Members/
Operation: GroupV2.GetMembersOfGroup
func (API) GroupV2GetPendingMemberships ¶
func (a API) GroupV2GetPendingMemberships(ctx context.Context, req GroupV2GetPendingMembershipsRequest) (*ServerResponse[SearchResult[GroupMemberApplication]], error)
GroupV2GetPendingMemberships: Get the list of users who are awaiting a decision on their application to join a given group. Modified to include application info.
URL: /GroupV2/{groupId}/Members/Pending/
Operation: GroupV2.GetPendingMemberships
Scope: oauth2 [AdminGroups]
func (API) GroupV2GetPotentialGroupsForMember ¶
func (a API) GroupV2GetPotentialGroupsForMember(ctx context.Context, req GroupV2GetPotentialGroupsForMemberRequest) (*ServerResponse[GroupPotentialMembershipSearchResponse], error)
GroupV2GetPotentialGroupsForMember: Get information about the groups that a given member has applied to or been invited to.
URL: /GroupV2/User/Potential/{membershipType}/{membershipId}/{filter}/{groupType}/
Operation: GroupV2.GetPotentialGroupsForMember
func (API) GroupV2GetRecommendedGroups ¶
func (a API) GroupV2GetRecommendedGroups(ctx context.Context, req GroupV2GetRecommendedGroupsRequest) (*ServerResponse[[]GroupV2Card], error)
GroupV2GetRecommendedGroups: Gets groups recommended for you based on the groups to whom those you follow belong.
URL: /GroupV2/Recommended/{groupType}/{createDateRange}/
Operation: GroupV2.GetRecommendedGroups
Scope: oauth2 [ReadGroups]
func (API) GroupV2GetUserClanInviteSetting ¶
func (a API) GroupV2GetUserClanInviteSetting(ctx context.Context, req GroupV2GetUserClanInviteSettingRequest) (*ServerResponse[bool], error)
GroupV2GetUserClanInviteSetting: Gets the state of the user's clan invite preferences for a particular membership type - true if they wish to be invited to clans, false otherwise.
URL: /GroupV2/GetUserClanInviteSetting/{mType}/
Operation: GroupV2.GetUserClanInviteSetting
Scope: oauth2 [ReadUserData]
func (API) GroupV2GroupSearch ¶
func (a API) GroupV2GroupSearch(ctx context.Context, req GroupV2GroupSearchRequest) (*ServerResponse[GroupSearchResponse], error)
GroupV2GroupSearch: Search for Groups.
URL: /GroupV2/Search/
Operation: GroupV2.GroupSearch
func (API) GroupV2IndividualGroupInvite ¶
func (a API) GroupV2IndividualGroupInvite(ctx context.Context, req GroupV2IndividualGroupInviteRequest) (*ServerResponse[GroupApplicationResponse], error)
GroupV2IndividualGroupInvite: Invite a user to join this group.
URL: /GroupV2/{groupId}/Members/IndividualInvite/{membershipType}/{membershipId}/
Operation: GroupV2.IndividualGroupInvite
Scope: oauth2 [AdminGroups]
func (API) GroupV2IndividualGroupInviteCancel ¶
func (a API) GroupV2IndividualGroupInviteCancel(ctx context.Context, req GroupV2IndividualGroupInviteCancelRequest) (*ServerResponse[GroupApplicationResponse], error)
GroupV2IndividualGroupInviteCancel: Cancels a pending invitation to join a group.
URL: /GroupV2/{groupId}/Members/IndividualInviteCancel/{membershipType}/{membershipId}/
Operation: GroupV2.IndividualGroupInviteCancel
Scope: oauth2 [AdminGroups]
func (API) GroupV2KickMember ¶
func (a API) GroupV2KickMember(ctx context.Context, req GroupV2KickMemberRequest) (*ServerResponse[GroupMemberLeaveResult], error)
GroupV2KickMember: Kick a member from the given group, forcing them to reapply if they wish to re-join the group. You must have suitable permissions in the group to perform this operation.
URL: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Kick/
Operation: GroupV2.KickMember
Scope: oauth2 [AdminGroups]
func (API) GroupV2RecoverGroupForFounder ¶
func (a API) GroupV2RecoverGroupForFounder(ctx context.Context, req GroupV2RecoverGroupForFounderRequest) (*ServerResponse[GroupMembershipSearchResponse], error)
GroupV2RecoverGroupForFounder: Allows a founder to manually recover a group they can see in game but not on bungie.net
URL: /GroupV2/Recover/{membershipType}/{membershipId}/{groupType}/
Operation: GroupV2.RecoverGroupForFounder
func (API) GroupV2UnbanMember ¶
func (a API) GroupV2UnbanMember(ctx context.Context, req GroupV2UnbanMemberRequest) (*ServerResponse[int32], error)
GroupV2UnbanMember: Unbans the requested member, allowing them to re-apply for membership.
URL: /GroupV2/{groupId}/Members/{membershipType}/{membershipId}/Unban/
Operation: GroupV2.UnbanMember
Scope: oauth2 [AdminGroups]
func (API) SocialAcceptFriendRequest ¶
func (a API) SocialAcceptFriendRequest(ctx context.Context, req SocialAcceptFriendRequestRequest) (*ServerResponse[bool], error)
SocialAcceptFriendRequest: Accepts a friend relationship with the target user. The user must be on your incoming friend request list, though no error will occur if they are not.
URL: /Social/Friends/Requests/Accept/{membershipId}/
Operation: Social.AcceptFriendRequest
Scope: oauth2 [BnetWrite]
func (API) SocialDeclineFriendRequest ¶
func (a API) SocialDeclineFriendRequest(ctx context.Context, req SocialDeclineFriendRequestRequest) (*ServerResponse[bool], error)
SocialDeclineFriendRequest: Declines a friend relationship with the target user. The user must be on your incoming friend request list, though no error will occur if they are not.
URL: /Social/Friends/Requests/Decline/{membershipId}/
Operation: Social.DeclineFriendRequest
Scope: oauth2 [BnetWrite]
func (API) SocialGetFriendList ¶
func (a API) SocialGetFriendList(ctx context.Context, req SocialGetFriendListRequest) (*ServerResponse[BungieFriendListResponse], error)
SocialGetFriendList: Returns your Bungie Friend list
URL: /Social/Friends/
Operation: Social.GetFriendList
Scope: oauth2 [ReadUserData]
func (API) SocialGetFriendRequestList ¶
func (a API) SocialGetFriendRequestList(ctx context.Context, req SocialGetFriendRequestListRequest) (*ServerResponse[BungieFriendRequestListResponse], error)
SocialGetFriendRequestList: Returns your friend request queue.
URL: /Social/Friends/Requests/
Operation: Social.GetFriendRequestList
Scope: oauth2 [ReadUserData]
func (API) SocialGetPlatformFriendList ¶
func (a API) SocialGetPlatformFriendList(ctx context.Context, req SocialGetPlatformFriendListRequest) (*ServerResponse[PlatformFriendResponse], error)
SocialGetPlatformFriendList: Gets the platform friend of the requested type, with additional information if they have Bungie accounts. Must have a recent login session with said platform.
URL: /Social/PlatformFriends/{friendPlatform}/{page}/
Operation: Social.GetPlatformFriendList
func (API) SocialIssueFriendRequest ¶
func (a API) SocialIssueFriendRequest(ctx context.Context, req SocialIssueFriendRequestRequest) (*ServerResponse[bool], error)
SocialIssueFriendRequest: Requests a friend relationship with the target user. Any of the target user's linked membership ids are valid inputs.
URL: /Social/Friends/Add/{membershipId}/
Operation: Social.IssueFriendRequest
Scope: oauth2 [BnetWrite]
func (API) SocialRemoveFriend ¶
func (a API) SocialRemoveFriend(ctx context.Context, req SocialRemoveFriendRequest) (*ServerResponse[bool], error)
SocialRemoveFriend: Remove a friend relationship with the target user. The user must be on your friend list, though no error will occur if they are not.
URL: /Social/Friends/Remove/{membershipId}/
Operation: Social.RemoveFriend
Scope: oauth2 [BnetWrite]
func (API) SocialRemoveFriendRequest ¶
func (a API) SocialRemoveFriendRequest(ctx context.Context, req SocialRemoveFriendRequestRequest) (*ServerResponse[bool], error)
SocialRemoveFriendRequest: Remove a friend relationship with the target user. The user must be on your outgoing request friend list, though no error will occur if they are not.
URL: /Social/Friends/Requests/Remove/{membershipId}/
Operation: Social.RemoveFriendRequest
Scope: oauth2 [BnetWrite]
func (API) TokensApplyMissingPartnerOffersWithoutClaim ¶
func (a API) TokensApplyMissingPartnerOffersWithoutClaim(ctx context.Context, req TokensApplyMissingPartnerOffersWithoutClaimRequest) (*ServerResponse[bool], error)
TokensApplyMissingPartnerOffersWithoutClaim: Apply a partner offer to the targeted user. This endpoint does not claim a new offer, but any already claimed offers will be applied to the game if not already.
URL: /Tokens/Partner/ApplyMissingOffers/{partnerApplicationId}/{targetBnetMembershipId}/
Operation: Tokens.ApplyMissingPartnerOffersWithoutClaim
Scope: oauth2 [PartnerOfferGrant]
func (API) TokensClaimPartnerOffer ¶
func (a API) TokensClaimPartnerOffer(ctx context.Context, req TokensClaimPartnerOfferRequest) (*ServerResponse[bool], error)
TokensClaimPartnerOffer: Claim a partner offer as the authenticated user.
URL: /Tokens/Partner/ClaimOffer/
Operation: Tokens.ClaimPartnerOffer
Scope: oauth2 [PartnerOfferGrant]
func (API) TokensForceDropsRepair ¶
func (a API) TokensForceDropsRepair(ctx context.Context, req TokensForceDropsRepairRequest) (*ServerResponse[bool], error)
TokensForceDropsRepair: Twitch Drops self-repair function - scans twitch for drops not marked as fulfilled and resyncs them.
URL: /Tokens/Partner/ForceDropsRepair/
Operation: Tokens.ForceDropsRepair
Scope: oauth2 [PartnerOfferGrant]
func (API) TokensGetBungieRewardsForPlatformUser ¶
func (a API) TokensGetBungieRewardsForPlatformUser(ctx context.Context, req TokensGetBungieRewardsForPlatformUserRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
TokensGetBungieRewardsForPlatformUser: Returns the bungie rewards for the targeted user when a platform membership Id and Type are used.
URL: /Tokens/Rewards/GetRewardsForPlatformUser/{membershipId}/{membershipType}/
Operation: Tokens.GetBungieRewardsForPlatformUser
Scope: oauth2 [ReadAndApplyTokens]
func (API) TokensGetBungieRewardsForUser ¶
func (a API) TokensGetBungieRewardsForUser(ctx context.Context, req TokensGetBungieRewardsForUserRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
TokensGetBungieRewardsForUser: Returns the bungie rewards for the targeted user.
URL: /Tokens/Rewards/GetRewardsForUser/{membershipId}/
Operation: Tokens.GetBungieRewardsForUser
Scope: oauth2 [ReadAndApplyTokens]
func (API) TokensGetBungieRewardsList ¶
func (a API) TokensGetBungieRewardsList(ctx context.Context, req TokensGetBungieRewardsListRequest) (*ServerResponse[map[string]BungieRewardDisplay], error)
TokensGetBungieRewardsList: Returns a list of the current bungie rewards
URL: /Tokens/Rewards/BungieRewards/
Operation: Tokens.GetBungieRewardsList
func (API) TokensGetPartnerOfferSkuHistory ¶
func (a API) TokensGetPartnerOfferSkuHistory(ctx context.Context, req TokensGetPartnerOfferSkuHistoryRequest) (*ServerResponse[[]PartnerOfferSkuHistoryResponse], error)
TokensGetPartnerOfferSkuHistory: Returns the partner sku and offer history of the targeted user. Elevated permissions are required to see users that are not yourself.
URL: /Tokens/Partner/History/{partnerApplicationId}/{targetBnetMembershipId}/
Operation: Tokens.GetPartnerOfferSkuHistory
Scope: oauth2 [PartnerOfferGrant]
func (API) TokensGetPartnerRewardHistory ¶
func (a API) TokensGetPartnerRewardHistory(ctx context.Context, req TokensGetPartnerRewardHistoryRequest) (*ServerResponse[PartnerRewardHistoryResponse], error)
TokensGetPartnerRewardHistory: Returns the partner rewards history of the targeted user, both partner offers and Twitch drops.
URL: /Tokens/Partner/History/{targetBnetMembershipId}/Application/{partnerApplicationId}/
Operation: Tokens.GetPartnerRewardHistory
Scope: oauth2 [PartnerOfferGrant]
func (API) TrendingGetTrendingCategories ¶
func (a API) TrendingGetTrendingCategories(ctx context.Context, req TrendingGetTrendingCategoriesRequest) (*ServerResponse[TrendingCategories], error)
TrendingGetTrendingCategories: Returns trending items for Bungie.net, collapsed into the first page of items per category. For pagination within a category, call GetTrendingCategory.
URL: /Trending/Categories/
Operation: Trending.GetTrendingCategories
func (API) TrendingGetTrendingCategory ¶
func (a API) TrendingGetTrendingCategory(ctx context.Context, req TrendingGetTrendingCategoryRequest) (*ServerResponse[SearchResult[TrendingEntry]], error)
TrendingGetTrendingCategory: Returns paginated lists of trending items for a category.
URL: /Trending/Categories/{categoryId}/{pageNumber}/
Operation: Trending.GetTrendingCategory
func (API) TrendingGetTrendingEntryDetail ¶
func (a API) TrendingGetTrendingEntryDetail(ctx context.Context, req TrendingGetTrendingEntryDetailRequest) (*ServerResponse[TrendingDetail], error)
TrendingGetTrendingEntryDetail: Returns the detailed results for a specific trending entry. Note that trending entries are uniquely identified by a combination of *both* the TrendingEntryType *and* the identifier: the identifier alone is not guaranteed to be globally unique.
URL: /Trending/Details/{trendingEntryType}/{identifier}/
Operation: Trending.GetTrendingEntryDetail
func (API) UserGetAvailableThemes ¶
func (a API) UserGetAvailableThemes(ctx context.Context, req UserGetAvailableThemesRequest) (*ServerResponse[[]UserTheme], error)
UserGetAvailableThemes: Returns a list of all available user themes.
URL: /User/GetAvailableThemes/
Operation: User.GetAvailableThemes
func (API) UserGetBungieNetUserById ¶
func (a API) UserGetBungieNetUserById(ctx context.Context, req UserGetBungieNetUserByIdRequest) (*ServerResponse[GeneralUser], error)
UserGetBungieNetUserById: Loads a bungienet user by membership id.
URL: /User/GetBungieNetUserById/{id}/
Operation: User.GetBungieNetUserById
func (API) UserGetCredentialTypesForTargetAccount ¶
func (a API) UserGetCredentialTypesForTargetAccount(ctx context.Context, req UserGetCredentialTypesForTargetAccountRequest) (*ServerResponse[[]GetCredentialTypesForAccountResponse], error)
UserGetCredentialTypesForTargetAccount: Returns a list of credential types attached to the requested account
URL: /User/GetCredentialTypesForTargetAccount/{membershipId}/
Operation: User.GetCredentialTypesForTargetAccount
func (API) UserGetMembershipDataById ¶
func (a API) UserGetMembershipDataById(ctx context.Context, req UserGetMembershipDataByIdRequest) (*ServerResponse[UserMembershipData], error)
UserGetMembershipDataById: Returns a list of accounts associated with the supplied membership ID and membership type. This will include all linked accounts (even when hidden) if supplied credentials permit it.
URL: /User/GetMembershipsById/{membershipId}/{membershipType}/
Operation: User.GetMembershipDataById
func (API) UserGetMembershipDataForCurrentUser ¶
func (a API) UserGetMembershipDataForCurrentUser(ctx context.Context, req UserGetMembershipDataForCurrentUserRequest) (*ServerResponse[UserMembershipData], error)
UserGetMembershipDataForCurrentUser: Returns a list of accounts associated with signed in user. This is useful for OAuth implementations that do not give you access to the token response.
URL: /User/GetMembershipsForCurrentUser/
Operation: User.GetMembershipDataForCurrentUser
Scope: oauth2 [ReadBasicUserProfile]
func (API) UserGetMembershipFromHardLinkedCredential ¶
func (a API) UserGetMembershipFromHardLinkedCredential(ctx context.Context, req UserGetMembershipFromHardLinkedCredentialRequest) (*ServerResponse[HardLinkedUserMembership], error)
UserGetMembershipFromHardLinkedCredential: Gets any hard linked membership given a credential. Only works for credentials that are public (just SteamID64 right now). Cross Save aware.
URL: /User/GetMembershipFromHardLinkedCredential/{crType}/{credential}/
Operation: User.GetMembershipFromHardLinkedCredential
func (API) UserGetSanitizedPlatformDisplayNames ¶
func (a API) UserGetSanitizedPlatformDisplayNames(ctx context.Context, req UserGetSanitizedPlatformDisplayNamesRequest) (*ServerResponse[map[string]string], error)
UserGetSanitizedPlatformDisplayNames: Gets a list of all display names linked to this membership id but sanitized (profanity filtered). Obeys all visibility rules of calling user and is heavily cached.
URL: /User/GetSanitizedPlatformDisplayNames/{membershipId}/
Operation: User.GetSanitizedPlatformDisplayNames
func (API) UserSearchByGlobalNamePost ¶
func (a API) UserSearchByGlobalNamePost(ctx context.Context, req UserSearchByGlobalNamePostRequest) (*ServerResponse[UserSearchResponse], error)
UserSearchByGlobalNamePost: Given the prefix of a global display name, returns all users who share that name.
URL: /User/Search/GlobalName/{page}/
Operation: User.SearchByGlobalNamePost
func (API) UserSearchByGlobalNamePrefix ¶
func (a API) UserSearchByGlobalNamePrefix(ctx context.Context, req UserSearchByGlobalNamePrefixRequest) (*ServerResponse[UserSearchResponse], error)
UserSearchByGlobalNamePrefix: [OBSOLETE] Do not use this to search users, use SearchByGlobalNamePost instead.
URL: /User/Search/Prefix/{displayNamePrefix}/{page}/
Operation: User.SearchByGlobalNamePrefix
func (*API) WithAuthToken ¶
func (*API) WithBaseURL ¶
WithBaseURL sets the base URL. The default is "https://www.bungie.net/Platform".
func (*API) WithInterceptorFunc ¶
func (a *API) WithInterceptorFunc(f InterceptorFunc) *API
type ActionRequest ¶
type ActionRequest struct {
MembershipType BungieMembershipType `json:"membershipType"`
}
Destiny.Requests.Actions.DestinyActionRequest
type Activity ¶
type Activity struct { // The hash identifier of the Activity. Use this to look up the DestinyActivityDefinition of the // activity. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // 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. BooleanActivityOptions map[uint32]bool `json:"booleanActivityOptions"` // If true, the user is allowed to join with another Fireteam in this activity. CanJoin bool `json:"canJoin"` // If true, the user is allowed to lead a Fireteam into this activity. CanLead bool `json:"canLead"` Challenges []ChallengeStatus `json:"challenges"` // A DestinyActivityDifficultyTier enum value indicating the difficulty of the activity. DifficultyTier ActivityDifficultyTier `json:"difficultyTier"` // The difficulty level of the activity, if applicable. DisplayLevel Nullable[int32] `json:"displayLevel,omitempty"` // 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. IsCompleted bool `json:"isCompleted"` // If true, then the activity should have a "new" indicator in the Director UI. IsNew bool `json:"isNew"` // If true, the user should be able to see this activity. IsVisible bool `json:"isVisible"` // If returned, this is the index into the DestinyActivityDefinition's "loadouts" property, indicating // the currently active loadout requirements. LoadoutRequirementIndex Nullable[int32] `json:"loadoutRequirementIndex,omitempty"` // 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. ModifierHashes []uint32 `json:"modifierHashes"` // The recommended light level for the activity, if applicable. RecommendedLight Nullable[int32] `json:"recommendedLight,omitempty"` }
Destiny.DestinyActivity
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.
type ActivityChallengeDefinition ¶
type ActivityChallengeDefinition struct { // The rewards as they're represented in the UI. Note that they generally link to "dummy" items that // give a summary of rewards rather than direct, real items themselves. // If the quantity is 0, don't show the quantity. DummyRewards []ItemQuantity `json:"dummyRewards"` // The hash for the Objective that matches this challenge. Use it to look up the // DestinyObjectiveDefinition. ObjectiveHash Hash[ObjectiveDefinition] `json:"objectiveHash"` }
Destiny.Definitions.DestinyActivityChallengeDefinition
Represents a reference to a Challenge, which for now is just an Objective.
func (ActivityChallengeDefinition) DefinitionTable ¶
func (d ActivityChallengeDefinition) DefinitionTable() string
type ActivityDefinition ¶
type ActivityDefinition struct { // 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. ActivityGraphList []ActivityGraphListEntryDefinition `json:"activityGraphList"` // The recommended light level for this activity. ActivityLightLevel int32 `json:"activityLightLevel"` // A list of location mappings that are affected by this activity. Pulled out of // DestinyLocationDefinitions for our/your lookup convenience. ActivityLocationMappings []EnvironmentLocationMapping `json:"activityLocationMappings"` // 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. ActivityModeHashes []uint32 `json:"activityModeHashes"` // The activity modes - if any - in enum form. Because we can't seem to escape the enums. ActivityModeTypes []ActivityModeType `json:"activityModeTypes"` // 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. ActivityTypeHash Hash[ActivityTypeDefinition] `json:"activityTypeHash"` // 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. Challenges []ActivityChallengeDefinition `json:"challenges"` // 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. DestinationHash Hash[DestinationDefinition] `json:"destinationHash"` // If this activity had an activity mode directly defined on it, this will be the hash of that mode. DirectActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"directActivityModeHash,omitempty"` // If the activity had an activity mode directly defined on it, this will be the enum value of that // mode. DirectActivityModeType Nullable[int32] `json:"directActivityModeType,omitempty"` // 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. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. GuidedGame ActivityGuidedBlockDefinition `json:"guidedGame"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The list of phases or points of entry into an activity, along with information we can use to // determine their gating and availability. InsertionPoints []ActivityInsertionPointDefinition `json:"insertionPoints"` // 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. IsPlaylist bool `json:"isPlaylist"` // If true, this activity is a PVP activity or playlist. IsPvP bool `json:"isPvP"` // 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. Loadouts []ActivityLoadoutRequirementSet `json:"loadouts"` // This block of data provides information about the Activity's matchmaking attributes: how many people // can join and such. Matchmaking ActivityMatchmakingBlockDefinition `json:"matchmaking"` // 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. Modifiers []ActivityModifierReferenceDefinition `json:"modifiers"` // 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. OptionalUnlockStrings []ActivityUnlockStringDefinition `json:"optionalUnlockStrings"` // The unadulterated form of the display properties, as they ought to be shown in the Director (if the // activity appears in the director). OriginalDisplayProperties DisplayPropertiesDefinition `json:"originalDisplayProperties"` // 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. PgcrImage string `json:"pgcrImage"` // 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. PlaceHash Hash[PlaceDefinition] `json:"placeHash"` // 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. PlaylistItems []ActivityPlaylistItemDefinition `json:"playlistItems"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If the activity has an icon associated with a specific release (such as a DLC), this is the path to // that release's icon. ReleaseIcon string `json:"releaseIcon"` // 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. ReleaseTime int32 `json:"releaseTime"` // 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) Rewards []ActivityRewardDefinition `json:"rewards"` // 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. SelectionScreenDisplayProperties DisplayPropertiesDefinition `json:"selectionScreenDisplayProperties"` // The difficulty tier of the activity. Tier int32 `json:"tier"` }
Destiny.Definitions.DestinyActivityDefinition
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.
func (ActivityDefinition) DefinitionTable ¶
func (d ActivityDefinition) DefinitionTable() string
type ActivityDifficultyTier ¶
type ActivityDifficultyTier int32
Destiny.DestinyActivityDifficultyTier
An enumeration representing the potential difficulty levels of an activity. Their names are... more qualitative than quantitative.
func (ActivityDifficultyTier) Enum ¶
func (e ActivityDifficultyTier) Enum() string
type ActivityGraphArtElementDefinition ¶
type ActivityGraphArtElementDefinition struct { // The position on the map of the art element. Position PositionDefinition `json:"position"` }
Destiny.Definitions.Director.DestinyActivityGraphArtElementDefinition
These Art Elements are meant to represent one-off visual effects overlaid on the map. Currently, we do not have a pipeline to import the assets for these overlays, so this info exists as a placeholder for when such a pipeline exists (if it ever will)
func (ActivityGraphArtElementDefinition) DefinitionTable ¶
func (d ActivityGraphArtElementDefinition) DefinitionTable() string
type ActivityGraphConnectionDefinition ¶
type ActivityGraphConnectionDefinition struct { DestNodeHash uint32 `json:"destNodeHash"` SourceNodeHash uint32 `json:"sourceNodeHash"` }
Destiny.Definitions.Director.DestinyActivityGraphConnectionDefinition
Nodes on a graph can be visually connected: this appears to be the information about which nodes to link. It appears to lack more detailed information, such as the path for that linking.
func (ActivityGraphConnectionDefinition) DefinitionTable ¶
func (d ActivityGraphConnectionDefinition) DefinitionTable() string
type ActivityGraphDefinition ¶
type ActivityGraphDefinition struct { // Represents one-off/special UI elements that appear on the map. ArtElements []ActivityGraphArtElementDefinition `json:"artElements"` // Represents connections between graph nodes. However, it lacks context that we'd need to make good // use of it. Connections []ActivityGraphConnectionDefinition `json:"connections"` // Objectives can display on maps, and this is supposedly metadata for that. I have not had the time to // analyze the details of what is useful within however: we could be missing important data to make // this work. Expect this property to be expanded on later if possible. DisplayObjectives []ActivityGraphDisplayObjectiveDefinition `json:"displayObjectives"` // Progressions can also display on maps, but similarly to displayObjectives we appear to lack some // required information and context right now. We will have to look into it later and add more data if // possible. DisplayProgressions []ActivityGraphDisplayProgressionDefinition `json:"displayProgressions"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Represents links between this Activity Graph and other ones. LinkedGraphs []LinkedGraphDefinition `json:"linkedGraphs"` // These represent the visual "nodes" on the map's view. These are the activities you can click on in // the map. Nodes []ActivityGraphNodeDefinition `json:"nodes"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Director.DestinyActivityGraphDefinition
Represents a Map View in the director: be them overview views, destination views, or other. They have nodes which map to activities, and other various visual elements that we (or others) may or may not be able to use. Activity graphs, most importantly, have nodes which can have activities in various states of playability. Unfortunately, activity graphs are combined at runtime with Game UI-only assets such as fragments of map images, various in-game special effects, decals etc... that we don't get in these definitions. If we end up having time, we may end up trying to manually populate those here: but the last time we tried that, before the lead-up to D1, it proved to be unmaintainable as the game's content changed. So don't bet the farm on us providing that content in this definition.
func (ActivityGraphDefinition) DefinitionTable ¶
func (d ActivityGraphDefinition) DefinitionTable() string
type ActivityGraphDisplayObjectiveDefinition ¶
type ActivityGraphDisplayObjectiveDefinition struct { // $NOTE $amola 2017-01-19 This field is apparently something that CUI uses to manually wire up // objectives to display info. I am unsure how it works. Id uint32 `json:"id"` // The objective being shown on the map. ObjectiveHash Hash[ObjectiveDefinition] `json:"objectiveHash"` }
Destiny.Definitions.Director.DestinyActivityGraphDisplayObjectiveDefinition
When a Graph needs to show active Objectives, this defines those objectives as well as an identifier.
func (ActivityGraphDisplayObjectiveDefinition) DefinitionTable ¶
func (d ActivityGraphDisplayObjectiveDefinition) DefinitionTable() string
type ActivityGraphDisplayProgressionDefinition ¶
type ActivityGraphDisplayProgressionDefinition struct { Id uint32 `json:"id"` ProgressionHash uint32 `json:"progressionHash"` }
Destiny.Definitions.Director.DestinyActivityGraphDisplayProgressionDefinition
When a Graph needs to show active Progressions, this defines those objectives as well as an identifier.
func (ActivityGraphDisplayProgressionDefinition) DefinitionTable ¶
func (d ActivityGraphDisplayProgressionDefinition) DefinitionTable() string
type ActivityGraphListEntryDefinition ¶
type ActivityGraphListEntryDefinition struct { // The hash identifier of the DestinyActivityGraphDefinition that should be shown when opening the // director. ActivityGraphHash Hash[ActivityGraphDefinition] `json:"activityGraphHash"` }
Destiny.Definitions.DestinyActivityGraphListEntryDefinition
Destinations and Activities may have default Activity Graphs that should be shown when you bring up the Director and are playing in either. This contract defines the graph referred to and the gating for when it is relevant.
func (ActivityGraphListEntryDefinition) DefinitionTable ¶
func (d ActivityGraphListEntryDefinition) DefinitionTable() string
type ActivityGraphNodeActivityDefinition ¶
type ActivityGraphNodeActivityDefinition struct { // The activity that will be activated if the user clicks on this node. Controls all activity-related // information displayed on the node if it is active (the text shown in the tooltip etc) ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // An identifier for this node activity. It is only guaranteed to be unique within the Activity Graph. NodeActivityID uint32 `json:"nodeActivityId"` }
Destiny.Definitions.Director.DestinyActivityGraphNodeActivityDefinition
The actual activity to be redirected to when you click on the node. Note that a node can have many Activities attached to it: but only one will be active at any given time. The list of Node Activities will be traversed, and the first one found to be active will be displayed. This way, a node can layer multiple variants of an activity on top of each other. For instance, one node can control the weekly Crucible Playlist. There are multiple possible playlists, but only one is active for the week.
func (ActivityGraphNodeActivityDefinition) DefinitionTable ¶
func (d ActivityGraphNodeActivityDefinition) DefinitionTable() string
type ActivityGraphNodeDefinition ¶
type ActivityGraphNodeDefinition struct { // The node may have various possible activities that could be active for it, however only one may be // active at a time. See the DestinyActivityGraphNodeActivityDefinition for details. Activities []ActivityGraphNodeActivityDefinition `json:"activities"` // The node may have various visual accents placed on it, or styles applied. These are the list of // possible styles that the Node can have. The game iterates through each, looking for the first one // that passes a check of the required game/character/account state in order to show that style, and // then renders the node in that style. FeaturingStates []ActivityGraphNodeFeaturingStateDefinition `json:"featuringStates"` // An identifier for the Activity Graph Node, only guaranteed to be unique within its parent Activity // Graph. NodeID uint32 `json:"nodeId"` // The node *may* have display properties that override the active Activity's display properties. OverrideDisplay DisplayPropertiesDefinition `json:"overrideDisplay"` // The position on the map for this node. Position PositionDefinition `json:"position"` // Represents possible states that the graph node can be in. These are combined with some checking that // happens in the game client and server to determine which state is actually active at any given time. States []ActivityGraphNodeStateEntry `json:"states"` }
Destiny.Definitions.Director.DestinyActivityGraphNodeDefinition
This is the position and other data related to nodes in the activity graph that you can click to launch activities. An Activity Graph node will only have one active Activity at a time, which will determine the activity to be launched (and, unless overrideDisplay information is provided, will also determine the tooltip and other UI related to the node)
func (ActivityGraphNodeDefinition) DefinitionTable ¶
func (d ActivityGraphNodeDefinition) DefinitionTable() string
type ActivityGraphNodeFeaturingStateDefinition ¶
type ActivityGraphNodeFeaturingStateDefinition struct { // The node can be highlighted in a variety of ways - the game iterates through these and finds the // first FeaturingState that is valid at the present moment given the Game, Account, and Character // state, and renders the node in that state. See the ActivityGraphNodeHighlightType enum for possible // values. HighlightType ActivityGraphNodeHighlightType `json:"highlightType"` }
Destiny.Definitions.Director.DestinyActivityGraphNodeFeaturingStateDefinition
Nodes can have different visual states. This object represents a single visual state ("highlight type") that a node can be in, and the unlock expression condition to determine whether it should be set.
func (ActivityGraphNodeFeaturingStateDefinition) DefinitionTable ¶
func (d ActivityGraphNodeFeaturingStateDefinition) DefinitionTable() string
type ActivityGraphNodeHighlightType ¶
type ActivityGraphNodeHighlightType int32
Destiny.ActivityGraphNodeHighlightType
The various known UI styles in which an item can be highlighted. It'll be up to you to determine what you want to show based on this highlighting, BNet doesn't have any assets that correspond to these states. And yeah, RiseOfIron and Comet have their own special highlight states. Don't ask me, I can't imagine they're still used.
func (ActivityGraphNodeHighlightType) Enum ¶
func (e ActivityGraphNodeHighlightType) Enum() string
type ActivityGraphNodeStateEntry ¶
type ActivityGraphNodeStateEntry struct {
State GraphNodeState `json:"state"`
}
Destiny.Definitions.Director.DestinyActivityGraphNodeStateEntry
Represents a single state that a graph node might end up in. Depending on what's going on in the game, graph nodes could be shown in different ways or even excluded from view entirely.
func (ActivityGraphNodeStateEntry) DefinitionTable ¶
func (d ActivityGraphNodeStateEntry) DefinitionTable() string
type ActivityGuidedBlockDefinition ¶
type ActivityGuidedBlockDefinition struct { // If -1, the guided group cannot be disbanded. Otherwise, take the total # of players in the activity // and subtract this number: that is the total # of votes needed for the guided group to disband. GuidedDisbandCount int32 `json:"guidedDisbandCount"` // The maximum amount of people that can be in the waiting lobby. GuidedMaxLobbySize int32 `json:"guidedMaxLobbySize"` // The minimum amount of people that can be in the waiting lobby. GuidedMinLobbySize int32 `json:"guidedMinLobbySize"` }
Destiny.Definitions.DestinyActivityGuidedBlockDefinition
Guided Game information for this activity.
func (ActivityGuidedBlockDefinition) DefinitionTable ¶
func (d ActivityGuidedBlockDefinition) DefinitionTable() string
type ActivityHistoryResults ¶
type ActivityHistoryResults struct { // List of activities, the most recent activity first. Activities []HistoricalStatsPeriodGroup `json:"activities"` }
Destiny.HistoricalStats.DestinyActivityHistoryResults
type ActivityInsertionPointDefinition ¶
type ActivityInsertionPointDefinition struct { // A unique hash value representing the phase. This can be useful for, for example, comparing how // different instances of Raids have phases in different orders! PhaseHash uint32 `json:"phaseHash"` }
Destiny.Definitions.DestinyActivityInsertionPointDefinition
A point of entry into an activity, gated by an unlock flag and with some more-or-less useless (for our purposes) phase information. I'm including it in case we end up being able to bolt more useful information onto it in the future. UPDATE: Turns out this information isn't actually useless, and is in fact actually useful for people. Who would have thought? We still don't have localized info for it, but at least this will help people when they're looking at phase indexes in stats data, or when they want to know what phases have been completed on a weekly achievement.
func (ActivityInsertionPointDefinition) DefinitionTable ¶
func (d ActivityInsertionPointDefinition) DefinitionTable() string
type ActivityLoadoutRequirement ¶
type ActivityLoadoutRequirement struct { AllowedEquippedItemHashes []uint32 `json:"allowedEquippedItemHashes"` AllowedWeaponSubTypes []ItemSubType `json:"allowedWeaponSubTypes"` EquipmentSlotHash Hash[EquipmentSlotDefinition] `json:"equipmentSlotHash"` }
Destiny.Definitions.DestinyActivityLoadoutRequirement
func (ActivityLoadoutRequirement) DefinitionTable ¶
func (d ActivityLoadoutRequirement) DefinitionTable() string
type ActivityLoadoutRequirementSet ¶
type ActivityLoadoutRequirementSet struct { // The set of requirements that will be applied on the activity if this requirement set is active. Requirements []ActivityLoadoutRequirement `json:"requirements"` }
Destiny.Definitions.DestinyActivityLoadoutRequirementSet
func (ActivityLoadoutRequirementSet) DefinitionTable ¶
func (d ActivityLoadoutRequirementSet) DefinitionTable() string
type ActivityMatchmakingBlockDefinition ¶
type ActivityMatchmakingBlockDefinition struct { // If TRUE, the activity is matchmade. Otherwise, it requires explicit forming of a party. IsMatchmade bool `json:"isMatchmade"` // The maximum # of people allowed in a Fireteam. MaxParty int32 `json:"maxParty"` // The maximum # of people allowed across all teams in the activity. MaxPlayers int32 `json:"maxPlayers"` // The minimum # of people in the fireteam for the activity to launch. MinParty int32 `json:"minParty"` // If true, you have to Solemnly Swear to be up to Nothing But Good(tm) to play. RequiresGuardianOath bool `json:"requiresGuardianOath"` }
Destiny.Definitions.DestinyActivityMatchmakingBlockDefinition
Information about matchmaking and party size for the activity.
func (ActivityMatchmakingBlockDefinition) DefinitionTable ¶
func (d ActivityMatchmakingBlockDefinition) DefinitionTable() string
type ActivityModeCategory ¶
type ActivityModeCategory int32
Destiny.DestinyActivityModeCategory
Activity Modes are grouped into a few possible broad categories.
func (ActivityModeCategory) Enum ¶
func (e ActivityModeCategory) Enum() string
type ActivityModeDefinition ¶
type ActivityModeDefinition struct { // The type of play being performed in broad terms (PVP, PVE) ActivityModeCategory ActivityModeCategory `json:"activityModeCategory"` // 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. ActivityModeMappings map[uint32]ActivityModeType `json:"activityModeMappings"` // 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. Display bool `json:"display"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. FriendlyName string `json:"friendlyName"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // 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. IsAggregateMode bool `json:"isAggregateMode"` // 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. IsTeamBased bool `json:"isTeamBased"` // The Enumeration value for this Activity Mode. Pass this identifier into Stats endpoints to get // aggregate stats for this mode. ModeType ActivityModeType `json:"modeType"` // The relative ordering of activity modes. Order int32 `json:"order"` // 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. ParentHashes []uint32 `json:"parentHashes"` // If this activity mode has a related PGCR image, this will be the path to said image. PgcrImage string `json:"pgcrImage"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyActivityModeDefinition
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.
func (ActivityModeDefinition) DefinitionTable ¶
func (d ActivityModeDefinition) DefinitionTable() string
type ActivityModeType ¶
type ActivityModeType int32
Destiny.HistoricalStats.Definitions.DestinyActivityModeType
For historical reasons, this list will have both D1 and D2-relevant Activity Modes in it. Please don't take this to mean that some D1-only feature is coming back!
func (ActivityModeType) Enum ¶
func (e ActivityModeType) Enum() string
type ActivityModifierDefinition ¶
type ActivityModifierDefinition struct { DisplayInActivitySelection bool `json:"displayInActivitySelection"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.ActivityModifiers.DestinyActivityModifierDefinition
Modifiers - in Destiny 1, these were referred to as "Skulls" - are changes that can be applied to an Activity.
func (ActivityModifierDefinition) DefinitionTable ¶
func (d ActivityModifierDefinition) DefinitionTable() string
type ActivityModifierReferenceDefinition ¶
type ActivityModifierReferenceDefinition struct { // The hash identifier for the DestinyActivityModifierDefinition referenced by this activity. ActivityModifierHash Hash[ActivityModifierDefinition] `json:"activityModifierHash"` }
Destiny.Definitions.DestinyActivityModifierReferenceDefinition
A reference to an Activity Modifier from another entity, such as an Activity (for now, just Activities). This defines some
func (ActivityModifierReferenceDefinition) DefinitionTable ¶
func (d ActivityModifierReferenceDefinition) DefinitionTable() string
type ActivityNavPointType ¶
type ActivityNavPointType int32
Destiny.DestinyActivityNavPointType
func (ActivityNavPointType) Enum ¶
func (e ActivityNavPointType) Enum() string
type ActivityPlaylistItemDefinition ¶
type ActivityPlaylistItemDefinition struct { // The hash identifier of the Activity that can be played. Use it to look up the // DestinyActivityDefinition. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // The hash identifiers for Activity Modes relevant to this entry. ActivityModeHashes []uint32 `json:"activityModeHashes"` // The activity modes - if any - in enum form. Because we can't seem to escape the enums. ActivityModeTypes []ActivityModeType `json:"activityModeTypes"` // If this playlist entry had an activity mode directly defined on it, this will be the hash of that // mode. DirectActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"directActivityModeHash,omitempty"` // If the playlist entry had an activity mode directly defined on it, this will be the enum value of // that mode. DirectActivityModeType Nullable[int32] `json:"directActivityModeType,omitempty"` }
Destiny.Definitions.DestinyActivityPlaylistItemDefinition
If the activity is a playlist, this is the definition for a specific entry in the playlist: a single possible combination of Activity and Activity Mode that can be chosen.
func (ActivityPlaylistItemDefinition) DefinitionTable ¶
func (d ActivityPlaylistItemDefinition) DefinitionTable() string
type ActivityRewardDefinition ¶
type ActivityRewardDefinition struct { // The "Items provided" in the reward. This is almost always a pointer to a // DestinyInventoryItemDefintion for an item that you can't actually earn in-game, but that has // name/description/icon information for the vague concept of the rewards you will receive. This is // because the actual reward generation is non-deterministic and extremely complicated, so the best the // game can do is tell you what you'll get in vague terms. And so too shall we. // Interesting trivia: you actually *do* earn these items when you complete the activity. They go into // a single-slot bucket on your profile, which is how you see the pop-ups of these rewards when you // complete an activity that match these "dummy" items. You can even see them if you look at the last // one you earned in your profile-level inventory through the BNet API! Who said reading documentation // is a waste of time? RewardItems []ItemQuantity `json:"rewardItems"` // The header for the reward set, if any. RewardText string `json:"rewardText"` }
Destiny.Definitions.DestinyActivityRewardDefinition
Activities can refer to one or more sets of tooltip-friendly reward data. These are the definitions for those tooltip friendly rewards.
func (ActivityRewardDefinition) DefinitionTable ¶
func (d ActivityRewardDefinition) DefinitionTable() string
type ActivityTypeDefinition ¶
type ActivityTypeDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyActivityTypeDefinition
The definition for an Activity Type. In Destiny 2, an Activity Type represents a conceptual categorization of Activities. These are most commonly used in the game for the subtitle under Activities, but BNet uses them extensively to identify and group activities by their common properties. Unfortunately, there has been a movement away from providing the richer data in Destiny 2 that we used to get in Destiny 1 for Activity Types. For instance, Nightfalls are grouped under the same Activity Type as regular Strikes. For this reason, BNet will eventually migrate toward Activity Modes as a better indicator of activity category. But for the time being, it is still referred to in many places across our codebase.
func (ActivityTypeDefinition) DefinitionTable ¶
func (d ActivityTypeDefinition) DefinitionTable() string
type ActivityUnlockStringDefinition ¶
type ActivityUnlockStringDefinition struct { // The string to be displayed if the conditions are met. DisplayString string `json:"displayString"` }
Destiny.Definitions.DestinyActivityUnlockStringDefinition
Represents a status string that could be conditionally displayed about an activity. Note that externally, you can only see the strings themselves. Internally we combine this information with server state to determine which strings should be shown.
func (ActivityUnlockStringDefinition) DefinitionTable ¶
func (d ActivityUnlockStringDefinition) DefinitionTable() string
type AggregateActivityResults ¶
type AggregateActivityResults struct { // List of all activities the player has participated in. Activities []AggregateActivityStats `json:"activities"` }
Destiny.HistoricalStats.DestinyAggregateActivityResults
type AggregateActivityStats ¶
type AggregateActivityStats struct { // Hash ID that can be looked up in the DestinyActivityTable. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // Collection of stats for the player in this activity. Values map[string]HistoricalStatsValue `json:"values"` }
Destiny.HistoricalStats.DestinyAggregateActivityStats
type AmmunitionType ¶
type AmmunitionType int32
Destiny.DestinyAmmunitionType
func (AmmunitionType) Enum ¶
func (e AmmunitionType) Enum() string
type AnimationReference ¶
type AnimationReference struct { AnimIdentifier string `json:"animIdentifier"` AnimName string `json:"animName"` Path string `json:"path"` }
Destiny.Definitions.Animations.DestinyAnimationReference
func (AnimationReference) DefinitionTable ¶
func (d AnimationReference) DefinitionTable() string
type ApiUsage ¶
type ApiUsage struct { // Counts for on API calls made for the time range. ApiCalls []Series `json:"apiCalls"` // Instances of blocked requests or requests that crossed the warn threshold during the time range. ThrottledRequests []Series `json:"throttledRequests"` }
Applications.ApiUsage
type AppGetApplicationApiUsageRequest ¶
type AppGetApplicationApiUsageRequest struct { // ID of the application to get usage statistics. // Required. ApplicationID int32 // End time for query. Goes to now if not specified. End Timestamp // Start time for query. Goes to 24 hours ago if not specified. Start Timestamp }
AppGetApplicationApiUsageRequest are the request parameters for operation App.GetApplicationApiUsage
type AppGetBungieApplicationsRequest ¶
type AppGetBungieApplicationsRequest struct { }
AppGetBungieApplicationsRequest are the request parameters for operation App.GetBungieApplications
type Application ¶
type Application struct { // Unique ID assigned to the application ApplicationID int32 `json:"applicationId"` // Date the application was first added to our database. CreationDate Timestamp `json:"creationDate"` // Date the first time the application status entered the 'Public' status. FirstPublished Timestamp `json:"firstPublished"` // Link to website for the application where a user can learn more about the app. Link string `json:"link"` // Name of the application Name string `json:"name"` // Value of the Origin header sent in requests generated by this application. Origin string `json:"origin"` // An optional override for the Authorize view name. OverrideAuthorizeViewName string `json:"overrideAuthorizeViewName"` // URL used to pass the user's authorization code to the application RedirectUrl string `json:"redirectUrl"` // Permissions the application needs to work Scope Int64 `json:"scope"` // Current status of the application. Status ApplicationStatus `json:"status"` // Date the application status last changed. StatusChanged Timestamp `json:"statusChanged"` // List of team members who manage this application on Bungie.net. Will always consist of at least the // application owner. Team []ApplicationDeveloper `json:"team"` }
Applications.Application
type ApplicationDeveloper ¶
type ApplicationDeveloper struct { ApiEulaVersion int32 `json:"apiEulaVersion"` Role DeveloperRole `json:"role"` User UserInfoCard `json:"user"` }
Applications.ApplicationDeveloper
type ApplicationScopes ¶
type ApplicationScopes Int64
Applications.ApplicationScopes
func (ApplicationScopes) Enum ¶
func (e ApplicationScopes) Enum() string
type ApplicationStatus ¶
type ApplicationStatus int32
Applications.ApplicationStatus
func (ApplicationStatus) Enum ¶
func (e ApplicationStatus) Enum() string
type ArrangementRegionFilterDefinition ¶
type ArrangementRegionFilterDefinition struct { ArrangementIndexByStatValue map[int32]int32 `json:"arrangementIndexByStatValue"` ArtArrangementRegionHash uint32 `json:"artArrangementRegionHash"` ArtArrangementRegionIndex int32 `json:"artArrangementRegionIndex"` StatHash uint32 `json:"statHash"` }
Destiny.Definitions.DestinyArrangementRegionFilterDefinition
func (ArrangementRegionFilterDefinition) DefinitionTable ¶
func (d ArrangementRegionFilterDefinition) DefinitionTable() string
type ArtDyeReference ¶
type ArtDyeReference struct {
ArtDyeChannelHash uint32 `json:"artDyeChannelHash"`
}
Destiny.Definitions.DestinyArtDyeReference
func (ArtDyeReference) DefinitionTable ¶
func (d ArtDyeReference) DefinitionTable() string
type ArtifactCharacterScoped ¶
type ArtifactCharacterScoped struct { ArtifactHash Hash[ArtifactDefinition] `json:"artifactHash"` PointsUsed int32 `json:"pointsUsed"` ResetCount int32 `json:"resetCount"` Tiers []ArtifactTier `json:"tiers"` }
Destiny.Artifacts.DestinyArtifactCharacterScoped
type ArtifactDefinition ¶
type ArtifactDefinition struct { // Any basic display info we know about the Artifact. Currently sourced from a related inventory item, // but the source of this data is subject to change. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // Any Tier/Rank data related to this artifact, listed in display order. Currently sourced from a // Vendor, but this source is subject to change. Tiers []ArtifactTierDefinition `json:"tiers"` // Any Geometry/3D info we know about the Artifact. Currently sourced from a related inventory item's // gearset information, but the source of this data is subject to change. TranslationBlock ItemTranslationBlockDefinition `json:"translationBlock"` }
Destiny.Definitions.Artifacts.DestinyArtifactDefinition
Represents known info about a Destiny Artifact. We cannot guarantee that artifact definitions will be immutable between seasons - in fact, we've been told that they will be replaced between seasons. But this definition is built both to minimize the amount of lookups for related data that have to occur, and is built in hope that, if this plan changes, we will be able to accommodate it more easily.
func (ArtifactDefinition) DefinitionTable ¶
func (d ArtifactDefinition) DefinitionTable() string
type ArtifactProfileScoped ¶
type ArtifactProfileScoped struct { ArtifactHash Hash[ArtifactDefinition] `json:"artifactHash"` PointProgression Progression `json:"pointProgression"` PointsAcquired int32 `json:"pointsAcquired"` PowerBonus int32 `json:"powerBonus"` PowerBonusProgression Progression `json:"powerBonusProgression"` }
Destiny.Artifacts.DestinyArtifactProfileScoped
Represents a Seasonal Artifact and all data related to it for the requested Account. It can be combined with Character-scoped data for a full picture of what a character has available/has chosen, or just these settings can be used for overview information.
type ArtifactTier ¶
type ArtifactTier struct { IsUnlocked bool `json:"isUnlocked"` Items []ArtifactTierItem `json:"items"` PointsToUnlock int32 `json:"pointsToUnlock"` TierHash uint32 `json:"tierHash"` }
Destiny.Artifacts.DestinyArtifactTier
type ArtifactTierDefinition ¶
type ArtifactTierDefinition struct { // The human readable title of this tier, if any. DisplayTitle string `json:"displayTitle"` // The items that can be earned within this tier. Items []ArtifactTierItemDefinition `json:"items"` // The minimum number of "unlock points" that you must have used before you can unlock items from this // tier. MinimumUnlockPointsUsedRequirement int32 `json:"minimumUnlockPointsUsedRequirement"` // A string representing the localized minimum requirement text for this Tier, if any. ProgressRequirementMessage string `json:"progressRequirementMessage"` // An identifier, unique within the Artifact, for this specific tier. TierHash uint32 `json:"tierHash"` }
Destiny.Definitions.Artifacts.DestinyArtifactTierDefinition
func (ArtifactTierDefinition) DefinitionTable ¶
func (d ArtifactTierDefinition) DefinitionTable() string
type ArtifactTierItem ¶
type ArtifactTierItem struct { IsActive bool `json:"isActive"` ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` }
Destiny.Artifacts.DestinyArtifactTierItem
type ArtifactTierItemDefinition ¶
type ArtifactTierItemDefinition struct { // The identifier of the Plug Item unlocked by activating this item in the Artifact. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` }
Destiny.Definitions.Artifacts.DestinyArtifactTierItemDefinition
func (ArtifactTierItemDefinition) DefinitionTable ¶
func (d ArtifactTierItemDefinition) DefinitionTable() string
type AwaAuthorizationResult ¶
type AwaAuthorizationResult struct { // Credential used to prove the user authorized an advanced write action. ActionToken string `json:"actionToken"` // Message to the app developer to help understand the response. DeveloperNote string `json:"developerNote"` // This token may be used to perform the requested action this number of times, at a maximum. If this // value is 0, then there is no limit. MaximumNumberOfUses int32 `json:"maximumNumberOfUses"` // MembershipType from the permission request. MembershipType BungieMembershipType `json:"membershipType"` ResponseReason AwaResponseReason `json:"responseReason"` // Advanced Write Action Type from the permission request. Type AwaType `json:"type"` // Indication of how the user responded to the request. If the value is "Approved" the actionToken will // contain the token that can be presented when performing the advanced write action. UserSelection AwaUserSelection `json:"userSelection"` // Time, UTC, when token expires. ValidUntil Nullable[Timestamp] `json:"validUntil,omitempty"` }
Destiny.Advanced.AwaAuthorizationResult
type AwaInitializeResponse ¶
type AwaInitializeResponse struct { // ID used to get the token. Present this ID to the user as it will identify this specific request on // their device. CorrelationID string `json:"correlationId"` // True if the PUSH message will only be sent to the device that made this request. SentToSelf bool `json:"sentToSelf"` }
Destiny.Advanced.AwaInitializeResponse
type AwaPermissionRequested ¶
type AwaPermissionRequested struct { // Item instance ID the action shall be applied to. This is optional for all but a new AwaType values. // Rule of thumb is to provide the item instance ID if one is available. AffectedItemID Nullable[Int64] `json:"affectedItemId,omitempty"` // Destiny character ID, if applicable, that will be affected by the action. CharacterID Nullable[Int64] `json:"characterId,omitempty"` // Destiny membership type of the account to modify. MembershipType BungieMembershipType `json:"membershipType"` // Type of advanced write action. Type AwaType `json:"type"` }
Destiny.Advanced.AwaPermissionRequested
type AwaResponseReason ¶
type AwaResponseReason int32
Destiny.Advanced.AwaResponseReason
func (AwaResponseReason) Enum ¶
func (e AwaResponseReason) Enum() string
type AwaUserResponse ¶
type AwaUserResponse struct { // Correlation ID of the request CorrelationID string `json:"correlationId"` // Secret nonce received via the PUSH notification. Nonce []int `json:"nonce"` // Indication of the selection the user has made (Approving or rejecting the action) Selection AwaUserSelection `json:"selection"` }
Destiny.Advanced.AwaUserResponse
type AwaUserSelection ¶
type AwaUserSelection int32
Destiny.Advanced.AwaUserSelection
func (AwaUserSelection) Enum ¶
func (e AwaUserSelection) Enum() string
type BaseItemComponentSet ¶
type BaseItemComponentSet[T comparable] struct { Objectives ComponentResponse[map[T]ItemObjectivesComponent] `json:"objectives"` }
type BitmaskSet ¶
type BitmaskSet[T ~uint32 | ~uint64 | ~int32 | OptInFlags] uint64
func (BitmaskSet[T]) Add ¶
func (b BitmaskSet[T]) Add(value T) BitmaskSet[T]
func (BitmaskSet[T]) Clear ¶
func (b BitmaskSet[T]) Clear(value T) BitmaskSet[T]
func (BitmaskSet[T]) Has ¶
func (b BitmaskSet[T]) Has(value T) bool
func (BitmaskSet[T]) HasAll ¶
func (b BitmaskSet[T]) HasAll(vals ...T) bool
func (BitmaskSet[T]) Remove ¶
func (b BitmaskSet[T]) Remove(value T) BitmaskSet[T]
type BreakerType ¶
type BreakerType int32
Destiny.DestinyBreakerType
A plug can optionally have a "Breaker Type": a special ability that can affect units in unique ways. Activating this plug can grant one of these types.
func (BreakerType) Enum ¶
func (e BreakerType) Enum() string
type BreakerTypeDefinition ¶
type BreakerTypeDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // We have an enumeration for Breaker types for quick reference. This is the current definition's // breaker type enum value. EnumValue BreakerType `json:"enumValue"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.BreakerTypes.DestinyBreakerTypeDefinition
func (BreakerTypeDefinition) DefinitionTable ¶
func (d BreakerTypeDefinition) DefinitionTable() string
type BubbleDefinition ¶
type BubbleDefinition struct { // The display properties of this bubble, so you don't have to look them up in a separate list anymore. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The identifier for the bubble: only guaranteed to be unique within the Destination. Hash uint32 `json:"hash"` }
Destiny.Definitions.DestinyBubbleDefinition
Basic identifying data about the bubble. Combine with DestinyDestinationBubbleSettingDefinition - see DestinyDestinationDefinition.bubbleSettings for more information.
func (BubbleDefinition) DefinitionTable ¶
func (d BubbleDefinition) DefinitionTable() string
type BucketCategory ¶
type BucketCategory int32
Destiny.BucketCategory
func (BucketCategory) Enum ¶
func (e BucketCategory) Enum() string
type BucketScope ¶
type BucketScope int32
Destiny.BucketScope
func (BucketScope) Enum ¶
func (e BucketScope) Enum() string
type BungieCredentialType ¶
type BungieCredentialType int
BungieCredentialType
The types of credentials the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.CredentialType.
func (BungieCredentialType) Enum ¶
func (e BungieCredentialType) Enum() string
type BungieError ¶
type BungieError struct { Code PlatformErrorCodes Status string ThrottleSeconds int32 }
func (BungieError) Error ¶
func (err BungieError) Error() string
func (BungieError) Unwrap ¶
func (err BungieError) Unwrap() error
type BungieFriend ¶
type BungieFriend struct { BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` BungieNetUser GeneralUser `json:"bungieNetUser"` LastSeenAsBungieMembershipType BungieMembershipType `json:"lastSeenAsBungieMembershipType"` LastSeenAsMembershipID Int64 `json:"lastSeenAsMembershipId"` OnlineStatus PresenceStatus `json:"onlineStatus"` OnlineTitle BitmaskSet[PresenceOnlineStateFlags] `json:"onlineTitle"` Relationship FriendRelationshipState `json:"relationship"` }
Social.Friends.BungieFriend
type BungieFriendListResponse ¶
type BungieFriendListResponse struct {
Friends []BungieFriend `json:"friends"`
}
Social.Friends.BungieFriendListResponse
type BungieFriendRequestListResponse ¶
type BungieFriendRequestListResponse struct { IncomingRequests []BungieFriend `json:"incomingRequests"` OutgoingRequests []BungieFriend `json:"outgoingRequests"` }
Social.Friends.BungieFriendRequestListResponse
type BungieMembershipType ¶
type BungieMembershipType int32
BungieMembershipType
The types of membership the Accounts system supports. This is the external facing enum used in place of the internal-only Bungie.SharedDefinitions.MembershipType.
func (BungieMembershipType) Enum ¶
func (e BungieMembershipType) Enum() string
type BungieRewardDisplay ¶
type BungieRewardDisplay struct { ObjectiveDisplayProperties RewardDisplayProperties `json:"ObjectiveDisplayProperties"` RewardDisplayProperties RewardDisplayProperties `json:"RewardDisplayProperties"` UserRewardAvailabilityModel UserRewardAvailabilityModel `json:"UserRewardAvailabilityModel"` }
Tokens.BungieRewardDisplay
type Capabilities ¶
type Capabilities int32
GroupsV2.Capabilities
func (Capabilities) Enum ¶
func (e Capabilities) Enum() string
type ChallengeStatus ¶
type ChallengeStatus struct { // The progress - including completion status - of the active challenge. Objective ObjectiveProgress `json:"objective"` }
Destiny.Challenges.DestinyChallengeStatus
Represents the status and other related information for a challenge that is - or was - available to a player. A challenge is a bonus objective, generally tacked onto Quests or Activities, that provide additional variations on play.
type CharacterActionRequest ¶
type CharacterActionRequest struct { CharacterID Int64 `json:"characterId"` MembershipType BungieMembershipType `json:"membershipType"` }
Destiny.Requests.Actions.DestinyCharacterActionRequest
type CharacterActivitiesComponent ¶
type CharacterActivitiesComponent struct { // The list of activities that the user can play. AvailableActivities []Activity `json:"availableActivities"` // If the user is in an activity, this will be the hash of the Activity being played. Note that you // must combine this info with currentActivityModeHash to get a real picture of what the user is doing // right now. For instance, PVP "Activities" are just maps: it's the ActivityMode that determines what // type of PVP game they're playing. CurrentActivityHash Hash[ActivityDefinition] `json:"currentActivityHash"` // If the user is in an activity, this will be the hash of the activity mode being played. Combine with // currentActivityHash to give a person a full picture of what they're doing right now. CurrentActivityModeHash Hash[ActivityModeDefinition] `json:"currentActivityModeHash"` // If the user is in an activity, this will be the hashes of the DestinyActivityModeDefinition being // played. Combine with currentActivityHash to give a person a full picture of what they're doing right // now. CurrentActivityModeHashes []uint32 `json:"currentActivityModeHashes"` // And the current activity's most specific mode type, if it can be found. CurrentActivityModeType Nullable[int32] `json:"currentActivityModeType,omitempty"` // All Activity Modes that apply to the current activity being played, in enum form. CurrentActivityModeTypes []ActivityModeType `json:"currentActivityModeTypes"` // If the user is in a playlist, this is the hash identifier for the playlist that they chose. CurrentPlaylistActivityHash Nullable[Hash[ActivityDefinition]] `json:"currentPlaylistActivityHash,omitempty"` // The last date that the user started playing an activity. DateActivityStarted Timestamp `json:"dateActivityStarted"` // This will have the activity hash of the last completed story/campaign mission, in case you care // about that. LastCompletedStoryHash Hash[ActivityDefinition] `json:"lastCompletedStoryHash"` }
Destiny.Entities.Characters.DestinyCharacterActivitiesComponent
This component holds activity data for a character. It will tell you about the character's current activity status, as well as activities that are available to the user.
type CharacterComponent ¶
type CharacterComponent struct { // The "base" level of your character, not accounting for any light level. BaseCharacterLevel int32 `json:"baseCharacterLevel"` // The unique identifier for the character. CharacterID Int64 `json:"characterId"` // Use this hash to look up the character's DestinyClassDefinition. ClassHash Hash[ClassDefinition] `json:"classHash"` // Mostly for historical purposes at this point, this is an enumeration for the character's class. // It'll be preferable in the general case to look up the related definition: but for some people this // was too convenient to remove. ClassType Class `json:"classType"` // The last date that the user played Destiny. DateLastPlayed Timestamp `json:"dateLastPlayed"` // A shortcut path to the user's currently equipped emblem background image. If you're just showing // summary info for a user, this is more convenient than examining their equipped emblem and looking up // the definition. EmblemBackgroundPath string `json:"emblemBackgroundPath"` // A shortcut for getting the background color of the user's currently equipped emblem without having // to do a DestinyInventoryItemDefinition lookup. EmblemColor Color `json:"emblemColor"` // The hash of the currently equipped emblem for the user. Can be used to look up the // DestinyInventoryItemDefinition. EmblemHash Hash[InventoryItemDefinition] `json:"emblemHash"` // A shortcut path to the user's currently equipped emblem image. If you're just showing summary info // for a user, this is more convenient than examining their equipped emblem and looking up the // definition. EmblemPath string `json:"emblemPath"` // Use this hash to look up the character's DestinyGenderDefinition. GenderHash Hash[GenderDefinition] `json:"genderHash"` // Mostly for historical purposes at this point, this is an enumeration for the character's Gender. // It'll be preferable in the general case to look up the related definition: but for some people this // was too convenient to remove. And yeah, it's an enumeration and not a boolean. Fight me. GenderType Gender `json:"genderType"` // The progression that indicates your character's level. Not their light level, but their character // level: you know, the thing you max out a couple hours in and then ignore for the sake of light // level. LevelProgression Progression `json:"levelProgression"` // The user's calculated "Light Level". Light level is an indicator of your power that mostly matters // in the end game, once you've reached the maximum character level: it's a level that's dependent on // the average Attack/Defense power of your items. Light int32 `json:"light"` // Every Destiny Profile has a membershipId. This is provided on the character as well for convenience. MembershipID Int64 `json:"membershipId"` // membershipType tells you the platform on which the character plays. Examine the BungieMembershipType // enumeration for possible values. MembershipType BungieMembershipType `json:"membershipType"` // If the user is currently playing, this is how long they've been playing. MinutesPlayedThisSession Int64 `json:"minutesPlayedThisSession"` // If this value is 525,600, then they played Destiny for a year. Or they're a very dedicated Rent fan. // Note that this includes idle time, not just time spent actually in activities shooting things. MinutesPlayedTotal Int64 `json:"minutesPlayedTotal"` // A number between 0 and 100, indicating the whole and fractional % remaining to get to the next // character level. PercentToNextLevel float64 `json:"percentToNextLevel"` // Use this hash to look up the character's DestinyRaceDefinition. RaceHash Hash[RaceDefinition] `json:"raceHash"` // Mostly for historical purposes at this point, this is an enumeration for the character's race. // It'll be preferable in the general case to look up the related definition: but for some people this // was too convenient to remove. RaceType Race `json:"raceType"` // Your character's stats, such as Agility, Resilience, etc... *not* historical stats. // You'll have to call a different endpoint for those. Stats map[uint32]int32 `json:"stats"` // If this Character has a title assigned to it, this is the identifier of the DestinyRecordDefinition // that has that title information. TitleRecordHash Nullable[Hash[RecordDefinition]] `json:"titleRecordHash,omitempty"` }
Destiny.Entities.Characters.DestinyCharacterComponent
This component contains base properties of the character. You'll probably want to always request this component, but hey you do you.
type CharacterCustomization ¶
type CharacterCustomization struct { DecalColor uint32 `json:"decalColor"` DecalIndex int32 `json:"decalIndex"` EyeColor uint32 `json:"eyeColor"` Face uint32 `json:"face"` FeatureColors []uint32 `json:"featureColors"` FeatureIndex int32 `json:"featureIndex"` HairColors []uint32 `json:"hairColors"` HairIndex int32 `json:"hairIndex"` LipColor uint32 `json:"lipColor"` Personality uint32 `json:"personality"` SkinColor uint32 `json:"skinColor"` WearHelmet bool `json:"wearHelmet"` }
Destiny.Character.DestinyCharacterCustomization
Raw data about the customization options chosen for a character's face and appearance. You can look up the relevant class/race/gender combo in DestinyCharacterCustomizationOptionDefinition for the character, and then look up these values within the CustomizationOptions found to pull some data about their choices. Warning: not all of that data is meaningful. Some data has useful icons. Others have nothing, and are only meant for 3D rendering purposes (which we sadly do not expose yet)
type CharacterPeerView ¶
type CharacterPeerView struct {
Equipment []ItemPeerView `json:"equipment"`
}
Destiny.Character.DestinyCharacterPeerView
A minimal view of a character's equipped items, for the purpose of rendering a summary screen or showing the character in 3D.
type CharacterProgressionComponent ¶
type CharacterProgressionComponent struct { // The set of checklists that can be examined for this specific character, keyed by the hash identifier // of the Checklist (DestinyChecklistDefinition) // For each checklist returned, its value is itself a Dictionary keyed by the checklist's hash // identifier with the value being a boolean indicating if it's been discovered yet. Checklists map[Hash[ChecklistDefinition]]map[uint32]bool `json:"checklists"` // A dictionary of all known Factions, keyed by the Faction's hash. It contains data about this // character's status with the faction. Factions map[Hash[FactionDefinition]]FactionProgression `json:"factions"` // Milestones are related to the simple progressions shown in the game, but return additional and // hopefully helpful information for users about the specifics of the Milestone's status. Milestones map[Hash[MilestoneDefinition]]Milestone `json:"milestones"` // A Dictionary of all known progressions for the Character, keyed by the Progression's hash. // Not all progressions have user-facing data, but those who do will have that data contained in the // DestinyProgressionDefinition. Progressions map[Hash[ProgressionDefinition]]Progression `json:"progressions"` // If the user has any active quests, the quests' statuses will be returned here. // // Note that quests have been largely supplanted by Milestones, but that doesn't mean that they won't // // make a comeback independent of milestones at some point. // // (Fun fact: quests came back as I feared they would, but we never looped back to populate this... // // I'm going to put that in the backlog.) Quests []QuestStatus `json:"quests"` // Data related to your progress on the current season's artifact that can vary per character. SeasonalArtifact ArtifactCharacterScoped `json:"seasonalArtifact"` // Sometimes, you have items in your inventory that don't have instances, but still have Objective // information. This provides you that objective information for uninstanced items. // This dictionary is keyed by the item's hash: which you can use to look up the name and description // for the overall task(s) implied by the objective. The value is the list of objectives for this item, // and their statuses. UninstancedItemObjectives map[Hash[InventoryItemDefinition]][]ObjectiveProgress `json:"uninstancedItemObjectives"` // Sometimes, you have items in your inventory that don't have instances, but still have perks (for // example: Trials passage cards). This gives you the perk information for uninstanced items. // This dictionary is keyed by item hash, which you can use to look up the corresponding item // definition. The value is the list of perks states for the item. UninstancedItemPerks map[Hash[InventoryItemDefinition]]ItemPerksComponent `json:"uninstancedItemPerks"` }
Destiny.Entities.Characters.DestinyCharacterProgressionComponent
This component returns anything that could be considered "Progression" on a user: data where the user is gaining levels, reputation, completions, rewards, etc...
type CharacterRecordsComponent ¶
type CharacterRecordsComponent struct { FeaturedRecordHashes []uint32 `json:"featuredRecordHashes"` // The hash for the root presentation node definition of Triumph categories. RecordCategoriesRootNodeHash Hash[PresentationNodeDefinition] `json:"recordCategoriesRootNodeHash"` // The hash for the root presentation node definition of Triumph Seals. RecordSealsRootNodeHash Hash[PresentationNodeDefinition] `json:"recordSealsRootNodeHash"` Records map[uint32]RecordComponent `json:"records"` }
Destiny.Components.Records.DestinyCharacterRecordsComponent
type CharacterRenderComponent ¶
type CharacterRenderComponent struct { // Custom dyes, calculated by iterating over the character's equipped items. Useful for pre-fetching // all of the dye data needed from our server. CustomDyes []DyeReference `json:"customDyes"` // This is actually something that Spasm.js *doesn't* do right now, and that we don't return assets for // yet. This is the data about what character customization options you picked. You can combine this // with DestinyCharacterCustomizationOptionDefinition to show some cool info, and hopefully someday to // actually render a user's face in 3D. We'll see if we ever end up with time for that. Customization CharacterCustomization `json:"customization"` // A minimal view of: // - Equipped items // - The rendering-related custom options on those equipped items // Combined, that should be enough to render all of the items on the equipped character. PeerView CharacterPeerView `json:"peerView"` }
Destiny.Entities.Characters.DestinyCharacterRenderComponent
Only really useful if you're attempting to render the character's current appearance in 3D, this returns a bare minimum of information, pre-aggregated, that you'll need to perform that rendering. Note that you need to combine this with other 3D assets and data from our servers. Examine the Javascript returned by https://bungie.net/sharedbundle/spasm to see how we use this data, but be warned: the rabbit hole goes pretty deep.
type CharacterResponse ¶
type CharacterResponse struct { // Activity data - info about current activities available to the player. // COMPONENT TYPE: CharacterActivities Activities ComponentResponse[CharacterActivitiesComponent] `json:"activities"` // Base information about the character in question. // COMPONENT TYPE: Characters Character ComponentResponse[CharacterComponent] `json:"character"` // COMPONENT TYPE: Collectibles Collectibles ComponentResponse[CollectiblesComponent] `json:"collectibles"` // A "lookup" convenience component that can be used to quickly check if the character has access to // items that can be used for purchasing. // COMPONENT TYPE: CurrencyLookups CurrencyLookups ComponentResponse[CurrenciesComponent] `json:"currencyLookups"` // Equipped items on the character. // COMPONENT TYPE: CharacterEquipment Equipment ComponentResponse[InventoryComponent] `json:"equipment"` // The character-level non-equipped inventory items. // COMPONENT TYPE: CharacterInventories Inventory ComponentResponse[InventoryComponent] `json:"inventory"` // The set of components belonging to the player's instanced items. // COMPONENT TYPE: [See inside the DestinyItemComponentSet contract for component types.] ItemComponents ItemComponentSet[int64] `json:"itemComponents"` // Items available from Kiosks that are available to this specific character. // COMPONENT TYPE: Kiosks Kiosks ComponentResponse[KiosksComponent] `json:"kiosks"` // The loadouts available to the character. // COMPONENT TYPE: CharacterLoadouts Loadouts ComponentResponse[LoadoutsComponent] `json:"loadouts"` // When sockets refer to reusable Plug Sets (see DestinyPlugSetDefinition for more info), this is the // set of plugs and their states that are scoped to this character. // This comes back with ItemSockets, as it is needed for a complete picture of the sockets on requested // items. // COMPONENT TYPE: ItemSockets PlugSets ComponentResponse[PlugSetsComponent] `json:"plugSets"` // COMPONENT TYPE: PresentationNodes PresentationNodes ComponentResponse[PresentationNodesComponent] `json:"presentationNodes"` // Character progression data, including Milestones. // COMPONENT TYPE: CharacterProgressions Progressions ComponentResponse[CharacterProgressionComponent] `json:"progressions"` // COMPONENT TYPE: Records Records ComponentResponse[CharacterRecordsComponent] `json:"records"` // Character rendering data - a minimal set of information about equipment and dyes used for rendering. // COMPONENT TYPE: CharacterRenderData RenderData ComponentResponse[CharacterRenderComponent] `json:"renderData"` // The set of components belonging to the player's UNinstanced items. Because apparently now those too // can have information relevant to the character's state. // COMPONENT TYPE: [See inside the DestinyItemComponentSet contract for component types.] UninstancedItemComponents BaseItemComponentSet[uint32] `json:"uninstancedItemComponents"` }
Destiny.Responses.DestinyCharacterResponse
The response contract for GetDestinyCharacter, with components that can be returned for character and item-level data.
type ChatSecuritySetting ¶
type ChatSecuritySetting int32
GroupsV2.ChatSecuritySetting
func (ChatSecuritySetting) Enum ¶
func (e ChatSecuritySetting) Enum() string
type ChecklistDefinition ¶
type ChecklistDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The individual checklist items. Gotta catch 'em all. Entries []ChecklistEntryDefinition `json:"entries"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // Indicates whether you will find this checklist on the Profile or Character components. Scope Scope `json:"scope"` // A localized string prompting you to view the checklist. ViewActionString string `json:"viewActionString"` }
Destiny.Definitions.Checklists.DestinyChecklistDefinition
By public demand, Checklists are loose sets of "things to do/things you have done" in Destiny that we were actually able to track. They include easter eggs you find in the world, unique chests you unlock, and other such data where the first time you do it is significant enough to be tracked, and you have the potential to "get them all". These may be account-wide, or may be per character. The status of these will be returned in related "Checklist" data coming down from API requests such as GetProfile or GetCharacter. Generally speaking, the items in a checklist can be completed in any order: we return an ordered list which only implies the way we are showing them in our own UI, and you can feel free to alter it as you wish. Note that, in the future, there will be something resembling the old D1 Record Books in at least some vague form. When that is created, it may be that it will supercede much or all of this Checklist data. It remains to be seen if that will be the case, so for now assume that the Checklists will still exist even after the release of D2: Forsaken.
func (ChecklistDefinition) DefinitionTable ¶
func (d ChecklistDefinition) DefinitionTable() string
type ChecklistEntryDefinition ¶
type ChecklistEntryDefinition struct { ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // Note that a Bubble's hash doesn't uniquely identify a "top level" entity in Destiny. Only the // combination of location and bubble can uniquely identify a place in the world of Destiny: so if // bubbleHash is populated, locationHash must too be populated for it to have any meaning. // You can use this property if it is populated to look up the DestinyLocationDefinition's associated // .locationReleases[].activityBubbleName property. BubbleHash Nullable[uint32] `json:"bubbleHash,omitempty"` DestinationHash Nullable[Hash[DestinationDefinition]] `json:"destinationHash,omitempty"` // Even if no other associations exist, we will give you *something* for display properties. In cases // where we have no associated entities, it may be as simple as a numerical identifier. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The identifier for this Checklist entry. Guaranteed unique only within this Checklist Definition, // and not globally/for all checklists. Hash uint32 `json:"hash"` ItemHash Nullable[Hash[InventoryItemDefinition]] `json:"itemHash,omitempty"` LocationHash Nullable[Hash[LocationDefinition]] `json:"locationHash,omitempty"` // The scope at which this specific entry can be computed. Scope Scope `json:"scope"` VendorHash Nullable[Hash[VendorDefinition]] `json:"vendorHash,omitempty"` VendorInteractionIndex Nullable[int32] `json:"vendorInteractionIndex,omitempty"` }
Destiny.Definitions.Checklists.DestinyChecklistEntryDefinition
The properties of an individual checklist item. Note that almost everything is optional: it is *highly* variable what kind of data we'll actually be able to return: at times we may have no other relationships to entities at all. Whatever UI you build, do it with the knowledge that any given entry might not actually be able to be associated with some other Destiny entity.
func (ChecklistEntryDefinition) DefinitionTable ¶
func (d ChecklistEntryDefinition) DefinitionTable() string
type ClanAggregateStat ¶
type ClanAggregateStat struct { // The id of the mode of stats (allPvp, allPvE, etc) Mode ActivityModeType `json:"mode"` // The id of the stat StatID string `json:"statId"` // Value of the stat for this player Value HistoricalStatsValue `json:"value"` }
Destiny.HistoricalStats.DestinyClanAggregateStat
type ClanBanner ¶
type ClanBanner struct { DecalBackgroundColorID uint32 `json:"decalBackgroundColorId"` DecalColorID uint32 `json:"decalColorId"` DecalID uint32 `json:"decalId"` GonfalonColorID uint32 `json:"gonfalonColorId"` GonfalonDetailColorID uint32 `json:"gonfalonDetailColorId"` GonfalonDetailID uint32 `json:"gonfalonDetailId"` GonfalonID uint32 `json:"gonfalonId"` }
GroupsV2.ClanBanner
type ClanBannerDecal ¶
type ClanBannerDecal struct { BackgroundPath string `json:"backgroundPath"` ForegroundPath string `json:"foregroundPath"` Identifier string `json:"identifier"` }
Config.ClanBanner.ClanBannerDecal
type ClassDefinition ¶
type ClassDefinition struct { // In Destiny 1, we added a convenience Enumeration for referring to classes. We've kept it, though // mostly for posterity. This is the enum value for this definition's class. ClassType Class `json:"classType"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // A localized string referring to the singular form of the Class's name when referred to in gendered // form. Keyed by the DestinyGender. GenderedClassNames map[string]string `json:"genderedClassNames"` GenderedClassNamesByGenderHash map[Hash[GenderDefinition]]string `json:"genderedClassNamesByGenderHash"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Mentors don't really mean anything anymore. Don't expect this to be populated. MentorVendorHash Nullable[Hash[VendorDefinition]] `json:"mentorVendorHash,omitempty"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyClassDefinition
Defines a Character Class in Destiny 2. These are types of characters you can play, like Titan, Warlock, and Hunter.
func (ClassDefinition) DefinitionTable ¶
func (d ClassDefinition) DefinitionTable() string
type ClientRequest ¶
type CollectibleAcquisitionBlock ¶
type CollectibleAcquisitionBlock struct { AcquireMaterialRequirementHash Nullable[Hash[MaterialRequirementSetDefinition]] `json:"acquireMaterialRequirementHash,omitempty"` AcquireTimestampUnlockValueHash Nullable[Hash[UnlockValueDefinition]] `json:"acquireTimestampUnlockValueHash,omitempty"` }
Destiny.Definitions.Collectibles.DestinyCollectibleAcquisitionBlock
func (CollectibleAcquisitionBlock) DefinitionTable ¶
func (d CollectibleAcquisitionBlock) DefinitionTable() string
type CollectibleComponent ¶
type CollectibleComponent struct {
State BitmaskSet[CollectibleState] `json:"state"`
}
Destiny.Components.Collectibles.DestinyCollectibleComponent
type CollectibleDefinition ¶
type CollectibleDefinition struct { AcquisitionInfo CollectibleAcquisitionBlock `json:"acquisitionInfo"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationInfo PresentationChildBlock `json:"presentationInfo"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // Indicates whether the state of this Collectible is determined on a per-character or on an // account-wide basis. Scope Scope `json:"scope"` // This is a hash identifier we are building on the BNet side in an attempt to let people group // collectibles by similar sources. // I can't promise that it's going to be 100% accurate, but if the designers were consistent in // assigning the same source strings to items with the same sources, it *ought to* be. No promises // though. // This hash also doesn't relate to an actual definition, just to note: we've got nothing useful other // than the source string for this data. SourceHash Nullable[uint32] `json:"sourceHash,omitempty"` // A human readable string for a hint about how to acquire the item. SourceString string `json:"sourceString"` StateInfo CollectibleStateBlock `json:"stateInfo"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Collectibles.DestinyCollectibleDefinition
Defines a
func (CollectibleDefinition) DefinitionTable ¶
func (d CollectibleDefinition) DefinitionTable() string
type CollectibleDefinitions ¶
type CollectibleDefinitions struct { CollectibleDefinition CollectibleDefinition `json:"CollectibleDefinition"` DestinyInventoryItemDefinition InventoryItemDefinition `json:"DestinyInventoryItemDefinition"` }
Tokens.CollectibleDefinitions
type CollectibleNodeDetailResponse ¶
type CollectibleNodeDetailResponse struct { // Item components, keyed by the item hash of the items pointed at collectibles found under the // requested Presentation Node. // NOTE: I had a lot of hemming and hawing about whether these should be keyed by collectible hash or // item hash... but ultimately having it be keyed by item hash meant that UI that already uses // DestinyItemComponentSet data wouldn't have to have a special override to do the collectible -> item // lookup once you delve into an item's details, and it also meant that you didn't have to remember // that the Hash being used as the key for plugSets was different from the Hash being used for the // other Dictionaries. As a result, using the Item Hash felt like the least crappy solution. // We may all come to regret this decision. We will see. // COMPONENT TYPE: [See inside the DestinyItemComponentSet contract for component types.] CollectibleItemComponents ItemComponentSet[uint32] `json:"collectibleItemComponents"` // COMPONENT TYPE: Collectibles Collectibles ComponentResponse[CollectiblesComponent] `json:"collectibles"` }
Destiny.Responses.DestinyCollectibleNodeDetailResponse
Returns the detailed information about a Collectible Presentation Node and any Collectibles that are direct descendants.
type CollectibleState ¶
type CollectibleState int32
Destiny.DestinyCollectibleState
A Flags Enumeration/bitmask where each bit represents a different state that the Collectible can be in. A collectible can be in any number of these states, and you can choose to use or ignore any or all of them when making your own UI that shows Collectible info. Our displays are going to honor them, but we're also the kind of people who only pretend to inhale before quickly passing it to the left. So, you know, do what you got to do. (All joking aside, please note the caveat I mention around the Invisible flag: there are cases where it is in the best interest of your users to honor these flags even if you're a "show all the data" person. Collector-oriented compulsion is a very unfortunate and real thing, and I would hate to instill that compulsion in others through showing them items that they cannot earn. Please consider this when you are making your own apps/sites.)
func (CollectibleState) Enum ¶
func (e CollectibleState) Enum() string
type CollectibleStateBlock ¶
type CollectibleStateBlock struct { ObscuredOverrideItemHash Nullable[Hash[InventoryItemDefinition]] `json:"obscuredOverrideItemHash,omitempty"` Requirements PresentationNodeRequirementsBlock `json:"requirements"` }
Destiny.Definitions.Collectibles.DestinyCollectibleStateBlock
func (CollectibleStateBlock) DefinitionTable ¶
func (d CollectibleStateBlock) DefinitionTable() string
type CollectiblesComponent ¶
type CollectiblesComponent struct { Collectibles map[Hash[CollectibleDefinition]]CollectibleComponent `json:"collectibles"` // The hash for the root presentation node definition of Collection Badges. CollectionBadgesRootNodeHash Hash[PresentationNodeDefinition] `json:"collectionBadgesRootNodeHash"` // The hash for the root presentation node definition of Collection categories. CollectionCategoriesRootNodeHash Hash[PresentationNodeDefinition] `json:"collectionCategoriesRootNodeHash"` }
Destiny.Components.Collectibles.DestinyCollectiblesComponent
type Color ¶
type Color struct { Alpha int `json:"alpha"` Blue int `json:"blue"` Green int `json:"green"` Red int `json:"red"` }
Destiny.Misc.DestinyColor
Represents a color whose RGBA values are all represented as values between 0 and 255.
type CommentSummary ¶
type CommentSummary struct { CommentCount int32 `json:"commentCount"` TopicID Int64 `json:"topicId"` }
Content.CommentSummary
type CommunityContentGetCommunityContentRequest ¶
type CommunityContentGetCommunityContentRequest struct { // The type of media to get // Required. MediaFilter BitmaskSet[ForumTopicsCategoryFilters] // Zero based page // Required. Page int32 // The sort mode. // Required. Sort CommunityContentSortMode }
CommunityContentGetCommunityContentRequest are the request parameters for operation CommunityContent.GetCommunityContent
type CommunityContentSortMode ¶
type CommunityContentSortMode int
Forum.CommunityContentSortMode
func (CommunityContentSortMode) Enum ¶
func (e CommunityContentSortMode) Enum() string
type ComponentPrivacySetting ¶
type ComponentPrivacySetting int32
Components.ComponentPrivacySetting
A set of flags for reason(s) why the component populated in the way that it did. Inspect the individual flags for the reasons.
func (ComponentPrivacySetting) Enum ¶
func (e ComponentPrivacySetting) Enum() string
type ComponentResponse ¶
type ComponentResponse[T any] struct { Data T `json:"data"` // If true, this component is disabled. Disabled Nullable[bool] `json:"disabled,omitempty"` Privacy ComponentPrivacySetting `json:"privacy"` }
Components.ComponentResponse
The base class for any component-returning object that may need to indicate information about the state of the component being returned.
type ComponentType ¶
type ComponentType int32
Destiny.DestinyComponentType
Represents the possible components that can be returned from Destiny "Get" calls such as GetProfile, GetCharacter, GetVendor etc... When making one of these requests, you will pass one or more of these components as a comma separated list in the "?components=" querystring parameter. For instance, if you want baseline Profile data, Character Data, and character progressions, you would pass "?components=Profiles,Characters,CharacterProgressions" You may use either the numerical or string values.
func (ComponentType) Enum ¶
func (e ComponentType) Enum() string
type ContentGetContentByIdRequest ¶
type ContentGetContentByIdRequest struct { // false Head bool // Required. Id Int64 // Required. Locale string }
ContentGetContentByIdRequest are the request parameters for operation Content.GetContentById
type ContentGetContentByTagAndTypeRequest ¶
type ContentGetContentByTagAndTypeRequest struct { // Not used. Head bool // Required. Locale string // Required. Tag string // Required. Type string }
ContentGetContentByTagAndTypeRequest are the request parameters for operation Content.GetContentByTagAndType
type ContentGetContentTypeRequest ¶
type ContentGetContentTypeRequest struct { // Required. Type string }
ContentGetContentTypeRequest are the request parameters for operation Content.GetContentType
type ContentItemPublicContract ¶
type ContentItemPublicContract struct { AllowComments bool `json:"allowComments"` Author GeneralUser `json:"author"` AutoEnglishPropertyFallback bool `json:"autoEnglishPropertyFallback"` CType string `json:"cType"` CmsPath string `json:"cmsPath"` CommentSummary CommentSummary `json:"commentSummary"` ContentID Int64 `json:"contentId"` CreationDate Timestamp `json:"creationDate"` HasAgeGate bool `json:"hasAgeGate"` MinimumAge int32 `json:"minimumAge"` ModifyDate Timestamp `json:"modifyDate"` // Firehose content is really a collection of metadata and "properties", which are the // potentially-but-not-strictly localizable data that comprises the meat of whatever content is being // shown. // As Cole Porter would have crooned, "Anything Goes" with Firehose properties. They are most often // strings, but they can theoretically be anything. They are JSON encoded, and could be JSON // structures, simple strings, numbers etc... The Content Type of the item (cType) will describe the // properties, and thus how they ought to be deserialized. Properties map[string]any `json:"properties"` RatingImagePath string `json:"ratingImagePath"` Representations []ContentRepresentation `json:"representations"` // NOTE: Tags will always be lower case. Tags []string `json:"tags"` }
Content.ContentItemPublicContract
type ContentPreview ¶
type ContentPreview struct { ItemInSet bool `json:"itemInSet"` Name string `json:"name"` Path string `json:"path"` SetNesting int32 `json:"setNesting"` SetTag string `json:"setTag"` UseSetID int32 `json:"useSetId"` }
Content.Models.ContentPreview
type ContentPropertyDataType ¶
type ContentPropertyDataType int32
Content.Models.ContentPropertyDataTypeEnum
func (ContentPropertyDataType) Enum ¶
func (e ContentPropertyDataType) Enum() string
type ContentRepresentation ¶
type ContentRepresentation struct { Name string `json:"name"` Path string `json:"path"` ValidationString string `json:"validationString"` }
Content.ContentRepresentation
type ContentRssNewsArticlesRequest ¶
type ContentRssNewsArticlesRequest struct { // Optionally filter response to only include news items in a certain category. Categoryfilter string // Optionally include full content body for each news item. Includebody bool // Zero-based pagination token for paging through result sets. // Required. PageToken string }
ContentRssNewsArticlesRequest are the request parameters for operation Content.RssNewsArticles
type ContentSearchContentByTagAndTypeRequest ¶
type ContentSearchContentByTagAndTypeRequest struct { // Page number for the search results starting with page 1. Currentpage int32 // Not used. Head bool // Not used. Itemsperpage int32 // Required. Locale string // Required. Tag string // Required. Type string }
ContentSearchContentByTagAndTypeRequest are the request parameters for operation Content.SearchContentByTagAndType
type ContentSearchContentWithTextRequest ¶
type ContentSearchContentWithTextRequest struct { // Content type tag: Help, News, etc. Supply multiple ctypes separated by space. Ctype string // Page number for the search results, starting with page 1. Currentpage int32 // Not used. Head bool // Required. Locale string // Word or phrase for the search. Searchtext string // For analytics, hint at the part of the app that triggered the search. Optional. Source string // Tag used on the content to be searched. Tag string }
ContentSearchContentWithTextRequest are the request parameters for operation Content.SearchContentWithText
type ContentSearchHelpArticlesRequest ¶
type ContentSearchHelpArticlesRequest struct { // Required. Searchtext string // Required. Size string }
ContentSearchHelpArticlesRequest are the request parameters for operation Content.SearchHelpArticles
type ContentTypeDefaultValue ¶
type ContentTypeDefaultValue struct { DefaultValue string `json:"defaultValue"` WhenClause string `json:"whenClause"` WhenValue string `json:"whenValue"` }
Content.Models.ContentTypeDefaultValue
type ContentTypeDescription ¶
type ContentTypeDescription struct { AllowComments bool `json:"allowComments"` AutoEnglishPropertyFallback bool `json:"autoEnglishPropertyFallback"` BindIdentifierToProperty string `json:"bindIdentifierToProperty"` BoundRegex string `json:"boundRegex"` BulkUploadable bool `json:"bulkUploadable"` CType string `json:"cType"` ContentDescription string `json:"contentDescription"` ForceIdentifierBinding bool `json:"forceIdentifierBinding"` Name string `json:"name"` PreviewImage string `json:"previewImage"` Previews []ContentPreview `json:"previews"` Priority int32 `json:"priority"` Properties []ContentTypeProperty `json:"properties"` PropertySections []ContentTypePropertySection `json:"propertySections"` Reminder string `json:"reminder"` ShowInContentEditor bool `json:"showInContentEditor"` SuppressCmsPath bool `json:"suppressCmsPath"` TagMetadata []TagMetadataDefinition `json:"tagMetadata"` TagMetadataItems map[string]TagMetadataItem `json:"tagMetadataItems"` TypeOf string `json:"typeOf"` UsageExamples []string `json:"usageExamples"` }
Content.Models.ContentTypeDescription
type ContentTypeProperty ¶
type ContentTypeProperty struct { Attributes map[string]string `json:"attributes"` BindToProperty string `json:"bindToProperty"` BoundRegex string `json:"boundRegex"` ChildProperties []ContentTypeProperty `json:"childProperties"` ContentTypeAllowed string `json:"contentTypeAllowed"` Datatype ContentPropertyDataType `json:"datatype"` DefaultValues []ContentTypeDefaultValue `json:"defaultValues"` Enabled bool `json:"enabled"` Entitytype string `json:"entitytype"` Fallback bool `json:"fallback"` IsCombo bool `json:"isCombo"` IsExternalAllowed bool `json:"isExternalAllowed"` IsImage bool `json:"isImage"` IsTitle bool `json:"isTitle"` IsVideo bool `json:"isVideo"` LegalContentTypes []string `json:"legalContentTypes"` Localizable bool `json:"localizable"` MaxByteLength int32 `json:"maxByteLength"` MaxFileSize int32 `json:"maxFileSize"` MaxHeight int32 `json:"maxHeight"` MaxLength int32 `json:"maxLength"` MaxWidth int32 `json:"maxWidth"` MinHeight int32 `json:"minHeight"` MinWidth int32 `json:"minWidth"` Name string `json:"name"` Order int32 `json:"order"` PropertyDescription string `json:"propertyDescription"` PropertySection string `json:"propertySection"` ReadableName string `json:"readableName"` Regexp string `json:"regexp"` RepresentationSelection map[string]string `json:"representationSelection"` RepresentationValidationString string `json:"representationValidationString"` Required bool `json:"required"` RootPropertyName string `json:"rootPropertyName"` RssAttribute string `json:"rssAttribute"` SuppressProperty bool `json:"suppressProperty"` ValidateAs string `json:"validateAs"` Value string `json:"value"` Visible bool `json:"visible"` VisibleDependency string `json:"visibleDependency"` VisibleOn string `json:"visibleOn"` Weight int32 `json:"weight"` }
Content.Models.ContentTypeProperty
type ContentTypePropertySection ¶
type ContentTypePropertySection struct { Collapsed bool `json:"collapsed"` Name string `json:"name"` ReadableName string `json:"readableName"` }
Content.Models.ContentTypePropertySection
type CoreSetting ¶
type CoreSetting struct { ChildSettings []CoreSetting `json:"childSettings"` DisplayName string `json:"displayName"` Identifier string `json:"identifier"` ImagePath string `json:"imagePath"` IsDefault bool `json:"isDefault"` Summary string `json:"summary"` }
Common.Models.CoreSetting
type CoreSettings ¶
type CoreSettings struct { ActiveSealsRootNodeHash Hash[PresentationNodeDefinition] `json:"activeSealsRootNodeHash"` ActiveTriumphsRootNodeHash Hash[PresentationNodeDefinition] `json:"activeTriumphsRootNodeHash"` AmmoTypeHeavyIcon string `json:"ammoTypeHeavyIcon"` AmmoTypePrimaryIcon string `json:"ammoTypePrimaryIcon"` AmmoTypeSpecialIcon string `json:"ammoTypeSpecialIcon"` BadgesRootNode Hash[PresentationNodeDefinition] `json:"badgesRootNode"` CollectionRootNode Hash[PresentationNodeDefinition] `json:"collectionRootNode"` CraftingRootNodeHash Hash[PresentationNodeDefinition] `json:"craftingRootNodeHash"` CurrentRankProgressionHashes []uint32 `json:"currentRankProgressionHashes"` CurrentSeasonHash Nullable[Hash[SeasonDefinition]] `json:"currentSeasonHash,omitempty"` CurrentSeasonalArtifactHash Hash[VendorDefinition] `json:"currentSeasonalArtifactHash"` ExoticCatalystsRootNodeHash Hash[PresentationNodeDefinition] `json:"exoticCatalystsRootNodeHash"` FutureSeasonHashes []uint32 `json:"futureSeasonHashes"` GuardianRankConstantsHash Hash[GuardianRankConstantsDefinition] `json:"guardianRankConstantsHash"` GuardianRanksRootNodeHash Hash[PresentationNodeDefinition] `json:"guardianRanksRootNodeHash"` InsertPlugFreeBlockedSocketTypeHashes []uint32 `json:"insertPlugFreeBlockedSocketTypeHashes"` InsertPlugFreeProtectedPlugItemHashes []uint32 `json:"insertPlugFreeProtectedPlugItemHashes"` LegacySealsRootNodeHash Hash[PresentationNodeDefinition] `json:"legacySealsRootNodeHash"` LegacyTriumphsRootNodeHash Hash[PresentationNodeDefinition] `json:"legacyTriumphsRootNodeHash"` LoadoutConstantsHash Hash[LoadoutConstantsDefinition] `json:"loadoutConstantsHash"` LoreRootNodeHash Hash[PresentationNodeDefinition] `json:"loreRootNodeHash"` MedalsRootNode Hash[PresentationNodeDefinition] `json:"medalsRootNode"` MedalsRootNodeHash Hash[PresentationNodeDefinition] `json:"medalsRootNodeHash"` MetricsRootNode Hash[PresentationNodeDefinition] `json:"metricsRootNode"` PastSeasonHashes []uint32 `json:"pastSeasonHashes"` RecordsRootNode Hash[PresentationNodeDefinition] `json:"recordsRootNode"` SeasonalChallengesPresentationNodeHash Nullable[Hash[PresentationNodeDefinition]] `json:"seasonalChallengesPresentationNodeHash,omitempty"` UndiscoveredCollectibleImage string `json:"undiscoveredCollectibleImage"` }
Common.Models.Destiny2CoreSettings
type CoreSettingsConfiguration ¶
type CoreSettingsConfiguration struct { ClanBannerDecalColors []CoreSetting `json:"clanBannerDecalColors"` ClanBannerDecals []CoreSetting `json:"clanBannerDecals"` ClanBannerGonfalonColors []CoreSetting `json:"clanBannerGonfalonColors"` ClanBannerGonfalonDetailColors []CoreSetting `json:"clanBannerGonfalonDetailColors"` ClanBannerGonfalonDetails []CoreSetting `json:"clanBannerGonfalonDetails"` ClanBannerGonfalons []CoreSetting `json:"clanBannerGonfalons"` ClanBannerStandards []CoreSetting `json:"clanBannerStandards"` DefaultGroupTheme CoreSetting `json:"defaultGroupTheme"` Destiny2CoreSettings CoreSettings `json:"destiny2CoreSettings"` DestinyMembershipTypes []CoreSetting `json:"destinyMembershipTypes"` EmailSettings EmailSettings `json:"emailSettings"` Environment string `json:"environment"` FireteamActivities []CoreSetting `json:"fireteamActivities"` ForumCategories []CoreSetting `json:"forumCategories"` GroupAvatars []CoreSetting `json:"groupAvatars"` IgnoreReasons []CoreSetting `json:"ignoreReasons"` RecruitmentActivities []CoreSetting `json:"recruitmentActivities"` RecruitmentMiscTags []CoreSetting `json:"recruitmentMiscTags"` RecruitmentPlatformTags []CoreSetting `json:"recruitmentPlatformTags"` SystemContentLocales []CoreSetting `json:"systemContentLocales"` Systems map[string]CoreSystem `json:"systems"` UserContentLocales []CoreSetting `json:"userContentLocales"` }
Common.Models.CoreSettingsConfiguration
type CoreSystem ¶
type CoreSystem struct { Enabled bool `json:"enabled"` Parameters map[string]string `json:"parameters"` }
Common.Models.CoreSystem
type CraftableComponent ¶
type CraftableComponent struct { // If the requirements are not met for crafting this item, these will index into the list of failure // strings. FailedRequirementIndexes []int32 `json:"failedRequirementIndexes"` // Plug item state for the crafting sockets. Sockets []CraftableSocketComponent `json:"sockets"` Visible bool `json:"visible"` }
Destiny.Components.Craftables.DestinyCraftableComponent
type CraftableSocketComponent ¶
type CraftableSocketComponent struct { PlugSetHash Hash[PlugSetDefinition] `json:"plugSetHash"` // Unlock state for plugs in the socket plug set definition Plugs []CraftableSocketPlugComponent `json:"plugs"` }
Destiny.Components.Craftables.DestinyCraftableSocketComponent
type CraftableSocketPlugComponent ¶
type CraftableSocketPlugComponent struct { // Index into the unlock requirements to display failure descriptions FailedRequirementIndexes []int32 `json:"failedRequirementIndexes"` PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` }
Destiny.Components.Craftables.DestinyCraftableSocketPlugComponent
type CraftablesComponent ¶
type CraftablesComponent struct { // A map of craftable item hashes to craftable item state components. Craftables map[Hash[InventoryItemDefinition]]CraftableComponent `json:"craftables"` // The hash for the root presentation node definition of craftable item categories. CraftingRootNodeHash Hash[PresentationNodeDefinition] `json:"craftingRootNodeHash"` }
Destiny.Components.Craftables.DestinyCraftablesComponent
type CrossSaveUserMembership ¶
type CrossSaveUserMembership struct { // The list of Membership Types indicating the platforms on which this Membership can be used. // // Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is // // overridding, and its original membership type Cross Save Overridden = Empty list ApplicableMembershipTypes []BungieMembershipType `json:"applicableMembershipTypes"` // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // If there is a cross save override in effect, this value will tell you the type that is overridding // this one. CrossSaveOverride BungieMembershipType `json:"crossSaveOverride"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // If True, this is a public user membership. IsPublic bool `json:"isPublic"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` }
User.CrossSaveUserMembership
Very basic info about a user as returned by the Account server, but including CrossSave information. Do NOT use as a request contract.
type CurrenciesComponent ¶
type CurrenciesComponent struct { // A dictionary - keyed by the item's hash identifier (DestinyInventoryItemDefinition), and whose value // is the amount of that item you have across all available inventory buckets for purchasing. // This allows you to see whether the requesting character can afford any given purchase/action without // having to re-create this list itself. ItemQuantities map[Hash[InventoryItemDefinition]]int32 `json:"itemQuantities"` }
Destiny.Components.Inventory.DestinyCurrenciesComponent
This component provides a quick lookup of every item the requested character has and how much of that item they have. Requesting this component will allow you to circumvent manually putting together the list of which currencies you have for the purpose of testing currency requirements on an item being purchased, or operations that have costs. You *could* figure this out yourself by doing a GetCharacter or GetProfile request and forming your own lookup table, but that is inconvenient enough that this feels like a worthwhile (and optional) redundency. Don't bother requesting it if you have already created your own lookup from prior GetCharacter/GetProfile calls.
type DamageType ¶
type DamageType int32
Destiny.DamageType
func (DamageType) Enum ¶
func (e DamageType) Enum() string
type DamageTypeDefinition ¶
type DamageTypeDefinition struct { // A color associated with the damage type. The displayProperties icon is tinted with a color close to // this. Color Color `json:"color"` // The description of the damage type, icon etc... DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // We have an enumeration for damage types for quick reference. This is the current definition's damage // type enum value. EnumValue DamageType `json:"enumValue"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If TRUE, the game shows this damage type's icon. Otherwise, it doesn't. Whether you show it or not // is up to you. ShowIcon bool `json:"showIcon"` // A variant of the icon that is transparent and colorless. TransparentIconPath string `json:"transparentIconPath"` }
Destiny.Definitions.DestinyDamageTypeDefinition
All damage types that are possible in the game are defined here, along with localized info and icons as needed.
func (DamageTypeDefinition) DefinitionTable ¶
func (d DamageTypeDefinition) DefinitionTable() string
type Datapoint ¶
type Datapoint struct { // Count associated with timestamp Count Nullable[float64] `json:"count,omitempty"` // Timestamp for the related count. Time Timestamp `json:"time"` }
Applications.Datapoint
type DefaultClient ¶
type Definition ¶
type Definition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyDefinition
Provides common properties for destiny definitions.
func (Definition) DefinitionTable ¶
func (d Definition) DefinitionTable() string
type DerivedItemCategoryDefinition ¶
type DerivedItemCategoryDefinition struct { // The localized string for the category title. This will be something describing the items you can get // as a group, or your likelihood/the quantity you'll get. CategoryDescription string `json:"categoryDescription"` // This is the list of all of the items for this category and the basic properties we'll know about // them. Items []DerivedItemDefinition `json:"items"` }
Destiny.Definitions.Items.DestinyDerivedItemCategoryDefinition
A shortcut for the fact that some items have a "Preview Vendor" - See DestinyInventoryItemDefinition.preview.previewVendorHash - that is intended to be used to show what items you can get as a result of acquiring or using this item. A common example of this in Destiny 1 was Eververse "Boxes," which could have many possible items. This "Preview Vendor" is not a vendor you can actually see in the game, but it defines categories and sale items for all of the possible items you could get from the Box so that the game can show them to you. We summarize that info here so that you don't have to do that Vendor lookup and aggregation manually.
func (DerivedItemCategoryDefinition) DefinitionTable ¶
func (d DerivedItemCategoryDefinition) DefinitionTable() string
type DerivedItemDefinition ¶
type DerivedItemDefinition struct { // An icon for the item. IconPath string `json:"iconPath"` // A brief description of the item. ItemDescription string `json:"itemDescription"` // Additional details about the derived item, in addition to the description. ItemDetail string `json:"itemDetail"` // The hash for the DestinyInventoryItemDefinition of this derived item, if there is one. Sometimes we // are given this information as a manual override, in which case there won't be an actual // DestinyInventoryItemDefinition for what we display, but you can still show the strings from this // object itself. ItemHash Nullable[uint32] `json:"itemHash,omitempty"` // The name of the derived item. ItemName string `json:"itemName"` // If the item was derived from a "Preview Vendor", this will be an index into the // DestinyVendorDefinition's itemList property. Otherwise, -1. VendorItemIndex int32 `json:"vendorItemIndex"` }
Destiny.Definitions.Items.DestinyDerivedItemDefinition
This is a reference to, and summary data for, a specific item that you can get as a result of Using or Acquiring some other Item (For example, this could be summary information for an Emote that you can get by opening an an Eververse Box) See DestinyDerivedItemCategoryDefinition for more information.
func (DerivedItemDefinition) DefinitionTable ¶
func (d DerivedItemDefinition) DefinitionTable() string
type DestinationBubbleSettingDefinition ¶
type DestinationBubbleSettingDefinition struct {
DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"`
}
Destiny.Definitions.DestinyDestinationBubbleSettingDefinition
Human readable data about the bubble. Combine with DestinyBubbleDefinition - see DestinyDestinationDefinition.bubbleSettings for more information. DEPRECATED - Just use bubbles.
func (DestinationBubbleSettingDefinition) DefinitionTable ¶
func (d DestinationBubbleSettingDefinition) DefinitionTable() string
type DestinationDefinition ¶
type DestinationDefinition struct { // If the Destination has default Activity Graphs (i.e. "Map") that should be shown in the director, // this is the list of those Graphs. At most, only one should be active at any given time for a // Destination: these would represent, for example, different variants on a Map if the Destination is // changing on a macro level based on game state. ActivityGraphEntries []ActivityGraphListEntryDefinition `json:"activityGraphEntries"` // A Destination may have many "Bubbles" zones with human readable properties. // We don't get as much info as I'd like about them - I'd love to return info like where on the map // they are located - but at least this gives you the name of those bubbles. bubbleSettings and bubbles // both have the identical number of entries, and you should match up their indexes to provide matching // bubble and bubbleSettings data. // DEPRECATED - Just use bubbles, it now has this data. BubbleSettings []DestinationBubbleSettingDefinition `json:"bubbleSettings"` // This provides the unique identifiers for every bubble in the destination (only guaranteed unique // within the destination), and any intrinsic properties of the bubble. // bubbleSettings and bubbles both have the identical number of entries, and you should match up their // indexes to provide matching bubble and bubbleSettings data. Bubbles []BubbleDefinition `json:"bubbles"` // If this Destination has a default Free-Roam activity, this is the hash for that Activity. Use it to // look up the DestinyActivityDefintion. DefaultFreeroamActivityHash Hash[ActivityDefinition] `json:"defaultFreeroamActivityHash"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The place that "owns" this Destination. Use this hash to look up the DestinyPlaceDefinition. PlaceHash Hash[PlaceDefinition] `json:"placeHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyDestinationDefinition
On to one of the more confusing subjects of the API. What is a Destination, and what is the relationship between it, Activities, Locations, and Places? A "Destination" is a specific region/city/area of a larger "Place". For instance, a Place might be Earth where a Destination might be Bellevue, Washington. (Please, pick a more interesting destination if you come to visit Earth).
func (DestinationDefinition) DefinitionTable ¶
func (d DestinationDefinition) DefinitionTable() string
type Destiny2AwaGetActionTokenRequest ¶
type Destiny2AwaGetActionTokenRequest struct { // The identifier for the advanced write action request. // Required. CorrelationID string }
Destiny2AwaGetActionTokenRequest are the request parameters for operation Destiny2.AwaGetActionToken
type Destiny2AwaInitializeRequestRequest ¶
type Destiny2AwaInitializeRequestRequest struct { // Required. Body AwaPermissionRequested }
Destiny2AwaInitializeRequestRequest are the request parameters for operation Destiny2.AwaInitializeRequest
type Destiny2AwaProvideAuthorizationResultRequest ¶
type Destiny2AwaProvideAuthorizationResultRequest struct { // Required. Body AwaUserResponse }
Destiny2AwaProvideAuthorizationResultRequest are the request parameters for operation Destiny2.AwaProvideAuthorizationResult
type Destiny2ClearLoadoutRequest ¶
type Destiny2ClearLoadoutRequest struct { // Required. Body LoadoutActionRequest }
Destiny2ClearLoadoutRequest are the request parameters for operation Destiny2.ClearLoadout
type Destiny2EquipItemRequest ¶
type Destiny2EquipItemRequest struct { // Required. Body ItemActionRequest }
Destiny2EquipItemRequest are the request parameters for operation Destiny2.EquipItem
type Destiny2EquipItemsRequest ¶
type Destiny2EquipItemsRequest struct { // Required. Body ItemSetActionRequest }
Destiny2EquipItemsRequest are the request parameters for operation Destiny2.EquipItems
type Destiny2EquipLoadoutRequest ¶
type Destiny2EquipLoadoutRequest struct { // Required. Body LoadoutActionRequest }
Destiny2EquipLoadoutRequest are the request parameters for operation Destiny2.EquipLoadout
type Destiny2GetActivityHistoryRequest ¶
type Destiny2GetActivityHistoryRequest struct { // The id of the character to retrieve. // Required. CharacterID Int64 // Number of rows to return Count int32 // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType // A filter for the activity mode to be returned. None returns all activities. See the documentation // for DestinyActivityModeType for valid values, and pass in string representation. Mode ActivityModeType // Page number to return, starting with 0. Page int32 }
Destiny2GetActivityHistoryRequest are the request parameters for operation Destiny2.GetActivityHistory
type Destiny2GetCharacterRequest ¶
type Destiny2GetCharacterRequest struct { // ID of the character. // Required. CharacterID Int64 // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // Destiny membership ID. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetCharacterRequest are the request parameters for operation Destiny2.GetCharacter
type Destiny2GetClanAggregateStatsRequest ¶
type Destiny2GetClanAggregateStatsRequest struct { // Group ID of the clan whose leaderboards you wish to fetch. // Required. GroupID Int64 // List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType // for valid values, and pass in string representation, comma delimited. Modes string }
Destiny2GetClanAggregateStatsRequest are the request parameters for operation Destiny2.GetClanAggregateStats
type Destiny2GetClanBannerSourceRequest ¶
type Destiny2GetClanBannerSourceRequest struct { }
Destiny2GetClanBannerSourceRequest are the request parameters for operation Destiny2.GetClanBannerSource
type Destiny2GetClanLeaderboardsRequest ¶
type Destiny2GetClanLeaderboardsRequest struct { // Group ID of the clan whose leaderboards you wish to fetch. // Required. GroupID Int64 // Maximum number of top players to return. Use a large number to get entire leaderboard. Maxtop int32 // List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType // for valid values, and pass in string representation, comma delimited. Modes string // ID of stat to return rather than returning all Leaderboard stats. Statid string }
Destiny2GetClanLeaderboardsRequest are the request parameters for operation Destiny2.GetClanLeaderboards
type Destiny2GetClanWeeklyRewardStateRequest ¶
type Destiny2GetClanWeeklyRewardStateRequest struct { // A valid group id of clan. // Required. GroupID Int64 }
Destiny2GetClanWeeklyRewardStateRequest are the request parameters for operation Destiny2.GetClanWeeklyRewardState
type Destiny2GetCollectibleNodeDetailsRequest ¶
type Destiny2GetCollectibleNodeDetailsRequest struct { // The Destiny Character ID of the character for whom we're getting collectible detail info. // Required. CharacterID Int64 // The hash identifier of the Presentation Node for whom we should return collectible details. Details // will only be returned for collectibles that are direct descendants of this node. // Required. CollectiblePresentationNodeHash uint32 // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // Destiny membership ID of another user. You may be denied. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetCollectibleNodeDetailsRequest are the request parameters for operation Destiny2.GetCollectibleNodeDetails
type Destiny2GetDestinyAggregateActivityStatsRequest ¶
type Destiny2GetDestinyAggregateActivityStatsRequest struct { // The specific character whose activities should be returned. // Required. CharacterID Int64 // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetDestinyAggregateActivityStatsRequest are the request parameters for operation Destiny2.GetDestinyAggregateActivityStats
type Destiny2GetDestinyEntityDefinitionRequest ¶
type Destiny2GetDestinyEntityDefinitionRequest struct { // The type of entity for whom you would like results. These correspond to the entity's definition // contract name. For instance, if you are looking for items, this property should be // 'DestinyInventoryItemDefinition'. PREVIEW: This endpoint is still in beta, and may experience rough // edges. The schema is tentatively in final form, but there may be bugs that prevent desirable // operation. // Required. EntityType string // The hash identifier for the specific Entity you want returned. // Required. HashIdentifier uint32 }
Destiny2GetDestinyEntityDefinitionRequest are the request parameters for operation Destiny2.GetDestinyEntityDefinition
type Destiny2GetDestinyManifestRequest ¶
type Destiny2GetDestinyManifestRequest struct { }
Destiny2GetDestinyManifestRequest are the request parameters for operation Destiny2.GetDestinyManifest
type Destiny2GetHistoricalStatsDefinitionRequest ¶
type Destiny2GetHistoricalStatsDefinitionRequest struct { }
Destiny2GetHistoricalStatsDefinitionRequest are the request parameters for operation Destiny2.GetHistoricalStatsDefinition
type Destiny2GetHistoricalStatsForAccountRequest ¶
type Destiny2GetHistoricalStatsForAccountRequest struct { // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // Groups of stats to include, otherwise only general stats are returned. Comma separated list is // allowed. Values: General, Weapons, Medals. Groups []StatsGroupType // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetHistoricalStatsForAccountRequest are the request parameters for operation Destiny2.GetHistoricalStatsForAccount
type Destiny2GetHistoricalStatsRequest ¶
type Destiny2GetHistoricalStatsRequest struct { // The id of the character to retrieve. You can omit this character ID or set it to 0 to get aggregate // stats across all characters. // Required. CharacterID Int64 // Last day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot // allow more than 31 days of daily data to be requested in a single request. Dayend Timestamp // First day to return when daily stats are requested. Use the format YYYY-MM-DD. Currently, we cannot // allow more than 31 days of daily data to be requested in a single request. Daystart Timestamp // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // Group of stats to include, otherwise only general stats are returned. Comma separated list is // allowed. Values: General, Weapons, Medals Groups []StatsGroupType // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType // Game modes to return. See the documentation for DestinyActivityModeType for valid values, and pass // in string representation, comma delimited. Modes []ActivityModeType // Indicates a specific period type to return. Optional. May be: Daily, AllTime, or Activity PeriodType PeriodType }
Destiny2GetHistoricalStatsRequest are the request parameters for operation Destiny2.GetHistoricalStats
type Destiny2GetItemRequest ¶
type Destiny2GetItemRequest struct { // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // The membership ID of the destiny profile. // Required. DestinyMembershipID Int64 // The Instance ID of the destiny item. // Required. ItemInstanceID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetItemRequest are the request parameters for operation Destiny2.GetItem
type Destiny2GetLeaderboardsForCharacterRequest ¶
type Destiny2GetLeaderboardsForCharacterRequest struct { // The specific character to build the leaderboard around for the provided Destiny Membership. // Required. CharacterID Int64 // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // Maximum number of top players to return. Use a large number to get entire leaderboard. Maxtop int32 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType // List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType // for valid values, and pass in string representation, comma delimited. Modes string // ID of stat to return rather than returning all Leaderboard stats. Statid string }
Destiny2GetLeaderboardsForCharacterRequest are the request parameters for operation Destiny2.GetLeaderboardsForCharacter
type Destiny2GetLeaderboardsRequest ¶
type Destiny2GetLeaderboardsRequest struct { // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // Maximum number of top players to return. Use a large number to get entire leaderboard. Maxtop int32 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType // List of game modes for which to get leaderboards. See the documentation for DestinyActivityModeType // for valid values, and pass in string representation, comma delimited. Modes string // ID of stat to return rather than returning all Leaderboard stats. Statid string }
Destiny2GetLeaderboardsRequest are the request parameters for operation Destiny2.GetLeaderboards
type Destiny2GetLinkedProfilesRequest ¶
type Destiny2GetLinkedProfilesRequest struct { // (optional) if set to 'true', all memberships regardless of whether they're obscured by overrides // will be returned. Normal privacy restrictions on account linking will still apply no matter what. GetAllMemberships bool // The ID of the membership whose linked Destiny accounts you want returned. Make sure your membership // ID matches its Membership Type: don't pass us a PSN membership ID and the XBox membership type, it's // not going to work! // Required. MembershipID Int64 // The type for the membership whose linked Destiny accounts you want returned. // Required. MembershipType BungieMembershipType }
Destiny2GetLinkedProfilesRequest are the request parameters for operation Destiny2.GetLinkedProfiles
type Destiny2GetPostGameCarnageReportRequest ¶
type Destiny2GetPostGameCarnageReportRequest struct { // The ID of the activity whose PGCR is requested. // Required. ActivityID Int64 }
Destiny2GetPostGameCarnageReportRequest are the request parameters for operation Destiny2.GetPostGameCarnageReport
type Destiny2GetProfileRequest ¶
type Destiny2GetProfileRequest struct { // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // Destiny membership ID. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetProfileRequest are the request parameters for operation Destiny2.GetProfile
type Destiny2GetPublicMilestoneContentRequest ¶
type Destiny2GetPublicMilestoneContentRequest struct { // The identifier for the milestone to be returned. // Required. MilestoneHash uint32 }
Destiny2GetPublicMilestoneContentRequest are the request parameters for operation Destiny2.GetPublicMilestoneContent
type Destiny2GetPublicMilestonesRequest ¶
type Destiny2GetPublicMilestonesRequest struct { }
Destiny2GetPublicMilestonesRequest are the request parameters for operation Destiny2.GetPublicMilestones
type Destiny2GetPublicVendorsRequest ¶
type Destiny2GetPublicVendorsRequest struct { // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType }
Destiny2GetPublicVendorsRequest are the request parameters for operation Destiny2.GetPublicVendors
type Destiny2GetUniqueWeaponHistoryRequest ¶
type Destiny2GetUniqueWeaponHistoryRequest struct { // The id of the character to retrieve. // Required. CharacterID Int64 // The Destiny membershipId of the user to retrieve. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetUniqueWeaponHistoryRequest are the request parameters for operation Destiny2.GetUniqueWeaponHistory
type Destiny2GetVendorRequest ¶
type Destiny2GetVendorRequest struct { // The Destiny Character ID of the character for whom we're getting vendor info. // Required. CharacterID Int64 // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // Destiny membership ID of another user. You may be denied. // Required. DestinyMembershipID Int64 // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType // The Hash identifier of the Vendor to be returned. // Required. VendorHash uint32 }
Destiny2GetVendorRequest are the request parameters for operation Destiny2.GetVendor
type Destiny2GetVendorsRequest ¶
type Destiny2GetVendorsRequest struct { // The Destiny Character ID of the character for whom we're getting vendor info. // Required. CharacterID Int64 // A comma separated list of components to return (as strings or numeric values). See the // DestinyComponentType enum for valid components to request. You must request at least one component // to receive results. Components []ComponentType // Destiny membership ID of another user. You may be denied. // Required. DestinyMembershipID Int64 // The filter of what vendors and items to return, if any. Filter VendorFilter // A valid non-BungieNet membership type. // Required. MembershipType BungieMembershipType }
Destiny2GetVendorsRequest are the request parameters for operation Destiny2.GetVendors
type Destiny2InsertSocketPlugFreeRequest ¶
type Destiny2InsertSocketPlugFreeRequest struct { // Required. Body InsertPlugsFreeActionRequest }
Destiny2InsertSocketPlugFreeRequest are the request parameters for operation Destiny2.InsertSocketPlugFree
type Destiny2InsertSocketPlugRequest ¶
type Destiny2InsertSocketPlugRequest struct { // Required. Body InsertPlugsActionRequest }
Destiny2InsertSocketPlugRequest are the request parameters for operation Destiny2.InsertSocketPlug
type Destiny2PullFromPostmasterRequest ¶
type Destiny2PullFromPostmasterRequest struct { // Required. Body PostmasterTransferRequest }
Destiny2PullFromPostmasterRequest are the request parameters for operation Destiny2.PullFromPostmaster
type Destiny2ReportOffensivePostGameCarnageReportPlayerRequest ¶
type Destiny2ReportOffensivePostGameCarnageReportPlayerRequest struct { // The ID of the activity where you ran into the brigand that you're reporting. // Required. ActivityID Int64 // Required. Body ReportOffensePgcrRequest }
Destiny2ReportOffensivePostGameCarnageReportPlayerRequest are the request parameters for operation Destiny2.ReportOffensivePostGameCarnageReportPlayer
type Destiny2SearchDestinyEntitiesRequest ¶
type Destiny2SearchDestinyEntitiesRequest struct { // Page number to return, starting with 0. Page int32 // The string to use when searching for Destiny entities. // Required. SearchTerm string // The type of entity for whom you would like results. These correspond to the entity's definition // contract name. For instance, if you are looking for items, this property should be // 'DestinyInventoryItemDefinition'. // Required. Type string }
Destiny2SearchDestinyEntitiesRequest are the request parameters for operation Destiny2.SearchDestinyEntities
type Destiny2SearchDestinyPlayerByBungieNameRequest ¶
type Destiny2SearchDestinyPlayerByBungieNameRequest struct { // A valid non-BungieNet membership type, or All. Indicates which memberships to return. You probably // want this set to All. // Required. MembershipType BungieMembershipType // Required. Body ExactSearchRequest }
Destiny2SearchDestinyPlayerByBungieNameRequest are the request parameters for operation Destiny2.SearchDestinyPlayerByBungieName
type Destiny2SetItemLockStateRequest ¶
type Destiny2SetItemLockStateRequest struct { // Required. Body ItemStateRequest }
Destiny2SetItemLockStateRequest are the request parameters for operation Destiny2.SetItemLockState
type Destiny2SetQuestTrackedStateRequest ¶
type Destiny2SetQuestTrackedStateRequest struct { // Required. Body ItemStateRequest }
Destiny2SetQuestTrackedStateRequest are the request parameters for operation Destiny2.SetQuestTrackedState
type Destiny2SnapshotLoadoutRequest ¶
type Destiny2SnapshotLoadoutRequest struct { // Required. Body LoadoutUpdateActionRequest }
Destiny2SnapshotLoadoutRequest are the request parameters for operation Destiny2.SnapshotLoadout
type Destiny2TransferItemRequest ¶
type Destiny2TransferItemRequest struct { // Required. Body ItemTransferRequest }
Destiny2TransferItemRequest are the request parameters for operation Destiny2.TransferItem
type Destiny2UpdateLoadoutIdentifiersRequest ¶
type Destiny2UpdateLoadoutIdentifiersRequest struct { // Required. Body LoadoutUpdateActionRequest }
Destiny2UpdateLoadoutIdentifiersRequest are the request parameters for operation Destiny2.UpdateLoadoutIdentifiers
type DeveloperRole ¶
type DeveloperRole int32
Applications.DeveloperRole
func (DeveloperRole) Enum ¶
func (e DeveloperRole) Enum() string
type DisplayCategoryDefinition ¶
type DisplayCategoryDefinition struct { DisplayCategoryHash uint32 `json:"displayCategoryHash"` // If true, this category should be displayed in the "Banner" section of the vendor's UI. DisplayInBanner bool `json:"displayInBanner"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // An indicator of how the category will be displayed in the UI. It's up to you to do something cool or // interesting in response to this, or just to treat it as a normal category. DisplayStyleHash Nullable[uint32] `json:"displayStyleHash,omitempty"` // An indicator of how the category will be displayed in the UI. It's up to you to do something cool or // interesting in response to this, or just to treat it as a normal category. DisplayStyleIdentifier string `json:"displayStyleIdentifier"` // A string identifier for the display category. Identifier string `json:"identifier"` Index int32 `json:"index"` // If it exists, this is the hash identifier of a DestinyProgressionDefinition that represents the // progression to show on this display category. // Specific categories can now have thier own distinct progression, apparently. So that's cool. ProgressionHash Nullable[Hash[ProgressionDefinition]] `json:"progressionHash,omitempty"` // If this category sorts items in a nonstandard way, this will be the way we sort. SortOrder VendorDisplayCategorySortOrder `json:"sortOrder"` }
Destiny.Definitions.DestinyDisplayCategoryDefinition
Display Categories are different from "categories" in that these are specifically for visual grouping and display of categories in Vendor UI. The "categories" structure is for validation of the contained items, and can be categorized entirely separately from "Display Categories", there need be and often will be no meaningful relationship between the two.
func (DisplayCategoryDefinition) DefinitionTable ¶
func (d DisplayCategoryDefinition) DefinitionTable() string
type DisplayPropertiesDefinition ¶
type DisplayPropertiesDefinition struct { Description string `json:"description"` HasIcon bool `json:"hasIcon"` // If this item has a high-res icon (at least for now, many things won't), then the path to that icon // will be here. HighResIcon string `json:"highResIcon"` // Note that "icon" is sometimes misleading, and should be interpreted in the context of the entity. // For instance, in Destiny 1 the DestinyRecordBookDefinition's icon was a big picture of a book. // But usually, it will be a small square image that you can use as... well, an icon. // They are currently represented as 96px x 96px images. Icon string `json:"icon"` IconSequences []IconSequenceDefinition `json:"iconSequences"` Name string `json:"name"` }
Destiny.Definitions.Common.DestinyDisplayPropertiesDefinition
Many Destiny*Definition contracts - the "first order" entities of Destiny that have their own tables in the Manifest Database - also have displayable information. This is the base class for that display information.
func (DisplayPropertiesDefinition) DefinitionTable ¶
func (d DisplayPropertiesDefinition) DefinitionTable() string
type DyeReference ¶
type DyeReference struct { ChannelHash uint32 `json:"channelHash"` DyeHash uint32 `json:"dyeHash"` }
Destiny.DyeReference
type EMailSettingLocalization ¶
type EMailSettingLocalization struct { Description string `json:"description"` Title string `json:"title"` }
User.EMailSettingLocalization
Localized text relevant to a given EMail setting in a given localization.
type EMailSettingSubscriptionLocalization ¶
type EMailSettingSubscriptionLocalization struct { Description string `json:"description"` KnownUserActionText string `json:"knownUserActionText"` RegisteredUserDescription string `json:"registeredUserDescription"` Title string `json:"title"` UnknownUserActionText string `json:"unknownUserActionText"` UnknownUserDescription string `json:"unknownUserDescription"` UnregisteredUserDescription string `json:"unregisteredUserDescription"` }
User.EMailSettingSubscriptionLocalization
Localized text relevant to a given EMail setting in a given localization. Extra settings specifically for subscriptions.
type EmailOptInDefinition ¶
type EmailOptInDefinition struct { // Information about the dependent subscriptions for this opt-in. DependentSubscriptions []EmailSubscriptionDefinition `json:"dependentSubscriptions"` // The unique identifier for this opt-in category. Name string `json:"name"` // If true, this opt-in setting should be set by default in situations where accounts are created // without explicit choices about what they're opting into. SetByDefault bool `json:"setByDefault"` // The flag value for this opt-in category. For historical reasons, this is defined as a flags enum. Value BitmaskSet[OptInFlags] `json:"value"` }
User.EmailOptInDefinition
Defines a single opt-in category: a wide-scoped permission to send emails for the subject related to the opt-in.
type EmailSettings ¶
type EmailSettings struct { // Keyed by the name identifier of the opt-in definition. OptInDefinitions map[string]EmailOptInDefinition `json:"optInDefinitions"` // Keyed by the name identifier of the Subscription definition. SubscriptionDefinitions map[string]EmailSubscriptionDefinition `json:"subscriptionDefinitions"` // Keyed by the name identifier of the View definition. Views map[string]EmailViewDefinition `json:"views"` }
User.EmailSettings
The set of all email subscription/opt-in settings and definitions.
type EmailSubscriptionDefinition ¶
type EmailSubscriptionDefinition struct { // A dictionary of localized text for the EMail Opt-in setting, keyed by the locale. Localization map[string]EMailSettingSubscriptionLocalization `json:"localization"` // The unique identifier for this subscription. Name string `json:"name"` // The bitflag value for this subscription. Should be a unique power of two value. Value Int64 `json:"value"` }
User.EmailSubscriptionDefinition
Defines a single subscription: permission to send emails for a specific, focused subject (generally timeboxed, such as for a specific release of a product or feature).
type EmailViewDefinition ¶
type EmailViewDefinition struct { // The identifier for this view. Name string `json:"name"` // The ordered list of settings to show in this view. ViewSettings []EmailViewDefinitionSetting `json:"viewSettings"` }
User.EmailViewDefinition
Represents a data-driven view for Email settings. Web/Mobile UI can use this data to show new EMail settings consistently without further manual work.
type EmailViewDefinitionSetting ¶
type EmailViewDefinitionSetting struct { // A dictionary of localized text for the EMail setting, keyed by the locale. Localization map[string]EMailSettingLocalization `json:"localization"` // The identifier for this UI Setting, which can be used to relate it to custom strings or other data // as desired. Name string `json:"name"` // The OptInFlags value to set or clear if this setting is set or cleared in the UI. It is the // aggregate of all underlying opt-in flags related to this setting. OptInAggregateValue BitmaskSet[OptInFlags] `json:"optInAggregateValue"` // If true, this setting should be set by default if the user hasn't chosen whether it's set or cleared // yet. SetByDefault bool `json:"setByDefault"` // The subscriptions to show as children of this setting, if any. Subscriptions []EmailSubscriptionDefinition `json:"subscriptions"` }
User.EmailViewDefinitionSetting
type EnergyCapacityEntry ¶
type EnergyCapacityEntry struct { // How much energy capacity this plug provides. CapacityValue int32 `json:"capacityValue"` // The Energy Type for this energy capacity, in enum form for easy use. EnergyType EnergyType `json:"energyType"` // Energy provided by a plug is always of a specific type - this is the hash identifier for the energy // type for which it provides Capacity. EnergyTypeHash Hash[EnergyTypeDefinition] `json:"energyTypeHash"` }
Destiny.Definitions.Items.DestinyEnergyCapacityEntry
Items can have Energy Capacity, and plugs can provide that capacity such as on a piece of Armor in Armor 2.0. This is how much "Energy" can be spent on activating plugs for this item.
func (EnergyCapacityEntry) DefinitionTable ¶
func (d EnergyCapacityEntry) DefinitionTable() string
type EnergyCostEntry ¶
type EnergyCostEntry struct { // The Energy cost for inserting this plug. EnergyCost int32 `json:"energyCost"` // The type of energy that this plug costs, in enum form. EnergyType EnergyType `json:"energyType"` // The type of energy that this plug costs, as a reference to the DestinyEnergyTypeDefinition of the // energy type. EnergyTypeHash Hash[EnergyTypeDefinition] `json:"energyTypeHash"` }
Destiny.Definitions.Items.DestinyEnergyCostEntry
Some plugs cost Energy, which is a stat on the item that can be increased by other plugs (that, at least in Armor 2.0, have a "masterworks-like" mechanic for upgrading). If a plug has costs, the details of that cost are defined here.
func (EnergyCostEntry) DefinitionTable ¶
func (d EnergyCostEntry) DefinitionTable() string
type EnergyType ¶
type EnergyType int32
Destiny.DestinyEnergyType
Represents the socket energy types for Armor 2.0, Ghosts 2.0, and Stasis subclasses.
func (EnergyType) Enum ¶
func (e EnergyType) Enum() string
type EnergyTypeDefinition ¶
type EnergyTypeDefinition struct { // If this Energy Type can be used for determining the Type of Energy that an item can consume, this is // the hash for the DestinyInvestmentStatDefinition that represents the stat which holds the Capacity // for that energy type. (Note that this is optional because "Any" is a valid cost, but not valid for // Capacity - an Armor must have a specific Energy Type for determining the energy type that the Armor // is restricted to use) CapacityStatHash Nullable[Hash[StatDefinition]] `json:"capacityStatHash,omitempty"` // If this Energy Type can be used as a cost to pay for socketing Armor 2.0 items, this is the hash for // the DestinyInvestmentStatDefinition that stores the plug's raw cost. CostStatHash Hash[StatDefinition] `json:"costStatHash"` // The description of the energy type, icon etc... DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // We have an enumeration for Energy types for quick reference. This is the current definition's Energy // type enum value. EnumValue EnergyType `json:"enumValue"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If TRUE, the game shows this Energy type's icon. Otherwise, it doesn't. Whether you show it or not // is up to you. ShowIcon bool `json:"showIcon"` // A variant of the icon that is transparent and colorless. TransparentIconPath string `json:"transparentIconPath"` }
Destiny.Definitions.EnergyTypes.DestinyEnergyTypeDefinition
Represents types of Energy that can be used for costs and payments related to Armor 2.0 mods.
func (EnergyTypeDefinition) DefinitionTable ¶
func (d EnergyTypeDefinition) DefinitionTable() string
type EntityActionResult ¶
type EntityActionResult struct { EntityID Int64 `json:"entityId"` Result PlatformErrorCodes `json:"result"` }
Entities.EntityActionResult
type EntitySearchResult ¶
type EntitySearchResult struct { // The items found that are matches/near matches for the searched-for term, sorted by something vaguely // resembling "relevance". Hopefully this will get better in the future. Results SearchResult[EntitySearchResultItem] `json:"results"` // A list of suggested words that might make for better search results, based on the text searched for. SuggestedWords []string `json:"suggestedWords"` }
Destiny.Definitions.DestinyEntitySearchResult
The results of a search for Destiny content. This will be improved on over time, I've been doing some experimenting to see what might be useful.
func (EntitySearchResult) DefinitionTable ¶
func (d EntitySearchResult) DefinitionTable() string
type EntitySearchResultItem ¶
type EntitySearchResultItem struct { // Basic display properties on the entity, so you don't have to look up the definition to show basic // results for the item. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The type of entity, returned as a string matching the DestinyDefinition's contract class name. // You'll have to have your own mapping from class names to actually looking up those definitions in // the manifest databases. EntityType string `json:"entityType"` // The hash identifier of the entity. You will use this to look up the DestinyDefinition relevant for // the entity found. Hash uint32 `json:"hash"` // The ranking value for sorting that we calculated using our relevance formula. This will hopefully // get better with time and iteration. Weight float64 `json:"weight"` }
Destiny.Definitions.DestinyEntitySearchResultItem
An individual Destiny Entity returned from the entity search.
func (EntitySearchResultItem) DefinitionTable ¶
func (d EntitySearchResultItem) DefinitionTable() string
type EnvironmentLocationMapping ¶
type EnvironmentLocationMapping struct { // A hint that the UI uses to figure out how this location is activated by the player. ActivationSource string `json:"activationSource"` // If this is populated, this is the activity you have to be playing in order to see this location // appear because of this mapping. (theoretically, a location can have multiple mappings, and some // might require you to be in a specific activity when others don't) ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // If this is populated, it is the item that you must possess for this location to be active because of // this mapping. (theoretically, a location can have multiple mappings, and some might require an item // while others don't) ItemHash Nullable[Hash[InventoryItemDefinition]] `json:"itemHash,omitempty"` // The location that is revealed on the director by this mapping. LocationHash Hash[LocationDefinition] `json:"locationHash"` // If this is populated, this is an objective related to the location. ObjectiveHash Nullable[Hash[ObjectiveDefinition]] `json:"objectiveHash,omitempty"` }
Destiny.Constants.DestinyEnvironmentLocationMapping
type EquipFailureReason ¶
type EquipFailureReason int32
Destiny.EquipFailureReason
The reasons why an item cannot be equipped, if any. Many flags can be set, or "None" if
func (EquipFailureReason) Enum ¶
func (e EquipFailureReason) Enum() string
type EquipItemResult ¶
type EquipItemResult struct { // A PlatformErrorCodes enum indicating whether it succeeded, and if it failed why. EquipStatus PlatformErrorCodes `json:"equipStatus"` // The instance ID of the item in question (all items that can be equipped must, but definition, be // Instanced and thus have an Instance ID that you can use to refer to them) ItemInstanceID Int64 `json:"itemInstanceId"` }
Destiny.DestinyEquipItemResult
The results of an Equipping operation performed through the Destiny API.
type EquipItemResults ¶
type EquipItemResults struct {
EquipResults []EquipItemResult `json:"equipResults"`
}
Destiny.DestinyEquipItemResults
The results of a bulk Equipping operation performed through the Destiny API.
type EquipmentSlotDefinition ¶
type EquipmentSlotDefinition struct { // If True, equipped items should have their custom art dyes applied when rendering the item. // Otherwise, custom art dyes on an item should be ignored if the item is equipped in this slot. ApplyCustomArtDyes bool `json:"applyCustomArtDyes"` // The Art Dye Channels that apply to this equipment slot. ArtDyeChannels []ArtDyeReference `json:"artDyeChannels"` // The inventory bucket that owns this equipment slot. BucketTypeHash Hash[InventoryBucketDefinition] `json:"bucketTypeHash"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // These technically point to "Equipment Category Definitions". But don't get excited. There's nothing // of significant value in those definitions, so I didn't bother to expose them. You can use the hash // here to group equipment slots by common functionality, which serves the same purpose as if we had // the Equipment Category definitions exposed. EquipmentCategoryHash uint32 `json:"equipmentCategoryHash"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyEquipmentSlotDefinition
Characters can not only have Inventory buckets (containers of items that are generally matched by their type or functionality), they can also have Equipment Slots. The Equipment Slot is an indicator that the related bucket can have instanced items equipped on the character. For instance, the Primary Weapon bucket has an Equipment Slot that determines whether you can equip primary weapons, and holds the association between its slot and the inventory bucket from which it can have items equipped. An Equipment Slot must have a related Inventory Bucket, but not all inventory buckets must have Equipment Slots.
func (EquipmentSlotDefinition) DefinitionTable ¶
func (d EquipmentSlotDefinition) DefinitionTable() string
type EquippingBlockDefinition ¶
type EquippingBlockDefinition struct { // Ammo type used by a weapon is no longer determined by the bucket in which it is contained. If the // item has an ammo type - i.e. if it is a weapon - this will be the type of ammunition expected. AmmoType AmmunitionType `json:"ammoType"` // These are custom attributes on the equippability of the item. // For now, this can only be "equip on acquire", which would mean that the item will be automatically // equipped as soon as you pick it up. Attributes BitmaskSet[EquippingItemBlockAttributes] `json:"attributes"` // These are strings that represent the possible Game/Account/Character state failure conditions that // can occur when trying to equip the item. They match up one-to-one with requiredUnlockExpressions. DisplayStrings []string `json:"displayStrings"` // An equipped item *must* be equipped in an Equipment Slot. This is the hash identifier of the // DestinyEquipmentSlotDefinition into which it must be equipped. EquipmentSlotTypeHash Hash[EquipmentSlotDefinition] `json:"equipmentSlotTypeHash"` // If the item is part of a gearset, this is a reference to that gearset item. GearsetItemHash Nullable[Hash[InventoryItemDefinition]] `json:"gearsetItemHash,omitempty"` // If defined, this is the label used to check if the item has other items of matching types already // equipped. // For instance, when you aren't allowed to equip more than one Exotic Weapon, that's because all // exotic weapons have identical uniqueLabels and the game checks the to-be-equipped item's uniqueLabel // vs. all other already equipped items (other than the item in the slot that's about to be occupied). UniqueLabel string `json:"uniqueLabel"` // The hash of that unique label. Does not point to a specific definition. UniqueLabelHash uint32 `json:"uniqueLabelHash"` }
Destiny.Definitions.DestinyEquippingBlockDefinition
Items that can be equipped define this block. It contains information we need to understand how and when the item can be equipped.
func (EquippingBlockDefinition) DefinitionTable ¶
func (d EquippingBlockDefinition) DefinitionTable() string
type EquippingItemBlockAttributes ¶
type EquippingItemBlockAttributes int32
Destiny.EquippingItemBlockAttributes
func (EquippingItemBlockAttributes) Enum ¶
func (e EquippingItemBlockAttributes) Enum() string
type ErrorProfile ¶
type ErrorProfile struct { // The error that we encountered. You should be able to look up localized text to show to the user for // these failures. ErrorCode PlatformErrorCodes `json:"errorCode"` // Basic info about the account that failed. Don't expect anything other than membership ID, Membership // Type, and displayName to be populated. InfoCard UserInfoCard `json:"infoCard"` }
Destiny.Responses.DestinyErrorProfile
If a Destiny Profile can't be returned, but we're pretty certain it's a valid Destiny account, this will contain as much info as we can get about the profile for your use. Assume that the most you'll get is the Error Code, the Membership Type and the Membership ID.
type EventCardDefinition ¶
type EventCardDefinition struct { Color Color `json:"color"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` EndTime Int64 `json:"endTime"` // 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. Hash uint32 `json:"hash"` Images EventCardImages `json:"images"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` LinkRedirectPath string `json:"linkRedirectPath"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` SealPresentationNodeHash Hash[PresentationNodeDefinition] `json:"sealPresentationNodeHash"` TicketCurrencyItemHash Hash[InventoryItemDefinition] `json:"ticketCurrencyItemHash"` TicketVendorCategoryHash uint32 `json:"ticketVendorCategoryHash"` TicketVendorHash Hash[VendorDefinition] `json:"ticketVendorHash"` TriumphsPresentationNodeHash Hash[PresentationNodeDefinition] `json:"triumphsPresentationNodeHash"` }
Destiny.Definitions.Seasons.DestinyEventCardDefinition
Defines the properties of an 'Event Card' in Destiny 2, to coincide with a seasonal event for additional challenges, premium rewards, a new seal, and a special title. For example: Solstice of Heroes 2022.
func (EventCardDefinition) DefinitionTable ¶
func (d EventCardDefinition) DefinitionTable() string
type EventCardImages ¶
type EventCardImages struct { CardCompleteImagePath string `json:"cardCompleteImagePath"` CardCompleteWrapImagePath string `json:"cardCompleteWrapImagePath"` CardIncompleteImagePath string `json:"cardIncompleteImagePath"` ProgressIconImagePath string `json:"progressIconImagePath"` ThemeBackgroundImagePath string `json:"themeBackgroundImagePath"` UnownedCardSleeveImagePath string `json:"unownedCardSleeveImagePath"` UnownedCardSleeveWrapImagePath string `json:"unownedCardSleeveWrapImagePath"` }
Destiny.Definitions.Seasons.DestinyEventCardImages
func (EventCardImages) DefinitionTable ¶
func (d EventCardImages) DefinitionTable() string
type ExactSearchRequest ¶
type ExactSearchRequest struct { DisplayName string `json:"displayName"` DisplayNameCode int16 `json:"displayNameCode"` }
User.ExactSearchRequest
type FactionDefinition ¶
type FactionDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The hash identifier for the DestinyProgressionDefinition that indicates the character's relationship // with this faction in terms of experience and levels. ProgressionHash Hash[ProgressionDefinition] `json:"progressionHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // The faction reward item hash, usually an engram. RewardItemHash Hash[InventoryItemDefinition] `json:"rewardItemHash"` // The faction reward vendor hash, used for faction engram previews. RewardVendorHash Hash[VendorDefinition] `json:"rewardVendorHash"` // The faction token item hashes, and their respective progression values. TokenValues map[uint32]uint32 `json:"tokenValues"` // List of vendors that are associated with this faction. The last vendor that passes the unlock flag // checks is the one that should be shown. Vendors []FactionVendorDefinition `json:"vendors"` }
Destiny.Definitions.DestinyFactionDefinition
These definitions represent Factions in the game. Factions have ended up unilaterally being related to Vendors that represent them, but that need not necessarily be the case. A Faction is really just an entity that has a related progression for which a character can gain experience. In Destiny 1, Dead Orbit was an example of a Faction: there happens to be a Vendor that represents Dead Orbit (and indeed, DestinyVendorDefinition.factionHash defines to this relationship), but Dead Orbit could theoretically exist without the Vendor that provides rewards.
func (FactionDefinition) DefinitionTable ¶
func (d FactionDefinition) DefinitionTable() string
type FactionProgression ¶
type FactionProgression struct { // This is the total amount of progress obtained overall for this progression (for instance, the total // amount of Character Level experience earned) CurrentProgress int32 `json:"currentProgress"` // The number of resets of this progression you've executed this season, if applicable to this // progression. CurrentResetCount Nullable[int32] `json:"currentResetCount,omitempty"` // If this progression has a daily limit, this is that limit. DailyLimit int32 `json:"dailyLimit"` // The amount of progress earned today for this progression. DailyProgress int32 `json:"dailyProgress"` // The hash identifier of the Faction related to this progression. Use it to look up the // DestinyFactionDefinition for more rendering info. FactionHash Hash[FactionDefinition] `json:"factionHash"` // The index of the Faction vendor that is currently available. Will be set to -1 if no vendors are // available. FactionVendorIndex int32 `json:"factionVendorIndex"` // This is the level of the progression (for instance, the Character Level). Level int32 `json:"level"` // This is the maximum possible level you can achieve for this progression (for example, the maximum // character level obtainable) LevelCap int32 `json:"levelCap"` // The total amount of progression (i.e. "Experience") needed in order to reach the next level. NextLevelAt int32 `json:"nextLevelAt"` // The amount of progression (i.e. "Experience") needed to reach the next level of this Progression. // Jeez, progression is such an overloaded word. ProgressToNextLevel int32 `json:"progressToNextLevel"` // The hash identifier of the Progression in question. Use it to look up the // DestinyProgressionDefinition in static data. ProgressionHash Hash[ProgressionDefinition] `json:"progressionHash"` // Information about historical rewards for this progression, if there is any data for it. RewardItemStates []BitmaskSet[ProgressionRewardItemState] `json:"rewardItemStates"` // Information about historical resets of this progression, if there is any data for it. SeasonResets []ProgressionResetEntry `json:"seasonResets"` // Progressions define their levels in "steps". Since the last step may be repeatable, the user may be // at a higher level than the actual Step achieved in the progression. Not necessarily useful, but // potentially interesting for those cruising the API. Relate this to the "steps" property of the // DestinyProgression to see which step the user is on, if you care about that. (Note that this is // Content Version dependent since it refers to indexes.) StepIndex int32 `json:"stepIndex"` // If this progression has a weekly limit, this is that limit. WeeklyLimit int32 `json:"weeklyLimit"` // The amount of progress earned toward this progression in the current week. WeeklyProgress int32 `json:"weeklyProgress"` }
Destiny.Progression.DestinyFactionProgression
Mostly for historical purposes, we segregate Faction progressions from other progressions. This is just a DestinyProgression with a shortcut for finding the DestinyFactionDefinition of the faction related to the progression.
type FactionVendorDefinition ¶
type FactionVendorDefinition struct { // The relative path to the background image representing this Vendor at this location, for use in a // banner. BackgroundImagePath string `json:"backgroundImagePath"` // The hash identifier for a Destination at which this vendor may be located. Each destination where a // Vendor may exist will only ever have a single entry. DestinationHash Hash[DestinationDefinition] `json:"destinationHash"` // The faction vendor hash. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Definitions.DestinyFactionVendorDefinition
These definitions represent faction vendors at different points in the game. A single faction may contain multiple vendors, or the same vendor available at two different locations.
func (FactionVendorDefinition) DefinitionTable ¶
func (d FactionVendorDefinition) DefinitionTable() string
type FireteamDateRange ¶
type FireteamDateRange int
Fireteam.FireteamDateRange
func (FireteamDateRange) Enum ¶
func (e FireteamDateRange) Enum() string
type FireteamGetActivePrivateClanFireteamCountRequest ¶
type FireteamGetActivePrivateClanFireteamCountRequest struct { // The group id of the clan. // Required. GroupID Int64 }
FireteamGetActivePrivateClanFireteamCountRequest are the request parameters for operation Fireteam.GetActivePrivateClanFireteamCount
type FireteamGetAvailableClanFireteamsRequest ¶
type FireteamGetAvailableClanFireteamsRequest struct { // The activity type to filter by. // Required. ActivityType int32 // The date range to grab available fireteams. // Required. DateRange FireteamDateRange // If you wish the result to exclude immediate fireteams, set this to true. Immediate-only can be // forced using the dateRange enum. ExcludeImmediate bool // The group id of the clan. // Required. GroupID Int64 // An optional language filter. LangFilter string // Zero based page // Required. Page int32 // The platform filter. // Required. Platform FireteamPlatform // Determines public/private filtering. // Required. PublicOnly FireteamPublicSearchOption // Filters based on available slots // Required. SlotFilter FireteamSlotSearch }
FireteamGetAvailableClanFireteamsRequest are the request parameters for operation Fireteam.GetAvailableClanFireteams
type FireteamGetClanFireteamRequest ¶
type FireteamGetClanFireteamRequest struct { // The unique id of the fireteam. // Required. FireteamID Int64 // The group id of the clan. // Required. GroupID Int64 }
FireteamGetClanFireteamRequest are the request parameters for operation Fireteam.GetClanFireteam
type FireteamGetMyClanFireteamsRequest ¶
type FireteamGetMyClanFireteamsRequest struct { // If true, filter by clan. Otherwise, ignore the clan and show all of the user's fireteams. GroupFilter bool // The group id of the clan. (This parameter is ignored unless the optional query parameter groupFilter // is true). // Required. GroupID Int64 // If true, return fireteams that have been closed. // Required. IncludeClosed bool // An optional language filter. LangFilter string // Deprecated parameter, ignored. // Required. Page int32 // The platform filter. // Required. Platform FireteamPlatform }
FireteamGetMyClanFireteamsRequest are the request parameters for operation Fireteam.GetMyClanFireteams
type FireteamMember ¶
type FireteamMember struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` CharacterID Int64 `json:"characterId"` DateJoined Timestamp `json:"dateJoined"` DestinyUserInfo FireteamUserInfoCard `json:"destinyUserInfo"` HasMicrophone bool `json:"hasMicrophone"` LastPlatformInviteAttemptDate Timestamp `json:"lastPlatformInviteAttemptDate"` LastPlatformInviteAttemptResult FireteamPlatformInviteResult `json:"lastPlatformInviteAttemptResult"` }
Fireteam.FireteamMember
type FireteamPlatform ¶
type FireteamPlatform int
Fireteam.FireteamPlatform
func (FireteamPlatform) Enum ¶
func (e FireteamPlatform) Enum() string
type FireteamPlatformInviteResult ¶
type FireteamPlatformInviteResult int
Fireteam.FireteamPlatformInviteResult
func (FireteamPlatformInviteResult) Enum ¶
func (e FireteamPlatformInviteResult) Enum() string
type FireteamPublicSearchOption ¶
type FireteamPublicSearchOption int
Fireteam.FireteamPublicSearchOption
func (FireteamPublicSearchOption) Enum ¶
func (e FireteamPublicSearchOption) Enum() string
type FireteamResponse ¶
type FireteamResponse struct { Alternates []FireteamMember `json:"Alternates"` Members []FireteamMember `json:"Members"` Summary FireteamSummary `json:"Summary"` }
Fireteam.FireteamResponse
type FireteamSearchPublicAvailableClanFireteamsRequest ¶
type FireteamSearchPublicAvailableClanFireteamsRequest struct { // The activity type to filter by. // Required. ActivityType int32 // The date range to grab available fireteams. // Required. DateRange FireteamDateRange // If you wish the result to exclude immediate fireteams, set this to true. Immediate-only can be // forced using the dateRange enum. ExcludeImmediate bool // An optional language filter. LangFilter string // Zero based page // Required. Page int32 // The platform filter. // Required. Platform FireteamPlatform // Filters based on available slots // Required. SlotFilter FireteamSlotSearch }
FireteamSearchPublicAvailableClanFireteamsRequest are the request parameters for operation Fireteam.SearchPublicAvailableClanFireteams
type FireteamSlotSearch ¶
type FireteamSlotSearch int
Fireteam.FireteamSlotSearch
func (FireteamSlotSearch) Enum ¶
func (e FireteamSlotSearch) Enum() string
type FireteamSummary ¶
type FireteamSummary struct { ActivityType int32 `json:"activityType"` AlternateSlotCount Nullable[int32] `json:"alternateSlotCount,omitempty"` AvailableAlternateSlotCount int32 `json:"availableAlternateSlotCount"` AvailablePlayerSlotCount int32 `json:"availablePlayerSlotCount"` DateCreated Timestamp `json:"dateCreated"` DateModified Nullable[Timestamp] `json:"dateModified,omitempty"` DatePlayerModified Timestamp `json:"datePlayerModified"` FireteamID Int64 `json:"fireteamId"` GroupID Int64 `json:"groupId"` IsImmediate bool `json:"isImmediate"` IsPublic bool `json:"isPublic"` IsValid bool `json:"isValid"` Locale string `json:"locale"` OwnerCurrentGuardianRankSnapshot Hash[GuardianRankDefinition] `json:"ownerCurrentGuardianRankSnapshot"` OwnerHighestLifetimeGuardianRankSnapshot Hash[GuardianRankDefinition] `json:"ownerHighestLifetimeGuardianRankSnapshot"` OwnerMembershipID Int64 `json:"ownerMembershipId"` OwnerTotalCommendationScoreSnapshot int32 `json:"ownerTotalCommendationScoreSnapshot"` Platform FireteamPlatform `json:"platform"` PlayerSlotCount int32 `json:"playerSlotCount"` ScheduledTime Nullable[Timestamp] `json:"scheduledTime,omitempty"` Title string `json:"title"` TitleBeforeModeration string `json:"titleBeforeModeration"` }
Fireteam.FireteamSummary
type FireteamUserInfoCard ¶
type FireteamUserInfoCard struct { FireteamDisplayName string `json:"FireteamDisplayName"` FireteamMembershipType BungieMembershipType `json:"FireteamMembershipType"` // The list of Membership Types indicating the platforms on which this Membership can be used. // // Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is // // overridding, and its original membership type Cross Save Overridden = Empty list ApplicableMembershipTypes []BungieMembershipType `json:"applicableMembershipTypes"` // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // If there is a cross save override in effect, this value will tell you the type that is overridding // this one. CrossSaveOverride BungieMembershipType `json:"crossSaveOverride"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // URL the Icon if available. IconPath string `json:"iconPath"` // If True, this is a public user membership. IsPublic bool `json:"isPublic"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` // A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc. SupplementalDisplayName string `json:"supplementalDisplayName"` }
Fireteam.FireteamUserInfoCard
type ForumFlags ¶
type ForumFlags int32
Forums.ForumFlagsEnum
func (ForumFlags) Enum ¶
func (e ForumFlags) Enum() string
type ForumGetCoreTopicsPagedRequest ¶
type ForumGetCoreTopicsPagedRequest struct { // The category filter. // Required. CategoryFilter BitmaskSet[ForumTopicsCategoryFilters] // Comma seperated list of locales posts must match to return in the result list. Default 'en' Locales string // Zero base page // Required. Page int32 // The date filter. // Required. QuickDate ForumTopicsQuickDate // The sort mode. // Required. Sort ForumTopicsSort }
ForumGetCoreTopicsPagedRequest are the request parameters for operation Forum.GetCoreTopicsPaged
type ForumGetForumTagSuggestionsRequest ¶
type ForumGetForumTagSuggestionsRequest struct { // The partial tag input to generate suggestions from. Partialtag string }
ForumGetForumTagSuggestionsRequest are the request parameters for operation Forum.GetForumTagSuggestions
type ForumGetPollRequest ¶
type ForumGetPollRequest struct { // The post id of the topic that has the poll. // Required. TopicID Int64 }
ForumGetPollRequest are the request parameters for operation Forum.GetPoll
type ForumGetPostAndParentAwaitingApprovalRequest ¶
type ForumGetPostAndParentAwaitingApprovalRequest struct { // Required. ChildPostID Int64 // If this value is not null or empty, banned posts are requested to be returned Showbanned string }
ForumGetPostAndParentAwaitingApprovalRequest are the request parameters for operation Forum.GetPostAndParentAwaitingApproval
type ForumGetPostAndParentRequest ¶
type ForumGetPostAndParentRequest struct { // Required. ChildPostID Int64 // If this value is not null or empty, banned posts are requested to be returned Showbanned string }
ForumGetPostAndParentRequest are the request parameters for operation Forum.GetPostAndParent
type ForumGetPostsThreadedPagedFromChildRequest ¶
type ForumGetPostsThreadedPagedFromChildRequest struct { // Required. ChildPostID Int64 // Required. Page int32 // Required. PageSize int32 // Required. ReplySize int32 // Required. RootThreadMode bool // If this value is not null or empty, banned posts are requested to be returned Showbanned string // Required. SortMode ForumPostSort }
ForumGetPostsThreadedPagedFromChildRequest are the request parameters for operation Forum.GetPostsThreadedPagedFromChild
type ForumGetPostsThreadedPagedRequest ¶
type ForumGetPostsThreadedPagedRequest struct { // Required. GetParentPost bool // Required. Page int32 // Required. PageSize int32 // Required. ParentPostID Int64 // Required. ReplySize int32 // Required. RootThreadMode bool // If this value is not null or empty, banned posts are requested to be returned Showbanned string // Required. SortMode ForumPostSort }
ForumGetPostsThreadedPagedRequest are the request parameters for operation Forum.GetPostsThreadedPaged
type ForumGetRecruitmentThreadSummariesRequest ¶
type ForumGetRecruitmentThreadSummariesRequest struct { // Required. Body []Int64 }
ForumGetRecruitmentThreadSummariesRequest are the request parameters for operation Forum.GetRecruitmentThreadSummaries
type ForumGetTopicForContentRequest ¶
type ForumGetTopicForContentRequest struct { // Required. ContentID Int64 }
ForumGetTopicForContentRequest are the request parameters for operation Forum.GetTopicForContent
type ForumGetTopicsPagedRequest ¶
type ForumGetTopicsPagedRequest struct { // A category filter // Required. CategoryFilter BitmaskSet[ForumTopicsCategoryFilters] // The group, if any. // Required. Group Int64 // Comma seperated list of locales posts must match to return in the result list. Default 'en' Locales string // Zero paged page number // Required. Page int32 // Unused // Required. PageSize int32 // A date filter. // Required. QuickDate ForumTopicsQuickDate // The sort mode. // Required. Sort ForumTopicsSort // The tags to search, if any. Tagstring string }
ForumGetTopicsPagedRequest are the request parameters for operation Forum.GetTopicsPaged
type ForumMediaType ¶
type ForumMediaType int32
Forum.ForumMediaType
func (ForumMediaType) Enum ¶
func (e ForumMediaType) Enum() string
type ForumPostCategory ¶
type ForumPostCategory int32
Forums.ForumPostCategoryEnums
func (ForumPostCategory) Enum ¶
func (e ForumPostCategory) Enum() string
type ForumPostPopularity ¶
type ForumPostPopularity int32
Forum.ForumPostPopularity
func (ForumPostPopularity) Enum ¶
func (e ForumPostPopularity) Enum() string
type ForumPostSort ¶
type ForumPostSort int32
Forum.ForumPostSortEnum
func (ForumPostSort) Enum ¶
func (e ForumPostSort) Enum() string
type ForumRecruitmentDetail ¶
type ForumRecruitmentDetail struct { Fireteam []GeneralUser `json:"Fireteam"` Approved bool `json:"approved"` ConversationID Nullable[Int64] `json:"conversationId,omitempty"` Intensity ForumRecruitmentIntensityLabel `json:"intensity"` KickedPlayerIds []Int64 `json:"kickedPlayerIds"` MicrophoneRequired bool `json:"microphoneRequired"` PlayerSlotsRemaining int32 `json:"playerSlotsRemaining"` PlayerSlotsTotal int32 `json:"playerSlotsTotal"` Tone ForumRecruitmentToneLabel `json:"tone"` TopicID Int64 `json:"topicId"` }
Forum.ForumRecruitmentDetail
type ForumRecruitmentIntensityLabel ¶
type ForumRecruitmentIntensityLabel int
Forum.ForumRecruitmentIntensityLabel
func (ForumRecruitmentIntensityLabel) Enum ¶
func (e ForumRecruitmentIntensityLabel) Enum() string
type ForumRecruitmentToneLabel ¶
type ForumRecruitmentToneLabel int
Forum.ForumRecruitmentToneLabel
func (ForumRecruitmentToneLabel) Enum ¶
func (e ForumRecruitmentToneLabel) Enum() string
type ForumTopicsCategoryFilters ¶
type ForumTopicsCategoryFilters int32
Forum.ForumTopicsCategoryFiltersEnum
func (ForumTopicsCategoryFilters) Enum ¶
func (e ForumTopicsCategoryFilters) Enum() string
type ForumTopicsQuickDate ¶
type ForumTopicsQuickDate int32
Forum.ForumTopicsQuickDateEnum
func (ForumTopicsQuickDate) Enum ¶
func (e ForumTopicsQuickDate) Enum() string
type ForumTopicsSort ¶
type ForumTopicsSort int
Forum.ForumTopicsSortEnum
func (ForumTopicsSort) Enum ¶
func (e ForumTopicsSort) Enum() string
type FriendRelationshipState ¶
type FriendRelationshipState int32
Social.Friends.FriendRelationshipState
func (FriendRelationshipState) Enum ¶
func (e FriendRelationshipState) Enum() string
type GamePrivacySetting ¶
type GamePrivacySetting int32
Destiny.DestinyGamePrivacySetting
A player can choose to restrict requests to join their Fireteam to specific states. These are the possible states a user can choose.
func (GamePrivacySetting) Enum ¶
func (e GamePrivacySetting) Enum() string
type GameVersions ¶
type GameVersions int32
Destiny.DestinyGameVersions
A flags enumeration/bitmask indicating the versions of the game that a given user has purchased.
func (GameVersions) Enum ¶
func (e GameVersions) Enum() string
type GatingScope ¶
type GatingScope int32
Destiny.DestinyGatingScope
This enumeration represents the most restrictive type of gating that is being performed by an entity. This is useful as a shortcut to avoid a lot of lookups when determining whether the gating on an Entity applies to everyone equally, or to their specific Profile or Character states. None = There is no gating on this item. Global = The gating on this item is based entirely on global game state. It will be gated the same for everyone. Clan = The gating on this item is at the Clan level. For instance, if you're gated by Clan level this will be the case. Profile = The gating includes Profile-specific checks, but not on the Profile's characters. An example of this might be when you acquire an Emblem: the Emblem will be available in your Kiosk for all characters in your Profile from that point onward. Character = The gating includes Character-specific checks, including character level restrictions. An example of this might be an item that you can't purchase from a Vendor until you reach a specific Character Level. Item = The gating includes item-specific checks. For BNet, this generally implies that we'll show this data only on a character level or deeper. AssumedWorstCase = The unlocks and checks being used for this calculation are of an unknown type and are used for unknown purposes. For instance, if some great person decided that an unlock value should be globally scoped, but then the game changes it using character-specific data in a way that BNet doesn't know about. Because of the open-ended potential for this to occur, many unlock checks for "globally" scoped unlock data may be assumed as the worst case unless it has been specifically whitelisted as otherwise. That sucks, but them's the breaks.
func (GatingScope) Enum ¶
func (e GatingScope) Enum() string
type GearArtArrangementReference ¶
type GearArtArrangementReference struct { ArtArrangementHash uint32 `json:"artArrangementHash"` ClassHash Hash[ClassDefinition] `json:"classHash"` }
Destiny.Definitions.DestinyGearArtArrangementReference
func (GearArtArrangementReference) DefinitionTable ¶
func (d GearArtArrangementReference) DefinitionTable() string
type GearAssetDataBaseDefinition ¶
type GearAssetDataBaseDefinition struct { Path string `json:"path"` Version int32 `json:"version"` }
Destiny.Config.GearAssetDataBaseDefinition
type GenderDefinition ¶
type GenderDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // This is a quick reference enumeration for all of the currently defined Genders. We use the // enumeration for quicker lookups in related data, like DestinyClassDefinition.genderedClassNames. GenderType Gender `json:"genderType"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyGenderDefinition
Gender is a social construct, and as such we have definitions for Genders. Right now there happens to only be two, but we'll see what the future holds.
func (GenderDefinition) DefinitionTable ¶
func (d GenderDefinition) DefinitionTable() string
type GeneralUser ¶
type GeneralUser struct { About string `json:"about"` BlizzardDisplayName string `json:"blizzardDisplayName"` CachedBungieGlobalDisplayName string `json:"cachedBungieGlobalDisplayName"` CachedBungieGlobalDisplayNameCode Nullable[int16] `json:"cachedBungieGlobalDisplayNameCode,omitempty"` Context UserToUserContext `json:"context"` DisplayName string `json:"displayName"` EgsDisplayName string `json:"egsDisplayName"` FbDisplayName string `json:"fbDisplayName"` FirstAccess Nullable[Timestamp] `json:"firstAccess,omitempty"` IsDeleted bool `json:"isDeleted"` LastBanReportID Nullable[Int64] `json:"lastBanReportId,omitempty"` LastUpdate Nullable[Timestamp] `json:"lastUpdate,omitempty"` LegacyPortalUID Nullable[Int64] `json:"legacyPortalUID,omitempty"` Locale string `json:"locale"` LocaleInheritDefault bool `json:"localeInheritDefault"` MembershipID Int64 `json:"membershipId"` NormalizedName string `json:"normalizedName"` ProfileBanExpire Nullable[Timestamp] `json:"profileBanExpire,omitempty"` ProfilePicture int32 `json:"profilePicture"` ProfilePicturePath string `json:"profilePicturePath"` ProfilePictureWidePath string `json:"profilePictureWidePath"` ProfileTheme int32 `json:"profileTheme"` ProfileThemeName string `json:"profileThemeName"` PsnDisplayName string `json:"psnDisplayName"` ShowActivity Nullable[bool] `json:"showActivity,omitempty"` ShowGroupMessaging bool `json:"showGroupMessaging"` StadiaDisplayName string `json:"stadiaDisplayName"` StatusDate Timestamp `json:"statusDate"` StatusText string `json:"statusText"` SteamDisplayName string `json:"steamDisplayName"` SuccessMessageFlags Int64 `json:"successMessageFlags"` TwitchDisplayName string `json:"twitchDisplayName"` UniqueName string `json:"uniqueName"` UserTitle int32 `json:"userTitle"` UserTitleDisplay string `json:"userTitleDisplay"` XboxDisplayName string `json:"xboxDisplayName"` }
User.GeneralUser
type GetAvailableLocalesRequest ¶
type GetAvailableLocalesRequest struct { }
GetAvailableLocalesRequest are the request parameters for operation .GetAvailableLocales
type GetCommonSettingsRequest ¶
type GetCommonSettingsRequest struct { }
GetCommonSettingsRequest are the request parameters for operation .GetCommonSettings
type GetCredentialTypesForAccountResponse ¶
type GetCredentialTypesForAccountResponse struct { CredentialAsString string `json:"credentialAsString"` CredentialDisplayName string `json:"credentialDisplayName"` CredentialType BungieCredentialType `json:"credentialType"` IsPublic bool `json:"isPublic"` }
User.Models.GetCredentialTypesForAccountResponse
type GetGlobalAlertsRequest ¶
type GetGlobalAlertsRequest struct { // Determines whether Streaming Alerts are included in results Includestreaming bool }
GetGlobalAlertsRequest are the request parameters for operation .GetGlobalAlerts
type GetGroupsForMemberResponse ¶
type GetGroupsForMemberResponse struct { // A convenience property that indicates if every membership this user has that is a part of this group // are part of an account that is considered inactive - for example, overridden accounts in Cross Save. // // The key is the Group ID for the group being checked, and the value is true if the users' // // memberships for that group are all inactive. AreAllMembershipsInactive map[Int64]bool `json:"areAllMembershipsInactive"` HasMore bool `json:"hasMore"` Query PagedQuery `json:"query"` ReplacementContinuationToken string `json:"replacementContinuationToken"` Results []GroupMembership `json:"results"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
GroupsV2.GetGroupsForMemberResponse
type GetUserSystemOverridesRequest ¶
type GetUserSystemOverridesRequest struct { }
GetUserSystemOverridesRequest are the request parameters for operation .GetUserSystemOverrides
type GlobalAlert ¶
type GlobalAlert struct { AlertHtml string `json:"AlertHtml"` AlertKey string `json:"AlertKey"` AlertLevel GlobalAlertLevel `json:"AlertLevel"` AlertLink string `json:"AlertLink"` AlertTimestamp Timestamp `json:"AlertTimestamp"` AlertType GlobalAlertType `json:"AlertType"` StreamInfo StreamInfo `json:"StreamInfo"` }
GlobalAlert
type GlobalAlertLevel ¶
type GlobalAlertLevel int32
GlobalAlertLevel
func (GlobalAlertLevel) Enum ¶
func (e GlobalAlertLevel) Enum() string
type GlobalAlertType ¶
type GlobalAlertType int32
GlobalAlertType
func (GlobalAlertType) Enum ¶
func (e GlobalAlertType) Enum() string
type GraphNodeState ¶
type GraphNodeState int32
Destiny.DestinyGraphNodeState
Represents a potential state of an Activity Graph node.
func (GraphNodeState) Enum ¶
func (e GraphNodeState) Enum() string
type GroupAllianceStatus ¶
type GroupAllianceStatus int32
GroupsV2.GroupAllianceStatus
func (GroupAllianceStatus) Enum ¶
func (e GroupAllianceStatus) Enum() string
type GroupApplicationListRequest ¶
type GroupApplicationListRequest struct { Memberships []UserMembership `json:"memberships"` Message string `json:"message"` }
GroupsV2.GroupApplicationListRequest
type GroupApplicationRequest ¶
type GroupApplicationRequest struct {
Message string `json:"message"`
}
GroupsV2.GroupApplicationRequest
type GroupApplicationResolveState ¶
type GroupApplicationResolveState int32
GroupsV2.GroupApplicationResolveState
func (GroupApplicationResolveState) Enum ¶
func (e GroupApplicationResolveState) Enum() string
type GroupApplicationResponse ¶
type GroupApplicationResponse struct {
Resolution GroupApplicationResolveState `json:"resolution"`
}
GroupsV2.GroupApplicationResponse
type GroupBan ¶
type GroupBan struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` Comment string `json:"comment"` CreatedBy UserInfoCard `json:"createdBy"` DateBanned Timestamp `json:"dateBanned"` DateExpires Timestamp `json:"dateExpires"` DestinyUserInfo GroupUserInfoCard `json:"destinyUserInfo"` GroupID Int64 `json:"groupId"` LastModifiedBy UserInfoCard `json:"lastModifiedBy"` }
GroupsV2.GroupBan
type GroupBanRequest ¶
type GroupBanRequest struct { Comment string `json:"comment"` Length IgnoreLength `json:"length"` }
GroupsV2.GroupBanRequest
type GroupDateRange ¶
type GroupDateRange int32
GroupsV2.GroupDateRange
func (GroupDateRange) Enum ¶
func (e GroupDateRange) Enum() string
type GroupEditAction ¶
type GroupEditAction struct { About string `json:"about"` AllowChat Nullable[bool] `json:"allowChat,omitempty"` AvatarImageIndex Nullable[int32] `json:"avatarImageIndex,omitempty"` Callsign string `json:"callsign"` ChatSecurity Nullable[int32] `json:"chatSecurity,omitempty"` DefaultPublicity Nullable[int32] `json:"defaultPublicity,omitempty"` EnableInvitationMessagingForAdmins Nullable[bool] `json:"enableInvitationMessagingForAdmins,omitempty"` Homepage Nullable[int32] `json:"homepage,omitempty"` IsPublic Nullable[bool] `json:"isPublic,omitempty"` IsPublicTopicAdminOnly Nullable[bool] `json:"isPublicTopicAdminOnly,omitempty"` Locale string `json:"locale"` MembershipOption Nullable[int32] `json:"membershipOption,omitempty"` Motto string `json:"motto"` Name string `json:"name"` Tags string `json:"tags"` Theme string `json:"theme"` }
GroupsV2.GroupEditAction
type GroupFeatures ¶
type GroupFeatures struct { Capabilities BitmaskSet[Capabilities] `json:"capabilities"` // Minimum Member Level allowed to host guided games // Always Allowed: Founder, Acting Founder, Admin // Allowed Overrides: None, Member, Beginner // Default is Member for clans, None for groups, although this means nothing for groups. HostGuidedGamePermissionOverride HostGuidedGamesPermissionLevel `json:"hostGuidedGamePermissionOverride"` // Minimum Member Level allowed to invite new members to group // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. InvitePermissionOverride bool `json:"invitePermissionOverride"` // Level to join a member at when accepting an invite, application, or joining an open clan // Default is Beginner. JoinLevel RuntimeGroupMemberType `json:"joinLevel"` MaximumMembers int32 `json:"maximumMembers"` // Maximum number of groups of this type a typical membership may join. For example, a user may join // about 50 General groups with their Bungie.net account. They may join one clan per Destiny // membership. MaximumMembershipsOfGroupType int32 `json:"maximumMembershipsOfGroupType"` MembershipTypes []BungieMembershipType `json:"membershipTypes"` // Minimum Member Level allowed to update banner // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. UpdateBannerPermissionOverride bool `json:"updateBannerPermissionOverride"` // Minimum Member Level allowed to update group culture // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. UpdateCulturePermissionOverride bool `json:"updateCulturePermissionOverride"` }
GroupsV2.GroupFeatures
type GroupHomepage ¶
type GroupHomepage int32
GroupsV2.GroupHomepage
func (GroupHomepage) Enum ¶
func (e GroupHomepage) Enum() string
type GroupMember ¶
type GroupMember struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` DestinyUserInfo GroupUserInfoCard `json:"destinyUserInfo"` GroupID Int64 `json:"groupId"` IsOnline bool `json:"isOnline"` JoinDate Timestamp `json:"joinDate"` LastOnlineStatusChange Int64 `json:"lastOnlineStatusChange"` MemberType RuntimeGroupMemberType `json:"memberType"` }
GroupsV2.GroupMember
type GroupMemberApplication ¶
type GroupMemberApplication struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` CreationDate Timestamp `json:"creationDate"` DestinyUserInfo GroupUserInfoCard `json:"destinyUserInfo"` GroupID Int64 `json:"groupId"` RequestMessage string `json:"requestMessage"` ResolveDate Nullable[Timestamp] `json:"resolveDate,omitempty"` ResolveMessage string `json:"resolveMessage"` ResolveState GroupApplicationResolveState `json:"resolveState"` ResolvedByMembershipID Nullable[Int64] `json:"resolvedByMembershipId,omitempty"` }
GroupsV2.GroupMemberApplication
type GroupMemberCountFilter ¶
type GroupMemberCountFilter int32
GroupsV2.GroupMemberCountFilter
func (GroupMemberCountFilter) Enum ¶
func (e GroupMemberCountFilter) Enum() string
type GroupMemberLeaveResult ¶
type GroupMemberLeaveResult struct { Group GroupV2 `json:"group"` GroupDeleted bool `json:"groupDeleted"` }
GroupsV2.GroupMemberLeaveResult
type GroupMembership ¶
type GroupMembership struct { Group GroupV2 `json:"group"` Member GroupMember `json:"member"` }
GroupsV2.GroupMembership
type GroupMembershipBase ¶
type GroupMembershipBase struct {
Group GroupV2 `json:"group"`
}
GroupsV2.GroupMembershipBase
type GroupMembershipSearchResponse ¶
type GroupMembershipSearchResponse struct { HasMore bool `json:"hasMore"` Query PagedQuery `json:"query"` ReplacementContinuationToken string `json:"replacementContinuationToken"` Results []GroupMembership `json:"results"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
GroupsV2.GroupMembershipSearchResponse
type GroupNameSearchRequest ¶
type GroupNameSearchRequest struct { GroupName string `json:"groupName"` GroupType GroupType `json:"groupType"` }
GroupsV2.GroupNameSearchRequest
type GroupOptionalConversation ¶
type GroupOptionalConversation struct { ChatEnabled bool `json:"chatEnabled"` ChatName string `json:"chatName"` ChatSecurity ChatSecuritySetting `json:"chatSecurity"` ConversationID Int64 `json:"conversationId"` GroupID Int64 `json:"groupId"` }
GroupsV2.GroupOptionalConversation
type GroupOptionalConversationAddRequest ¶
type GroupOptionalConversationAddRequest struct { ChatName string `json:"chatName"` ChatSecurity ChatSecuritySetting `json:"chatSecurity"` }
GroupsV2.GroupOptionalConversationAddRequest
type GroupOptionalConversationEditRequest ¶
type GroupOptionalConversationEditRequest struct { ChatEnabled Nullable[bool] `json:"chatEnabled,omitempty"` ChatName string `json:"chatName"` ChatSecurity Nullable[int32] `json:"chatSecurity,omitempty"` }
GroupsV2.GroupOptionalConversationEditRequest
type GroupOptionsEditAction ¶
type GroupOptionsEditAction struct { // Minimum Member Level allowed to host guided games // Always Allowed: Founder, Acting Founder, Admin // Allowed Overrides: None, Member, Beginner // Default is Member for clans, None for groups, although this means nothing for groups. HostGuidedGamePermissionOverride Nullable[int32] `json:"HostGuidedGamePermissionOverride,omitempty"` // Minimum Member Level allowed to invite new members to group // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. InvitePermissionOverride Nullable[bool] `json:"InvitePermissionOverride,omitempty"` // Level to join a member at when accepting an invite, application, or joining an open clan // Default is Beginner. JoinLevel Nullable[int32] `json:"JoinLevel,omitempty"` // Minimum Member Level allowed to update banner // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. UpdateBannerPermissionOverride Nullable[bool] `json:"UpdateBannerPermissionOverride,omitempty"` // Minimum Member Level allowed to update group culture // Always Allowed: Founder, Acting Founder // True means admins have this power, false means they don't // Default is false for clans, true for groups. UpdateCulturePermissionOverride Nullable[bool] `json:"UpdateCulturePermissionOverride,omitempty"` }
GroupsV2.GroupOptionsEditAction
type GroupPostPublicity ¶
type GroupPostPublicity int32
GroupsV2.GroupPostPublicity
func (GroupPostPublicity) Enum ¶
func (e GroupPostPublicity) Enum() string
type GroupPotentialMember ¶
type GroupPotentialMember struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` DestinyUserInfo GroupUserInfoCard `json:"destinyUserInfo"` GroupID Int64 `json:"groupId"` JoinDate Timestamp `json:"joinDate"` PotentialStatus GroupPotentialMemberStatus `json:"potentialStatus"` }
GroupsV2.GroupPotentialMember
type GroupPotentialMemberStatus ¶
type GroupPotentialMemberStatus int32
GroupsV2.GroupPotentialMemberStatus
func (GroupPotentialMemberStatus) Enum ¶
func (e GroupPotentialMemberStatus) Enum() string
type GroupPotentialMembership ¶
type GroupPotentialMembership struct { Group GroupV2 `json:"group"` Member GroupPotentialMember `json:"member"` }
GroupsV2.GroupPotentialMembership
type GroupPotentialMembershipSearchResponse ¶
type GroupPotentialMembershipSearchResponse struct { HasMore bool `json:"hasMore"` Query PagedQuery `json:"query"` ReplacementContinuationToken string `json:"replacementContinuationToken"` Results []GroupPotentialMembership `json:"results"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
GroupsV2.GroupPotentialMembershipSearchResponse
type GroupQuery ¶
type GroupQuery struct { CreationDate GroupDateRange `json:"creationDate"` CurrentPage int32 `json:"currentPage"` GroupMemberCountFilter Nullable[int32] `json:"groupMemberCountFilter,omitempty"` GroupType GroupType `json:"groupType"` ItemsPerPage int32 `json:"itemsPerPage"` LocaleFilter string `json:"localeFilter"` Name string `json:"name"` RequestContinuationToken string `json:"requestContinuationToken"` SortBy GroupSortBy `json:"sortBy"` TagText string `json:"tagText"` }
GroupsV2.GroupQuery
NOTE: GroupQuery, as of Destiny 2, has essentially two totally different and incompatible "modes". If you are querying for a group, you can pass any of the properties below. If you are querying for a Clan, you MUST NOT pass any of the following properties (they must be null or undefined in your request, not just empty string/default values): - groupMemberCountFilter - localeFilter - tagText If you pass these, you will get a useless InvalidParameters error.
type GroupResponse ¶
type GroupResponse struct { AllianceStatus GroupAllianceStatus `json:"allianceStatus"` AlliedIds []Int64 `json:"alliedIds"` // This property will be populated if the authenticated user is a member of the group. Note that // because of account linking, a user can sometimes be part of a clan more than once. As such, this // returns the highest member type available. CurrentUserMemberMap map[string]GroupMember `json:"currentUserMemberMap"` // A convenience property that indicates if every membership you (the current user) have that is a part // of this group are part of an account that is considered inactive - for example, overridden accounts // in Cross Save. CurrentUserMembershipsInactiveForDestiny bool `json:"currentUserMembershipsInactiveForDestiny"` // This property will be populated if the authenticated user is an applicant or has an outstanding // invitation to join. Note that because of account linking, a user can sometimes be part of a clan // more than once. CurrentUserPotentialMemberMap map[string]GroupPotentialMember `json:"currentUserPotentialMemberMap"` Detail GroupV2 `json:"detail"` Founder GroupMember `json:"founder"` GroupJoinInviteCount int32 `json:"groupJoinInviteCount"` ParentGroup GroupV2 `json:"parentGroup"` }
GroupsV2.GroupResponse
type GroupSearchResponse ¶
type GroupSearchResponse struct { HasMore bool `json:"hasMore"` Query PagedQuery `json:"query"` ReplacementContinuationToken string `json:"replacementContinuationToken"` Results []GroupV2Card `json:"results"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
GroupsV2.GroupSearchResponse
type GroupSortBy ¶
type GroupSortBy int32
GroupsV2.GroupSortBy
func (GroupSortBy) Enum ¶
func (e GroupSortBy) Enum() string
type GroupTheme ¶
type GroupTheme struct { Description string `json:"description"` Folder string `json:"folder"` Name string `json:"name"` }
{ "type": "object" }
Config.GroupTheme
type GroupUserBase ¶
type GroupUserBase struct { BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` DestinyUserInfo GroupUserInfoCard `json:"destinyUserInfo"` GroupID Int64 `json:"groupId"` JoinDate Timestamp `json:"joinDate"` }
GroupsV2.GroupUserBase
type GroupUserInfoCard ¶
type GroupUserInfoCard struct { // This will be the display name the clan server last saw the user as. If the account is an active // cross save override, this will be the display name to use. Otherwise, this will match the // displayName property. LastSeenDisplayName string `json:"LastSeenDisplayName"` // The platform of the LastSeenDisplayName LastSeenDisplayNameType BungieMembershipType `json:"LastSeenDisplayNameType"` // The list of Membership Types indicating the platforms on which this Membership can be used. // // Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is // // overridding, and its original membership type Cross Save Overridden = Empty list ApplicableMembershipTypes []BungieMembershipType `json:"applicableMembershipTypes"` // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // If there is a cross save override in effect, this value will tell you the type that is overridding // this one. CrossSaveOverride BungieMembershipType `json:"crossSaveOverride"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // URL the Icon if available. IconPath string `json:"iconPath"` // If True, this is a public user membership. IsPublic bool `json:"isPublic"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` // A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc. SupplementalDisplayName string `json:"supplementalDisplayName"` }
GroupsV2.GroupUserInfoCard
type GroupV2 ¶
type GroupV2 struct { About string `json:"about"` AllowChat bool `json:"allowChat"` AvatarImageIndex int32 `json:"avatarImageIndex"` AvatarPath string `json:"avatarPath"` BanExpireDate Nullable[Timestamp] `json:"banExpireDate,omitempty"` BannerPath string `json:"bannerPath"` ChatSecurity ChatSecuritySetting `json:"chatSecurity"` ClanInfo GroupV2ClanInfoAndInvestment `json:"clanInfo"` ConversationID Int64 `json:"conversationId"` CreationDate Timestamp `json:"creationDate"` DefaultPublicity GroupPostPublicity `json:"defaultPublicity"` EnableInvitationMessagingForAdmins bool `json:"enableInvitationMessagingForAdmins"` Features GroupFeatures `json:"features"` GroupID Int64 `json:"groupId"` GroupType GroupType `json:"groupType"` Homepage GroupHomepage `json:"homepage"` IsDefaultPostPublic bool `json:"isDefaultPostPublic"` IsPublic bool `json:"isPublic"` IsPublicTopicAdminOnly bool `json:"isPublicTopicAdminOnly"` Locale string `json:"locale"` MemberCount int32 `json:"memberCount"` MembershipIdCreated Int64 `json:"membershipIdCreated"` MembershipOption MembershipOption `json:"membershipOption"` ModificationDate Timestamp `json:"modificationDate"` Motto string `json:"motto"` Name string `json:"name"` Tags []string `json:"tags"` Theme string `json:"theme"` }
GroupsV2.GroupV2
type GroupV2AbdicateFoundershipRequest ¶
type GroupV2AbdicateFoundershipRequest struct { // The new founder for this group. Must already be a group admin. // Required. FounderIdNew Int64 // The target group id. // Required. GroupID Int64 // Membership type of the provided founderIdNew. // Required. MembershipType BungieMembershipType }
GroupV2AbdicateFoundershipRequest are the request parameters for operation GroupV2.AbdicateFoundership
type GroupV2AddOptionalConversationRequest ¶
type GroupV2AddOptionalConversationRequest struct { // Group ID of the group to edit. // Required. GroupID Int64 // Required. Body GroupOptionalConversationAddRequest }
GroupV2AddOptionalConversationRequest are the request parameters for operation GroupV2.AddOptionalConversation
type GroupV2ApproveAllPendingRequest ¶
type GroupV2ApproveAllPendingRequest struct { // ID of the group. // Required. GroupID Int64 // Required. Body GroupApplicationRequest }
GroupV2ApproveAllPendingRequest are the request parameters for operation GroupV2.ApproveAllPending
type GroupV2ApprovePendingForListRequest ¶
type GroupV2ApprovePendingForListRequest struct { // ID of the group. // Required. GroupID Int64 // Required. Body GroupApplicationListRequest }
GroupV2ApprovePendingForListRequest are the request parameters for operation GroupV2.ApprovePendingForList
type GroupV2ApprovePendingRequest ¶
type GroupV2ApprovePendingRequest struct { // ID of the group. // Required. GroupID Int64 // The membership id being approved. // Required. MembershipID Int64 // Membership type of the supplied membership ID. // Required. MembershipType BungieMembershipType // Required. Body GroupApplicationRequest }
GroupV2ApprovePendingRequest are the request parameters for operation GroupV2.ApprovePending
type GroupV2BanMemberRequest ¶
type GroupV2BanMemberRequest struct { // Group ID that has the member to ban. // Required. GroupID Int64 // Membership ID of the member to ban from the group. // Required. MembershipID Int64 // Membership type of the provided membership ID. // Required. MembershipType BungieMembershipType // Required. Body GroupBanRequest }
GroupV2BanMemberRequest are the request parameters for operation GroupV2.BanMember
type GroupV2Card ¶
type GroupV2Card struct { About string `json:"about"` AvatarPath string `json:"avatarPath"` Capabilities BitmaskSet[Capabilities] `json:"capabilities"` ClanInfo GroupV2ClanInfo `json:"clanInfo"` CreationDate Timestamp `json:"creationDate"` GroupID Int64 `json:"groupId"` GroupType GroupType `json:"groupType"` Locale string `json:"locale"` MemberCount int32 `json:"memberCount"` MembershipOption MembershipOption `json:"membershipOption"` Motto string `json:"motto"` Name string `json:"name"` Theme string `json:"theme"` }
GroupsV2.GroupV2Card
A small infocard of group information, usually used for when a list of groups are returned
type GroupV2ClanInfo ¶
type GroupV2ClanInfo struct { ClanBannerData ClanBanner `json:"clanBannerData"` ClanCallsign string `json:"clanCallsign"` }
GroupsV2.GroupV2ClanInfo
This contract contains clan-specific group information. It does not include any investment data.
type GroupV2ClanInfoAndInvestment ¶
type GroupV2ClanInfoAndInvestment struct { ClanBannerData ClanBanner `json:"clanBannerData"` ClanCallsign string `json:"clanCallsign"` D2ClanProgressions map[uint32]Progression `json:"d2ClanProgressions"` }
GroupsV2.GroupV2ClanInfoAndInvestment
The same as GroupV2ClanInfo, but includes any investment data.
type GroupV2DenyAllPendingRequest ¶
type GroupV2DenyAllPendingRequest struct { // ID of the group. // Required. GroupID Int64 // Required. Body GroupApplicationRequest }
GroupV2DenyAllPendingRequest are the request parameters for operation GroupV2.DenyAllPending
type GroupV2DenyPendingForListRequest ¶
type GroupV2DenyPendingForListRequest struct { // ID of the group. // Required. GroupID Int64 // Required. Body GroupApplicationListRequest }
GroupV2DenyPendingForListRequest are the request parameters for operation GroupV2.DenyPendingForList
type GroupV2EditClanBannerRequest ¶
type GroupV2EditClanBannerRequest struct { // Group ID of the group to edit. // Required. GroupID Int64 // Required. Body ClanBanner }
GroupV2EditClanBannerRequest are the request parameters for operation GroupV2.EditClanBanner
type GroupV2EditFounderOptionsRequest ¶
type GroupV2EditFounderOptionsRequest struct { // Group ID of the group to edit. // Required. GroupID Int64 // Required. Body GroupOptionsEditAction }
GroupV2EditFounderOptionsRequest are the request parameters for operation GroupV2.EditFounderOptions
type GroupV2EditGroupMembershipRequest ¶
type GroupV2EditGroupMembershipRequest struct { // ID of the group to which the member belongs. // Required. GroupID Int64 // Membership ID to modify. // Required. MembershipID Int64 // Membership type of the provide membership ID. // Required. MembershipType BungieMembershipType // New membertype for the specified member. // Required. MemberType RuntimeGroupMemberType }
GroupV2EditGroupMembershipRequest are the request parameters for operation GroupV2.EditGroupMembership
type GroupV2EditGroupRequest ¶
type GroupV2EditGroupRequest struct { // Group ID of the group to edit. // Required. GroupID Int64 // Required. Body GroupEditAction }
GroupV2EditGroupRequest are the request parameters for operation GroupV2.EditGroup
type GroupV2EditOptionalConversationRequest ¶
type GroupV2EditOptionalConversationRequest struct { // Conversation Id of the channel being edited. // Required. ConversationID Int64 // Group ID of the group to edit. // Required. GroupID Int64 // Required. Body GroupOptionalConversationEditRequest }
GroupV2EditOptionalConversationRequest are the request parameters for operation GroupV2.EditOptionalConversation
type GroupV2GetAdminsAndFounderOfGroupRequest ¶
type GroupV2GetAdminsAndFounderOfGroupRequest struct { // Page number (starting with 1). Each page has a fixed size of 50 items per page. // Required. Currentpage int32 // The ID of the group. // Required. GroupID Int64 }
GroupV2GetAdminsAndFounderOfGroupRequest are the request parameters for operation GroupV2.GetAdminsAndFounderOfGroup
type GroupV2GetAvailableAvatarsRequest ¶
type GroupV2GetAvailableAvatarsRequest struct { }
GroupV2GetAvailableAvatarsRequest are the request parameters for operation GroupV2.GetAvailableAvatars
type GroupV2GetAvailableThemesRequest ¶
type GroupV2GetAvailableThemesRequest struct { }
GroupV2GetAvailableThemesRequest are the request parameters for operation GroupV2.GetAvailableThemes
type GroupV2GetBannedMembersOfGroupRequest ¶
type GroupV2GetBannedMembersOfGroupRequest struct { // Page number (starting with 1). Each page has a fixed size of 50 entries. // Required. Currentpage int32 // Group ID whose banned members you are fetching // Required. GroupID Int64 }
GroupV2GetBannedMembersOfGroupRequest are the request parameters for operation GroupV2.GetBannedMembersOfGroup
type GroupV2GetGroupByNameRequest ¶
type GroupV2GetGroupByNameRequest struct { // Exact name of the group to find. // Required. GroupName string // Type of group to find. // Required. GroupType GroupType }
GroupV2GetGroupByNameRequest are the request parameters for operation GroupV2.GetGroupByName
type GroupV2GetGroupByNameV2Request ¶
type GroupV2GetGroupByNameV2Request struct { // Required. Body GroupNameSearchRequest }
GroupV2GetGroupByNameV2Request are the request parameters for operation GroupV2.GetGroupByNameV2
type GroupV2GetGroupOptionalConversationsRequest ¶
type GroupV2GetGroupOptionalConversationsRequest struct { // Requested group's id. // Required. GroupID Int64 }
GroupV2GetGroupOptionalConversationsRequest are the request parameters for operation GroupV2.GetGroupOptionalConversations
type GroupV2GetGroupRequest ¶
type GroupV2GetGroupRequest struct { // Requested group's id. // Required. GroupID Int64 }
GroupV2GetGroupRequest are the request parameters for operation GroupV2.GetGroup
type GroupV2GetGroupsForMemberRequest ¶
type GroupV2GetGroupsForMemberRequest struct { // Filter apply to list of joined groups. // Required. Filter GroupsForMemberFilter // Type of group the supplied member founded. // Required. GroupType GroupType // Membership ID to for which to find founded groups. // Required. MembershipID Int64 // Membership type of the supplied membership ID. // Required. MembershipType BungieMembershipType }
GroupV2GetGroupsForMemberRequest are the request parameters for operation GroupV2.GetGroupsForMember
type GroupV2GetInvitedIndividualsRequest ¶
type GroupV2GetInvitedIndividualsRequest struct { // Page number (starting with 1). Each page has a fixed size of 50 items per page. // Required. Currentpage int32 // ID of the group. // Required. GroupID Int64 }
GroupV2GetInvitedIndividualsRequest are the request parameters for operation GroupV2.GetInvitedIndividuals
type GroupV2GetMembersOfGroupRequest ¶
type GroupV2GetMembersOfGroupRequest struct { // Page number (starting with 1). Each page has a fixed size of 50 items per page. // Required. Currentpage int32 // The ID of the group. // Required. GroupID Int64 // Filter out other member types. Use None for all members. MemberType RuntimeGroupMemberType // The name fragment upon which a search should be executed for members with matching display or unique // names. NameSearch string }
GroupV2GetMembersOfGroupRequest are the request parameters for operation GroupV2.GetMembersOfGroup
type GroupV2GetPendingMembershipsRequest ¶
type GroupV2GetPendingMembershipsRequest struct { // Page number (starting with 1). Each page has a fixed size of 50 items per page. // Required. Currentpage int32 // ID of the group. // Required. GroupID Int64 }
GroupV2GetPendingMembershipsRequest are the request parameters for operation GroupV2.GetPendingMemberships
type GroupV2GetPotentialGroupsForMemberRequest ¶
type GroupV2GetPotentialGroupsForMemberRequest struct { // Filter apply to list of potential joined groups. // Required. Filter GroupPotentialMemberStatus // Type of group the supplied member applied. // Required. GroupType GroupType // Membership ID to for which to find applied groups. // Required. MembershipID Int64 // Membership type of the supplied membership ID. // Required. MembershipType BungieMembershipType }
GroupV2GetPotentialGroupsForMemberRequest are the request parameters for operation GroupV2.GetPotentialGroupsForMember
type GroupV2GetRecommendedGroupsRequest ¶
type GroupV2GetRecommendedGroupsRequest struct { // Requested range in which to pull recommended groups // Required. CreateDateRange GroupDateRange // Type of groups requested // Required. GroupType GroupType }
GroupV2GetRecommendedGroupsRequest are the request parameters for operation GroupV2.GetRecommendedGroups
type GroupV2GetUserClanInviteSettingRequest ¶
type GroupV2GetUserClanInviteSettingRequest struct { // The Destiny membership type of the account we wish to access settings. // Required. MType BungieMembershipType }
GroupV2GetUserClanInviteSettingRequest are the request parameters for operation GroupV2.GetUserClanInviteSetting
type GroupV2GroupSearchRequest ¶
type GroupV2GroupSearchRequest struct { // Required. Body GroupQuery }
GroupV2GroupSearchRequest are the request parameters for operation GroupV2.GroupSearch
type GroupV2IndividualGroupInviteCancelRequest ¶
type GroupV2IndividualGroupInviteCancelRequest struct { // ID of the group you would like to join. // Required. GroupID Int64 // Membership id of the account being cancelled. // Required. MembershipID Int64 // MembershipType of the account being cancelled. // Required. MembershipType BungieMembershipType }
GroupV2IndividualGroupInviteCancelRequest are the request parameters for operation GroupV2.IndividualGroupInviteCancel
type GroupV2IndividualGroupInviteRequest ¶
type GroupV2IndividualGroupInviteRequest struct { // ID of the group you would like to join. // Required. GroupID Int64 // Membership id of the account being invited. // Required. MembershipID Int64 // MembershipType of the account being invited. // Required. MembershipType BungieMembershipType // Required. Body GroupApplicationRequest }
GroupV2IndividualGroupInviteRequest are the request parameters for operation GroupV2.IndividualGroupInvite
type GroupV2KickMemberRequest ¶
type GroupV2KickMemberRequest struct { // Group ID to kick the user from. // Required. GroupID Int64 // Membership ID to kick. // Required. MembershipID Int64 // Membership type of the provided membership ID. // Required. MembershipType BungieMembershipType }
GroupV2KickMemberRequest are the request parameters for operation GroupV2.KickMember
type GroupV2RecoverGroupForFounderRequest ¶
type GroupV2RecoverGroupForFounderRequest struct { // Type of group the supplied member founded. // Required. GroupType GroupType // Membership ID to for which to find founded groups. // Required. MembershipID Int64 // Membership type of the supplied membership ID. // Required. MembershipType BungieMembershipType }
GroupV2RecoverGroupForFounderRequest are the request parameters for operation GroupV2.RecoverGroupForFounder
type GroupV2UnbanMemberRequest ¶
type GroupV2UnbanMemberRequest struct { // Required. GroupID Int64 // Membership ID of the member to unban from the group // Required. MembershipID Int64 // Membership type of the provided membership ID. // Required. MembershipType BungieMembershipType }
GroupV2UnbanMemberRequest are the request parameters for operation GroupV2.UnbanMember
type GroupsForMemberFilter ¶
type GroupsForMemberFilter int32
GroupsV2.GroupsForMemberFilter
func (GroupsForMemberFilter) Enum ¶
func (e GroupsForMemberFilter) Enum() string
type GuardianRankConstantsDefinition ¶
type GuardianRankConstantsDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` IconBackgrounds GuardianRankIconBackgroundsDefinition `json:"iconBackgrounds"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` RankCount int32 `json:"rankCount"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` RootNodeHash Hash[PresentationNodeDefinition] `json:"rootNodeHash"` }
Destiny.Definitions.GuardianRanks.DestinyGuardianRankConstantsDefinition
func (GuardianRankConstantsDefinition) DefinitionTable ¶
func (d GuardianRankConstantsDefinition) DefinitionTable() string
type GuardianRankDefinition ¶
type GuardianRankDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` ForegroundImagePath string `json:"foregroundImagePath"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` OverlayImagePath string `json:"overlayImagePath"` OverlayMaskImagePath string `json:"overlayMaskImagePath"` PresentationNodeHash Hash[PresentationNodeDefinition] `json:"presentationNodeHash"` RankNumber int32 `json:"rankNumber"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.GuardianRanks.DestinyGuardianRankDefinition
func (GuardianRankDefinition) DefinitionTable ¶
func (d GuardianRankDefinition) DefinitionTable() string
type GuardianRankIconBackgroundsDefinition ¶
type GuardianRankIconBackgroundsDefinition struct { BackgroundEmptyBlueGradientBorderedImagePath string `json:"backgroundEmptyBlueGradientBorderedImagePath"` BackgroundEmptyBorderedImagePath string `json:"backgroundEmptyBorderedImagePath"` BackgroundFilledBlueBorderedImagePath string `json:"backgroundFilledBlueBorderedImagePath"` BackgroundFilledBlueGradientBorderedImagePath string `json:"backgroundFilledBlueGradientBorderedImagePath"` BackgroundFilledBlueLowAlphaImagePath string `json:"backgroundFilledBlueLowAlphaImagePath"` BackgroundFilledBlueMediumAlphaImagePath string `json:"backgroundFilledBlueMediumAlphaImagePath"` BackgroundFilledGrayHeavyAlphaBorderedImagePath string `json:"backgroundFilledGrayHeavyAlphaBorderedImagePath"` BackgroundFilledGrayMediumAlphaBorderedImagePath string `json:"backgroundFilledGrayMediumAlphaBorderedImagePath"` BackgroundFilledWhiteImagePath string `json:"backgroundFilledWhiteImagePath"` BackgroundFilledWhiteMediumAlphaImagePath string `json:"backgroundFilledWhiteMediumAlphaImagePath"` BackgroundPlateBlackAlphaImagePath string `json:"backgroundPlateBlackAlphaImagePath"` BackgroundPlateBlackImagePath string `json:"backgroundPlateBlackImagePath"` BackgroundPlateWhiteImagePath string `json:"backgroundPlateWhiteImagePath"` }
Destiny.Definitions.GuardianRanks.DestinyGuardianRankIconBackgroundsDefinition
func (GuardianRankIconBackgroundsDefinition) DefinitionTable ¶
func (d GuardianRankIconBackgroundsDefinition) DefinitionTable() string
type HardLinkedUserMembership ¶
type HardLinkedUserMembership struct { CrossSaveOverriddenMembershipID Nullable[Int64] `json:"CrossSaveOverriddenMembershipId,omitempty"` CrossSaveOverriddenType BungieMembershipType `json:"CrossSaveOverriddenType"` MembershipID Int64 `json:"membershipId"` MembershipType BungieMembershipType `json:"membershipType"` }
User.HardLinkedUserMembership
type HistoricalStatsAccountResult ¶
type HistoricalStatsAccountResult struct { Characters []HistoricalStatsPerCharacter `json:"characters"` MergedAllCharacters HistoricalStatsWithMerged `json:"mergedAllCharacters"` MergedDeletedCharacters HistoricalStatsWithMerged `json:"mergedDeletedCharacters"` }
Destiny.HistoricalStats.DestinyHistoricalStatsAccountResult
type HistoricalStatsActivity ¶
type HistoricalStatsActivity struct { // The unique hash identifier of the DestinyActivityDefinition that was played. DirectorActivityHash Hash[ActivityDefinition] `json:"directorActivityHash"` // The unique identifier for this *specific* match that was played. // This value can be used to get additional data about this activity such as who else was playing via // the GetPostGameCarnageReport endpoint. InstanceID Int64 `json:"instanceId"` // Whether or not the match was a private match. IsPrivate bool `json:"isPrivate"` // The Membership Type indicating the platform on which this match was played. MembershipType BungieMembershipType `json:"membershipType"` // Indicates the most specific game mode of the activity that we could find. Mode ActivityModeType `json:"mode"` // The list of all Activity Modes to which this activity applies, including aggregates. This will let // you see, for example, whether the activity was both Clash and part of the Trials of the Nine event. Modes []ActivityModeType `json:"modes"` // The unique hash identifier of the DestinyActivityDefinition that was played. If I had this to do // over, it'd be named activityHash. Too late now. ReferenceID Hash[ActivityDefinition] `json:"referenceId"` }
Destiny.HistoricalStats.DestinyHistoricalStatsActivity
Summary information about the activity that was played.
type HistoricalStatsByPeriod ¶
type HistoricalStatsByPeriod struct { AllTime map[string]HistoricalStatsValue `json:"allTime"` AllTimeTier1 map[string]HistoricalStatsValue `json:"allTimeTier1"` AllTimeTier2 map[string]HistoricalStatsValue `json:"allTimeTier2"` AllTimeTier3 map[string]HistoricalStatsValue `json:"allTimeTier3"` Daily []HistoricalStatsPeriodGroup `json:"daily"` Monthly []HistoricalStatsPeriodGroup `json:"monthly"` }
Destiny.HistoricalStats.DestinyHistoricalStatsByPeriod
type HistoricalStatsDefinition ¶
type HistoricalStatsDefinition struct { // Category for the stat. Category StatsCategoryType `json:"category"` // Statistic group Group StatsGroupType `json:"group"` // Optional URI to an icon for the statistic IconImage string `json:"iconImage"` // The tier associated with this medal - be it implicitly or explicitly. MedalTierHash Nullable[Hash[MedalTierDefinition]] `json:"medalTierHash,omitempty"` // Optional icon for the statistic MergeMethod Nullable[int32] `json:"mergeMethod,omitempty"` // Game modes where this statistic can be reported. Modes []ActivityModeType `json:"modes"` // Time periods the statistic covers PeriodTypes []PeriodType `json:"periodTypes"` // Description of a stat if applicable. StatDescription string `json:"statDescription"` // Unique programmer friendly ID for this stat StatID string `json:"statId"` // Display name StatName string `json:"statName"` // Display name abbreviated StatNameAbbr string `json:"statNameAbbr"` // Localized Unit Name for the stat. UnitLabel string `json:"unitLabel"` // Unit, if any, for the statistic UnitType UnitType `json:"unitType"` // Weight assigned to this stat indicating its relative impressiveness. Weight int32 `json:"weight"` }
Destiny.HistoricalStats.Definitions.DestinyHistoricalStatsDefinition
type HistoricalStatsPerCharacter ¶
type HistoricalStatsPerCharacter struct { CharacterID Int64 `json:"characterId"` Deleted bool `json:"deleted"` Merged HistoricalStatsByPeriod `json:"merged"` Results map[string]HistoricalStatsByPeriod `json:"results"` }
Destiny.HistoricalStats.DestinyHistoricalStatsPerCharacter
type HistoricalStatsPeriodGroup ¶
type HistoricalStatsPeriodGroup struct { // If the period group is for a specific activity, this property will be set. ActivityDetails HistoricalStatsActivity `json:"activityDetails"` // Period for the group. If the stat periodType is day, then this will have a specific day. If the type // is monthly, then this value will be the first day of the applicable month. This value is not set // when the periodType is 'all time'. Period Timestamp `json:"period"` // Collection of stats for the period. Values map[string]HistoricalStatsValue `json:"values"` }
Destiny.HistoricalStats.DestinyHistoricalStatsPeriodGroup
type HistoricalStatsResults ¶
Destiny.HistoricalStats.DestinyHistoricalStatsResults
type HistoricalStatsValue ¶
type HistoricalStatsValue struct { // When a stat represents the best, most, longest, fastest or some other personal best, the actual // activity ID where that personal best was established is available on this property. ActivityID Nullable[Int64] `json:"activityId,omitempty"` // Basic stat value. Basic HistoricalStatsValuePair `json:"basic"` // Per game average for the statistic, if applicable Pga HistoricalStatsValuePair `json:"pga"` // Unique ID for this stat StatID string `json:"statId"` // Weighted value of the stat if a weight greater than 1 has been assigned. Weighted HistoricalStatsValuePair `json:"weighted"` }
{ "additionalProperties": { "$ref": "#/components/schemas/Destiny.HistoricalStats.DestinyHistoricalStatsByPeriod" }, "type": "object", "x-dictionary-key": { "type": "string" } }
Destiny.HistoricalStats.DestinyHistoricalStatsValue
type HistoricalStatsValuePair ¶
type HistoricalStatsValuePair struct { // Localized formated version of the value. DisplayValue string `json:"displayValue"` // Raw value of the statistic Value float64 `json:"value"` }
Destiny.HistoricalStats.DestinyHistoricalStatsValuePair
type HistoricalStatsWithMerged ¶
type HistoricalStatsWithMerged struct { Merged HistoricalStatsByPeriod `json:"merged"` Results map[string]HistoricalStatsByPeriod `json:"results"` }
Destiny.HistoricalStats.DestinyHistoricalStatsWithMerged
type HistoricalWeaponStats ¶
type HistoricalWeaponStats struct { // The hash ID of the item definition that describes the weapon. ReferenceID Hash[InventoryItemDefinition] `json:"referenceId"` // Collection of stats for the period. Values map[string]HistoricalStatsValue `json:"values"` }
Destiny.HistoricalStats.DestinyHistoricalWeaponStats
type HistoricalWeaponStatsData ¶
type HistoricalWeaponStatsData struct { // List of weapons and their perspective values. Weapons []HistoricalWeaponStats `json:"weapons"` }
Destiny.HistoricalStats.DestinyHistoricalWeaponStatsData
type HostGuidedGamesPermissionLevel ¶
type HostGuidedGamesPermissionLevel int32
GroupsV2.HostGuidedGamesPermissionLevel
Used for setting the guided game permission level override (admins and founders can always host guided games).
func (HostGuidedGamesPermissionLevel) Enum ¶
func (e HostGuidedGamesPermissionLevel) Enum() string
type HyperlinkReference ¶
Links.HyperlinkReference
type IconSequenceDefinition ¶
type IconSequenceDefinition struct {
Frames []string `json:"frames"`
}
Destiny.Definitions.Common.DestinyIconSequenceDefinition
func (IconSequenceDefinition) DefinitionTable ¶
func (d IconSequenceDefinition) DefinitionTable() string
type IgnoreLength ¶
type IgnoreLength int32
Ignores.IgnoreLength
func (IgnoreLength) Enum ¶
func (e IgnoreLength) Enum() string
type IgnoreResponse ¶
type IgnoreResponse struct { IgnoreFlags BitmaskSet[IgnoreStatus] `json:"ignoreFlags"` IsIgnored bool `json:"isIgnored"` }
Ignores.IgnoreResponse
type IgnoreStatus ¶
type IgnoreStatus int32
Ignores.IgnoreStatus
func (IgnoreStatus) Enum ¶
func (e IgnoreStatus) Enum() string
type ImagePyramidEntry ¶
type ImagePyramidEntry struct { // The factor by which the original image size has been reduced. Factor float64 `json:"factor"` // The name of the subfolder where these images are located. Name string `json:"name"` }
Destiny.Config.ImagePyramidEntry
type InsertPlugActionDefinition ¶
type InsertPlugActionDefinition struct { // How long it takes for the Plugging of the item to be completed once it is initiated, if you care. ActionExecuteSeconds int32 `json:"actionExecuteSeconds"` // The type of action being performed when you act on this Socket Type. The most common value is // "insert plug", but there are others as well (for instance, a "Masterwork" socket may allow for // Re-initialization, and an Infusion socket allows for items to be consumed to upgrade the item) ActionType SocketTypeActionType `json:"actionType"` }
Destiny.Definitions.Sockets.DestinyInsertPlugActionDefinition
Data related to what happens while a plug is being inserted, mostly for UI purposes.
func (InsertPlugActionDefinition) DefinitionTable ¶
func (d InsertPlugActionDefinition) DefinitionTable() string
type InsertPlugsActionRequest ¶
type InsertPlugsActionRequest struct { // Action token provided by the AwaGetActionToken API call. ActionToken string `json:"actionToken"` CharacterID Int64 `json:"characterId"` // The instance ID of the item having a plug inserted. Only instanced items can have sockets. ItemInstanceID Int64 `json:"itemInstanceId"` MembershipType BungieMembershipType `json:"membershipType"` // The plugs being inserted. Plug InsertPlugsRequestEntry `json:"plug"` }
Destiny.Requests.Actions.DestinyInsertPlugsActionRequest
type InsertPlugsFreeActionRequest ¶
type InsertPlugsFreeActionRequest struct { CharacterID Int64 `json:"characterId"` // The instance ID of the item for this action request. ItemID Int64 `json:"itemId"` MembershipType BungieMembershipType `json:"membershipType"` // The plugs being inserted. Plug InsertPlugsRequestEntry `json:"plug"` }
Destiny.Requests.Actions.DestinyInsertPlugsFreeActionRequest
type InsertPlugsRequestEntry ¶
type InsertPlugsRequestEntry struct { // Plugs are never instanced (except in infusion). So with the hash alone, we should be able to: 1) // Infer whether the player actually needs to have the item, or if it's a reusable plug 2) Perform any // operation needed to use the Plug, including removing the plug item and running reward sheets. PlugItemHash uint32 `json:"plugItemHash"` // This property, combined with the socketIndex, tells us which socket we are referring to (since // operations can be performed on both Intrinsic and "default" sockets, and they occupy different // arrays in the Inventory Item Definition). I know, I know. Don't give me that look. SocketArrayType SocketArrayType `json:"socketArrayType"` // The index into the socket array, which identifies the specific socket being operated on. We also // need to know the socketArrayType in order to uniquely identify the socket. // Don't point to or try to insert a plug into an infusion socket. It won't work. SocketIndex int32 `json:"socketIndex"` }
Destiny.Requests.Actions.DestinyInsertPlugsRequestEntry
Represents all of the data related to a single plug to be inserted. Note that, while you *can* point to a socket that represents infusion, you will receive an error if you attempt to do so. Come on guys, let's play nice.
type InterceptorFunc ¶
type InterceptorFuncClient ¶
type InterceptorFuncClient struct { Base Client F InterceptorFunc }
func (InterceptorFuncClient) Do ¶
func (fc InterceptorFuncClient) Do(ctx context.Context, r ClientRequest, resp any) error
type InterpolationPoint ¶
Interpolation.InterpolationPoint
type InterpolationPointFloat ¶
Interpolation.InterpolationPointFloat
type InventoryBucketDefinition ¶
type InventoryBucketDefinition struct { // Use this property to provide a quick-and-dirty recommended ordering for buckets in the UI. Most UIs // will likely want to forsake this for something more custom and manual. BucketOrder int32 `json:"bucketOrder"` // An enum value for what items can be found in the bucket. See the BucketCategory enum for more // details. Category BucketCategory `json:"category"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If True, this bucket is enabled. Disabled buckets may include buckets that were included for test // purposes, or that were going to be used but then were abandoned but never removed from content // *cough*. Enabled bool `json:"enabled"` // if a FIFO bucket fills up, it will delete the oldest item from said bucket when a new item tries to // be added to it. If this is FALSE, the bucket will not allow new items to be placed in it until room // is made by the user manually deleting items from it. You can see an example of this with the // Postmaster's bucket. Fifo bool `json:"fifo"` // If TRUE, there is at least one Vendor that can transfer items to/from this bucket. See the // DestinyVendorDefinition's acceptedItems property for more information on how transferring works. HasTransferDestination bool `json:"hasTransferDestination"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The maximum # of item "slots" in a bucket. A slot is a given combination of item + quantity. // For instance, a Weapon will always take up a single slot, and always have a quantity of 1. But a // material could take up only a single slot with hundreds of quantity. ItemCount int32 `json:"itemCount"` // Sometimes, inventory buckets represent conceptual "locations" in the game that might not be // expected. This value indicates the conceptual location of the bucket, regardless of where it is // actually contained on the character/account. // See ItemLocation for details. // Note that location includes the Vault and the Postmaster (both of whom being just inventory buckets // with additional actions that can be performed on them through a Vendor) Location ItemLocation `json:"location"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // Where the bucket is found. 0 = Character, 1 = Account Scope BucketScope `json:"scope"` }
Destiny.Definitions.DestinyInventoryBucketDefinition
An Inventory (be it Character or Profile level) is comprised of many Buckets. An example of a bucket is "Primary Weapons", where all of the primary weapons on a character are gathered together into a single visual element in the UI: a subset of the inventory that has a limited number of slots, and in this case also has an associated Equipment Slot for equipping an item in the bucket. Item definitions declare what their "default" bucket is (DestinyInventoryItemDefinition.inventory.bucketTypeHash), and Item instances will tell you which bucket they are currently residing in (DestinyItemComponent.bucketHash). You can use this information along with the DestinyInventoryBucketDefinition to show these items grouped by bucket. You cannot transfer an item to a bucket that is not its Default without going through a Vendor's "accepted items" (DestinyVendorDefinition.acceptedItems). This is how transfer functionality like the Vault is implemented, as a feature of a Vendor. See the vendor's acceptedItems property for more details.
func (InventoryBucketDefinition) DefinitionTable ¶
func (d InventoryBucketDefinition) DefinitionTable() string
type InventoryChangedResponse ¶
type InventoryChangedResponse struct { // Items that appeared in the inventory possibly as a result of an action. AddedInventoryItems []ItemComponent `json:"addedInventoryItems"` // Items that disappeared from the inventory possibly as a result of an action. RemovedInventoryItems []ItemComponent `json:"removedInventoryItems"` }
Destiny.Responses.InventoryChangedResponse
A response containing all of the components for all requested vendors.
type InventoryComponent ¶
type InventoryComponent struct { // The items in this inventory. If you care to bucket them, use the item's bucketHash property to group // them. Items []ItemComponent `json:"items"` }
Destiny.Entities.Inventory.DestinyInventoryComponent
A list of minimal information for items in an inventory: be it a character's inventory, or a Profile's inventory. (Note that the Vault is a collection of inventory buckets in the Profile's inventory) Inventory Items returned here are in a flat list, but importantly they have a bucketHash property that indicates the specific inventory bucket that is holding them. These buckets constitute things like the separate sections of the Vault, the user's inventory slots, etc. See DestinyInventoryBucketDefinition for more info.
type InventoryItemDefinition ¶
type InventoryItemDefinition struct { // If the item can be "used", this block will be non-null, and will have data related to the action // performed when using the item. (Guess what? 99% of the time, this action is "dismantle". Shocker) Action ItemActionBlockDefinition `json:"action"` // BNet may forbid the execution of actions on this item via the API. If that is occurring, // allowActions will be set to false. AllowActions bool `json:"allowActions"` // If any animations were extracted from game content for this item, these will be the definitions of // those animations. Animations []AnimationReference `json:"animations"` // Sometimes, an item will have a background color. Most notably this occurs with Emblems, who use the // Background Color for small character nameplates such as the "friends" view you see in-game. There // are almost certainly other items that have background color as well, though I have not bothered to // investigate what items have it nor what purposes they serve: use it as you will. BackgroundColor Color `json:"backgroundColor"` // Some weapons and plugs can have a "Breaker Type": a special ability that works sort of like damage // type vulnerabilities. This is (almost?) always set on items by plugs. BreakerType BreakerType `json:"breakerType"` // Since we also have a breaker type definition, this is the hash for that breaker type for your // convenience. Whether you use the enum or hash and look up the definition depends on what's cleanest // for your code. BreakerTypeHash Nullable[Hash[BreakerTypeDefinition]] `json:"breakerTypeHash,omitempty"` // We run a similarly weak-sauce algorithm to try and determine whether an item is restricted to a // specific class. If we find it to be restricted in such a way, we set this classType property to // match the class' enumeration value so that users can easily identify class restricted items. // If you see a mis-classed item, please inform the developers in the Bungie API forum. ClassType Class `json:"classType"` // If this item has a collectible related to it, this is the hash identifier of that collectible entry. CollectibleHash Nullable[Hash[CollectibleDefinition]] `json:"collectibleHash,omitempty"` // Recipe items will have relevant crafting information available here. Crafting ItemCraftingBlockDefinition `json:"crafting"` // Theoretically, an item can have many possible damage types. In *practice*, this is not true, but // just in case weapons start being made that have multiple (for instance, an item where a socket has // reusable plugs for every possible damage type that you can choose from freely), this field will // return all of the possible damage types that are available to the weapon by default. DamageTypeHashes []uint32 `json:"damageTypeHashes"` // This is the list of all damage types that we know ahead of time the item can take on. Unfortunately, // this does not preclude the possibility of something funky happening to give the item a damage type // that cannot be predicted beforehand: for example, if some designer decides to create arbitrary // non-reusable plugs that cause damage type to change. // This damage type prediction will only use the following to determine potential damage types: // - Intrinsic perks // - Talent Node perks // - Known, reusable plugs for sockets DamageTypes []DamageType `json:"damageTypes"` // If the item has a damage type that could be considered to be default, it will be populated here. // For various upsetting reasons, it's surprisingly cumbersome to figure this out. I hope you're happy. DefaultDamageType DamageType `json:"defaultDamageType"` // Similar to defaultDamageType, but represented as the hash identifier for a // DestinyDamageTypeDefinition. // I will likely regret leaving in the enumeration versions of these properties, but for now they're // very convenient. DefaultDamageTypeHash Nullable[Hash[DamageTypeDefinition]] `json:"defaultDamageTypeHash,omitempty"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // In theory, it is a localized string telling you about how you can find the item. I really wish this // was more consistent. Many times, it has nothing. Sometimes, it's instead a more narrative-forward // description of the item. Which is cool, and I wish all properties had that data, but it should // really be its own property. DisplaySource string `json:"displaySource"` // The boolean will indicate to us (and you!) whether something *could* happen when you transfer this // item from the Postmaster that might be considered a "destructive" action. // It is not feasible currently to tell you (or ourelves!) in a consistent way whether this *will* // actually cause a destructive action, so we are playing it safe: if it has the potential to do so, we // will not allow it to be transferred from the Postmaster by default. You will need to check for this // flag before transferring an item from the Postmaster, or else you'll end up receiving an error. DoesPostmasterPullHaveSideEffects bool `json:"doesPostmasterPullHaveSideEffects"` // If the item is an emblem that has a special Objective attached to it - for instance, if the emblem // tracks PVP Kills, or what-have-you. This is a bit different from, for example, the Vanguard Kill // Tracker mod, which pipes data into the "art channel". When I get some time, I would like to // standardize these so you can get at the values they expose without having to care about what they're // being used for and how they are wired up, but for now here's the raw data. EmblemObjectiveHash Nullable[uint32] `json:"emblemObjectiveHash,omitempty"` // If true, then you will be allowed to equip the item if you pass its other requirements. // This being false means that you cannot equip the item under any circumstances. Equippable bool `json:"equippable"` // If this item can be equipped, this block will be non-null and will be populated with the conditions // under which it can be equipped. EquippingBlock EquippingBlockDefinition `json:"equippingBlock"` FlavorText string `json:"flavorText"` // If this item has related items in a "Gear Set", this will be non-null and the relationships defined // herein. Gearset ItemGearsetBlockDefinition `json:"gearset"` // 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. Hash uint32 `json:"hash"` // If available, this is the original 'active' release watermark overlay for the icon. If the item has // different versions, this can be overridden by the 'display version watermark icon' from the // 'quality' block. Alternatively, if there is no watermark for the version, and the item version has a // power cap below the current season power cap, this can be overridden by the iconWatermarkShelved // property. IconWatermark string `json:"iconWatermark"` // If available, this is the 'shelved' release watermark overlay for the icon. If the item version has // a power cap below the current season power cap, it can be treated as 'shelved', and should be shown // with this 'shelved' watermark overlay. IconWatermarkShelved string `json:"iconWatermarkShelved"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this item can exist in an inventory, this block will be non-null. In practice, every item that // currently exists has one of these blocks. But note that it is not necessarily guaranteed. Inventory ItemInventoryBlockDefinition `json:"inventory"` // If the item has stats, this block will be defined. It has the "raw" investment stats for the item. // These investment stats don't take into account the ways that the items can spawn, nor do they take // into account any Stat Group transformations. I have retained them for debugging purposes, but I do // not know how useful people will find them. InvestmentStats []ItemInvestmentStatDefinition `json:"investmentStats"` // If true, this is a dummy vendor-wrapped item template. Items purchased from Eververse will be // "wrapped" by one of these items so that we can safely provide refund capabilities before the item is // "unwrapped". IsWrapper bool `json:"isWrapper"` // BNet attempts to make a more formal definition of item "Categories", as defined by // DestinyItemCategoryDefinition. This is a list of all Categories that we were able to algorithmically // determine that this item is a member of. (for instance, that it's a "Weapon", that it's an "Auto // Rifle", etc...) // The algorithm for these is, unfortunately, volatile. If you believe you see a miscategorized item, // please let us know on the Bungie API forums. ItemCategoryHashes []uint32 `json:"itemCategoryHashes"` // A value indicating the "sub-type" of the item. For instance, where an item might have an itemType // value "Weapon", this will be something more specific like "Auto Rifle". // itemCategoryHashes are the preferred way of identifying types, we have retained this enum for its // convenience. ItemSubType ItemSubType `json:"itemSubType"` // A value indicating the "base" the of the item. This enum is a useful but dramatic oversimplification // of what it means for an item to have a "Type". Still, it's handy in many situations. // itemCategoryHashes are the preferred way of identifying types, we have retained this enum for its // convenience. ItemType ItemType `json:"itemType"` // It became a common enough pattern in our UI to show Item Type and Tier combined into a single // localized string that I'm just going to go ahead and start pre-creating these for items. ItemTypeAndTierDisplayName string `json:"itemTypeAndTierDisplayName"` // The localized title/name of the item's type. This can be whatever the designers want, and has no // guarantee of consistency between items. ItemTypeDisplayName string `json:"itemTypeDisplayName"` // If we added any help or informational URLs about this item, these will be those links. Links []HyperlinkReference `json:"links"` // If the item has any related Lore (DestinyLoreDefinition), this will be the hash identifier you can // use to look up the lore definition. LoreHash Nullable[Hash[LoreDefinition]] `json:"loreHash,omitempty"` // If this item has available metrics to be shown, this block will be non-null have the appropriate // hashes defined. Metrics ItemMetricBlockDefinition `json:"metrics"` // The intrinsic transferability of an item. // I hate that this boolean is negative - but there's a reason. // Just because an item is intrinsically transferrable doesn't mean that it can be transferred, and we // don't want to imply that this is the only source of that transferability. NonTransferrable bool `json:"nonTransferrable"` // If this item has Objectives (extra tasks that can be accomplished related to the item... most // frequently when the item is a Quest Step and the Objectives need to be completed to move on to the // next Quest Step), this block will be non-null and the objectives defined herein. Objectives ItemObjectiveBlockDefinition `json:"objectives"` // If the item has any *intrinsic* Perks (Perks that it will provide regardless of Sockets, Talent // Grid, and other transitory state), they will be defined here. Perks []ItemPerkEntryDefinition `json:"perks"` // If this item *is* a Plug, this will be non-null and the info defined herein. See // DestinyItemPlugDefinition for more information. Plug ItemPlugDefinition `json:"plug"` // If this item can be Used or Acquired to gain other items (for instance, how Eververse Boxes can be // consumed to get items from the box), this block will be non-null and will give summary information // for the items that can be acquired. Preview ItemPreviewBlockDefinition `json:"preview"` // If this item can have a level or stats, this block will be non-null and will be populated with // default quality (item level, "quality", and infusion) data. See the block for more details, there's // often less upfront information in D2 so you'll want to be aware of how you use quality and item // level on the definition level now. Quality ItemQualityBlockDefinition `json:"quality"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If this item is a "reward sack" that can be opened to provide other items, this will be non-null and // the properties of the sack contained herein. Sack ItemSackBlockDefinition `json:"sack"` // If we were able to acquire an in-game screenshot for the item, the path to that screenshot will be // returned here. Note that not all items have screenshots: particularly not any non-equippable items. Screenshot string `json:"screenshot"` // If this item is related directly to a Season of Destiny, this is the hash identifier for that // season. SeasonHash Nullable[Hash[SeasonDefinition]] `json:"seasonHash,omitempty"` // A secondary icon associated with the item. Currently this is used in very context specific // applications, such as Emblem Nameplates. SecondaryIcon string `json:"secondaryIcon"` // Pulled from the secondary icon, this is the "secondary background" of the secondary icon. Confusing? // Sure, that's why I call it "overlay" here: because as far as it's been used thus far, it has been // for an optional overlay image. We'll see if that holds up, but at least for now it explains what // this image is a bit better. SecondaryOverlay string `json:"secondaryOverlay"` // Pulled from the Secondary Icon, this is the "special" background for the item. For Emblems, this is // the background image used on the Details view: but it need not be limited to that for other types of // items. SecondarySpecial string `json:"secondarySpecial"` // If this item is a quest, this block will be non-null. In practice, I wish I had called this the // Quest block, but at the time it wasn't clear to me whether it would end up being used for purposes // other than quests. It will contain data about the steps in the quest, and mechanics we can use for // displaying and tracking the quest. SetData ItemSetBlockDefinition `json:"setData"` // If this item has any Sockets, this will be non-null and the individual sockets on the item will be // defined herein. Sockets ItemSocketBlockDefinition `json:"sockets"` // If this item has a known source, this block will be non-null and populated with source information. // Unfortunately, at this time we are not generating sources: that is some aggressively manual work // which we didn't have time for, and I'm hoping to get back to at some point in the future. SourceData ItemSourceBlockDefinition `json:"sourceData"` // In Destiny 1, we identified some items as having particular categories that we'd like to know about // for various internal logic purposes. These are defined in SpecialItemType, and while these days the // itemCategoryHashes are the preferred way of identifying types, we have retained this enum for its // convenience. SpecialItemType SpecialItemType `json:"specialItemType"` // If this item can have stats (such as a weapon, armor, or vehicle), this block will be non-null and // populated with the stats found on the item. Stats ItemStatBlockDefinition `json:"stats"` // Summary data about the item. Summary ItemSummaryBlockDefinition `json:"summary"` // There are times when the game will show you a "summary/vague" version of an item - such as a // description of its type represented as a DestinyInventoryItemDefinition - rather than display the // item itself. // This happens sometimes when summarizing possible rewards in a tooltip. This is the item displayed // instead, if it exists. SummaryItemHash Nullable[Hash[InventoryItemDefinition]] `json:"summaryItemHash,omitempty"` // If the item has a Talent Grid, this will be non-null and the properties of the grid defined herein. // Note that, while many items still have talent grids, the only ones with meaningful Nodes still on // them will be Subclass/"Build" items. TalentGrid ItemTalentGridBlockDefinition `json:"talentGrid"` // Tooltips that only come up conditionally for the item. Check the live data // DestinyItemComponent.tooltipNotificationIndexes property for which of these should be shown at // runtime. TooltipNotifications []ItemTooltipNotification `json:"tooltipNotifications"` // An identifier that the game UI uses to determine what type of tooltip to show for the item. These // have no corresponding definitions that BNet can link to: so it'll be up to you to interpret and // display your UI differently according to these styles (or ignore it). TooltipStyle string `json:"tooltipStyle"` // These are the corresponding trait definition hashes for the entries in traitIds. TraitHashes []uint32 `json:"traitHashes"` // Traits are metadata tags applied to this item. For example: armor slot, weapon type, foundry, // faction, etc. These IDs come from the game and don't map to any content, but should still be useful. TraitIds []string `json:"traitIds"` // If this item can be rendered, this block will be non-null and will be populated with rendering // information. TranslationBlock ItemTranslationBlockDefinition `json:"translationBlock"` // A string identifier that the game's UI uses to determine how the item should be rendered in // inventory screens and the like. This could really be anything - at the moment, we don't have the // time to really breakdown and maintain all the possible strings this could be, partly because new // ones could be added ad hoc. But if you want to use it to dictate your own UI, or look for items with // a certain display style, go for it! UiItemDisplayStyle string `json:"uiItemDisplayStyle"` // The conceptual "Value" of an item, if any was defined. See the DestinyItemValueBlockDefinition for // more details. Value ItemValueBlockDefinition `json:"value"` }
Destiny.Definitions.DestinyInventoryItemDefinition
So much of what you see in Destiny is actually an Item used in a new and creative way. This is the definition for Items in Destiny, which started off as just entities that could exist in your Inventory but ended up being the backing data for so much more: quests, reward previews, slots, and subclasses. In practice, you will want to associate this data with "live" item data from a Bungie.Net Platform call: these definitions describe the item in generic, non-instanced terms: but an actual instance of an item can vary widely from these generic definitions.
func (InventoryItemDefinition) DefinitionTable ¶
func (d InventoryItemDefinition) DefinitionTable() string
type InventoryItemStatDefinition ¶
type InventoryItemStatDefinition struct { // The maximum possible value for the stat as shown in the UI, if it is being shown somewhere that // reveals maximum in the UI (such as a bar chart-style view). // This is pulled directly from the item's DestinyStatGroupDefinition, and placed here for convenience. // If not returned, there is no maximum to use (and thus the stat should not be shown in a way that // assumes there is a limit to the stat) DisplayMaximum Nullable[int32] `json:"displayMaximum,omitempty"` // The maximum possible value for this stat that we think the item can roll. // WARNING: In Destiny 1, this field was calculated using the potential stat rolls on the item's talent // grid. In Destiny 2, items no longer have meaningful talent grids and instead have sockets: but the // calculation of this field was never altered to adapt to this change. As such, this field should be // considered deprecated until we can address this oversight. Maximum int32 `json:"maximum"` // The minimum possible value for this stat that we think the item can roll. Minimum int32 `json:"minimum"` // The hash for the DestinyStatDefinition representing this stat. StatHash Hash[StatDefinition] `json:"statHash"` // This value represents the stat value assuming the minimum possible roll but accounting for any // mandatory bonuses that should be applied to the stat on item creation. // In Destiny 1, this was different from the "minimum" value because there were certain conditions // where an item could be theoretically lower level/value than the initial roll. // In Destiny 2, this is not possible unless Talent Grids begin to be used again for these purposes or // some other system change occurs... thus in practice, value and minimum should be the same in Destiny // 2. Good riddance. Value int32 `json:"value"` }
Destiny.Definitions.DestinyInventoryItemStatDefinition
Defines a specific stat value on an item, and the minimum/maximum range that we could compute for the item based on our heuristics for how the item might be generated. Not guaranteed to match real-world instances of the item, but should hopefully at least be close. If it's not close, let us know on the Bungie API forums.
func (InventoryItemStatDefinition) DefinitionTable ¶
func (d InventoryItemStatDefinition) DefinitionTable() string
type ItemActionBlockDefinition ¶
type ItemActionBlockDefinition struct { // The internal identifier for the action. ActionTypeLabel string `json:"actionTypeLabel"` // If true, the entire stack is deleted when the action completes. ConsumeEntireStack bool `json:"consumeEntireStack"` // If true, the item is deleted when the action completes. DeleteOnAction bool `json:"deleteOnAction"` // The content has this property, however it's not entirely clear how it is used. IsPositive bool `json:"isPositive"` // The icon associated with the overlay screen for the action, if any. OverlayIcon string `json:"overlayIcon"` // If the action has an overlay screen associated with it, this is the name of that screen. // Unfortunately, we cannot return the screen's data itself. OverlayScreenName string `json:"overlayScreenName"` // If performing this action earns you Progression, this is the list of progressions and values granted // for those progressions by performing this action. ProgressionRewards []ProgressionRewardDefinition `json:"progressionRewards"` // The identifier hash for the Cooldown associated with this action. We have not pulled this data yet // for you to have more data to use for cooldowns. RequiredCooldownHash uint32 `json:"requiredCooldownHash"` // The number of seconds to delay before allowing this action to be performed again. RequiredCooldownSeconds int32 `json:"requiredCooldownSeconds"` // If the action requires other items to exist or be destroyed, this is the list of those items and // requirements. RequiredItems []ItemActionRequiredItemDefinition `json:"requiredItems"` // Theoretically, an item could have a localized string for a hint about the location in which the // action should be performed. In practice, no items yet have this property. RequiredLocation string `json:"requiredLocation"` // If true, this action will be performed as soon as you earn this item. Some rewards work this way, // providing you a single item to pick up from a reward-granting vendor in-game and then immediately // consuming itself to provide you multiple items. UseOnAcquire bool `json:"useOnAcquire"` // Localized text describing the action being performed. VerbDescription string `json:"verbDescription"` // Localized text for the verb of the action being performed. VerbName string `json:"verbName"` }
Destiny.Definitions.DestinyItemActionBlockDefinition
If an item can have an action performed on it (like "Dismantle"), it will be defined here if you care.
func (ItemActionBlockDefinition) DefinitionTable ¶
func (d ItemActionBlockDefinition) DefinitionTable() string
type ItemActionRequest ¶
type ItemActionRequest struct { CharacterID Int64 `json:"characterId"` // The instance ID of the item for this action request. ItemID Int64 `json:"itemId"` MembershipType BungieMembershipType `json:"membershipType"` }
Destiny.Requests.Actions.DestinyItemActionRequest
type ItemActionRequiredItemDefinition ¶
type ItemActionRequiredItemDefinition struct { // The minimum quantity of the item you have to have. Count int32 `json:"count"` // If true, the item/quantity will be deleted from your inventory when the action is performed. // Otherwise, you'll retain these required items after the action is complete. DeleteOnAction bool `json:"deleteOnAction"` // The hash identifier of the item you need to have. Use it to look up the // DestinyInventoryItemDefinition for more info. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` }
Destiny.Definitions.DestinyItemActionRequiredItemDefinition
The definition of an item and quantity required in a character's inventory in order to perform an action.
func (ItemActionRequiredItemDefinition) DefinitionTable ¶
func (d ItemActionRequiredItemDefinition) DefinitionTable() string
type ItemBindStatus ¶
type ItemBindStatus int32
Destiny.ItemBindStatus
func (ItemBindStatus) Enum ¶
func (e ItemBindStatus) Enum() string
type ItemCategoryDefinition ¶
type ItemCategoryDefinition struct { // If True, this category has been deprecated: it may have no items left, or there may be only legacy // items that remain in it which are no longer relevant to the game. Deprecated bool `json:"deprecated"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If the item in question has this category, it also should have this breaker type. GrantDestinyBreakerType BreakerType `json:"grantDestinyBreakerType"` // If an item belongs to this category, it will also get this class restriction enum value. // See the other "grant"-prefixed properties on this definition for my color commentary. GrantDestinyClass Class `json:"grantDestinyClass"` // If an item belongs to this category, it will also receive this item type. This is now how // DestinyItemType is populated for items: it used to be an even jankier process, but that's a story // that requires more alcohol. GrantDestinyItemType ItemType `json:"grantDestinyItemType"` // If an item belongs to this category, it will also receive this subtype enum value. // I know what you're thinking - what if it belongs to multiple categories that provide sub-types? // The last one processed wins, as is the case with all of these "grant" enums. Now you can see one // reason why we moved away from these enums... but they're so convenient when they work, aren't they? GrantDestinySubType ItemSubType `json:"grantDestinySubType"` // If true, this category is only used for grouping, and should not be evaluated with its own checks. // Rather, the item only has this category if it has one of its child categories. GroupCategoryOnly bool `json:"groupCategoryOnly"` // If this category is a "parent" category of other categories, those children will have their hashes // listed in rendering order here, and can be looked up using these hashes against // DestinyItemCategoryDefinition. // In this way, you can build up a visual hierarchy of item categories. That's what we did, and you can // do it too. I believe in you. Yes, you, Carl. // (I hope someone named Carl reads this someday) GroupedCategoryHashes []uint32 `json:"groupedCategoryHashes"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The janky regular expression we used against the item type to try and discern whether the item // belongs to this category. ItemTypeRegex string `json:"itemTypeRegex"` // If the item type matches this janky regex, it does *not* belong to this category. ItemTypeRegexNot string `json:"itemTypeRegexNot"` // If the item belongs to this bucket, it does belong to this category. OriginBucketIdentifier string `json:"originBucketIdentifier"` // All item category hashes of "parent" categories: categories that contain this as a child through the // hierarchy of groupedCategoryHashes. It's a bit redundant, but having this child-centric list speeds // up some calculations. ParentCategoryHashes []uint32 `json:"parentCategoryHashes"` // If the item is a plug, this is the identifier we expect to find associated with it if it is in this // category. PlugCategoryIdentifier string `json:"plugCategoryIdentifier"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // A shortened version of the title. The reason why we have this is because the Armory in German had // titles that were too long to display in our UI, so these were localized abbreviated versions of // those categories. The property still exists today, even though the Armory doesn't exist for D2... // yet. ShortTitle string `json:"shortTitle"` // The traitId that can be found on items that belong to this category. TraitID string `json:"traitId"` // If True, this category should be visible in UI. Sometimes we make categories that we don't think are // interesting externally. It's up to you if you want to skip on showing them. Visible bool `json:"visible"` }
Destiny.Definitions.DestinyItemCategoryDefinition
In an attempt to categorize items by type, usage, and other interesting properties, we created DestinyItemCategoryDefinition: information about types that is assembled using a set of heuristics that examine the properties of an item such as what inventory bucket it's in, its item type name, and whether it has or is missing certain blocks of data. This heuristic is imperfect, however. If you find an item miscategorized, let us know on the Bungie API forums! We then populate all of the categories that we think an item belongs to in its DestinyInventoryItemDefinition.itemCategoryHashes property. You can use that to provide your own custom item filtering, sorting, aggregating... go nuts on it! And let us know if you see more categories that you wish would be added!
func (ItemCategoryDefinition) DefinitionTable ¶
func (d ItemCategoryDefinition) DefinitionTable() string
type ItemChangeResponse ¶
type ItemChangeResponse struct { // Items that appeared in the inventory possibly as a result of an action. AddedInventoryItems []ItemComponent `json:"addedInventoryItems"` Item ItemResponse `json:"item"` // Items that disappeared from the inventory possibly as a result of an action. RemovedInventoryItems []ItemComponent `json:"removedInventoryItems"` }
Destiny.Responses.DestinyItemChangeResponse
type ItemComponent ¶
type ItemComponent struct { // If the item is bound to a location, it will be specified in this enum. BindStatus ItemBindStatus `json:"bindStatus"` // The hash identifier for the specific inventory bucket in which the item is located. BucketHash Hash[InventoryBucketDefinition] `json:"bucketHash"` // If the item can expire, this is the date at which it will/did expire. ExpirationDate Nullable[Timestamp] `json:"expirationDate,omitempty"` // If this is true, the object is actually a "wrapper" of the object it's representing. This means that // it's not the actual item itself, but rather an item that must be "opened" in game before you have // and can use the item. // // Wrappers are an evolution of "bundles", which give an easy way to let you preview the contents of // // what you purchased while still letting you get a refund before you "open" it. IsWrapper bool `json:"isWrapper"` // The identifier for the item's definition, which is where most of the useful static information for // the item can be found. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If the item is instanced, it will have an instance ID. Lack of an instance ID implies that the item // has no distinct local qualities aside from stack size. ItemInstanceID Nullable[Int64] `json:"itemInstanceId,omitempty"` // If available, a list that describes which item values (rewards) should be shown (true) or hidden // (false). ItemValueVisibility []bool `json:"itemValueVisibility"` // An easy reference for where the item is located. Redundant if you got the item from an Inventory, // but useful when making detail calls on specific items. Location ItemLocation `json:"location"` // If the item can be locked, this will indicate that state. Lockable bool `json:"lockable"` // The identifier for the currently-selected metric definition, to be displayed on the emblem // nameplate. MetricHash Nullable[Hash[MetricDefinition]] `json:"metricHash,omitempty"` // The objective progress for the currently-selected metric definition, to be displayed on the emblem // nameplate. MetricObjective ObjectiveProgress `json:"metricObjective"` // If populated, this is the hash of the item whose icon (and other secondary styles, but *not* the // human readable strings) should override whatever icons/styles are on the item being sold. // If you don't do this, certain items whose styles are being overridden by socketed items - such as // the "Recycle Shader" item - would show whatever their default icon/style is, and it wouldn't be // pretty or look accurate. OverrideStyleItemHash Nullable[Hash[InventoryItemDefinition]] `json:"overrideStyleItemHash,omitempty"` // The quantity of the item in this stack. Note that Instanced items cannot stack. If an instanced // item, this value will always be 1 (as the stack has exactly one item in it) Quantity int32 `json:"quantity"` // A flags enumeration indicating the transient/custom states of the item that affect how it is // rendered: whether it's tracked or locked for example, or whether it has a masterwork plug inserted. State BitmaskSet[ItemState] `json:"state"` // If this is populated, it is a list of indexes into // DestinyInventoryItemDefinition.tooltipNotifications for any special tooltip messages that need to be // shown for this item. TooltipNotificationIndexes []int32 `json:"tooltipNotificationIndexes"` // If there is a known error state that would cause this item to not be transferable, this Flags enum // will indicate all of those error states. Otherwise, it will be 0 (CanTransfer). TransferStatus BitmaskSet[TransferStatuses] `json:"transferStatus"` // The version of this item, used to index into the versions list in the item definition quality block. VersionNumber Nullable[int32] `json:"versionNumber,omitempty"` }
Destiny.Entities.Items.DestinyItemComponent
The base item component, filled with properties that are generally useful to know in any item request or that don't feel worthwhile to put in their own component.
type ItemComponentSet ¶
type ItemComponentSet[T comparable] struct { Sockets ComponentResponse[map[T]ItemSocketsComponent] `json:"sockets"` PlugObjectives ComponentResponse[map[T]ItemPlugObjectivesComponent] `json:"plugObjectives"` PlugStates ComponentResponse[map[T]ItemPlugComponent] `json:"plugStates"` Perks ComponentResponse[map[T]ItemPerksComponent] `json:"perks"` RenderData ComponentResponse[map[T]ItemRenderComponent] `json:"renderData"` Stats ComponentResponse[map[T]ItemStatsComponent] `json:"stats"` Objectives ComponentResponse[map[T]ItemObjectivesComponent] `json:"objectives"` Instances ComponentResponse[map[T]ItemInstanceComponent] `json:"instances"` ReusablePlugs ComponentResponse[map[T]ItemReusablePlugsComponent] `json:"reusablePlugs"` TalentGrids ComponentResponse[map[T]ItemTalentGridComponent] `json:"talentGrids"` }
type ItemCraftingBlockBonusPlugDefinition ¶
type ItemCraftingBlockBonusPlugDefinition struct { PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` SocketTypeHash Hash[SocketTypeDefinition] `json:"socketTypeHash"` }
Destiny.Definitions.DestinyItemCraftingBlockBonusPlugDefinition
func (ItemCraftingBlockBonusPlugDefinition) DefinitionTable ¶
func (d ItemCraftingBlockBonusPlugDefinition) DefinitionTable() string
type ItemCraftingBlockDefinition ¶
type ItemCraftingBlockDefinition struct { // A reference to the base material requirements for crafting with this recipe. BaseMaterialRequirements Nullable[Hash[MaterialRequirementSetDefinition]] `json:"baseMaterialRequirements,omitempty"` // A list of 'bonus' socket plugs that may be available if certain requirements are met. BonusPlugs []ItemCraftingBlockBonusPlugDefinition `json:"bonusPlugs"` FailedRequirementStrings []string `json:"failedRequirementStrings"` // A reference to the item definition that is created when crafting with this 'recipe' item. OutputItemHash Hash[InventoryItemDefinition] `json:"outputItemHash"` // A list of socket type hashes that describes which sockets are required for crafting with this // recipe. RequiredSocketTypeHashes []uint32 `json:"requiredSocketTypeHashes"` }
Destiny.Definitions.DestinyItemCraftingBlockDefinition
If an item can have an action performed on it (like "Dismantle"), it will be defined here if you care.
func (ItemCraftingBlockDefinition) DefinitionTable ¶
func (d ItemCraftingBlockDefinition) DefinitionTable() string
type ItemCreationEntryLevelDefinition ¶
type ItemCreationEntryLevelDefinition struct {
Level int32 `json:"level"`
}
Destiny.Definitions.DestinyItemCreationEntryLevelDefinition
An overly complicated wrapper for the item level at which the item should spawn.
func (ItemCreationEntryLevelDefinition) DefinitionTable ¶
func (d ItemCreationEntryLevelDefinition) DefinitionTable() string
type ItemGearsetBlockDefinition ¶
type ItemGearsetBlockDefinition struct { // The list of hashes for items in the gearset. Use them to look up DestinyInventoryItemDefinition // entries for the items in the set. ItemList []uint32 `json:"itemList"` // The maximum possible number of items that can be collected. TrackingValueMax int32 `json:"trackingValueMax"` }
Destiny.Definitions.DestinyItemGearsetBlockDefinition
If an item has a related gearset, this is the list of items in that set, and an unlock expression that evaluates to a number representing the progress toward gearset completion (a very rare use for unlock expressions!)
func (ItemGearsetBlockDefinition) DefinitionTable ¶
func (d ItemGearsetBlockDefinition) DefinitionTable() string
type ItemInstanceComponent ¶
type ItemInstanceComponent struct { // If populated, this item has a breaker type corresponding to the given value. See // DestinyBreakerTypeDefinition for more details. BreakerType Nullable[int32] `json:"breakerType,omitempty"` // If populated, this is the hash identifier for the item's breaker type. See // DestinyBreakerTypeDefinition for more details. BreakerTypeHash Nullable[Hash[BreakerTypeDefinition]] `json:"breakerTypeHash,omitempty"` // If this is an equippable item, you can check it here. There are permanent as well as transitory // reasons why an item might not be able to be equipped: check cannotEquipReason for details. CanEquip bool `json:"canEquip"` // If you cannot equip the item, this is a flags enum that enumerates all of the reasons why you // couldn't equip the item. You may need to refine your UI further by using unlockHashesRequiredToEquip // and equipRequiredLevel. CannotEquipReason BitmaskSet[EquipFailureReason] `json:"cannotEquipReason"` // If the item has a damage type, this is the item's current damage type. DamageType DamageType `json:"damageType"` // The current damage type's hash, so you can look up localized info and icons for it. DamageTypeHash Nullable[Hash[DamageTypeDefinition]] `json:"damageTypeHash,omitempty"` // IF populated, this item supports Energy mechanics (i.e. Armor 2.0), and these are the current // details of its energy type and available capacity to spend energy points. Energy ItemInstanceEnergy `json:"energy"` // If the item cannot be equipped until you reach a certain level, that level will be reflected here. EquipRequiredLevel int32 `json:"equipRequiredLevel"` // Is the item currently equipped on the given character? IsEquipped bool `json:"isEquipped"` // The Item's "Level" has the most significant bearing on its stats, such as Light and Power. ItemLevel int32 `json:"itemLevel"` // The item stat that we consider to be "primary" for the item. For instance, this would be "Attack" // for Weapons or "Defense" for armor. PrimaryStat Stat `json:"primaryStat"` // The "Quality" of the item has a lesser - but still impactful - bearing on stats like Light and // Power. Quality int32 `json:"quality"` // Sometimes, there are limitations to equipping that are represented by character-level flags called // "unlocks". // This is a list of flags that they need in order to equip the item that the character has not met. // Use these to look up the descriptions to show in your UI by looking up the relevant // DestinyUnlockDefinitions for the hashes. UnlockHashesRequiredToEquip []uint32 `json:"unlockHashesRequiredToEquip"` }
Destiny.Entities.Items.DestinyItemInstanceComponent
If an item is "instanced", this will contain information about the item's instance that doesn't fit easily into other components. One might say this is the "essential" instance data for the item. Items are instanced if they require information or state that can vary. For instance, weapons are Instanced: they are given a unique identifier, uniquely generated stats, and can have their properties altered. Non-instanced items have none of these things: for instance, Glimmer has no unique properties aside from how much of it you own. You can tell from an item's definition whether it will be instanced or not by looking at the DestinyInventoryItemDefinition's definition.inventory.isInstanceItem property.
type ItemInstanceEnergy ¶
type ItemInstanceEnergy struct { // The total capacity of Energy that the item currently has, regardless of if it is currently being // used. EnergyCapacity int32 `json:"energyCapacity"` // This is the enum version of the Energy Type value, for convenience. EnergyType EnergyType `json:"energyType"` // The type of energy for this item. Plugs that require Energy can only be inserted if they have the // "Any" Energy Type or the matching energy type of this item. This is a reference to the // DestinyEnergyTypeDefinition for the energy type, where you can find extended info about it. EnergyTypeHash Hash[EnergyTypeDefinition] `json:"energyTypeHash"` // The amount of energy still available for inserting new plugs. EnergyUnused int32 `json:"energyUnused"` // The amount of Energy currently in use by inserted plugs. EnergyUsed int32 `json:"energyUsed"` }
Destiny.Entities.Items.DestinyItemInstanceEnergy
type ItemIntrinsicSocketEntryDefinition ¶
type ItemIntrinsicSocketEntryDefinition struct { // If true, then this socket is visible in the item's "default" state. If you have an instance, you // should always check the runtime state, as that can override this visibility setting: but if you're // looking at the item on a conceptual level, this property can be useful for hiding data such as // legacy sockets - which remain defined on items for infrastructure purposes, but can be confusing for // users to see. DefaultVisible bool `json:"defaultVisible"` // Indicates the plug that is intrinsically inserted into this socket. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` // Indicates the type of this intrinsic socket. SocketTypeHash Hash[SocketTypeDefinition] `json:"socketTypeHash"` }
Destiny.Definitions.DestinyItemIntrinsicSocketEntryDefinition
Represents a socket that has a plug associated with it intrinsically. This is useful for situations where the weapon needs to have a visual plug/Mod on it, but that plug/Mod should never change.
func (ItemIntrinsicSocketEntryDefinition) DefinitionTable ¶
func (d ItemIntrinsicSocketEntryDefinition) DefinitionTable() string
type ItemInventoryBlockDefinition ¶
type ItemInventoryBlockDefinition struct { // The hash identifier for the DestinyInventoryBucketDefinition to which this item belongs. I should // have named this "bucketHash", but too many things refer to it now. Sigh. BucketTypeHash Hash[InventoryBucketDefinition] `json:"bucketTypeHash"` // The tooltip message to show, if any, when the item expires. ExpirationTooltip string `json:"expirationTooltip"` // If the item expires while playing in an activity, we show a different message. ExpiredInActivityMessage string `json:"expiredInActivityMessage"` // If the item expires in orbit, we show a... more different message. ("Consummate V's, consummate!") ExpiredInOrbitMessage string `json:"expiredInOrbitMessage"` // If TRUE, this item is instanced. Otherwise, it is a generic item that merely has a quantity in a // stack (like Glimmer). IsInstanceItem bool `json:"isInstanceItem"` // The maximum quantity of this item that can exist in a stack. MaxStackSize int32 `json:"maxStackSize"` // A reference to the associated crafting 'recipe' item definition, if this item can be crafted. RecipeItemHash Nullable[Hash[InventoryItemDefinition]] `json:"recipeItemHash,omitempty"` // If the item is picked up by the lost loot queue, this is the hash identifier for the // DestinyInventoryBucketDefinition into which it will be placed. Again, I should have named this // recoveryBucketHash instead. RecoveryBucketTypeHash Hash[InventoryBucketDefinition] `json:"recoveryBucketTypeHash"` // If this string is populated, you can't have more than one stack with this label in a given // inventory. Note that this is different from the equipping block's unique label, which is used for // equipping uniqueness. StackUniqueLabel string `json:"stackUniqueLabel"` SuppressExpirationWhenObjectivesComplete bool `json:"suppressExpirationWhenObjectivesComplete"` // The enumeration matching the tier type of the item to known values, again for convenience sake. TierType TierType `json:"tierType"` // The hash identifier for the Tier Type of the item, use to look up its DestinyItemTierTypeDefinition // if you need to show localized data for the item's tier. TierTypeHash Hash[ItemTierTypeDefinition] `json:"tierTypeHash"` // The localized name of the tier type, which is a useful shortcut so you don't have to look up the // definition every time. However, it's mostly a holdover from days before we had a // DestinyItemTierTypeDefinition to refer to. TierTypeName string `json:"tierTypeName"` }
Destiny.Definitions.DestinyItemInventoryBlockDefinition
If the item can exist in an inventory - the overwhelming majority of them can and do - then this is the basic properties regarding the item's relationship with the inventory.
func (ItemInventoryBlockDefinition) DefinitionTable ¶
func (d ItemInventoryBlockDefinition) DefinitionTable() string
type ItemInvestmentStatDefinition ¶
type ItemInvestmentStatDefinition struct { // If this is true, the stat will only be applied on the item in certain game state conditions, and we // can't know statically whether or not this stat will be applied. Check the "live" API data instead // for whether this value is being applied on a specific instance of the item in question, and you can // use this to decide whether you want to show the stat on the generic view of the item, or whether you // want to show some kind of caveat or warning about the stat value being conditional on game state. IsConditionallyActive bool `json:"isConditionallyActive"` // The hash identifier for the DestinyStatDefinition defining this stat. StatTypeHash Hash[StatDefinition] `json:"statTypeHash"` // The raw "Investment" value for the stat, before transformations are performed to turn this raw stat // into stats that are displayed in the game UI. Value int32 `json:"value"` }
Destiny.Definitions.DestinyItemInvestmentStatDefinition
Represents a "raw" investment stat, before calculated stats are calculated and before any DestinyStatGroupDefinition is applied to transform the stat into something closer to what you see in-game. Because these won't match what you see in-game, consider carefully whether you really want to use these stats. I have left them in case someone can do something useful or interesting with the pre-processed statistics.
func (ItemInvestmentStatDefinition) DefinitionTable ¶
func (d ItemInvestmentStatDefinition) DefinitionTable() string
type ItemLocation ¶
type ItemLocation int32
Destiny.ItemLocation
func (ItemLocation) Enum ¶
func (e ItemLocation) Enum() string
type ItemMetricBlockDefinition ¶
type ItemMetricBlockDefinition struct { // Hash identifiers for any DestinyPresentationNodeDefinition entry that can be used to list available // metrics. Any metric listed directly below these nodes, or in any of these nodes' children will be // made available for selection. AvailableMetricCategoryNodeHashes []uint32 `json:"availableMetricCategoryNodeHashes"` }
Destiny.Definitions.DestinyItemMetricBlockDefinition
The metrics available for display and selection on an item.
func (ItemMetricBlockDefinition) DefinitionTable ¶
func (d ItemMetricBlockDefinition) DefinitionTable() string
type ItemObjectiveBlockDefinition ¶
type ItemObjectiveBlockDefinition struct { // For every entry in objectiveHashes, there is a corresponding entry in this array at the same index. // If the objective is meant to be associated with a specific DestinyActivityDefinition, there will be // a valid hash at that index. Otherwise, it will be invalid (0). // Rendered somewhat obsolete by perObjectiveDisplayProperties, which currently has much the same // information but may end up with more info in the future. DisplayActivityHashes []uint32 `json:"displayActivityHashes"` DisplayAsStatTracker bool `json:"displayAsStatTracker"` // The localized string for narrative text related to this quest step, if any. Narrative string `json:"narrative"` // The hashes to Objectives (DestinyObjectiveDefinition) that are part of this Quest Step, in the order // that they should be rendered. ObjectiveHashes []uint32 `json:"objectiveHashes"` // The localized string describing an action to be performed associated with the objectives, if any. ObjectiveVerbName string `json:"objectiveVerbName"` // One entry per Objective on the item, it will have related display information. PerObjectiveDisplayProperties []ObjectiveDisplayProperties `json:"perObjectiveDisplayProperties"` // A hashed value for the questTypeIdentifier, because apparently I like to be redundant. QuestTypeHash uint32 `json:"questTypeHash"` // The identifier for the type of quest being performed, if any. Not associated with any fixed // definition, yet. QuestTypeIdentifier string `json:"questTypeIdentifier"` // The hash for the DestinyInventoryItemDefinition representing the Quest to which this Quest Step // belongs. QuestlineItemHash Hash[InventoryItemDefinition] `json:"questlineItemHash"` // If True, all objectives must be completed for the step to be completed. If False, any one objective // can be completed for the step to be completed. RequireFullObjectiveCompletion bool `json:"requireFullObjectiveCompletion"` }
Destiny.Definitions.DestinyItemObjectiveBlockDefinition
An item can have objectives on it. In practice, these are the exclusive purview of "Quest Step" items: DestinyInventoryItemDefinitions that represent a specific step in a Quest. Quest steps have 1:M objectives that we end up processing and returning in live data as DestinyQuestStatus data, and other useful information.
func (ItemObjectiveBlockDefinition) DefinitionTable ¶
func (d ItemObjectiveBlockDefinition) DefinitionTable() string
type ItemObjectivesComponent ¶
type ItemObjectivesComponent struct { // If we have any information on when these objectives were completed, this will be the date of that // completion. This won't be on many items, but could be interesting for some items that do store this // information. DateCompleted Nullable[Timestamp] `json:"dateCompleted,omitempty"` // I may regret naming it this way - but this represents when an item has an objective that doesn't // serve a beneficial purpose, but rather is used for "flavor" or additional information. For instance, // when Emblems track specific stats, those stats are represented as Objectives on the item. FlavorObjective ObjectiveProgress `json:"flavorObjective"` // If the item has a hard association with objectives, your progress on them will be defined here. // Objectives are our standard way to describe a series of tasks that have to be completed for a // reward. Objectives []ObjectiveProgress `json:"objectives"` }
Destiny.Entities.Items.DestinyItemObjectivesComponent
Items can have objectives and progression. When you request this block, you will obtain information about any Objectives and progression tied to this item.
type ItemPeerView ¶
type ItemPeerView struct { // The list of dyes that have been applied to this item. Dyes []DyeReference `json:"dyes"` // The hash identifier of the item in question. Use it to look up the DestinyInventoryItemDefinition of // the item for static rendering data. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` }
Destiny.Character.DestinyItemPeerView
Bare minimum summary information for an item, for the sake of 3D rendering the item.
type ItemPerkEntryDefinition ¶
type ItemPerkEntryDefinition struct { // A hash identifier for the DestinySandboxPerkDefinition being provided on the item. PerkHash Hash[SandboxPerkDefinition] `json:"perkHash"` // Indicates whether this perk should be shown, or if it should be shown disabled. PerkVisibility ItemPerkVisibility `json:"perkVisibility"` // If this perk is not active, this is the string to show for why it's not providing its benefits. RequirementDisplayString string `json:"requirementDisplayString"` }
Destiny.Definitions.DestinyItemPerkEntryDefinition
An intrinsic perk on an item, and the requirements for it to be activated.
func (ItemPerkEntryDefinition) DefinitionTable ¶
func (d ItemPerkEntryDefinition) DefinitionTable() string
type ItemPerkVisibility ¶
type ItemPerkVisibility int32
Destiny.ItemPerkVisibility
Indicates how a perk should be shown, or if it should be, in the game UI. Maybe useful for those of you trying to filter out internal-use-only perks (or for those of you trying to figure out what they do!)
func (ItemPerkVisibility) Enum ¶
func (e ItemPerkVisibility) Enum() string
type ItemPerksComponent ¶
type ItemPerksComponent struct { // The list of perks to display in an item tooltip - and whether or not they have been activated. Perks []PerkReference `json:"perks"` }
Destiny.Entities.Items.DestinyItemPerksComponent
Instanced items can have perks: benefits that the item bestows. These are related to DestinySandboxPerkDefinition, and sometimes - but not always - have human readable info. When they do, they are the icons and text that you see in an item's tooltip. Talent Grids, Sockets, and the item itself can apply Perks, which are then summarized here for your convenience.
type ItemPlug ¶
type ItemPlug struct { // If true, this plug has met all of its insertion requirements. Big if true. CanInsert bool `json:"canInsert"` // If a plug is not enabled, this will be populated with indexes into the plug item definition's // plug.enabledRules property, so that you can show the reasons why it is not enabled. // This list will be empty if the plug is enabled. EnableFailIndexes []int32 `json:"enableFailIndexes"` // If true, this plug will provide its benefits while inserted. Enabled bool `json:"enabled"` // If the plug cannot be inserted for some reason, this will have the indexes into the plug item // definition's plug.insertionRules property, so you can show the reasons why it can't be inserted. // This list will be empty if the plug can be inserted. InsertFailIndexes []int32 `json:"insertFailIndexes"` // The hash identifier of the DestinyInventoryItemDefinition that represents this plug. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` // Sometimes, Plugs may have objectives: these are often used for flavor and display purposes, but they // can be used for any arbitrary purpose (both fortunately and unfortunately). Recently (with Season 2) // they were expanded in use to be used as the "gating" for whether the plug can be inserted at all. // For instance, a Plug might be tracking the number of PVP kills you have made. It will use the parent // item's data about that tracking status to determine what to show, and will generally show it using // the DestinyObjectiveDefinition's progressDescription property. Refer to the plug's itemHash and // objective property for more information if you would like to display even more data. PlugObjectives []ObjectiveProgress `json:"plugObjectives"` }
Destiny.Sockets.DestinyItemPlug
type ItemPlugBase ¶
type ItemPlugBase struct { // If true, this plug has met all of its insertion requirements. Big if true. CanInsert bool `json:"canInsert"` // If a plug is not enabled, this will be populated with indexes into the plug item definition's // plug.enabledRules property, so that you can show the reasons why it is not enabled. // This list will be empty if the plug is enabled. EnableFailIndexes []int32 `json:"enableFailIndexes"` // If true, this plug will provide its benefits while inserted. Enabled bool `json:"enabled"` // If the plug cannot be inserted for some reason, this will have the indexes into the plug item // definition's plug.insertionRules property, so you can show the reasons why it can't be inserted. // This list will be empty if the plug can be inserted. InsertFailIndexes []int32 `json:"insertFailIndexes"` // The hash identifier of the DestinyInventoryItemDefinition that represents this plug. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` }
Destiny.Sockets.DestinyItemPlugBase
type ItemPlugComponent ¶
type ItemPlugComponent struct { // If true, this plug has met all of its insertion requirements. Big if true. CanInsert bool `json:"canInsert"` // If a plug is not enabled, this will be populated with indexes into the plug item definition's // plug.enabledRules property, so that you can show the reasons why it is not enabled. // This list will be empty if the plug is enabled. EnableFailIndexes []int32 `json:"enableFailIndexes"` // If true, this plug will provide its benefits while inserted. Enabled bool `json:"enabled"` // If the plug cannot be inserted for some reason, this will have the indexes into the plug item // definition's plug.insertionRules property, so you can show the reasons why it can't be inserted. // This list will be empty if the plug can be inserted. InsertFailIndexes []int32 `json:"insertFailIndexes"` // The hash identifier of the DestinyInventoryItemDefinition that represents this plug. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` // Sometimes, Plugs may have objectives: these are often used for flavor and display purposes, but they // can be used for any arbitrary purpose (both fortunately and unfortunately). Recently (with Season 2) // they were expanded in use to be used as the "gating" for whether the plug can be inserted at all. // For instance, a Plug might be tracking the number of PVP kills you have made. It will use the parent // item's data about that tracking status to determine what to show, and will generally show it using // the DestinyObjectiveDefinition's progressDescription property. Refer to the plug's itemHash and // objective property for more information if you would like to display even more data. PlugObjectives []ObjectiveProgress `json:"plugObjectives"` }
Destiny.Components.Items.DestinyItemPlugComponent
Plugs are non-instanced items that can provide Stat and Perk benefits when socketed into an instanced item. Items have Sockets, and Plugs are inserted into Sockets. This component finds all items that are considered "Plugs" in your inventory, and return information about the plug aside from any specific Socket into which it could be inserted.
type ItemPlugDefinition ¶
type ItemPlugDefinition struct { // The alternate plug of the plug: only applies when the item is in states that only the server can // know about and control, unfortunately. See AlternateUiPlugLabel for the related label info. AlternatePlugStyle BitmaskSet[PlugUiStyles] `json:"alternatePlugStyle"` // If the plug meets certain state requirements, it may have an alternative label applied to it. This // is the alternative label that will be applied in such a situation. AlternateUiPlugLabel string `json:"alternateUiPlugLabel"` // It's not enough for the plug to be inserted. It has to be enabled as well. For it to be enabled, it // may require materials. This is the hash identifier for the DestinyMaterialRequirementSetDefinition // for those requirements, if there is one. EnabledMaterialRequirementHash Hash[MaterialRequirementSetDefinition] `json:"enabledMaterialRequirementHash"` // The rules around whether the plug, once inserted, is enabled and providing its benefits. // The live data DestinyItemPlugComponent.enableFailIndexes will be an index into this array, so you // can pull out the failure strings appropriate for the user. EnabledRules []PlugRuleDefinition `json:"enabledRules"` // IF not null, this plug provides Energy capacity to the item in which it is socketed. In Armor 2.0 // for example, is implemented in a similar way to Masterworks, where visually it's a single area of // the UI being clicked on to "Upgrade" to higher energy levels, but it's actually socketing new plugs. EnergyCapacity EnergyCapacityEntry `json:"energyCapacity"` // IF not null, this plug has an energy cost. This contains the details of that cost. EnergyCost EnergyCostEntry `json:"energyCost"` // If inserting this plug requires materials, this is the hash identifier for looking up the // DestinyMaterialRequirementSetDefinition for those requirements. InsertionMaterialRequirementHash Hash[MaterialRequirementSetDefinition] `json:"insertionMaterialRequirementHash"` // The rules around when this plug can be inserted into a socket, aside from the socket's individual // restrictions. // The live data DestinyItemPlugComponent.insertFailIndexes will be an index into this array, so you // can pull out the failure strings appropriate for the user. InsertionRules []PlugRuleDefinition `json:"insertionRules"` // If TRUE, this plug is used for UI display purposes only, and doesn't have any interesting effects of // its own. IsDummyPlug bool `json:"isDummyPlug"` // If you successfully socket the item, this will determine whether or not you get "refunded" on the // plug. OnActionRecreateSelf bool `json:"onActionRecreateSelf"` // Do you ever get the feeling that a system has become so overburdened by edge cases that it probably // should have become some other system entirely? So do I! // In totally unrelated news, Plugs can now override properties of their parent items. This is some of // the relevant definition data for those overrides. // If this is populated, it will have the override data to be applied when this plug is applied to an // item. ParentItemOverride ParentItemOverride `json:"parentItemOverride"` // Indicates the rules about when this plug can be used. See the PlugAvailabilityMode enumeration for // more information! PlugAvailability PlugAvailabilityMode `json:"plugAvailability"` // The hash for the plugCategoryIdentifier. You can use this instead if you wish: I put both in the // definition for debugging purposes. PlugCategoryHash uint32 `json:"plugCategoryHash"` // The string identifier for the plug's category. Use the socket's // DestinySocketTypeDefinition.plugWhitelist to determine whether this plug can be inserted into the // socket. PlugCategoryIdentifier string `json:"plugCategoryIdentifier"` PlugStyle BitmaskSet[PlugUiStyles] `json:"plugStyle"` // In the game, if you're inspecting a plug item directly, this will be the item shown with the plug // attached. Look up the DestinyInventoryItemDefinition for this hash for the item. PreviewItemOverrideHash Hash[InventoryItemDefinition] `json:"previewItemOverrideHash"` // Plugs can have arbitrary, UI-defined identifiers that the UI designers use to determine the style // applied to plugs. Unfortunately, we have neither a definitive list of these labels nor advance // warning of when new labels might be applied or how that relates to how they get rendered. If you // want to, you can refer to known labels to change your own styles: but know that new ones can be // created arbitrarily, and we have no way of associating the labels with any specific UI style // guidance... you'll have to piece that together on your end. Or do what we do, and just show plugs // more generically, without specialized styles. UiPlugLabel string `json:"uiPlugLabel"` }
Destiny.Definitions.Items.DestinyItemPlugDefinition
If an item is a Plug, its DestinyInventoryItemDefinition.plug property will be populated with an instance of one of these bad boys. This gives information about when it can be inserted, what the plug's category is (and thus whether it is compatible with a socket... see DestinySocketTypeDefinition for information about Plug Categories and socket compatibility), whether it is enabled and other Plug info.
func (ItemPlugDefinition) DefinitionTable ¶
func (d ItemPlugDefinition) DefinitionTable() string
type ItemPlugObjectivesComponent ¶
type ItemPlugObjectivesComponent struct { // This set of data is keyed by the Item Hash (DestinyInventoryItemDefinition) of the plug whose // objectives are being returned, with the value being the list of those objectives. // // What if two plugs with the same hash are returned for an item, you ask? // Good question! They share the same item-scoped state, and as such would have identical objective // // state as a result. How's that for convenient. // // Sometimes, Plugs may have objectives: generally, these are used for flavor and display purposes. // // For instance, a Plug might be tracking the number of PVP kills you have made. It will use the parent // item's data about that tracking status to determine what to show, and will generally show it using // the DestinyObjectiveDefinition's progressDescription property. Refer to the plug's itemHash and // objective property for more information if you would like to display even more data. ObjectivesPerPlug map[Hash[InventoryItemDefinition]][]ObjectiveProgress `json:"objectivesPerPlug"` }
Destiny.Components.Items.DestinyItemPlugObjectivesComponent
type ItemPreviewBlockDefinition ¶
type ItemPreviewBlockDefinition struct { // If this item should show you Artifact information when you preview it, this is the hash identifier // of the DestinyArtifactDefinition for the artifact whose data should be shown. ArtifactHash Nullable[Hash[ArtifactDefinition]] `json:"artifactHash,omitempty"` // This is a list of the items being previewed, categorized in the same way as they are in the preview // UI. DerivedItemCategories []DerivedItemCategoryDefinition `json:"derivedItemCategories"` // If the preview has an associated action (like "Open"), this will be the localized string for that // action. PreviewActionString string `json:"previewActionString"` // If the preview data is derived from a fake "Preview" Vendor, this will be the hash identifier for // the DestinyVendorDefinition of that fake vendor. PreviewVendorHash Hash[VendorDefinition] `json:"previewVendorHash"` // A string that the game UI uses as a hint for which detail screen to show for the item. You, too, can // leverage this for your own custom screen detail views. Note, however, that these are arbitrarily // defined by designers: there's no guarantees of a fixed, known number of these - so fall back to // something reasonable if you don't recognize it. ScreenStyle string `json:"screenStyle"` }
Destiny.Definitions.DestinyItemPreviewBlockDefinition
Items like Sacks or Boxes can have items that it shows in-game when you view details that represent the items you can obtain if you use or acquire the item. This defines those categories, and gives some insights into that data's source.
func (ItemPreviewBlockDefinition) DefinitionTable ¶
func (d ItemPreviewBlockDefinition) DefinitionTable() string
type ItemQualityBlockDefinition ¶
type ItemQualityBlockDefinition struct { // The latest version available for this item. CurrentVersion uint32 `json:"currentVersion"` // Icon overlays to denote the item version and power cap status. DisplayVersionWatermarkIcons []string `json:"displayVersionWatermarkIcons"` // The hash identifier for the infusion. It does not map to a Definition entity. // DEPRECATED: Items can now have multiple infusion categories. Please use infusionCategoryHashes // instead. InfusionCategoryHash uint32 `json:"infusionCategoryHash"` // If any one of these hashes matches any value in another item's infusionCategoryHashes, the two can // infuse with each other. InfusionCategoryHashes []uint32 `json:"infusionCategoryHashes"` // The string identifier for this item's "infusability", if any. // Items that match the same infusionCategoryName are allowed to infuse with each other. // DEPRECATED: Items can now have multiple infusion categories. Please use infusionCategoryHashes // instead. InfusionCategoryName string `json:"infusionCategoryName"` // The "base" defined level of an item. This is a list because, in theory, each Expansion could define // its own base level for an item. // In practice, not only was that never done in Destiny 1, but now this isn't even populated at all. // When it's not populated, the level at which it spawns has to be inferred by Reward information, of // which BNet receives an imperfect view and will only be reliable on instanced data as a result. ItemLevels []int32 `json:"itemLevels"` // An item can refer to pre-set level requirements. They are defined in // DestinyProgressionLevelRequirementDefinition, and you can use this hash to find the appropriate // definition. ProgressionLevelRequirementHash Hash[ProgressionLevelRequirementDefinition] `json:"progressionLevelRequirementHash"` // qualityLevel is used in combination with the item's level to calculate stats like Attack and // Defense. It plays a role in that calculation, but not nearly as large as itemLevel does. QualityLevel int32 `json:"qualityLevel"` // The list of versions available for this item. Versions []ItemVersionDefinition `json:"versions"` }
Destiny.Definitions.DestinyItemQualityBlockDefinition
An item's "Quality" determines its calculated stats. The Level at which the item spawns is combined with its "qualityLevel" along with some additional calculations to determine the value of those stats. In Destiny 2, most items don't have default item levels and quality, making this property less useful: these apparently are almost always determined by the complex mechanisms of the Reward system rather than statically. They are still provided here in case they are still useful for people. This also contains some information about Infusion.
func (ItemQualityBlockDefinition) DefinitionTable ¶
func (d ItemQualityBlockDefinition) DefinitionTable() string
type ItemQuantity ¶
type ItemQuantity struct { // Indicates that this item quantity may be conditionally shown or hidden, based on various sources of // state. For example: server flags, account state, or character progress. HasConditionalVisibility bool `json:"hasConditionalVisibility"` // The hash identifier for the item in question. Use it to look up the item's // DestinyInventoryItemDefinition. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this quantity is referring to a specific instance of an item, this will have the item's instance // ID. Normally, this will be null. ItemInstanceID Nullable[Int64] `json:"itemInstanceId,omitempty"` // The amount of the item needed/available depending on the context of where DestinyItemQuantity is // being used. Quantity int32 `json:"quantity"` }
Destiny.DestinyItemQuantity
Used in a number of Destiny contracts to return data about an item stack and its quantity. Can optionally return an itemInstanceId if the item is instanced - in which case, the quantity returned will be 1. If it's not... uh, let me know okay? Thanks.
type ItemRenderComponent ¶
type ItemRenderComponent struct { // A dictionary for rendering gear components, with: // key = Art Arrangement Region Index // value = The chosen Arrangement Index for the Region, based on the value of a stat on the item used // for making the choice. ArtRegions map[int32]int32 `json:"artRegions"` // If you should use custom dyes on this item, it will be indicated here. UseCustomDyes bool `json:"useCustomDyes"` }
Destiny.Entities.Items.DestinyItemRenderComponent
Many items can be rendered in 3D. When you request this block, you will obtain the custom data needed to render this specific instance of the item.
type ItemResponse ¶
type ItemResponse struct { // If the item is on a character, this will return the ID of the character that is holding the item. CharacterID Nullable[Int64] `json:"characterId,omitempty"` // Basic instance data for the item. // COMPONENT TYPE: ItemInstances Instance ComponentResponse[ItemInstanceComponent] `json:"instance"` // Common data for the item relevant to its non-instanced properties. // COMPONENT TYPE: ItemCommonData Item ComponentResponse[ItemComponent] `json:"item"` // Information specifically about the item's objectives. // COMPONENT TYPE: ItemObjectives Objectives ComponentResponse[ItemObjectivesComponent] `json:"objectives"` // Information specifically about the perks currently active on the item. // COMPONENT TYPE: ItemPerks Perks ComponentResponse[ItemPerksComponent] `json:"perks"` // Information about objectives on Plugs for a given item. See the component's documentation for more // info. // COMPONENT TYPE: ItemPlugObjectives PlugObjectives ComponentResponse[ItemPlugObjectivesComponent] `json:"plugObjectives"` // Information about how to render the item in 3D. // COMPONENT TYPE: ItemRenderData RenderData ComponentResponse[ItemRenderComponent] `json:"renderData"` // Information about the Reusable Plugs for sockets on an item. These are plugs that you can insert // into the given socket regardless of if you actually own an instance of that plug: they are // logic-driven plugs rather than inventory-driven. // // These may need to be combined with Plug Set component data to get a full picture of available plugs // // on a given socket. // // COMPONENT TYPE: ItemReusablePlugs ReusablePlugs ComponentResponse[ItemReusablePlugsComponent] `json:"reusablePlugs"` // Information about the sockets of the item: which are currently active, what potential sockets you // could have and the stats/abilities/perks you can gain from them. // COMPONENT TYPE: ItemSockets Sockets ComponentResponse[ItemSocketsComponent] `json:"sockets"` // Information about the computed stats of the item: power, defense, etc... // COMPONENT TYPE: ItemStats Stats ComponentResponse[ItemStatsComponent] `json:"stats"` // Information about the talent grid attached to the item. Talent nodes can provide a variety of // benefits and abilities, and in Destiny 2 are used almost exclusively for the character's "Builds". // COMPONENT TYPE: ItemTalentGrids TalentGrid ComponentResponse[ItemTalentGridComponent] `json:"talentGrid"` }
Destiny.Responses.DestinyItemResponse
The response object for retrieving an individual instanced item. None of these components are relevant for an item that doesn't have an "itemInstanceId": for those, get your information from the DestinyInventoryDefinition.
type ItemReusablePlugsComponent ¶
type ItemReusablePlugsComponent struct { // If the item supports reusable plugs, this is the list of plugs that are allowed to be used for the // socket, and any relevant information about whether they are "enabled", whether they are allowed to // be inserted, and any other information such as objectives. // // A Reusable Plug is a plug that you can always insert into this socket as long as its insertion // // rules are passed, regardless of whether or not you have the plug in your inventory. An example of it // failing an insertion rule would be if it has an Objective that needs to be completed before it can // be inserted, and that objective hasn't been completed yet. // // In practice, a socket will *either* have reusable plugs *or* it will allow for plugs in your // // inventory to be inserted. See DestinyInventoryItemDefinition.socket for more info. // // KEY = The INDEX into the item's list of sockets. VALUE = The set of plugs for that socket. // If a socket doesn't have any reusable plugs defined at the item scope, there will be no entry for // // that socket. Plugs map[int32][]ItemPlugBase `json:"plugs"` }
Destiny.Components.Items.DestinyItemReusablePlugsComponent
type ItemSackBlockDefinition ¶
type ItemSackBlockDefinition struct { // A description of what will happen when you open the sack. As far as I can tell, this is blank // currently. Unknown whether it will eventually be populated with useful info. DetailAction string `json:"detailAction"` // The localized name of the action being performed when you open the sack. OpenAction string `json:"openAction"` OpenOnAcquire bool `json:"openOnAcquire"` SelectItemCount int32 `json:"selectItemCount"` VendorSackType string `json:"vendorSackType"` }
Destiny.Definitions.DestinyItemSackBlockDefinition
Some items are "sacks" - they can be "opened" to produce other items. This is information related to its sack status, mostly UI strings. Engrams are an example of items that are considered to be "Sacks".
func (ItemSackBlockDefinition) DefinitionTable ¶
func (d ItemSackBlockDefinition) DefinitionTable() string
type ItemSetActionRequest ¶
type ItemSetActionRequest struct { CharacterID Int64 `json:"characterId"` ItemIds []Int64 `json:"itemIds"` MembershipType BungieMembershipType `json:"membershipType"` }
Destiny.Requests.Actions.DestinyItemSetActionRequest
type ItemSetBlockDefinition ¶
type ItemSetBlockDefinition struct { // A collection of hashes of set items, for items such as Quest Metadata items that possess this data. ItemList []ItemSetBlockEntryDefinition `json:"itemList"` // The description of the quest line that this quest step is a part of. QuestLineDescription string `json:"questLineDescription"` // The name of the quest line that this quest step is a part of. QuestLineName string `json:"questLineName"` // An additional summary of this step in the quest line. QuestStepSummary string `json:"questStepSummary"` // If true, items in the set can only be added in increasing order, and adding an item will remove any // previous item. For Quests, this is by necessity true. Only one quest step is present at a time, and // previous steps are removed as you advance in the quest. RequireOrderedSetItemAdd bool `json:"requireOrderedSetItemAdd"` // If true, the UI should treat this quest as "featured" SetIsFeatured bool `json:"setIsFeatured"` // A string identifier we can use to attempt to identify the category of the Quest. SetType string `json:"setType"` }
Destiny.Definitions.DestinyItemSetBlockDefinition
Primarily for Quests, this is the definition of properties related to the item if it is a quest and its various quest steps.
func (ItemSetBlockDefinition) DefinitionTable ¶
func (d ItemSetBlockDefinition) DefinitionTable() string
type ItemSetBlockEntryDefinition ¶
type ItemSetBlockEntryDefinition struct { // This is the hash identifier for a DestinyInventoryItemDefinition representing this quest step. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // Used for tracking which step a user reached. These values will be populated in the user's internal // state, which we expose externally as a more usable DestinyQuestStatus object. If this item has been // obtained, this value will be set in trackingUnlockValueHash. TrackingValue int32 `json:"trackingValue"` }
Destiny.Definitions.DestinyItemSetBlockEntryDefinition
Defines a particular entry in an ItemSet (AKA a particular Quest Step in a Quest)
func (ItemSetBlockEntryDefinition) DefinitionTable ¶
func (d ItemSetBlockEntryDefinition) DefinitionTable() string
type ItemSocketBlockDefinition ¶
type ItemSocketBlockDefinition struct { // This was supposed to be a string that would give per-item details about sockets. In practice, it // turns out that all this ever has is the localized word "details". ... that's lame, but perhaps it // will become something cool in the future. Detail string `json:"detail"` // Each intrinsic (or immutable/permanent) socket on an item is defined here, along with the plug that // is permanently affixed to the socket. IntrinsicSockets []ItemIntrinsicSocketEntryDefinition `json:"intrinsicSockets"` // A convenience property, that refers to the sockets in the "sockets" property, pre-grouped by // category and ordered in the manner that they should be grouped in the UI. You could form this // yourself with the existing data, but why would you want to? Enjoy life man. SocketCategories []ItemSocketCategoryDefinition `json:"socketCategories"` // Each non-intrinsic (or mutable) socket on an item is defined here. Check inside for more info. SocketEntries []ItemSocketEntryDefinition `json:"socketEntries"` }
Destiny.Definitions.DestinyItemSocketBlockDefinition
If defined, the item has at least one socket.
func (ItemSocketBlockDefinition) DefinitionTable ¶
func (d ItemSocketBlockDefinition) DefinitionTable() string
type ItemSocketCategoryDefinition ¶
type ItemSocketCategoryDefinition struct { // The hash for the Socket Category: a quick way to go get the header display information for the // category. Use it to look up DestinySocketCategoryDefinition info. SocketCategoryHash Hash[SocketCategoryDefinition] `json:"socketCategoryHash"` // Use these indexes to look up the sockets in the "sockets.socketEntries" property on the item // definition. These are the indexes under the category, in game-rendered order. SocketIndexes []int32 `json:"socketIndexes"` }
Destiny.Definitions.DestinyItemSocketCategoryDefinition
Sockets are grouped into categories in the UI. These define which category and which sockets are under that category.
func (ItemSocketCategoryDefinition) DefinitionTable ¶
func (d ItemSocketCategoryDefinition) DefinitionTable() string
type ItemSocketEntryDefinition ¶
type ItemSocketEntryDefinition struct { // If true, then this socket is visible in the item's "default" state. If you have an instance, you // should always check the runtime state, as that can override this visibility setting: but if you're // looking at the item on a conceptual level, this property can be useful for hiding data such as // legacy sockets - which remain defined on items for infrastructure purposes, but can be confusing for // users to see. DefaultVisible bool `json:"defaultVisible"` // If this is true, the perks provided by this socket shouldn't be shown in the item's tooltip. This // might be useful if it's providing a hidden bonus, or if the bonus is less important than other // benefits on the item. HidePerksInItemTooltip bool `json:"hidePerksInItemTooltip"` // Indicates where you should go to get plugs for this socket. This will affect how you populate your // UI, as well as what plugs are valid for this socket. It's an alternative to having to check for the // existence of certain properties (reusablePlugItems for example) to infer where plugs should come // from. PlugSources BitmaskSet[SocketPlugSources] `json:"plugSources"` // If this is true, then the socket will not be initialized with a plug if the item is purchased from a // Vendor. // Remember that Vendors are much more than conceptual vendors: they include "Collection Kiosks" and // other entities. See DestinyVendorDefinition for more information. PreventInitializationOnVendorPurchase bool `json:"preventInitializationOnVendorPurchase"` // This field replaces "randomizedPlugItems" as of Shadowkeep launch. If a socket has randomized plugs, // this is a pointer to the set of plugs that could be used, as defined in DestinyPlugSetDefinition. // // If null, the item has no randomized plugs. RandomizedPlugSetHash Nullable[Hash[PlugSetDefinition]] `json:"randomizedPlugSetHash,omitempty"` // This is a list of pre-determined plugs that can *always* be plugged into this socket, without the // character having the plug in their inventory. // If this list is populated, you will not be allowed to plug an arbitrary item in the socket: you will // only be able to choose from one of these reusable plugs. ReusablePlugItems []ItemSocketEntryPlugItemDefinition `json:"reusablePlugItems"` // If this socket's plugs come from a reusable DestinyPlugSetDefinition, this is the identifier for // that set. We added this concept to reduce some major duplication that's going to come from sockets // as replacements for what was once implemented as large sets of items and kiosks (like Emotes). // // As of Shadowkeep, these will come up much more frequently and be driven by game content rather than // // custom curation. ReusablePlugSetHash Nullable[Hash[PlugSetDefinition]] `json:"reusablePlugSetHash,omitempty"` // If a valid hash, this is the hash identifier for the DestinyInventoryItemDefinition representing the // Plug that will be initially inserted into the item on item creation. Otherwise, this Socket will // either start without a plug inserted, or will have one randomly inserted. SingleInitialItemHash Hash[InventoryItemDefinition] `json:"singleInitialItemHash"` // All sockets have a type, and this is the hash identifier for this particular type. Use it to look up // the DestinySocketTypeDefinition: read there for more information on how socket types affect the // behavior of the socket. SocketTypeHash Hash[SocketTypeDefinition] `json:"socketTypeHash"` }
Destiny.Definitions.DestinyItemSocketEntryDefinition
The definition information for a specific socket on an item. This will determine how the socket behaves in-game.
func (ItemSocketEntryDefinition) DefinitionTable ¶
func (d ItemSocketEntryDefinition) DefinitionTable() string
type ItemSocketEntryPlugItemDefinition ¶
type ItemSocketEntryPlugItemDefinition struct { // The hash identifier of a DestinyInventoryItemDefinition representing the plug that can be inserted. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` }
Destiny.Definitions.DestinyItemSocketEntryPlugItemDefinition
The definition of a known, reusable plug that can be applied to a socket.
func (ItemSocketEntryPlugItemDefinition) DefinitionTable ¶
func (d ItemSocketEntryPlugItemDefinition) DefinitionTable() string
type ItemSocketEntryPlugItemRandomizedDefinition ¶
type ItemSocketEntryPlugItemRandomizedDefinition struct { CraftingRequirements PlugItemCraftingRequirements `json:"craftingRequirements"` // Indicates if the plug can be rolled on the current version of the item. For example, older versions // of weapons may have plug rolls that are no longer possible on the current versions. CurrentlyCanRoll bool `json:"currentlyCanRoll"` // The hash identifier of a DestinyInventoryItemDefinition representing the plug that can be inserted. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` }
Destiny.Definitions.DestinyItemSocketEntryPlugItemRandomizedDefinition
func (ItemSocketEntryPlugItemRandomizedDefinition) DefinitionTable ¶
func (d ItemSocketEntryPlugItemRandomizedDefinition) DefinitionTable() string
type ItemSocketState ¶
type ItemSocketState struct { // If a plug is inserted but not enabled, this will be populated with indexes into the plug item // definition's plug.enabledRules property, so that you can show the reasons why it is not enabled. EnableFailIndexes []int32 `json:"enableFailIndexes"` // Even if a plug is inserted, it doesn't mean it's enabled. // This flag indicates whether the plug is active and providing its benefits. IsEnabled bool `json:"isEnabled"` // A plug may theoretically provide benefits but not be visible - for instance, some older items use a // plug's damage type perk to modify their own damage type. These, though they are not visible, still // affect the item. This field indicates that state. // An invisible plug, while it provides benefits if it is Enabled, cannot be directly modified by the // user. IsVisible bool `json:"isVisible"` // The currently active plug, if any. // Note that, because all plugs are statically defined, its effect on stats and perks can be statically // determined using the plug item's definition. The stats and perks can be taken at face value on the // plug item as the stats and perks it will provide to the user/item. PlugHash Nullable[Hash[InventoryItemDefinition]] `json:"plugHash,omitempty"` }
Destiny.Entities.Items.DestinyItemSocketState
The status of a given item's socket. (which plug is inserted, if any: whether it is enabled, what "reusable" plugs can be inserted, etc...) If I had it to do over, this would probably have a DestinyItemPlug representing the inserted item instead of most of these properties. :shrug:
type ItemSocketsComponent ¶
type ItemSocketsComponent struct { // The list of all sockets on the item, and their status information. Sockets []ItemSocketState `json:"sockets"` }
Destiny.Entities.Items.DestinyItemSocketsComponent
Instanced items can have sockets, which are slots on the item where plugs can be inserted. Sockets are a bit complex: be sure to examine the documentation on the DestinyInventoryItemDefinition's "socket" block and elsewhere on these objects for more details.
type ItemSortType ¶
type ItemSortType int32
Destiny.DestinyItemSortType
Determines how items are sorted in an inventory bucket.
func (ItemSortType) Enum ¶
func (e ItemSortType) Enum() string
type ItemSourceBlockDefinition ¶
type ItemSourceBlockDefinition struct { // If we found that this item is exclusive to a specific platform, this will be set to the // BungieMembershipType enumeration that matches that platform. Exclusive BungieMembershipType `json:"exclusive"` // The list of hash identifiers for Reward Sources that hint where the item can be found // (DestinyRewardSourceDefinition). SourceHashes []uint32 `json:"sourceHashes"` // A collection of details about the stats that were computed for the ways we found that the item could // be spawned. Sources []ItemSourceDefinition `json:"sources"` // A denormalized reference back to vendors that potentially sell this item. VendorSources []ItemVendorSourceReference `json:"vendorSources"` }
Destiny.Definitions.DestinyItemSourceBlockDefinition
Data about an item's "sources": ways that the item can be obtained.
func (ItemSourceBlockDefinition) DefinitionTable ¶
func (d ItemSourceBlockDefinition) DefinitionTable() string
type ItemSourceDefinition ¶
type ItemSourceDefinition struct { // The stats computed for this level/quality range. ComputedStats map[uint32]InventoryItemStatDefinition `json:"computedStats"` // The level at which the item spawns. Essentially the Primary Key for this source data: there will be // multiple of these source entries per item that has source data, grouped by the level at which the // item spawns. Level int32 `json:"level"` // The maximum Character Level required for equipping the item when the item spawns at the item level // defined on this DestinyItemSourceDefinition, as far as we saw in our processing. MaxLevelRequired int32 `json:"maxLevelRequired"` // The maximum quality at which the item spawns for this level. MaxQuality int32 `json:"maxQuality"` // The minimum Character Level required for equipping the item when the item spawns at the item level // defined on this DestinyItemSourceDefinition, as far as we saw in our processing. MinLevelRequired int32 `json:"minLevelRequired"` // The minimum Quality at which the item spawns for this level. Examine DestinyInventoryItemDefinition // for more information about what Quality means. Just don't ask Phaedrus about it, he'll never stop // talking and you'll have to write a book about it. MinQuality int32 `json:"minQuality"` // The DestinyRewardSourceDefinitions found that can spawn the item at this level. SourceHashes []uint32 `json:"sourceHashes"` }
Destiny.Definitions.Sources.DestinyItemSourceDefinition
Properties of a DestinyInventoryItemDefinition that store all of the information we were able to discern about how the item spawns, and where you can find the item. Items will have many of these sources, one per level at which it spawns, to try and give more granular data about where items spawn for specific level ranges.
func (ItemSourceDefinition) DefinitionTable ¶
func (d ItemSourceDefinition) DefinitionTable() string
type ItemStatBlockDefinition ¶
type ItemStatBlockDefinition struct { // If true, the game won't show the "primary" stat on this item when you inspect it. // NOTE: This is being manually mapped, because I happen to want it in a block that isn't going to // directly create this derivative block. DisablePrimaryStatDisplay bool `json:"disablePrimaryStatDisplay"` // A quick and lazy way to determine whether any stat other than the "primary" stat is actually visible // on the item. Items often have stats that we return in case people find them useful, but they're not // part of the "Stat Group" and thus we wouldn't display them in our UI. If this is False, then we're // not going to display any of these stats other than the primary one. HasDisplayableStats bool `json:"hasDisplayableStats"` // This stat is determined to be the "primary" stat, and can be looked up in the stats or any other // stat collection related to the item. // Use this hash to look up the stat's value using DestinyInventoryItemDefinition.stats.stats, and the // renderable data for the primary stat in the related DestinyStatDefinition. PrimaryBaseStatHash Hash[StatDefinition] `json:"primaryBaseStatHash"` // If the item's stats are meant to be modified by a DestinyStatGroupDefinition, this will be the // identifier for that definition. // If you are using live data or precomputed stats data on the // DestinyInventoryItemDefinition.stats.stats property, you don't have to worry about statGroupHash and // how it alters stats: the already altered stats are provided to you. But if you want to see how the // sausage gets made, or perform computations yourself, this is valuable information. StatGroupHash Nullable[Hash[StatGroupDefinition]] `json:"statGroupHash,omitempty"` // If you are looking for precomputed values for the stats on a weapon, this is where they are stored. // Technically these are the "Display" stat values. Please see DestinyStatsDefinition for what Display // Stat Values means, it's a very long story... but essentially these are the closest values BNet can // get to the item stats that you see in-game. // These stats are keyed by the DestinyStatDefinition's hash identifier for the stat that's found on // the item. Stats map[Hash[StatDefinition]]InventoryItemStatDefinition `json:"stats"` }
Destiny.Definitions.DestinyItemStatBlockDefinition
Information about the item's calculated stats, with as much data as we can find for the stats without having an actual instance of the item. Note that this means the entire concept of providing these stats is fundamentally insufficient: we cannot predict with 100% accuracy the conditions under which an item can spawn, so we use various heuristics to attempt to simulate the conditions as accurately as possible. Actual stats for items in-game can and will vary, but these should at least be useful base points for comparison and display. It is also worth noting that some stats, like Magazine size, have further calculations performed on them by scripts in-game and on the game servers that BNet does not have access to. We cannot know how those stats are further transformed, and thus some stats will be inaccurate even on instances of items in BNet vs. how they appear in-game. This is a known limitation of our item statistics, without any planned fix.
func (ItemStatBlockDefinition) DefinitionTable ¶
func (d ItemStatBlockDefinition) DefinitionTable() string
type ItemState ¶
type ItemState int32
Destiny.ItemState
A flags enumeration/bitmask where each bit represents a different possible state that the item can be in that may effect how the item is displayed to the user and what actions can be performed against it.
type ItemStateRequest ¶
type ItemStateRequest struct { CharacterID Int64 `json:"characterId"` // The instance ID of the item for this action request. ItemID Int64 `json:"itemId"` MembershipType BungieMembershipType `json:"membershipType"` State bool `json:"state"` }
Destiny.Requests.Actions.DestinyItemStateRequest
type ItemStatsComponent ¶
type ItemStatsComponent struct { // If the item has stats that it provides (damage, defense, etc...), it will be given here. Stats map[Hash[StatDefinition]]Stat `json:"stats"` }
Destiny.Entities.Items.DestinyItemStatsComponent
If you want the stats on an item's instanced data, get this component. These are stats like Attack, Defense etc... and *not* historical stats. Note that some stats have additional computation in-game at runtime - for instance, Magazine Size - and thus these stats might not be 100% accurate compared to what you see in-game for some stats. I know, it sucks. I hate it too.
type ItemSubType ¶
type ItemSubType int32
Destiny.DestinyItemSubType
This Enumeration further classifies items by more specific categorizations than DestinyItemType. The "Sub-Type" is where we classify and categorize items one step further in specificity: "Auto Rifle" instead of just "Weapon" for example, or "Vanguard Bounty" instead of merely "Bounty". These sub-types are provided for historical compatibility with Destiny 1, but an ideal alternative is to use DestinyItemCategoryDefinitions and the DestinyItemDefinition.itemCategories property instead. Item Categories allow for arbitrary hierarchies of specificity, and for items to belong to multiple categories across multiple hierarchies simultaneously. For this enum, we pick a single type as a "best guess" fit. NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1 that may or may not still exist.
func (ItemSubType) Enum ¶
func (e ItemSubType) Enum() string
type ItemSummaryBlockDefinition ¶
type ItemSummaryBlockDefinition struct { // Apparently when rendering an item in a reward, this should be used as a sort priority. We're not // doing it presently. SortPriority int32 `json:"sortPriority"` }
Destiny.Definitions.DestinyItemSummaryBlockDefinition
This appears to be information used when rendering rewards. We don't currently use it on BNet.
func (ItemSummaryBlockDefinition) DefinitionTable ¶
func (d ItemSummaryBlockDefinition) DefinitionTable() string
type ItemTalentGridBlockDefinition ¶
type ItemTalentGridBlockDefinition struct { // A shortcut string identifier for the "build" in question, if this talent grid has an associated // build. Doesn't map to anything we can expose at the moment. BuildName string `json:"buildName"` // If the talent grid implies a damage type, this is the enum value for that damage type. HudDamageType DamageType `json:"hudDamageType"` // If the talent grid has a special icon that's shown in the game UI (like builds, funny that), this is // the identifier for that icon. Sadly, we don't actually get that icon right now. I'll be looking to // replace this with a path to the actual icon itself. HudIcon string `json:"hudIcon"` // This is meant to be a subtitle for looking at the talent grid. In practice, somewhat frustratingly, // this always merely says the localized word for "Details". Great. Maybe it'll have more if talent // grids ever get used for more than builds and subclasses again. ItemDetailString string `json:"itemDetailString"` // The hash identifier of the DestinyTalentGridDefinition attached to this item. TalentGridHash Hash[TalentGridDefinition] `json:"talentGridHash"` }
Destiny.Definitions.DestinyItemTalentGridBlockDefinition
This defines information that can only come from a talent grid on an item. Items mostly have negligible talent grid data these days, but instanced items still retain grids as a source for some of this common information. Builds/Subclasses are the only items left that still have talent grids with meaningful Nodes.
func (ItemTalentGridBlockDefinition) DefinitionTable ¶
func (d ItemTalentGridBlockDefinition) DefinitionTable() string
type ItemTalentGridComponent ¶
type ItemTalentGridComponent struct { // If the item has a progression, it will be detailed here. A progression means that the item can gain // experience. Thresholds of experience are what determines whether and when a talent node can be // activated. GridProgression Progression `json:"gridProgression"` // Indicates whether the talent grid on this item is completed, and thus whether it should have a gold // border around it. // Only will be true if the item actually *has* a talent grid, and only then if it is completed (i.e. // every exclusive set has an activated node, and every non-exclusive set node has been activated) IsGridComplete bool `json:"isGridComplete"` // Detailed information about the individual nodes in the talent grid. // A node represents a single visual "pip" in the talent grid or Build detail view, though each node // may have multiple "steps" which indicate the actual bonuses and visual representation of that node. Nodes []TalentNode `json:"nodes"` // Most items don't have useful talent grids anymore, but Builds in particular still do. // You can use this hash to lookup the DestinyTalentGridDefinition attached to this item, which will be // crucial for understanding the node values on the item. TalentGridHash Hash[TalentGridDefinition] `json:"talentGridHash"` }
Destiny.Entities.Items.DestinyItemTalentGridComponent
Well, we're here in Destiny 2, and Talent Grids are unfortunately still around. The good news is that they're pretty much only being used for certain base information on items and for Builds/Subclasses. The bad news is that they still suck. If you really want this information, grab this component. An important note is that talent grids are defined as such: A Grid has 1:M Nodes, which has 1:M Steps. Any given node can only have a single step active at one time, which represents the actual visual contents and effects of the Node (for instance, if you see a "Super Cool Bonus" node, the actual icon and text for the node is coming from the current Step of that node). Nodes can be grouped into exclusivity sets *and* as of D2, exclusivity groups (which are collections of exclusivity sets that affect each other). See DestinyTalentGridDefinition for more information. Brace yourself, the water's cold out there in the deep end.
type ItemTierTypeDefinition ¶
type ItemTierTypeDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this tier defines infusion properties, they will be contained here. InfusionProcess ItemTierTypeInfusionBlock `json:"infusionProcess"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Items.DestinyItemTierTypeDefinition
Defines the tier type of an item. Mostly this provides human readable properties for types like Common, Rare, etc... It also provides some base data for infusion that could be useful.
func (ItemTierTypeDefinition) DefinitionTable ¶
func (d ItemTierTypeDefinition) DefinitionTable() string
type ItemTierTypeInfusionBlock ¶
type ItemTierTypeInfusionBlock struct { // The default portion of quality that will transfer from the infuser to the infusee item. // (InfuserQuality - InfuseeQuality) * baseQualityTransferRatio = base quality transferred. BaseQualityTransferRatio float64 `json:"baseQualityTransferRatio"` // As long as InfuserQuality > InfuseeQuality, the amount of quality bestowed is guaranteed to be at // least this value, even if the transferRatio would dictate that it should be less. The total amount // of quality that ends up in the Infusee cannot exceed the Infuser's quality however (for instance, if // you infuse a 300 item with a 301 item and the minimum quality increment is 10, the infused item will // not end up with 310 quality) MinimumQualityIncrement int32 `json:"minimumQualityIncrement"` }
Destiny.Definitions.Items.DestinyItemTierTypeInfusionBlock
func (ItemTierTypeInfusionBlock) DefinitionTable ¶
func (d ItemTierTypeInfusionBlock) DefinitionTable() string
type ItemTooltipNotification ¶
type ItemTooltipNotification struct { DisplayString string `json:"displayString"` DisplayStyle string `json:"displayStyle"` }
Destiny.Definitions.DestinyItemTooltipNotification
func (ItemTooltipNotification) DefinitionTable ¶
func (d ItemTooltipNotification) DefinitionTable() string
type ItemTransferRequest ¶
type ItemTransferRequest struct { CharacterID Int64 `json:"characterId"` // The instance ID of the item for this action request. ItemID Int64 `json:"itemId"` ItemReferenceHash Hash[InventoryItemDefinition] `json:"itemReferenceHash"` MembershipType BungieMembershipType `json:"membershipType"` StackSize int32 `json:"stackSize"` TransferToVault bool `json:"transferToVault"` }
Destiny.Requests.DestinyItemTransferRequest
type ItemTranslationBlockDefinition ¶
type ItemTranslationBlockDefinition struct { Arrangements []GearArtArrangementReference `json:"arrangements"` CustomDyes []DyeReference `json:"customDyes"` DefaultDyes []DyeReference `json:"defaultDyes"` HasGeometry bool `json:"hasGeometry"` LockedDyes []DyeReference `json:"lockedDyes"` WeaponPatternHash Hash[SandboxPatternDefinition] `json:"weaponPatternHash"` WeaponPatternIdentifier string `json:"weaponPatternIdentifier"` }
Destiny.Definitions.DestinyItemTranslationBlockDefinition
This Block defines the rendering data associated with the item, if any.
func (ItemTranslationBlockDefinition) DefinitionTable ¶
func (d ItemTranslationBlockDefinition) DefinitionTable() string
type ItemType ¶
type ItemType int32
Destiny.DestinyItemType
An enumeration that indicates the high-level "type" of the item, attempting to iron out the context specific differences for specific instances of an entity. For instance, though a weapon may be of various weapon "Types", in DestinyItemType they are all classified as "Weapon". This allows for better filtering on a higher level of abstraction for the concept of types.
This enum is provided for historical compatibility with Destiny 1, but an ideal alternative is to
use DestinyItemCategoryDefinitions and the DestinyItemDefinition.itemCategories property instead. Item Categories allow for arbitrary hierarchies of specificity, and for items to belong to multiple categories across multiple hierarchies simultaneously. For this enum, we pick a single type as a "best guess" fit.
NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1
that may or may not still exist.
I keep updating these because they're so damn convenient. I guess I shouldn't fight it.
type ItemValueBlockDefinition ¶
type ItemValueBlockDefinition struct { // References to the items that make up this item's "value", and the quantity. ItemValue []ItemQuantity `json:"itemValue"` // If there's a localized text description of the value provided, this will be said description. ValueDescription string `json:"valueDescription"` }
Destiny.Definitions.DestinyItemValueBlockDefinition
This defines an item's "Value". Unfortunately, this appears to be used in different ways depending on the way that the item itself is used. For items being sold at a Vendor, this is the default "sale price" of the item. These days, the vendor itself almost always sets the price, but it still possible for the price to fall back to this value. For quests, it is a preview of rewards you can gain by completing the quest. For dummy items, if the itemValue refers to an Emblem, it is the emblem that should be shown as the reward. (jeez louise) It will likely be used in a number of other ways in the future, it appears to be a bucket where they put arbitrary items and quantities into the item.
func (ItemValueBlockDefinition) DefinitionTable ¶
func (d ItemValueBlockDefinition) DefinitionTable() string
type ItemVendorSourceReference ¶
type ItemVendorSourceReference struct { // The identifier for the vendor that may sell this item. VendorHash Hash[VendorDefinition] `json:"vendorHash"` // The Vendor sale item indexes that represent the sale information for this item. The same vendor may // sell an item in multiple "ways", hence why this is a list. (for instance, a weapon may be "sold" as // a reward in a quest, for Glimmer, and for Masterwork Cores: each of those ways would be represented // by a different vendor sale item with a different index) VendorItemIndexes []int32 `json:"vendorItemIndexes"` }
Destiny.Definitions.DestinyItemVendorSourceReference
Represents that a vendor could sell this item, and provides a quick link to that vendor and sale item.
Note that we do not and cannot make a guarantee that the vendor will ever *actually* sell this
item, only that the Vendor has a definition that indicates it *could* be sold.
Note also that a vendor may sell the same item in multiple "ways", which means there may be
multiple vendorItemIndexes for a single Vendor hash.
func (ItemVendorSourceReference) DefinitionTable ¶
func (d ItemVendorSourceReference) DefinitionTable() string
type ItemVersionDefinition ¶
type ItemVersionDefinition struct { // A reference to the power cap for this item version. PowerCapHash Hash[PowerCapDefinition] `json:"powerCapHash"` }
Destiny.Definitions.DestinyItemVersionDefinition
The version definition currently just holds a reference to the power cap.
func (ItemVersionDefinition) DefinitionTable ¶
func (d ItemVersionDefinition) DefinitionTable() string
type JoinClosedReasons ¶
type JoinClosedReasons int32
Destiny.DestinyJoinClosedReasons
A Flags enumeration representing the reasons why a person can't join this user's fireteam.
func (JoinClosedReasons) Enum ¶
func (e JoinClosedReasons) Enum() string
type KioskItem ¶
type KioskItem struct { // If true, the user can not only see the item, but they can acquire it. It is possible that a user can // see a kiosk item and not be able to acquire it. CanAcquire bool `json:"canAcquire"` // Indexes into failureStrings for the Vendor, indicating the reasons why it failed if any. FailureIndexes []int32 `json:"failureIndexes"` // I may regret naming it this way - but this represents when an item has an objective that doesn't // serve a beneficial purpose, but rather is used for "flavor" or additional information. For instance, // when Emblems track specific stats, those stats are represented as Objectives on the item. FlavorObjective ObjectiveProgress `json:"flavorObjective"` // The index of the item in the related DestinyVendorDefintion's itemList property, representing the // sale. Index int32 `json:"index"` }
Destiny.Components.Kiosks.DestinyKioskItem
type KiosksComponent ¶
type KiosksComponent struct { // A dictionary keyed by the Kiosk Vendor's hash identifier (use it to look up the // DestinyVendorDefinition for the relevant kiosk vendor), and whose value is a list of all the items // that the user can "see" in the Kiosk, and any other interesting metadata. KioskItems map[Hash[VendorDefinition]][]KioskItem `json:"kioskItems"` }
Destiny.Components.Kiosks.DestinyKiosksComponent
A Kiosk is a Vendor (DestinyVendorDefinition) that sells items based on whether you have already acquired that item before. This component returns information about what Kiosk items are available to you on a *Profile* level. It is theoretically possible for Kiosks to have items gated by specific Character as well. If you ever have those, you will find them on the individual character's DestinyCharacterKiosksComponent. Note that, because this component returns vendorItemIndexes (that is to say, indexes into the Kiosk Vendor's itemList property), these results are necessarily content version dependent. Make sure that you have the latest version of the content manifest databases before using this data.
type Leaderboard ¶
type Leaderboard struct { Entries []LeaderboardEntry `json:"entries"` StatID string `json:"statId"` }
Destiny.HistoricalStats.DestinyLeaderboard
type LeaderboardEntry ¶
type LeaderboardEntry struct { // ID of the player's best character for the reported stat. CharacterID Int64 `json:"characterId"` // Identity details of the player Player Player `json:"player"` // Where this player ranks on the leaderboard. A value of 1 is the top rank. Rank int32 `json:"rank"` // Value of the stat for this player Value HistoricalStatsValue `json:"value"` }
Destiny.HistoricalStats.DestinyLeaderboardEntry
type LeaderboardResults ¶
type LeaderboardResults struct { // Indicate the character ID of the character that is the focal point of the provided leaderboards. May // be null, in which case any character from the focus membership can appear in the provided // leaderboards. FocusCharacterID Nullable[Int64] `json:"focusCharacterId,omitempty"` // Indicate the membership ID of the account that is the focal point of the provided leaderboards. FocusMembershipID Nullable[Int64] `json:"focusMembershipId,omitempty"` }
Destiny.HistoricalStats.DestinyLeaderboardResults
type LinkedGraphDefinition ¶
type LinkedGraphDefinition struct { Description string `json:"description"` LinkedGraphID uint32 `json:"linkedGraphId"` LinkedGraphs []LinkedGraphEntryDefinition `json:"linkedGraphs"` Name string `json:"name"` Overview string `json:"overview"` UnlockExpression UnlockExpressionDefinition `json:"unlockExpression"` }
Destiny.Definitions.Director.DestinyLinkedGraphDefinition
This describes links between the current graph and others, as well as when that link is relevant.
func (LinkedGraphDefinition) DefinitionTable ¶
func (d LinkedGraphDefinition) DefinitionTable() string
type LinkedGraphEntryDefinition ¶
type LinkedGraphEntryDefinition struct {
ActivityGraphHash uint32 `json:"activityGraphHash"`
}
Destiny.Definitions.Director.DestinyLinkedGraphEntryDefinition
func (LinkedGraphEntryDefinition) DefinitionTable ¶
func (d LinkedGraphEntryDefinition) DefinitionTable() string
type LinkedProfilesResponse ¶
type LinkedProfilesResponse struct { // If the requested membership had a linked Bungie.Net membership ID, this is the basic information // about that BNet account. // I know, Tetron; I know this is mixing UserServices concerns with DestinyServices concerns. But it's // so damn convenient! https://www.youtube.com/watch?v=X5R-bB-gKVI BnetMembership UserInfoCard `json:"bnetMembership"` // Any Destiny account for whom we could successfully pull characters will be returned here, as the // Platform-level summary of user data. (no character data, no Destiny account data other than the // Membership ID and Type so you can make further queries) Profiles []ProfileUserInfoCard `json:"profiles"` // This is brief summary info for profiles that we believe have valid Destiny info, but who failed to // return data for some other reason and thus we know that subsequent calls for their info will also // fail. ProfilesWithErrors []ErrorProfile `json:"profilesWithErrors"` }
Destiny.Responses.DestinyLinkedProfilesResponse
I know what you seek. You seek linked accounts. Found them, you have. This contract returns a minimal amount of data about Destiny Accounts that are linked through your Bungie.Net account. We will not return accounts in this response whose
type LoadoutActionRequest ¶
type LoadoutActionRequest struct { CharacterID Int64 `json:"characterId"` // The index of the loadout for this action request. LoadoutIndex int32 `json:"loadoutIndex"` MembershipType BungieMembershipType `json:"membershipType"` }
Destiny.Requests.Actions.DestinyLoadoutActionRequest
type LoadoutColorDefinition ¶
type LoadoutColorDefinition struct { ColorImagePath string `json:"colorImagePath"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Loadouts.DestinyLoadoutColorDefinition
func (LoadoutColorDefinition) DefinitionTable ¶
func (d LoadoutColorDefinition) DefinitionTable() string
type LoadoutComponent ¶
type LoadoutComponent struct { ColorHash Hash[LoadoutColorDefinition] `json:"colorHash"` IconHash Hash[LoadoutIconDefinition] `json:"iconHash"` Items []LoadoutItemComponent `json:"items"` NameHash Hash[LoadoutNameDefinition] `json:"nameHash"` }
Destiny.Components.Loadouts.DestinyLoadoutComponent
type LoadoutConstantsDefinition ¶
type LoadoutConstantsDefinition struct { // This is a color-inverted version of the whiteIconImagePath. BlackIconImagePath string `json:"blackIconImagePath"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // A list of the loadout color hashes in index order, for convenience. LoadoutColorHashes []uint32 `json:"loadoutColorHashes"` // The maximum number of loadouts available to each character. The loadouts component API response can // return fewer loadouts than this, as more loadouts are unlocked by reaching higher Guardian Ranks. LoadoutCountPerCharacter int32 `json:"loadoutCountPerCharacter"` // A list of the loadout icon hashes in index order, for convenience. LoadoutIconHashes []uint32 `json:"loadoutIconHashes"` // A list of the loadout name hashes in index order, for convenience. LoadoutNameHashes []uint32 `json:"loadoutNameHashes"` // A list of the socket category hashes to be filtered out of loadout item preview displays. LoadoutPreviewFilterOutSocketCategoryHashes []uint32 `json:"loadoutPreviewFilterOutSocketCategoryHashes"` // A list of the socket type hashes to be filtered out of loadout item preview displays. LoadoutPreviewFilterOutSocketTypeHashes []uint32 `json:"loadoutPreviewFilterOutSocketTypeHashes"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // This is the same icon as the one in the display properties, offered here as well with a more // descriptive name. WhiteIconImagePath string `json:"whiteIconImagePath"` }
Destiny.Definitions.Loadouts.DestinyLoadoutConstantsDefinition
func (LoadoutConstantsDefinition) DefinitionTable ¶
func (d LoadoutConstantsDefinition) DefinitionTable() string
type LoadoutIconDefinition ¶
type LoadoutIconDefinition struct { // 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. Hash uint32 `json:"hash"` IconImagePath string `json:"iconImagePath"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Loadouts.DestinyLoadoutIconDefinition
func (LoadoutIconDefinition) DefinitionTable ¶
func (d LoadoutIconDefinition) DefinitionTable() string
type LoadoutItemComponent ¶
type LoadoutItemComponent struct { ItemInstanceID Int64 `json:"itemInstanceId"` PlugItemHashes []uint32 `json:"plugItemHashes"` }
Destiny.Components.Loadouts.DestinyLoadoutItemComponent
type LoadoutNameDefinition ¶
type LoadoutNameDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` Name string `json:"name"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Loadouts.DestinyLoadoutNameDefinition
func (LoadoutNameDefinition) DefinitionTable ¶
func (d LoadoutNameDefinition) DefinitionTable() string
type LoadoutUpdateActionRequest ¶
type LoadoutUpdateActionRequest struct { CharacterID Int64 `json:"characterId"` ColorHash Nullable[uint32] `json:"colorHash,omitempty"` IconHash Nullable[uint32] `json:"iconHash,omitempty"` // The index of the loadout for this action request. LoadoutIndex int32 `json:"loadoutIndex"` MembershipType BungieMembershipType `json:"membershipType"` NameHash Nullable[uint32] `json:"nameHash,omitempty"` }
Destiny.Requests.Actions.DestinyLoadoutUpdateActionRequest
type LoadoutsComponent ¶
type LoadoutsComponent struct {
Loadouts []LoadoutComponent `json:"loadouts"`
}
Destiny.Components.Loadouts.DestinyLoadoutsComponent
type LocationDefinition ¶
type LocationDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // A Location may refer to different specific spots in the world based on the world's current state. // This is a list of those potential spots, and the data we can use at runtime to determine which one // of the spots is the currently valid one. LocationReleases []LocationReleaseDefinition `json:"locationReleases"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If the location has a Vendor on it, this is the hash identifier for that Vendor. Look them up with // DestinyVendorDefinition. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Definitions.DestinyLocationDefinition
A "Location" is a sort of shortcut for referring to a specific combination of Activity, Destination, Place, and even Bubble or NavPoint within a space. Most of this data isn't intrinsically useful to us, but Objectives refer to locations, and through that we can at least infer the Activity, Destination, and Place being referred to by the Objective.
func (LocationDefinition) DefinitionTable ¶
func (d LocationDefinition) DefinitionTable() string
type LocationReleaseDefinition ¶
type LocationReleaseDefinition struct { // The Activity Bubble within the Destination. Look this up in the DestinyDestinationDefinition's // bubbles and bubbleSettings properties. ActivityBubbleName uint32 `json:"activityBubbleName"` // The Activity Graph being pointed to by this location. ActivityGraphHash uint32 `json:"activityGraphHash"` // The Activity Graph Node being pointed to by this location. (Remember that Activity Graph Node hashes // are only unique within an Activity Graph: so use the combination to find the node being spoken of) ActivityGraphNodeHash uint32 `json:"activityGraphNodeHash"` // The Activity being pointed to by this location. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // If we had map information, this would tell us something cool about the path this location wants you // to take. I wish we had map information. ActivityPathBundle uint32 `json:"activityPathBundle"` // If we had map information, this would tell us about path information related to destination on the // map. Sad. Maybe you can do something cool with it. Go to town man. ActivityPathDestination uint32 `json:"activityPathDestination"` // The Destination being pointed to by this location. DestinationHash Hash[DestinationDefinition] `json:"destinationHash"` // Sadly, these don't appear to be populated anymore (ever?) DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` LargeTransparentIcon string `json:"largeTransparentIcon"` MapIcon string `json:"mapIcon"` NavPointType ActivityNavPointType `json:"navPointType"` SmallTransparentIcon string `json:"smallTransparentIcon"` // If we had map information, this spawnPoint would be interesting. But sadly, we don't have that info. SpawnPoint uint32 `json:"spawnPoint"` // Looks like it should be the position on the map, but sadly it does not look populated... yet? WorldPosition []int32 `json:"worldPosition"` }
Destiny.Definitions.DestinyLocationReleaseDefinition
A specific "spot" referred to by a location. Only one of these can be active at a time for a given Location.
func (LocationReleaseDefinition) DefinitionTable ¶
func (d LocationReleaseDefinition) DefinitionTable() string
type LoreDefinition ¶
type LoreDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` Subtitle string `json:"subtitle"` }
Destiny.Definitions.Lore.DestinyLoreDefinition
These are definitions for in-game "Lore," meant to be narrative enhancements of the game experience. DestinyInventoryItemDefinitions for interesting items point to these definitions, but nothing's stopping you from scraping all of these and doing something cool with them. If they end up having cool data.
func (LoreDefinition) DefinitionTable ¶
func (d LoreDefinition) DefinitionTable() string
type Manifest ¶
type Manifest struct { // Information about the "Image Pyramid" for Destiny icons. Where possible, we create smaller versions // of Destiny icons. These are found as subfolders under the location of the "original/full size" // Destiny images, with the same file name and extension as the original image itself. (this lets us // avoid sending largely redundant path info with every entity, at the expense of the smaller versions // of the image being less discoverable) IconImagePyramidInfo []ImagePyramidEntry `json:"iconImagePyramidInfo"` // This points to the generated JSON that contains all the Definitions. Each key is a locale. The value // is a dictionary, where the key is a definition type by name, and the value is the path to the file // for that definition. WARNING: This is unsafe and subject to change - do not depend on data in these // files staying around long-term. JsonWorldComponentContentPaths map[string]map[string]string `json:"jsonWorldComponentContentPaths"` // This points to the generated JSON that contains all the Definitions. Each key is a locale. The value // is a path to the aggregated world definitions (warning: large file!) JsonWorldContentPaths map[string]string `json:"jsonWorldContentPaths"` MobileAssetContentPath string `json:"mobileAssetContentPath"` MobileClanBannerDatabasePath string `json:"mobileClanBannerDatabasePath"` MobileGearAssetDataBases []GearAssetDataBaseDefinition `json:"mobileGearAssetDataBases"` MobileGearCDN map[string]string `json:"mobileGearCDN"` MobileWorldContentPaths map[string]string `json:"mobileWorldContentPaths"` Version string `json:"version"` }
Destiny.Config.DestinyManifest
DestinyManifest is the external-facing contract for just the properties needed by those calling the Destiny Platform.
type MaterialRequirement ¶
type MaterialRequirement struct { // The amount of the material required. Count int32 `json:"count"` // If true, the material requirement count value is constant. Since The Witch Queen expansion, some // material requirement counts can be dynamic and will need to be returned with an API call. CountIsConstant bool `json:"countIsConstant"` // If True, the material will be removed from the character's inventory when the action is performed. DeleteOnAction bool `json:"deleteOnAction"` // The hash identifier of the material required. Use it to look up the material's // DestinyInventoryItemDefinition. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If True, this requirement is "silent": don't bother showing it in a material requirements display. I // mean, I'm not your mom: I'm not going to tell you you *can't* show it. But we won't show it in our // UI. OmitFromRequirements bool `json:"omitFromRequirements"` }
Destiny.Definitions.DestinyMaterialRequirement
Many actions relating to items require you to expend materials: - Activating a talent node - Inserting a plug into a socket The items will refer to material requirements by a materialRequirementsHash in these cases, and this is the definition for those requirements in terms of the item required, how much of it is required and other interesting info. This is one of the rare/strange times where a single contract class is used both in definitions *and* in live data response contracts. I'm not sure yet whether I regret that.
func (MaterialRequirement) DefinitionTable ¶
func (d MaterialRequirement) DefinitionTable() string
type MaterialRequirementSetDefinition ¶
type MaterialRequirementSetDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The list of all materials that are required. Materials []MaterialRequirement `json:"materials"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyMaterialRequirementSetDefinition
Represent a set of material requirements: Items that either need to be owned or need to be consumed in order to perform an action. A variety of other entities refer to these as gatekeepers and payments for actions that can be performed in game.
func (MaterialRequirementSetDefinition) DefinitionTable ¶
func (d MaterialRequirementSetDefinition) DefinitionTable() string
type MedalTierDefinition ¶
type MedalTierDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If you're rendering medals by tier, render them in this order (ascending) Order int32 `json:"order"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // The name of the tier. TierName string `json:"tierName"` }
Destiny.Definitions.DestinyMedalTierDefinition
An artificial construct of our own creation, to try and put some order on top of Medals and keep them from being one giant, unmanageable and unsorted blob of stats. Unfortunately, we haven't had time to do this evaluation yet in Destiny 2, so we're short on Medal Tiers. This will hopefully be updated over time, if Medals continue to exist.
func (MedalTierDefinition) DefinitionTable ¶
func (d MedalTierDefinition) DefinitionTable() string
type MembershipOption ¶
type MembershipOption int32
GroupsV2.MembershipOption
func (MembershipOption) Enum ¶
func (e MembershipOption) Enum() string
type MetricComponent ¶
type MetricComponent struct { Invisible bool `json:"invisible"` ObjectiveProgress ObjectiveProgress `json:"objectiveProgress"` }
Destiny.Components.Metrics.DestinyMetricComponent
type MetricDefinition ¶
type MetricDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` LowerValueIsBetter bool `json:"lowerValueIsBetter"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` TrackingObjectiveHash Hash[ObjectiveDefinition] `json:"trackingObjectiveHash"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Metrics.DestinyMetricDefinition
func (MetricDefinition) DefinitionTable ¶
func (d MetricDefinition) DefinitionTable() string
type MetricsComponent ¶
type MetricsComponent struct { Metrics map[uint32]MetricComponent `json:"metrics"` MetricsRootNodeHash Hash[PresentationNodeDefinition] `json:"metricsRootNodeHash"` }
Destiny.Components.Metrics.DestinyMetricsComponent
type Milestone ¶
type Milestone struct { // The currently active Activities in this milestone, when the Milestone is driven by Challenges. // Not all Milestones have Challenges, but when they do this will indicate the Activities and // Challenges under those Activities related to this Milestone. Activities []MilestoneChallengeActivity `json:"activities"` // Indicates what quests are available for this Milestone. Usually this will be only a single Quest, // but some quests have multiple available that you can choose from at any given time. All possible // quests for a milestone can be found in the DestinyMilestoneDefinition, but they must be combined // with this Live data to determine which one(s) are actually active right now. It is possible for // Milestones to not have any quests. AvailableQuests []MilestoneQuest `json:"availableQuests"` // If known, this is the date when the event will next end or repeat. It will only be populated for // events with fixed and repeating start and end dates. EndDate Nullable[Timestamp] `json:"endDate,omitempty"` // The unique identifier for the Milestone. Use it to look up the DestinyMilestoneDefinition, so you // can combine the other data in this contract with static definition data. MilestoneHash Hash[MilestoneDefinition] `json:"milestoneHash"` // Used for ordering milestones in a display to match how we order them in BNet. May pull from static // data, or possibly in the future from dynamic information. Order int32 `json:"order"` // If the entity to which this component is attached has known active Rewards for the player, this will // detail information about those rewards, keyed by the RewardEntry Hash. (See // DestinyMilestoneDefinition for more information about Reward Entries) Note that these rewards are // not for the Quests related to the Milestone. Think of these as "overview/checklist" rewards that may // be provided for Milestones that may provide rewards for performing a variety of tasks that aren't // under a specific Quest. Rewards []MilestoneRewardCategory `json:"rewards"` // If known, this is the date when the event last began or refreshed. It will only be populated for // events with fixed and repeating start and end dates. StartDate Nullable[Timestamp] `json:"startDate,omitempty"` // Milestones may have arbitrary key/value pairs associated with them, for data that users will want to // know about but that doesn't fit neatly into any of the common components such as Quests. A good // example of this would be - if this existed in Destiny 1 - the number of wins you currently have on // your Trials of Osiris ticket. Looking in the DestinyMilestoneDefinition, you can use the string // identifier of this dictionary to look up more info about the value, including localized string // content for displaying the value. The value in the dictionary is the floating point number. The // definition will tell you how to format this number. Values map[string]float64 `json:"values"` // A milestone may have one or more active vendors that are "related" to it (that provide rewards, or // that are the initiators of the Milestone). I already regret this, even as I'm typing it. [I told you // I'd regret this] You see, sometimes a milestone may be directly correlated with a set of vendors // that provide varying tiers of rewards. The player may not be able to interact with one or more of // those vendors. This will return the hashes of the Vendors that the player *can* interact with, // allowing you to show their current inventory as rewards or related items to the Milestone or its // activities. // Before we even use it, it's already deprecated! How much of a bummer is that? We need more data. VendorHashes []uint32 `json:"vendorHashes"` // Replaces vendorHashes, which I knew was going to be trouble the day it walked in the door. This will // return not only what Vendors are active and relevant to the activity (in an implied order that you // can choose to ignore), but also other data - for example, if the Vendor is featuring a specific item // relevant to this event that you should show with them. Vendors []MilestoneVendor `json:"vendors"` }
Destiny.Milestones.DestinyMilestone
Represents a runtime instance of a user's milestone status. Live Milestone data should be combined with DestinyMilestoneDefinition data to show the user a picture of what is available for them to do in the game, and their status in regards to said "things to do." Consider it a big, wonky to-do list, or Advisors 3.0 for those who remember the Destiny 1 API.
type MilestoneActivity ¶
type MilestoneActivity struct { // The hash of an arbitrarily chosen variant of this activity. We'll go ahead and call that the // "canonical" activity, because if you're using this value you should only use it for properties that // are common across the variants: things like the name of the activity, it's location, etc... Use this // hash to look up the DestinyActivityDefinition of this activity for rendering data. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // The hash identifier of the most specific Activity Mode under which this activity is played. This is // useful for situations where the activity in question is - for instance - a PVP map, but it's not // clear what mode the PVP map is being played under. If it's a playlist, this will be less specific: // but hopefully useful in some way. ActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"activityModeHash,omitempty"` // The enumeration equivalent of the most specific Activity Mode under which this activity is played. ActivityModeType Nullable[int32] `json:"activityModeType,omitempty"` // 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. ModifierHashes []uint32 `json:"modifierHashes"` // If you want more than just name/location/etc... you're going to have to dig into and show the // variants of the conceptual activity. These will differ in seemingly arbitrary ways, like difficulty // level and modifiers applied. Show it in whatever way tickles your fancy. Variants []MilestoneActivityVariant `json:"variants"` }
Destiny.Milestones.DestinyMilestoneActivity
Sometimes, we know the specific activity that the Milestone wants you to play. This entity provides additional information about that Activity and all of its variants. (sometimes there's only one variant, but I think you get the point)
type MilestoneActivityCompletionStatus ¶
type MilestoneActivityCompletionStatus struct { // If the activity has been "completed", that information will be returned here. Completed bool `json:"completed"` // If the Activity has discrete "phases" that we can track, that info will be here. Otherwise, this // value will be NULL. Note that this is a list and not a dictionary: the order implies the ascending // order of phases or progression in this activity. Phases []MilestoneActivityPhase `json:"phases"` }
Destiny.Milestones.DestinyMilestoneActivityCompletionStatus
Represents this player's personal completion status for the Activity under a Milestone, if the activity has trackable completion and progress information. (most activities won't, or the concept won't apply. For instance, it makes sense to talk about a tier of a raid as being Completed or having progress, but it doesn't make sense to talk about a Crucible Playlist in those terms.
type MilestoneActivityDefinition ¶
type MilestoneActivityDefinition struct { // The "Conceptual" activity hash. Basically, we picked the lowest level activity and are treating it // as the canonical definition of the activity for rendering purposes. // If you care about the specific difficulty modes and variations, use the activities under "Variants". ConceptualActivityHash Hash[ActivityDefinition] `json:"conceptualActivityHash"` // A milestone-referenced activity can have many variants, such as Tiers or alternative modes of play. // Even if there is only a single variant, the details for these are represented within as a variant // definition. // It is assumed that, if this DestinyMilestoneActivityDefinition is active, then all variants should // be active. // If a Milestone could ever split the variants' active status conditionally, they should all have // their own DestinyMilestoneActivityDefinition instead! The potential duplication will be worth it for // the obviousness of processing and use. Variants map[Hash[ActivityDefinition]]MilestoneActivityVariantDefinition `json:"variants"` }
Destiny.Definitions.Milestones.DestinyMilestoneActivityDefinition
Milestones can have associated activities which provide additional information about the context, challenges, modifiers, state etc... related to this Milestone. Information we need to be able to return that data is defined here, along with Tier data to establish a relationship between a conceptual Activity and its difficulty levels and variants.
func (MilestoneActivityDefinition) DefinitionTable ¶
func (d MilestoneActivityDefinition) DefinitionTable() string
type MilestoneActivityPhase ¶
type MilestoneActivityPhase struct { // Indicates if the phase has been completed. Complete bool `json:"complete"` // In DestinyActivityDefinition, if the activity has phases, there will be a set of phases defined in // the "insertionPoints" property. This is the hash that maps to that phase. PhaseHash uint32 `json:"phaseHash"` }
Destiny.Milestones.DestinyMilestoneActivityPhase
Represents whatever information we can return about an explicit phase in an activity. In the future, I hope we'll have more than just "guh, you done gone and did something," but for the forseeable future that's all we've got. I'm making it more than just a list of booleans out of that overly-optimistic hope.
type MilestoneActivityVariant ¶
type MilestoneActivityVariant struct { // The hash for the specific variant of the activity related to this milestone. You can pull more // detailed static info from the DestinyActivityDefinition, such as difficulty level. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // The hash identifier of the most specific Activity Mode under which this activity is played. This is // useful for situations where the activity in question is - for instance - a PVP map, but it's not // clear what mode the PVP map is being played under. If it's a playlist, this will be less specific: // but hopefully useful in some way. ActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"activityModeHash,omitempty"` // The enumeration equivalent of the most specific Activity Mode under which this activity is played. ActivityModeType Nullable[int32] `json:"activityModeType,omitempty"` // An OPTIONAL component: if it makes sense to talk about this activity variant in terms of whether or // not it has been completed or what progress you have made in it, this will be returned. Otherwise, // this will be NULL. CompletionStatus MilestoneActivityCompletionStatus `json:"completionStatus"` }
Destiny.Milestones.DestinyMilestoneActivityVariant
Represents custom data that we know about an individual variant of an activity.
type MilestoneActivityVariantDefinition ¶
type MilestoneActivityVariantDefinition struct { // The hash to use for looking up the variant Activity's definition (DestinyActivityDefinition), where // you can find its distinguishing characteristics such as difficulty level and recommended light // level. // Frequently, that will be the only distinguishing characteristics in practice, which is somewhat of a // bummer. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // If you care to do so, render the variants in the order prescribed by this value. // When you combine live Milestone data with the definition, the order becomes more useful because // you'll be cross-referencing between the definition and live data. Order int32 `json:"order"` }
Destiny.Definitions.Milestones.DestinyMilestoneActivityVariantDefinition
Represents a variant on an activity for a Milestone: a specific difficulty tier, or a specific activity variant for example. These will often have more specific details, such as an associated Guided Game, progression steps, tier-specific rewards, and custom values.
func (MilestoneActivityVariantDefinition) DefinitionTable ¶
func (d MilestoneActivityVariantDefinition) DefinitionTable() string
type MilestoneChallengeActivity ¶
type MilestoneChallengeActivity struct { ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // 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. BooleanActivityOptions map[uint32]bool `json:"booleanActivityOptions"` Challenges []ChallengeStatus `json:"challenges"` // If returned, this is the index into the DestinyActivityDefinition's "loadouts" property, indicating // the currently active loadout requirements. LoadoutRequirementIndex Nullable[int32] `json:"loadoutRequirementIndex,omitempty"` // 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. ModifierHashes []uint32 `json:"modifierHashes"` // If the Activity has discrete "phases" that we can track, that info will be here. Otherwise, this // value will be NULL. Note that this is a list and not a dictionary: the order implies the ascending // order of phases or progression in this activity. Phases []MilestoneActivityPhase `json:"phases"` }
Destiny.Milestones.DestinyMilestoneChallengeActivity
type MilestoneChallengeActivityDefinition ¶
type MilestoneChallengeActivityDefinition struct { // If the activity and its challenge is visible on any of these nodes, it will be returned. ActivityGraphNodes []MilestoneChallengeActivityGraphNodeEntry `json:"activityGraphNodes"` // The activity for which this challenge is active. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` Challenges []MilestoneChallengeDefinition `json:"challenges"` // Phases related to this activity, if there are any. // These will be listed in the order in which they will appear in the actual activity. Phases []MilestoneChallengeActivityPhase `json:"phases"` }
Destiny.Definitions.Milestones.DestinyMilestoneChallengeActivityDefinition
func (MilestoneChallengeActivityDefinition) DefinitionTable ¶
func (d MilestoneChallengeActivityDefinition) DefinitionTable() string
type MilestoneChallengeActivityGraphNodeEntry ¶
type MilestoneChallengeActivityGraphNodeEntry struct { ActivityGraphHash uint32 `json:"activityGraphHash"` ActivityGraphNodeHash uint32 `json:"activityGraphNodeHash"` }
Destiny.Definitions.Milestones.DestinyMilestoneChallengeActivityGraphNodeEntry
func (MilestoneChallengeActivityGraphNodeEntry) DefinitionTable ¶
func (d MilestoneChallengeActivityGraphNodeEntry) DefinitionTable() string
type MilestoneChallengeActivityPhase ¶
type MilestoneChallengeActivityPhase struct { // The hash identifier of the activity's phase. PhaseHash uint32 `json:"phaseHash"` }
Destiny.Definitions.Milestones.DestinyMilestoneChallengeActivityPhase
func (MilestoneChallengeActivityPhase) DefinitionTable ¶
func (d MilestoneChallengeActivityPhase) DefinitionTable() string
type MilestoneChallengeDefinition ¶
type MilestoneChallengeDefinition struct { // The challenge related to this milestone. ChallengeObjectiveHash Hash[ObjectiveDefinition] `json:"challengeObjectiveHash"` }
Destiny.Definitions.Milestones.DestinyMilestoneChallengeDefinition
func (MilestoneChallengeDefinition) DefinitionTable ¶
func (d MilestoneChallengeDefinition) DefinitionTable() string
type MilestoneContent ¶
type MilestoneContent struct { // The "About this Milestone" text from the Firehose. About string `json:"about"` // If DPS has defined items related to this Milestone, they can categorize those items in the Firehose. // That data will then be returned as item categories here. ItemCategories []MilestoneContentItemCategory `json:"itemCategories"` // The Current Status of the Milestone, as driven by the Firehose. Status string `json:"status"` // A list of tips, provided by the Firehose. Tips []string `json:"tips"` }
Destiny.Milestones.DestinyMilestoneContent
Represents localized, extended content related to Milestones. This is intentionally returned by a separate endpoint and not with Character-level Milestone data because we do not put localized data into standard Destiny responses, both for brevity of response and for caching purposes. If you really need this data, hit the Milestone Content endpoint.
type MilestoneContentItemCategory ¶
type MilestoneContentItemCategory struct { ItemHashes []uint32 `json:"itemHashes"` Title string `json:"title"` }
Destiny.Milestones.DestinyMilestoneContentItemCategory
Part of our dynamic, localized Milestone content is arbitrary categories of items. These are built in our content management system, and thus aren't the same as programmatically generated rewards.
type MilestoneDefinition ¶
type MilestoneDefinition struct { // A Milestone can now be represented by one or more activities directly (without a backing Quest), and // that activity can have many challenges, modifiers, and related to it. Activities []MilestoneChallengeActivityDefinition `json:"activities"` DefaultOrder int32 `json:"defaultOrder"` // A hint to the UI to indicate what to show as the display properties for this Milestone when showing // "Live" milestone data. Feel free to show more than this if desired: this hint is meant to simplify // our own UI, but it may prove useful to you as well. DisplayPreference MilestoneDisplayPreference `json:"displayPreference"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If TRUE, "Explore Destiny" (the front page of BNet and the companion app) prioritize using the // activity image over any overriding Quest or Milestone image provided. This unfortunate hack is // brought to you by Trials of The Nine. ExplorePrioritizesActivityImage bool `json:"explorePrioritizesActivityImage"` // If the milestone has a friendly identifier for association with other features - such as Recruiting // - that identifier can be found here. This is "friendly" in that it looks better in a URL than // whatever the identifier for the Milestone actually is. FriendlyName string `json:"friendlyName"` // A shortcut for clients - and the server - to understand whether we can predict the start and end // dates for this event. In practice, there are multiple ways that an event could have predictable date // ranges, but not all events will be able to be predicted via any mechanism (for instance, events that // are manually triggered on and off) HasPredictableDates bool `json:"hasPredictableDates"` // 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. Hash uint32 `json:"hash"` // A custom image someone made just for the milestone. Isn't that special? Image string `json:"image"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Some milestones are explicit objectives that you can see and interact with in the game. Some // milestones are more conceptual, built by BNet to help advise you on activities and events that // happen in-game but that aren't explicitly shown in game as Milestones. If this is TRUE, you can see // this as a milestone in the game. If this is FALSE, it's an event or activity you can participate in, // but you won't see it as a Milestone in the game's UI. IsInGameMilestone bool `json:"isInGameMilestone"` // An enumeration listing one of the possible types of milestones. Check out the DestinyMilestoneType // enum for more info! MilestoneType MilestoneType `json:"milestoneType"` // The full set of possible Quests that give the overview of the Milestone event/activity in question. // Only one of these can be active at a time for a given Conceptual Milestone, but many of them may be // "available" for the user to choose from. (for instance, with Milestones you can choose from the // three available Quests, but only one can be active at a time) Keyed by the quest item. // As of Forsaken (~September 2018), Quest-style Milestones are being removed for many types of // activities. There will likely be further revisions to the Milestone concept in the future. Quests map[uint32]MilestoneQuestDefinition `json:"quests"` // If True, then the Milestone has been integrated with BNet's recruiting feature. Recruitable bool `json:"recruitable"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If this milestone can provide rewards, this will define the categories into which the individual // reward entries are placed. // This is keyed by the Category's hash, which is only guaranteed to be unique within a given // Milestone. Rewards map[uint32]MilestoneRewardCategoryDefinition `json:"rewards"` // If TRUE, this entry should be returned in the list of milestones for the "Explore Destiny" (i.e. new // BNet homepage) features of Bungie.net (as long as the underlying event is active) Note that this is // a property specifically used by BNet and the companion app for the "Live Events" feature of the // front page/welcome view: it's not a reflection of what you see in-game. ShowInExplorer bool `json:"showInExplorer"` // Determines whether we'll show this Milestone in the user's personal Milestones list. ShowInMilestones bool `json:"showInMilestones"` // Sometimes, milestones will have arbitrary values associated with them that are of interest to us or // to third party developers. This is the collection of those values' definitions, keyed by the // identifier of the value and providing useful definition information such as localizable names and // descriptions for the value. Values map[string]MilestoneValueDefinition `json:"values"` // Sometimes, milestones will have rewards provided by Vendors. This definition gives the information // needed to understand which vendors are relevant, the order in which they should be returned if order // matters, and the conditions under which the Vendor is relevant to the user. Vendors []MilestoneVendorDefinition `json:"vendors"` // If you're going to show Vendors for the Milestone, you can use this as a localized "header" for the // section where you show that vendor data. It'll provide a more context-relevant clue about what the // vendor's role is in the Milestone. VendorsDisplayTitle string `json:"vendorsDisplayTitle"` }
Destiny.Definitions.Milestones.DestinyMilestoneDefinition
Milestones are an in-game concept where they're attempting to tell you what you can do next in-game. If that sounds a lot like Advisors in Destiny 1, it is! So we threw out Advisors in the Destiny 2 API and tacked all of the data we would have put on Advisors onto Milestones instead. Each Milestone represents something going on in the game right now: - A "ritual activity" you can perform, like nightfall - A "special event" that may have activities related to it, like Taco Tuesday (there's no Taco Tuesday in Destiny 2) - A checklist you can fulfill, like helping your Clan complete all of its weekly objectives - A tutorial quest you can play through, like the introduction to the Crucible. Most of these milestones appear in game as well. Some of them are BNet only, because we're so extra. You're welcome. There are some important caveats to understand about how we currently render Milestones and their deficiencies. The game currently doesn't have any content that actually tells you oughtright *what* the Milestone is: that is to say, what you'll be doing. The best we get is either a description of the overall Milestone, or of the Quest that the Milestone is having you partake in: which is usually something that assumes you already know what it's talking about, like "Complete 5 Challenges". 5 Challenges for what? What's a challenge? These are not questions that the Milestone data will answer for you unfortunately. This isn't great, and in the future I'd like to add some custom text to give you more contextual information to pass on to your users. But for now, you can do what we do to render what little display info we do have: Start by looking at the currently active quest (ideally, you've fetched DestinyMilestone or DestinyPublicMilestone data from the API, so you know the currently active quest for the Milestone in question). Look up the Quests property in the Milestone Definition, and check if it has display properties. If it does, show that as the description of the Milestone. If it doesn't, fall back on the Milestone's description. This approach will let you avoid, whenever possible, the even less useful (and sometimes nonexistant) milestone-level names and descriptions.
func (MilestoneDefinition) DefinitionTable ¶
func (d MilestoneDefinition) DefinitionTable() string
type MilestoneDisplayPreference ¶
type MilestoneDisplayPreference int32
Destiny.Definitions.Milestones.DestinyMilestoneDisplayPreference
A hint for the UI as to what display information ought to be shown. Defaults to showing the static MilestoneDefinition's display properties.
If for some reason the indicated property is not populated, fall back to the
MilestoneDefinition.displayProperties.
func (MilestoneDisplayPreference) Enum ¶
func (e MilestoneDisplayPreference) Enum() string
type MilestoneQuest ¶
type MilestoneQuest struct { // *IF* the Milestone has an active Activity that can give you greater details about what you need to // do, it will be returned here. Remember to associate this with the DestinyMilestoneDefinition's // activities to get details about the activity, including what specific quest it is related to if you // have multiple quests to choose from. Activity MilestoneActivity `json:"activity"` // The activities referred to by this quest can have many associated challenges. They are all contained // here, with activityHashes so that you can associate them with the specific activity variants in // which they can be found. In retrospect, I probably should have put these under the specific Activity // Variants, but it's too late to change it now. Theoretically, a quest without Activities can still // have Challenges, which is why this is on a higher level than activity/variants, but it probably // should have been in both places. That may come as a later revision. Challenges []ChallengeStatus `json:"challenges"` // Quests are defined as Items in content. As such, this is the hash identifier of the // DestinyInventoryItemDefinition that represents this quest. It will have pointers to all of the steps // in the quest, and display information for the quest (title, description, icon etc) Individual steps // will be referred to in the Quest item's DestinyInventoryItemDefinition.setData property, and // themselves are Items with their own renderable data. QuestItemHash Hash[InventoryItemDefinition] `json:"questItemHash"` // The current status of the quest for the character making the request. Status QuestStatus `json:"status"` }
Destiny.Milestones.DestinyMilestoneQuest
If a Milestone has one or more Quests, this will contain the live information for the character's status with one of those quests.
type MilestoneQuestDefinition ¶
type MilestoneQuestDefinition struct { // The full set of all possible "conceptual activities" that are related to this Milestone. Tiers or // alternative modes of play within these conceptual activities will be defined as sub-entities. Keyed // by the Conceptual Activity Hash. Use the key to look up DestinyActivityDefinition. Activities map[Hash[ActivityDefinition]]MilestoneActivityDefinition `json:"activities"` // Sometimes, a Milestone's quest is related to an entire Destination rather than a specific activity. // In that situation, this will be the hash of that Destination. Hotspots are currently the only // Milestones that expose this data, but that does not preclude this data from being returned for other // Milestones in the future. DestinationHash Nullable[Hash[DestinationDefinition]] `json:"destinationHash,omitempty"` // The individual quests may have different definitions from the overall milestone: if there's a // specific active quest, use these displayProperties instead of that of the overall // DestinyMilestoneDefinition. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If populated, this image can be shown instead of the generic milestone's image when this quest is // live, or it can be used to show a background image for the quest itself that differs from that of // the Activity or the Milestone. OverrideImage string `json:"overrideImage"` // The item representing this Milestone quest. Use this hash to look up the // DestinyInventoryItemDefinition for the quest to find its steps and human readable data. QuestItemHash Hash[InventoryItemDefinition] `json:"questItemHash"` // The rewards you will get for completing this quest, as best as we could extract them from our data. // Sometimes, it'll be a decent amount of data. Sometimes, it's going to be sucky. Sorry. QuestRewards MilestoneQuestRewardsDefinition `json:"questRewards"` }
Destiny.Definitions.Milestones.DestinyMilestoneQuestDefinition
Any data we need to figure out whether this Quest Item is the currently active one for the conceptual Milestone. Even just typing this description, I already regret it.
func (MilestoneQuestDefinition) DefinitionTable ¶
func (d MilestoneQuestDefinition) DefinitionTable() string
type MilestoneQuestRewardItem ¶
type MilestoneQuestRewardItem struct { // Indicates that this item quantity may be conditionally shown or hidden, based on various sources of // state. For example: server flags, account state, or character progress. HasConditionalVisibility bool `json:"hasConditionalVisibility"` // The hash identifier for the item in question. Use it to look up the item's // DestinyInventoryItemDefinition. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this quantity is referring to a specific instance of an item, this will have the item's instance // ID. Normally, this will be null. ItemInstanceID Nullable[Int64] `json:"itemInstanceId,omitempty"` // The amount of the item needed/available depending on the context of where DestinyItemQuantity is // being used. Quantity int32 `json:"quantity"` // The quest reward item *may* be associated with a vendor. If so, this is that vendor. Use this hash // to look up the DestinyVendorDefinition. VendorHash Nullable[Hash[VendorDefinition]] `json:"vendorHash,omitempty"` // The quest reward item *may* be associated with a vendor. If so, this is the index of the item being // sold, which we can use at runtime to find instanced item information for the reward item. VendorItemIndex Nullable[int32] `json:"vendorItemIndex,omitempty"` }
Destiny.Definitions.Milestones.DestinyMilestoneQuestRewardItem
A subclass of DestinyItemQuantity, that provides not just the item and its quantity but also information that BNet can - at some point - use internally to provide more robust runtime information about the item's qualities. If you want it, please ask! We're just out of time to wire it up right now. Or a clever person just may do it with our existing endpoints.
func (MilestoneQuestRewardItem) DefinitionTable ¶
func (d MilestoneQuestRewardItem) DefinitionTable() string
type MilestoneQuestRewardsDefinition ¶
type MilestoneQuestRewardsDefinition struct { // The items that represent your reward for completing the quest. // Be warned, these could be "dummy" items: items that are only used to render a good-looking in-game // tooltip, but aren't the actual items themselves. // For instance, when experience is given there's often a dummy item representing "experience", with // quantity being the amount of experience you got. We don't have a programmatic association between // those and whatever Progression is actually getting that experience... yet. Items []MilestoneQuestRewardItem `json:"items"` }
Destiny.Definitions.Milestones.DestinyMilestoneQuestRewardsDefinition
If rewards are given in a quest - as opposed to overall in the entire Milestone - there's way less to track. We're going to simplify this contract as a result. However, this also gives us the opportunity to potentially put more than just item information into the reward data if we're able to mine it out in the future. Remember this if you come back and ask "why are quest reward items nested inside of their own class?"
func (MilestoneQuestRewardsDefinition) DefinitionTable ¶
func (d MilestoneQuestRewardsDefinition) DefinitionTable() string
type MilestoneRewardCategory ¶
type MilestoneRewardCategory struct { // The individual reward entries for this category, and their status. Entries []MilestoneRewardEntry `json:"entries"` // Look up the relevant DestinyMilestoneDefinition, and then use rewardCategoryHash to look up the // category info in DestinyMilestoneDefinition.rewards. RewardCategoryHash uint32 `json:"rewardCategoryHash"` }
Destiny.Milestones.DestinyMilestoneRewardCategory
Represents a category of "summary" rewards that can be earned for the Milestone regardless of specific quest rewards that can be earned.
type MilestoneRewardCategoryDefinition ¶
type MilestoneRewardCategoryDefinition struct { // Identifies the reward category. Only guaranteed unique within this specific component! CategoryHash uint32 `json:"categoryHash"` // The string identifier for the category, if you want to use it for some end. Guaranteed unique within // the specific component. CategoryIdentifier string `json:"categoryIdentifier"` // Hopefully this is obvious by now. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If you want to use BNet's recommended order for rendering categories programmatically, use this // value and compare it to other categories to determine the order in which they should be rendered. I // don't feel great about putting this here, I won't lie. Order int32 `json:"order"` // If this milestone can provide rewards, this will define the sets of rewards that can be earned, the // conditions under which they can be acquired, internal data that we'll use at runtime to determine // whether you've already earned or redeemed this set of rewards, and the category that this reward // should be placed under. RewardEntries map[uint32]MilestoneRewardEntryDefinition `json:"rewardEntries"` }
Destiny.Definitions.Milestones.DestinyMilestoneRewardCategoryDefinition
The definition of a category of rewards, that contains many individual rewards.
func (MilestoneRewardCategoryDefinition) DefinitionTable ¶
func (d MilestoneRewardCategoryDefinition) DefinitionTable() string
type MilestoneRewardEntry ¶
type MilestoneRewardEntry struct { // If TRUE, the player has earned this reward. Earned bool `json:"earned"` // If TRUE, the player has redeemed/picked up/obtained this reward. Feel free to alias this to // "gotTheShinyBauble" in your own codebase. Redeemed bool `json:"redeemed"` // The identifier for the reward entry in question. It is important to look up the related // DestinyMilestoneRewardEntryDefinition to get the static details about the reward, which you can do // by looking up the milestone's DestinyMilestoneDefinition and examining the // DestinyMilestoneDefinition.rewards[rewardCategoryHash].rewardEntries[rewardEntryHash] data. RewardEntryHash uint32 `json:"rewardEntryHash"` }
Destiny.Milestones.DestinyMilestoneRewardEntry
The character-specific data for a milestone's reward entry. See DestinyMilestoneDefinition for more information about Reward Entries.
type MilestoneRewardEntryDefinition ¶
type MilestoneRewardEntryDefinition struct { // For us to bother returning this info, we should be able to return some kind of information about why // these rewards are grouped together. This is ideally that information. Look at how confident I am // that this will always remain true. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The items you will get as rewards, and how much of it you'll get. Items []ItemQuantity `json:"items"` // If you want to follow BNet's ordering of these rewards, use this number within a given category to // order the rewards. Yeah, I know. I feel dirty too. Order int32 `json:"order"` // The identifier for this reward entry. Runtime data will refer to reward entries by this hash. Only // guaranteed unique within the specific Milestone. RewardEntryHash uint32 `json:"rewardEntryHash"` // The string identifier, if you care about it. Only guaranteed unique within the specific Milestone. RewardEntryIdentifier string `json:"rewardEntryIdentifier"` // If this reward is redeemed at a Vendor, this is the hash of the Vendor to go to in order to redeem // the reward. Use this hash to look up the DestinyVendorDefinition. VendorHash Nullable[Hash[VendorDefinition]] `json:"vendorHash,omitempty"` }
Destiny.Definitions.Milestones.DestinyMilestoneRewardEntryDefinition
The definition of a specific reward, which may be contained in a category of rewards and that has optional information about how it is obtained.
func (MilestoneRewardEntryDefinition) DefinitionTable ¶
func (d MilestoneRewardEntryDefinition) DefinitionTable() string
type MilestoneType ¶
type MilestoneType int32
Destiny.Definitions.Milestones.DestinyMilestoneType
The type of milestone. Milestones can be Tutorials, one-time/triggered/non-repeating but not necessarily tutorials, or Repeating Milestones.
func (MilestoneType) Enum ¶
func (e MilestoneType) Enum() string
type MilestoneValueDefinition ¶
type MilestoneValueDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` Key string `json:"key"` }
Destiny.Definitions.Milestones.DestinyMilestoneValueDefinition
The definition for information related to a key/value pair that is relevant for a particular Milestone or component within the Milestone. This lets us more flexibly pass up information that's useful to someone, even if it's not necessarily us.
func (MilestoneValueDefinition) DefinitionTable ¶
func (d MilestoneValueDefinition) DefinitionTable() string
type MilestoneVendor ¶
type MilestoneVendor struct { // If this vendor is featuring a specific item for this event, this will be the hash identifier of that // item. I'm taking bets now on how long we go before this needs to be a list or some other, more // complex representation instead and I deprecate this too. I'm going to go with 5 months. Calling it // now, 2017-09-14 at 9:46pm PST. PreviewItemHash Nullable[Hash[InventoryItemDefinition]] `json:"previewItemHash,omitempty"` // The hash identifier of the Vendor related to this Milestone. You can show useful things from this, // such as thier Faction icon or whatever you might care about. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Milestones.DestinyMilestoneVendor
If a Milestone has one or more Vendors that are relevant to it, this will contain information about that vendor that you can choose to show.
type MilestoneVendorDefinition ¶
type MilestoneVendorDefinition struct { // The hash of the vendor whose wares should be shown as associated with the Milestone. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Definitions.Milestones.DestinyMilestoneVendorDefinition
If the Milestone or a component has vendors whose inventories could/should be displayed that are relevant to it, this will return the vendor in question. It also contains information we need to determine whether that vendor is actually relevant at the moment, given the user's current state.
func (MilestoneVendorDefinition) DefinitionTable ¶
func (d MilestoneVendorDefinition) DefinitionTable() string
type NewsArticleRssItem ¶
type NewsArticleRssItem struct { Description string `json:"Description"` HtmlContent string `json:"HtmlContent"` ImagePath string `json:"ImagePath"` Link string `json:"Link"` OptionalMobileImagePath string `json:"OptionalMobileImagePath"` PubDate Timestamp `json:"PubDate"` Title string `json:"Title"` UniqueIdentifier string `json:"UniqueIdentifier"` }
Content.NewsArticleRssItem
type NewsArticleRssResponse ¶
type NewsArticleRssResponse struct { CategoryFilter string `json:"CategoryFilter"` CurrentPaginationToken int32 `json:"CurrentPaginationToken"` NewsArticles []NewsArticleRssItem `json:"NewsArticles"` NextPaginationToken Nullable[int32] `json:"NextPaginationToken,omitempty"` ResultCountThisPage int32 `json:"ResultCountThisPage"` }
Content.NewsArticleRssResponse
type NodeActivationRequirement ¶
type NodeActivationRequirement struct { // The Progression level on the Talent Grid required to activate this node. // See DestinyTalentGridDefinition.progressionHash for the related Progression, and read // DestinyProgressionDefinition's documentation to learn more about Progressions. GridLevel int32 `json:"gridLevel"` // The list of hash identifiers for material requirement sets: materials that are required for the node // to be activated. See DestinyMaterialRequirementSetDefinition for more information about material // requirements. // In this case, only a single DestinyMaterialRequirementSetDefinition will be chosen from this list, // and we won't know which one will be chosen until an instance of the item is created. MaterialRequirementHashes []uint32 `json:"materialRequirementHashes"` }
Destiny.Definitions.DestinyNodeActivationRequirement
Talent nodes have requirements that must be met before they can be activated. This describes the material costs, the Level of the Talent Grid's progression required, and other conditional information that limits whether a talent node can be activated.
func (NodeActivationRequirement) DefinitionTable ¶
func (d NodeActivationRequirement) DefinitionTable() string
type NodeSocketReplaceResponse ¶
type NodeSocketReplaceResponse struct { // The hash identifier of the plug item that will be inserted into the socket found. PlugItemHash Hash[InventoryItemDefinition] `json:"plugItemHash"` // The hash identifier of the socket type to find amidst the item's sockets (the item to which this // talent grid is attached). See DestinyInventoryItemDefinition.sockets.socketEntries to find the // socket type of sockets on the item in question. SocketTypeHash Hash[SocketTypeDefinition] `json:"socketTypeHash"` }
Destiny.Definitions.DestinyNodeSocketReplaceResponse
This is a bit of an odd duck. Apparently, if talent nodes steps have this data, the game will go through on step activation and alter the first Socket it finds on the item that has a type matching the given socket type, inserting the indicated plug item.
func (NodeSocketReplaceResponse) DefinitionTable ¶
func (d NodeSocketReplaceResponse) DefinitionTable() string
type NodeStepDefinition ¶
type NodeStepDefinition struct { // If the step has requirements for activation (they almost always do, if nothing else than for the // Talent Grid's Progression to have reached a certain level), they will be defined here. ActivationRequirement NodeActivationRequirement `json:"activationRequirement"` // If true, this step can affect the level of the item. See DestinyInventoryItemDefintion for more // information about item levels and their effect on stats. AffectsLevel bool `json:"affectsLevel"` // If this is true, the step affects the item's Quality in some way. See DestinyInventoryItemDefinition // for more information about the meaning of Quality. I already made a joke about Zen and the Art of // Motorcycle Maintenance elsewhere in the documentation, so I will avoid doing it again. Oops too late AffectsQuality bool `json:"affectsQuality"` // There was a time when talent nodes could be activated multiple times, and the effects of subsequent // Steps would be compounded on each other, essentially "upgrading" the node. We have moved away from // this, but theoretically the capability still exists. // I continue to return this in case it is used in the future: if true and this step is the current // step in the node, you are allowed to activate the node a second time to receive the benefits of the // next step in the node, which will then become the active step. CanActivateNextStep bool `json:"canActivateNextStep"` // An enum representing a damage type granted by activating this step, if any. DamageType DamageType `json:"damageType"` // If the step provides a damage type, this will be the hash identifier used to look up the damage // type's DestinyDamageTypeDefinition. DamageTypeHash Nullable[Hash[DamageTypeDefinition]] `json:"damageTypeHash,omitempty"` // These are the display properties actually used to render the Talent Node. The currently active // step's displayProperties are shown. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If you can interact with this node in some way, this is the localized description of that // interaction. InteractionDescription string `json:"interactionDescription"` // If true, the next step to be chosen is random, and if you're allowed to activate the next step. (if // canActivateNextStep = true) IsNextStepRandom bool `json:"isNextStepRandom"` // The stepIndex of the next step in the talent node, or -1 if this is the last step or if the next // step to be chosen is random. // This doesn't really matter anymore unless canActivateNextStep begins to be used again. NextStepIndex int32 `json:"nextStepIndex"` // The hash of this node step. Unfortunately, while it can be used to uniquely identify the step within // a node, it is also content version dependent and should not be relied on without ensuring you have // the latest vesion of content. NodeStepHash uint32 `json:"nodeStepHash"` // The list of hash identifiers for Perks (DestinySandboxPerkDefinition) that are applied when this // step is active. Perks provide a variety of benefits and modifications - examine // DestinySandboxPerkDefinition to learn more. PerkHashes []uint32 `json:"perkHashes"` // If this step is activated, this will be a list of information used to replace socket items with new // Plugs. See DestinyInventoryItemDefinition for more information about sockets and plugs. SocketReplacements []NodeSocketReplaceResponse `json:"socketReplacements"` // When the Talent Grid's progression reaches this value, the circular "progress bar" that surrounds // the talent node should be shown. // This also indicates the lower bound of said progress bar, with the upper bound being the progress // required to reach activationRequirement.gridLevel. (at some point I should precalculate the upper // bound and put it in the definition to save people time) StartProgressionBarAtProgress int32 `json:"startProgressionBarAtProgress"` // When the step provides stat benefits on the item or character, this is the list of hash identifiers // for stats (DestinyStatDefinition) that are provided. StatHashes []uint32 `json:"statHashes"` // In Destiny 1, the Armory's Perk Filtering was driven by a concept of TalentNodeStepGroups: // categorizations of talent nodes based on their functionality. While the Armory isn't a BNet-facing // thing for now, and the new Armory will need to account for Sockets rather than Talent Nodes, this // categorization capability feels useful enough to still keep around. StepGroups TalentNodeStepGroups `json:"stepGroups"` // The index of this step in the list of Steps on the Talent Node. // Unfortunately, this is the closest thing we have to an identifier for the Step: steps are not // provided a content version agnostic identifier. This means that, when you are dealing with talent // nodes, you will need to first ensure that you have the latest version of content. StepIndex int32 `json:"stepIndex"` }
Destiny.Definitions.DestinyNodeStepDefinition
This defines the properties of a "Talent Node Step". When you see a talent node in game, the actual visible properties that you see (its icon, description, the perks and stats it provides) are not provided by the Node itself, but rather by the currently active Step on the node. When a Talent Node is activated, the currently active step's benefits are conferred upon the item and character. The currently active step on talent nodes are determined when an item is first instantiated. Sometimes it is random, sometimes it is more deterministic (particularly when a node has only a single step). Note that, when dealing with Talent Node Steps, you must ensure that you have the latest version of content. stepIndex and nodeStepHash - two ways of identifying the step within a node - are both content version dependent, and thus are subject to change between content updates.
func (NodeStepDefinition) DefinitionTable ¶
func (d NodeStepDefinition) DefinitionTable() string
type Nullable ¶
type Nullable[T any] struct { // contains filtered or unexported fields }
func (Nullable[T]) MarshalJSON ¶
func (*Nullable[T]) UnmarshalJSON ¶
type ObjectiveDefinition ¶
type ObjectiveDefinition struct { // If true, the value is allowed to go negative. AllowNegativeValue bool `json:"allowNegativeValue"` // If True, the progress will continue even beyond the point where the objective met its minimum // completion requirements. Your UI will have to accommodate it. AllowOvercompletion bool `json:"allowOvercompletion"` // If true, you can effectively "un-complete" this objective if you lose progress after crossing the // completion threshold. // If False, once you complete the task it will remain completed forever by locking the value. AllowValueChangeWhenCompleted bool `json:"allowValueChangeWhenCompleted"` // The style to use when the objective is completed. CompletedValueStyle UnlockValueUIStyle `json:"completedValueStyle"` // The value that the unlock value defined in unlockValueHash must reach in order for the objective to // be considered Completed. Used in calculating progress and completion status. CompletionValue int32 `json:"completionValue"` // Ideally, this should tell you what your task is. I'm not going to lie to you though. Sometimes this // doesn't have useful information at all. Which sucks, but there's nothing either of us can do about // it. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The style to use when the objective is still in progress. InProgressValueStyle UnlockValueUIStyle `json:"inProgressValueStyle"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If true, completion means having an unlock value less than or equal to the completionValue. // If False, completion means having an unlock value greater than or equal to the completionValue. IsCountingDownward bool `json:"isCountingDownward"` // OPTIONAL: a hash identifier for the location at which this objective must be accomplished, if there // is a location defined. Look up the DestinyLocationDefinition for this hash for that additional // location info. LocationHash Hash[LocationDefinition] `json:"locationHash"` // If nonzero, this is the minimum value at which the objective's progression should be shown. // Otherwise, don't show it yet. MinimumVisibilityThreshold int32 `json:"minimumVisibilityThreshold"` // If this objective enables Perks intrinsically, the conditions for that enabling are defined here. Perks ObjectivePerkEntryDefinition `json:"perks"` // Text to describe the progress bar. ProgressDescription string `json:"progressDescription"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // A shortcut for determining the most restrictive gating that this Objective is set to use. This // includes both the dynamic determination of progress and of completion values. See the // DestinyGatingScope enum's documentation for more details. Scope GatingScope `json:"scope"` // If True, you should continue showing the progression value in the UI after it's complete. I mean, we // already do that in BNet anyways, but if you want to be better behaved than us you could honor this // flag. ShowValueOnComplete bool `json:"showValueOnComplete"` // If this objective enables modifications on a player's stats intrinsically, the conditions are // defined here. Stats ObjectiveStatEntryDefinition `json:"stats"` // Objectives can have arbitrary UI-defined identifiers that define the style applied to objectives. // For convenience, known UI labels will be defined in the uiStyle enum value. UiLabel string `json:"uiLabel"` // If the objective has a known UI label value, this property will represent it. UiStyle ObjectiveUiStyle `json:"uiStyle"` // The UI style applied to the objective. It's an enum, take a look at DestinyUnlockValueUIStyle for // details of the possible styles. Use this info as you wish to customize your UI. // DEPRECATED: This is no longer populated by Destiny 2 game content. Please use inProgressValueStyle // and completedValueStyle instead. ValueStyle UnlockValueUIStyle `json:"valueStyle"` }
Destiny.Definitions.DestinyObjectiveDefinition
Defines an "Objective". An objective is a specific task you should accomplish in the game. These are referred to by: - Quest Steps (which are DestinyInventoryItemDefinition entities with Objectives) - Challenges (which are Objectives defined on an DestinyActivityDefintion) - Milestones (which refer to Objectives that are defined on both Quest Steps and Activities) - Anything else that the designers decide to do later. Objectives have progress, a notion of having been Completed, human readable data describing the task to be accomplished, and a lot of optional tack-on data that can enhance the information provided about the task.
func (ObjectiveDefinition) DefinitionTable ¶
func (d ObjectiveDefinition) DefinitionTable() string
type ObjectiveDisplayProperties ¶
type ObjectiveDisplayProperties struct { // The activity associated with this objective in the context of this item, if any. ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // If true, the game shows this objective on item preview screens. DisplayOnItemPreviewScreen bool `json:"displayOnItemPreviewScreen"` }
Destiny.Definitions.DestinyObjectiveDisplayProperties
func (ObjectiveDisplayProperties) DefinitionTable ¶
func (d ObjectiveDisplayProperties) DefinitionTable() string
type ObjectiveGrantStyle ¶
type ObjectiveGrantStyle int32
Destiny.DestinyObjectiveGrantStyle
Some Objectives provide perks, generally as part of providing some kind of interesting modifier for a Challenge or Quest. This indicates when the Perk is granted.
func (ObjectiveGrantStyle) Enum ¶
func (e ObjectiveGrantStyle) Enum() string
type ObjectivePerkEntryDefinition ¶
type ObjectivePerkEntryDefinition struct { // The hash identifier of the DestinySandboxPerkDefinition that will be applied to the character. PerkHash Hash[SandboxPerkDefinition] `json:"perkHash"` // An enumeration indicating whether it will be applied as long as the Objective is active, when it's // completed, or until it's completed. Style ObjectiveGrantStyle `json:"style"` }
Destiny.Definitions.DestinyObjectivePerkEntryDefinition
Defines the conditions under which an intrinsic perk is applied while participating in an Objective. These perks will generally not be benefit-granting perks, but rather a perk that modifies gameplay in some interesting way.
func (ObjectivePerkEntryDefinition) DefinitionTable ¶
func (d ObjectivePerkEntryDefinition) DefinitionTable() string
type ObjectiveProgress ¶
type ObjectiveProgress struct { // If the Objective has an Activity associated with it, this is the unique identifier of the Activity // being referred to. Use to look up the DestinyActivityDefinition in static data. This will give // localized data about *what* you should be playing for the objective to be achieved. ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // Whether or not the Objective is completed. Complete bool `json:"complete"` // As of Forsaken, objectives' completion value is determined dynamically at runtime. // This value represents the threshold of progress you need to surpass in order for this objective to // be considered "complete". // If you were using objective data, switch from using the DestinyObjectiveDefinition's // "completionValue" to this value. CompletionValue int32 `json:"completionValue"` // If the Objective has a Destination associated with it, this is the unique identifier of the // Destination being referred to. Use to look up the DestinyDestinationDefinition in static data. This // will give localized data about *where* in the universe the objective should be achieved. DestinationHash Nullable[Hash[DestinationDefinition]] `json:"destinationHash,omitempty"` // The unique identifier of the Objective being referred to. Use to look up the // DestinyObjectiveDefinition in static data. ObjectiveHash Hash[ObjectiveDefinition] `json:"objectiveHash"` // If progress has been made, and the progress can be measured numerically, this will be the value of // that progress. You can compare it to the DestinyObjectiveDefinition.completionValue property for // current vs. upper bounds, and use DestinyObjectiveDefinition.inProgressValueStyle or // completedValueStyle to determine how this should be rendered. Note that progress, in Destiny 2, need // not be a literal numeric progression. It could be one of a number of possible values, even a // Timestamp. Always examine DestinyObjectiveDefinition.inProgressValueStyle or completedValueStyle // before rendering progress. Progress Nullable[int32] `json:"progress,omitempty"` // If this is true, the objective is visible in-game. Otherwise, it's not yet visible to the player. Up // to you if you want to honor this property. Visible bool `json:"visible"` }
Destiny.Quests.DestinyObjectiveProgress
Returns data about a character's status with a given Objective. Combine with DestinyObjectiveDefinition static data for display purposes.
type ObjectiveStatEntryDefinition ¶
type ObjectiveStatEntryDefinition struct { // The stat being modified, and the value used. Stat ItemInvestmentStatDefinition `json:"stat"` // Whether it will be applied as long as the objective is active, when it's completed, or until it's // completed. Style ObjectiveGrantStyle `json:"style"` }
Destiny.Definitions.DestinyObjectiveStatEntryDefinition
Defines the conditions under which stat modifications will be applied to a Character while participating in an objective.
func (ObjectiveStatEntryDefinition) DefinitionTable ¶
func (d ObjectiveStatEntryDefinition) DefinitionTable() string
type ObjectiveUiStyle ¶
type ObjectiveUiStyle int32
Destiny.DestinyObjectiveUiStyle
If the objective has a known UI label, this enumeration will represent it.
func (ObjectiveUiStyle) Enum ¶
func (e ObjectiveUiStyle) Enum() string
type OptInFlags ¶
type OptInFlags Int64
User.OptInFlags
func (OptInFlags) Enum ¶
func (e OptInFlags) Enum() string
type PagedQuery ¶
type PagedQuery struct { CurrentPage int32 `json:"currentPage"` ItemsPerPage int32 `json:"itemsPerPage"` RequestContinuationToken string `json:"requestContinuationToken"` }
Queries.PagedQuery
type ParentItemOverride ¶
type ParentItemOverride struct { AdditionalEquipRequirementsDisplayStrings []string `json:"additionalEquipRequirementsDisplayStrings"` PipIcon string `json:"pipIcon"` }
Destiny.Definitions.Items.DestinyParentItemOverride
func (ParentItemOverride) DefinitionTable ¶
func (d ParentItemOverride) DefinitionTable() string
type PartnerOfferClaimRequest ¶
type PartnerOfferClaimRequest struct { BungieNetMembershipID Int64 `json:"BungieNetMembershipId"` PartnerOfferID string `json:"PartnerOfferId"` TransactionID string `json:"TransactionId"` }
Tokens.PartnerOfferClaimRequest
type PartnerOfferHistoryResponse ¶
type PartnerOfferHistoryResponse struct { ApplyDate Nullable[Timestamp] `json:"ApplyDate,omitempty"` IsConsumable bool `json:"IsConsumable"` LocalizedDescription string `json:"LocalizedDescription"` LocalizedName string `json:"LocalizedName"` MembershipID Nullable[Int64] `json:"MembershipId,omitempty"` MembershipType Nullable[int32] `json:"MembershipType,omitempty"` PartnerOfferKey string `json:"PartnerOfferKey"` QuantityApplied int32 `json:"QuantityApplied"` }
Tokens.PartnerOfferHistoryResponse
type PartnerOfferSkuHistoryResponse ¶
type PartnerOfferSkuHistoryResponse struct { AllOffersApplied bool `json:"AllOffersApplied"` ClaimDate Timestamp `json:"ClaimDate"` LocalizedDescription string `json:"LocalizedDescription"` LocalizedName string `json:"LocalizedName"` SkuIdentifier string `json:"SkuIdentifier"` SkuOffers []PartnerOfferHistoryResponse `json:"SkuOffers"` TransactionID string `json:"TransactionId"` }
Tokens.PartnerOfferSkuHistoryResponse
type PartnerRewardHistoryResponse ¶
type PartnerRewardHistoryResponse struct { PartnerOffers []PartnerOfferSkuHistoryResponse `json:"PartnerOffers"` TwitchDrops []TwitchDropHistoryResponse `json:"TwitchDrops"` }
Tokens.PartnerRewardHistoryResponse
type PartyMemberStates ¶
type PartyMemberStates int32
Destiny.DestinyPartyMemberStates
A flags enumeration that represents a Fireteam Member's status.
func (PartyMemberStates) Enum ¶
func (e PartyMemberStates) Enum() string
type PeriodType ¶
type PeriodType int32
Destiny.HistoricalStats.Definitions.PeriodType
func (PeriodType) Enum ¶
func (e PeriodType) Enum() string
type PerkReference ¶
type PerkReference struct { // The icon for the perk. IconPath string `json:"iconPath"` // Whether this perk is currently active. (We may return perks that you have not actually activated // yet: these represent perks that you should show in the item's tooltip, but that the user has not yet // activated.) IsActive bool `json:"isActive"` // The hash identifier for the perk, which can be used to look up DestinySandboxPerkDefinition if it // exists. Be warned, perks frequently do not have user-viewable information. You should examine // whether you actually found a name/description in the perk's definition before you show it to the // user. PerkHash Hash[SandboxPerkDefinition] `json:"perkHash"` // Some perks provide benefits, but aren't visible in the UI. This value will let you know if this is // perk should be shown in your UI. Visible bool `json:"visible"` }
Destiny.Perks.DestinyPerkReference
The list of perks to display in an item tooltip - and whether or not they have been activated. Perks apply a variety of effects to a character, and are generally either intrinsic to the item or provided in activated talent nodes or sockets.
type PersonalDestinyVendorSaleItemSetComponent ¶
type PersonalDestinyVendorSaleItemSetComponent struct {
SaleItems map[int32]VendorSaleItemComponent `json:"saleItems"`
}
Destiny.Responses.PersonalDestinyVendorSaleItemSetComponent
type PlaceDefinition ¶
type PlaceDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyPlaceDefinition
Okay, so Activities (DestinyActivityDefinition) take place in Destinations (DestinyDestinationDefinition). Destinations are part of larger locations known as Places (you're reading its documentation right now). Places are more on the planetary scale, like "Earth" and "Your Mom."
func (PlaceDefinition) DefinitionTable ¶
func (d PlaceDefinition) DefinitionTable() string
type PlatformErrorCodes ¶
type PlatformErrorCodes int32
Exceptions.PlatformErrorCodes
func (PlatformErrorCodes) Enum ¶
func (e PlatformErrorCodes) Enum() string
func (PlatformErrorCodes) Error ¶
func (err PlatformErrorCodes) Error() string
type PlatformFriend ¶
type PlatformFriend struct { BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` BungieNetMembershipID Nullable[Int64] `json:"bungieNetMembershipId,omitempty"` DestinyMembershipID Nullable[Int64] `json:"destinyMembershipId,omitempty"` DestinyMembershipType Nullable[int32] `json:"destinyMembershipType,omitempty"` FriendPlatform PlatformFriendType `json:"friendPlatform"` PlatformDisplayName string `json:"platformDisplayName"` }
Social.Friends.PlatformFriend
type PlatformFriendResponse ¶
type PlatformFriendResponse struct { CurrentPage int32 `json:"currentPage"` HasMore bool `json:"hasMore"` ItemsPerPage int32 `json:"itemsPerPage"` PlatformFriends []PlatformFriend `json:"platformFriends"` }
Social.Friends.PlatformFriendResponse
type PlatformFriendType ¶
type PlatformFriendType int32
Social.Friends.PlatformFriendType
func (PlatformFriendType) Enum ¶
func (e PlatformFriendType) Enum() string
type PlatformSilverComponent ¶
type PlatformSilverComponent struct { // If a Profile is played on multiple platforms, this is the silver they have for each platform, keyed // by Membership Type. PlatformSilver map[string]ItemComponent `json:"platformSilver"` }
Destiny.Components.Inventory.DestinyPlatformSilverComponent
type Player ¶
type Player struct { // Details about the player as they are known on BungieNet. This will be undefined if the player has // marked their credential private, or does not have a BungieNet account. BungieNetUserInfo UserInfoCard `json:"bungieNetUserInfo"` // Class of the character if applicable and available. CharacterClass string `json:"characterClass"` // Level of the character if available. Zero if it is not available. CharacterLevel int32 `json:"characterLevel"` // Current clan name for the player. This value may be null or an empty string if the user does not // have a clan. ClanName string `json:"clanName"` // Current clan tag for the player. This value may be null or an empty string if the user does not have // a clan. ClanTag string `json:"clanTag"` ClassHash Hash[ClassDefinition] `json:"classHash"` // Details about the player as they are known in game (platform display name, Destiny emblem) DestinyUserInfo UserInfoCard `json:"destinyUserInfo"` // If we know the emblem's hash, this can be used to look up the player's emblem at the time of a match // when receiving PGCR data, or otherwise their currently equipped emblem (if we are able to obtain // it). EmblemHash Hash[InventoryItemDefinition] `json:"emblemHash"` GenderHash Hash[GenderDefinition] `json:"genderHash"` // Light Level of the character if available. Zero if it is not available. LightLevel int32 `json:"lightLevel"` RaceHash Hash[RaceDefinition] `json:"raceHash"` }
Destiny.HistoricalStats.DestinyPlayer
type PlugAvailabilityMode ¶
type PlugAvailabilityMode int32
Destiny.PlugAvailabilityMode
This enum determines whether the plug is available to be inserted. - Normal means that all existing rules for plug insertion apply. - UnavailableIfSocketContainsMatchingPlugCategory means that the plug is only available if the socket does NOT match the plug category. - AvailableIfSocketContainsMatchingPlugCategory means that the plug is only available if the socket DOES match the plug category. For category matching, use the plug's "plugCategoryIdentifier" property, comparing it to
func (PlugAvailabilityMode) Enum ¶
func (e PlugAvailabilityMode) Enum() string
type PlugItemCraftingRequirements ¶
type PlugItemCraftingRequirements struct { MaterialRequirementHashes []uint32 `json:"materialRequirementHashes"` // If the plug has a known level requirement, it'll be available here. RequiredLevel Nullable[int32] `json:"requiredLevel,omitempty"` UnlockRequirements []PlugItemCraftingUnlockRequirement `json:"unlockRequirements"` }
Destiny.Definitions.DestinyPlugItemCraftingRequirements
func (PlugItemCraftingRequirements) DefinitionTable ¶
func (d PlugItemCraftingRequirements) DefinitionTable() string
type PlugItemCraftingUnlockRequirement ¶
type PlugItemCraftingUnlockRequirement struct {
FailureDescription string `json:"failureDescription"`
}
Destiny.Definitions.DestinyPlugItemCraftingUnlockRequirement
func (PlugItemCraftingUnlockRequirement) DefinitionTable ¶
func (d PlugItemCraftingUnlockRequirement) DefinitionTable() string
type PlugRuleDefinition ¶
type PlugRuleDefinition struct { // The localized string to show if this rule fails. FailureMessage string `json:"failureMessage"` }
Destiny.Definitions.Items.DestinyPlugRuleDefinition
Dictates a rule around whether the plug is enabled or insertable. In practice, the live Destiny data will refer to these entries by index. You can then look up that index in the appropriate property (enabledRules or insertionRules) to get the localized string for the failure message if it failed.
func (PlugRuleDefinition) DefinitionTable ¶
func (d PlugRuleDefinition) DefinitionTable() string
type PlugSetDefinition ¶
type PlugSetDefinition struct { // If you want to show these plugs in isolation, these are the display properties for them. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Mostly for our debugging or reporting bugs, BNet is making "fake" plug sets in a desperate effort to // reduce socket sizes. // // If this is true, the plug set was generated by BNet: if it looks wrong, that's a good indicator // // that it's bungie.net that fucked this up. IsFakePlugSet bool `json:"isFakePlugSet"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // This is a list of pre-determined plugs that can be plugged into this socket, without the character // having the plug in their inventory. // If this list is populated, you will not be allowed to plug an arbitrary item in the socket: you will // only be able to choose from one of these reusable plugs. ReusablePlugItems []ItemSocketEntryPlugItemRandomizedDefinition `json:"reusablePlugItems"` }
Destiny.Definitions.Sockets.DestinyPlugSetDefinition
Sometimes, we have large sets of reusable plugs that are defined identically and thus can (and in some cases, are so large that they *must*) be shared across the places where they are used. These are the definitions for those reusable sets of plugs.
See DestinyItemSocketEntryDefinition.plugSource and reusablePlugSetHash for the relationship
between these reusable plug sets and the sockets that leverage them (for starters, Emotes).
As of the release of Shadowkeep (Late 2019), these will begin to be sourced from game content
directly - which means there will be many more of them, but it also means we may not get all data that we used to get for them.
DisplayProperties, in particular, will no longer be guaranteed to contain valid information. We
will make a best effort to guess what ought to be populated there where possible, but it will be invalid for many/most plug sets.
func (PlugSetDefinition) DefinitionTable ¶
func (d PlugSetDefinition) DefinitionTable() string
type PlugSetsComponent ¶
type PlugSetsComponent struct { // The shared list of plugs for each relevant PlugSet, keyed by the hash identifier of the PlugSet // (DestinyPlugSetDefinition). Plugs map[Hash[PlugSetDefinition]][]ItemPlug `json:"plugs"` }
Destiny.Components.PlugSets.DestinyPlugSetsComponent
Sockets may refer to a "Plug Set": a set of reusable plugs that may be shared across multiple sockets (or even, in theory, multiple sockets over multiple items). This is the set of those plugs that we came across in the users' inventory, along with the values for plugs in the set. Any given set in this component may be represented in Character and Profile-level, as some plugs may be Profile-level restricted, and some character-level restricted. (note that the ones that are even more specific will remain on the actual socket component itself, as they cannot be reused)
type PlugUiStyles ¶
type PlugUiStyles int32
Destiny.PlugUiStyles
If the plug has a specific custom style, this enumeration will represent that style/those styles.
func (PlugUiStyles) Enum ¶
func (e PlugUiStyles) Enum() string
type PlugWhitelistEntryDefinition ¶
type PlugWhitelistEntryDefinition struct { // The hash identifier of the Plug Category to compare against the plug item's plug.plugCategoryHash. // Note that this does NOT relate to any Definition in itself, it is only used for comparison purposes. CategoryHash uint32 `json:"categoryHash"` // The string identifier for the category, which is here mostly for debug purposes. CategoryIdentifier string `json:"categoryIdentifier"` // The list of all plug items (DestinyInventoryItemDefinition) that the socket may randomly be // populated with when reinitialized. // Which ones you should actually show are determined by the plug being inserted into the socket, and // the socket’s type. // When you inspect the plug that could go into a Masterwork Socket, look up the socket type of the // socket being inspected and find the DestinySocketTypeDefinition. // Then, look at the Plugs that can fit in that socket. Find the Whitelist in the // DestinySocketTypeDefinition that matches the plug item’s categoryhash. // That whitelist entry will potentially have a new “reinitializationPossiblePlugHashes” property.If it // does, that means we know what it will roll if you try to insert this plug into this socket. ReinitializationPossiblePlugHashes []uint32 `json:"reinitializationPossiblePlugHashes"` }
Destiny.Definitions.Sockets.DestinyPlugWhitelistEntryDefinition
Defines a plug "Category" that is allowed to be plugged into a socket of this type. This should be compared against a given plug item's DestinyInventoryItemDefinition.plug.plugCategoryHash, which indicates the plug item's category.
func (PlugWhitelistEntryDefinition) DefinitionTable ¶
func (d PlugWhitelistEntryDefinition) DefinitionTable() string
type PollResponse ¶
type PollResponse struct { Results []PollResult `json:"results"` TopicID Int64 `json:"topicId"` TotalVotes int32 `json:"totalVotes"` }
Forum.PollResponse
type PollResult ¶
type PollResult struct { AnswerSlot int32 `json:"answerSlot"` AnswerText string `json:"answerText"` LastVoteDate Timestamp `json:"lastVoteDate"` RequestingUserVoted bool `json:"requestingUserVoted"` Votes int32 `json:"votes"` }
Forum.PollResult
type PositionDefinition ¶
Destiny.Definitions.Common.DestinyPositionDefinition
func (PositionDefinition) DefinitionTable ¶
func (d PositionDefinition) DefinitionTable() string
type PostGameCarnageReportData ¶
type PostGameCarnageReportData struct { // Details about the activity. ActivityDetails HistoricalStatsActivity `json:"activityDetails"` // True if the activity was started from the beginning, if that information is available and the // activity was played post Witch Queen release. ActivityWasStartedFromBeginning Nullable[bool] `json:"activityWasStartedFromBeginning,omitempty"` // Collection of players and their data for this activity. Entries []PostGameCarnageReportEntry `json:"entries"` // Date and time for the activity. Period Timestamp `json:"period"` // If this activity has "phases", this is the phase at which the activity was started. This value is // only valid for activities before the Beyond Light expansion shipped. Subsequent activities will not // have a valid value here. StartingPhaseIndex Nullable[int32] `json:"startingPhaseIndex,omitempty"` // Collection of stats for the player in this activity. Teams []PostGameCarnageReportTeamEntry `json:"teams"` }
Destiny.HistoricalStats.DestinyPostGameCarnageReportData
type PostGameCarnageReportEntry ¶
type PostGameCarnageReportEntry struct { // ID of the player's character used in the activity. CharacterID Int64 `json:"characterId"` // Extended data extracted from the activity blob. Extended PostGameCarnageReportExtendedData `json:"extended"` // Identity details of the player Player Player `json:"player"` // Score of the player if available Score HistoricalStatsValue `json:"score"` // Standing of the player Standing int32 `json:"standing"` // Collection of stats for the player in this activity. Values map[string]HistoricalStatsValue `json:"values"` }
Destiny.HistoricalStats.DestinyPostGameCarnageReportEntry
type PostGameCarnageReportExtendedData ¶
type PostGameCarnageReportExtendedData struct { // Collection of stats for the player in this activity. Values map[string]HistoricalStatsValue `json:"values"` // List of weapons and their perspective values. Weapons []HistoricalWeaponStats `json:"weapons"` }
Destiny.HistoricalStats.DestinyPostGameCarnageReportExtendedData
type PostGameCarnageReportTeamEntry ¶
type PostGameCarnageReportTeamEntry struct { // Score earned by the team Score HistoricalStatsValue `json:"score"` // Team's standing relative to other teams. Standing HistoricalStatsValue `json:"standing"` // Integer ID for the team. TeamID int32 `json:"teamId"` // Alpha or Bravo TeamName string `json:"teamName"` }
Destiny.HistoricalStats.DestinyPostGameCarnageReportTeamEntry
type PostResponse ¶
type PostResponse struct { IsPinned bool `json:"IsPinned"` IgnoreStatus IgnoreResponse `json:"ignoreStatus"` IsActive bool `json:"isActive"` IsAnnouncement bool `json:"isAnnouncement"` LastReplyTimestamp Timestamp `json:"lastReplyTimestamp"` LatestReplyAuthorID Int64 `json:"latestReplyAuthorId"` LatestReplyPostID Int64 `json:"latestReplyPostId"` Locale string `json:"locale"` Popularity ForumPostPopularity `json:"popularity"` Thumbnail string `json:"thumbnail"` UrlMediaType ForumMediaType `json:"urlMediaType"` UserHasMutedPost bool `json:"userHasMutedPost"` UserHasRated bool `json:"userHasRated"` UserRating int32 `json:"userRating"` }
Forum.PostResponse
type PostSearchResponse ¶
type PostSearchResponse struct { Authors []GeneralUser `json:"authors"` AvailablePages Nullable[int32] `json:"availablePages,omitempty"` Groups []GroupResponse `json:"groups"` HasMore bool `json:"hasMore"` Polls []PollResponse `json:"polls"` Query PagedQuery `json:"query"` RecruitmentDetails []ForumRecruitmentDetail `json:"recruitmentDetails"` RelatedPosts []PostResponse `json:"relatedPosts"` ReplacementContinuationToken string `json:"replacementContinuationToken"` Results []PostResponse `json:"results"` SearchedTags []TagResponse `json:"searchedTags"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
Forum.PostSearchResponse
type PostmasterTransferRequest ¶
type PostmasterTransferRequest struct { CharacterID Int64 `json:"characterId"` // The instance ID of the item for this action request. ItemID Int64 `json:"itemId"` ItemReferenceHash Hash[InventoryItemDefinition] `json:"itemReferenceHash"` MembershipType BungieMembershipType `json:"membershipType"` StackSize int32 `json:"stackSize"` }
Destiny.Requests.Actions.DestinyPostmasterTransferRequest
type PowerCapDefinition ¶
type PowerCapDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The raw value for a power cap. PowerCap int32 `json:"powerCap"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.PowerCaps.DestinyPowerCapDefinition
Defines a 'power cap' (limit) for gear items, based on the rarity tier and season of release.
func (PowerCapDefinition) DefinitionTable ¶
func (d PowerCapDefinition) DefinitionTable() string
type PresenceOnlineStateFlags ¶
type PresenceOnlineStateFlags int32
Social.Friends.PresenceOnlineStateFlags
func (PresenceOnlineStateFlags) Enum ¶
func (e PresenceOnlineStateFlags) Enum() string
type PresenceStatus ¶
type PresenceStatus int32
Social.Friends.PresenceStatus
func (PresenceStatus) Enum ¶
func (e PresenceStatus) Enum() string
type PresentationChildBlock ¶
type PresentationChildBlock struct { DisplayStyle PresentationDisplayStyle `json:"displayStyle"` ParentPresentationNodeHashes []uint32 `json:"parentPresentationNodeHashes"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` }
Destiny.Definitions.Presentation.DestinyPresentationChildBlock
func (PresentationChildBlock) DefinitionTable ¶
func (d PresentationChildBlock) DefinitionTable() string
type PresentationDisplayStyle ¶
type PresentationDisplayStyle int32
Destiny.DestinyPresentationDisplayStyle
A hint for how the presentation node should be displayed when shown in a list. How you use this is your UI is up to you.
func (PresentationDisplayStyle) Enum ¶
func (e PresentationDisplayStyle) Enum() string
type PresentationNodeBaseDefinition ¶
type PresentationNodeBaseDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeBaseDefinition
This is the base class for all presentation system children. Presentation Nodes, Records, Collectibles, and Metrics.
func (PresentationNodeBaseDefinition) DefinitionTable ¶
func (d PresentationNodeBaseDefinition) DefinitionTable() string
type PresentationNodeChildEntry ¶
type PresentationNodeChildEntry struct { // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` PresentationNodeHash Hash[PresentationNodeDefinition] `json:"presentationNodeHash"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeChildEntry
func (PresentationNodeChildEntry) DefinitionTable ¶
func (d PresentationNodeChildEntry) DefinitionTable() string
type PresentationNodeChildEntryBase ¶
type PresentationNodeChildEntryBase struct { // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeChildEntryBase
func (PresentationNodeChildEntryBase) DefinitionTable ¶
func (d PresentationNodeChildEntryBase) DefinitionTable() string
type PresentationNodeChildrenBlock ¶
type PresentationNodeChildrenBlock struct { Collectibles []PresentationNodeCollectibleChildEntry `json:"collectibles"` Craftables []PresentationNodeCraftableChildEntry `json:"craftables"` Metrics []PresentationNodeMetricChildEntry `json:"metrics"` PresentationNodes []PresentationNodeChildEntry `json:"presentationNodes"` Records []PresentationNodeRecordChildEntry `json:"records"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeChildrenBlock
As/if presentation nodes begin to host more entities as children, these lists will be added to. One list property exists per type of entity that can be treated as a child of this presentation node, and each holds the identifier of the entity and any associated information needed to display the UI for that entity (if anything)
func (PresentationNodeChildrenBlock) DefinitionTable ¶
func (d PresentationNodeChildrenBlock) DefinitionTable() string
type PresentationNodeCollectibleChildEntry ¶
type PresentationNodeCollectibleChildEntry struct { CollectibleHash Hash[CollectibleDefinition] `json:"collectibleHash"` // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeCollectibleChildEntry
func (PresentationNodeCollectibleChildEntry) DefinitionTable ¶
func (d PresentationNodeCollectibleChildEntry) DefinitionTable() string
type PresentationNodeComponent ¶
type PresentationNodeComponent struct { // The value at which the presentation node is considered to be completed. CompletionValue int32 `json:"completionValue"` // An optional property: presentation nodes MAY have objectives, which can be used to infer more human // readable data about the progress. However, progressValue and completionValue ought to be considered // the canonical values for progress on Progression Nodes. Objective ObjectiveProgress `json:"objective"` // How much of the presentation node is considered to be completed so far by the given // character/profile. ProgressValue int32 `json:"progressValue"` // If available, this is the current score for the record category that this node represents. RecordCategoryScore Nullable[int32] `json:"recordCategoryScore,omitempty"` State BitmaskSet[PresentationNodeState] `json:"state"` }
Destiny.Components.Presentation.DestinyPresentationNodeComponent
type PresentationNodeCraftableChildEntry ¶
type PresentationNodeCraftableChildEntry struct { CraftableItemHash Hash[InventoryItemDefinition] `json:"craftableItemHash"` // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeCraftableChildEntry
func (PresentationNodeCraftableChildEntry) DefinitionTable ¶
func (d PresentationNodeCraftableChildEntry) DefinitionTable() string
type PresentationNodeDefinition ¶
type PresentationNodeDefinition struct { // The child entities contained by this presentation node. Children PresentationNodeChildrenBlock `json:"children"` // If this presentation node has an associated "Record" that you can accomplish for completing its // children, this is the identifier of that Record. CompletionRecordHash Nullable[Hash[RecordDefinition]] `json:"completionRecordHash,omitempty"` // children, that is indicated here. DisableChildSubscreenNavigation bool `json:"disableChildSubscreenNavigation"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // A hint for how to display this presentation node when it's shown in a list. DisplayStyle PresentationDisplayStyle `json:"displayStyle"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` MaxCategoryRecordScore int32 `json:"maxCategoryRecordScore"` NodeType PresentationNodeType `json:"nodeType"` // If this presentation node shows a related objective (for instance, if it tracks the progress of its // children), the objective being tracked is indicated here. ObjectiveHash Nullable[Hash[ObjectiveDefinition]] `json:"objectiveHash,omitempty"` // The original icon for this presentation node, before we futzed with it. OriginalIcon string `json:"originalIcon"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // The requirements for being able to interact with this presentation node and its children. Requirements PresentationNodeRequirementsBlock `json:"requirements"` // Some presentation nodes are meant to be explicitly shown on the "root" or "entry" screens for the // feature to which they are related. You should use this icon when showing them on such a view, if you // have a similar "entry point" view in your UI. If you don't have a UI, then I guess it doesn't matter // either way does it? RootViewIcon string `json:"rootViewIcon"` // Indicates whether this presentation node's state is determined on a per-character or on an // account-wide basis. Scope Scope `json:"scope"` // A hint for how to display this presentation node when it's shown in its own detail screen. ScreenStyle PresentationScreenStyle `json:"screenStyle"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeDefinition
A PresentationNode is an entity that represents a logical grouping of other entities visually/organizationally. For now, Presentation Nodes may contain the following... but it may be used for more in the future: - Collectibles - Records (Or, as the public will call them, "Triumphs." Don't ask me why we're overloading the term "Triumph", it still hurts me to think about it) - Metrics (aka Stat Trackers) - Other Presentation Nodes, allowing a tree of Presentation Nodes to be created Part of me wants to break these into conceptual definitions per entity being collected, but the possibility of these different types being mixed in the same UI and the possibility that it could actually be more useful to return the "bare metal" presentation node concept has resulted in me deciding against that for the time being. We'll see if I come to regret this as well.
func (PresentationNodeDefinition) DefinitionTable ¶
func (d PresentationNodeDefinition) DefinitionTable() string
type PresentationNodeMetricChildEntry ¶
type PresentationNodeMetricChildEntry struct { MetricHash Hash[MetricDefinition] `json:"metricHash"` // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeMetricChildEntry
func (PresentationNodeMetricChildEntry) DefinitionTable ¶
func (d PresentationNodeMetricChildEntry) DefinitionTable() string
type PresentationNodeRecordChildEntry ¶
type PresentationNodeRecordChildEntry struct { // Use this value to sort the presentation node children in ascending order. NodeDisplayPriority uint32 `json:"nodeDisplayPriority"` RecordHash Hash[RecordDefinition] `json:"recordHash"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeRecordChildEntry
func (PresentationNodeRecordChildEntry) DefinitionTable ¶
func (d PresentationNodeRecordChildEntry) DefinitionTable() string
type PresentationNodeRequirementsBlock ¶
type PresentationNodeRequirementsBlock struct { // expansion), this is the message to show. EntitlementUnavailableMessage string `json:"entitlementUnavailableMessage"` }
Destiny.Definitions.Presentation.DestinyPresentationNodeRequirementsBlock
Presentation nodes can be restricted by various requirements. This defines the rules of those requirements, and the message(s) to be shown if these requirements aren't met.
func (PresentationNodeRequirementsBlock) DefinitionTable ¶
func (d PresentationNodeRequirementsBlock) DefinitionTable() string
type PresentationNodeState ¶
type PresentationNodeState int32
Destiny.DestinyPresentationNodeState
I know this doesn't look like a Flags Enumeration/bitmask right now, but I assure you it is. This is the possible states that a Presentation Node can be in, and it is almost certain that its potential states will increase in the future. So don't treat it like a straight up enumeration.
func (PresentationNodeState) Enum ¶
func (e PresentationNodeState) Enum() string
type PresentationNodeType ¶
type PresentationNodeType int32
Destiny.DestinyPresentationNodeType
func (PresentationNodeType) Enum ¶
func (e PresentationNodeType) Enum() string
type PresentationNodesComponent ¶
type PresentationNodesComponent struct {
Nodes map[Hash[PresentationNodeDefinition]]PresentationNodeComponent `json:"nodes"`
}
Destiny.Components.Presentation.DestinyPresentationNodesComponent
type PresentationScreenStyle ¶
type PresentationScreenStyle int32
Destiny.DestinyPresentationScreenStyle
A hint for what screen should be shown when this presentation node is clicked into. How you use this is your UI is up to you.
func (PresentationScreenStyle) Enum ¶
func (e PresentationScreenStyle) Enum() string
type ProfileCollectiblesComponent ¶
type ProfileCollectiblesComponent struct { Collectibles map[Hash[CollectibleDefinition]]CollectibleComponent `json:"collectibles"` // The hash for the root presentation node definition of Collection Badges. CollectionBadgesRootNodeHash Hash[PresentationNodeDefinition] `json:"collectionBadgesRootNodeHash"` // The hash for the root presentation node definition of Collection categories. CollectionCategoriesRootNodeHash Hash[PresentationNodeDefinition] `json:"collectionCategoriesRootNodeHash"` // The list of collectibles determined by the game as having been "recently" acquired. // The game client itself actually controls this data, so I personally question whether anyone will get // much use out of this: because we can't edit this value through the API. But in case anyone finds it // useful, here it is. NewnessFlaggedCollectibleHashes []uint32 `json:"newnessFlaggedCollectibleHashes"` // The list of collectibles determined by the game as having been "recently" acquired. RecentCollectibleHashes []uint32 `json:"recentCollectibleHashes"` }
Destiny.Components.Collectibles.DestinyProfileCollectiblesComponent
type ProfileComponent ¶
type ProfileComponent struct { // If populated, this is a reference to the event card that is currently active. ActiveEventCardHash Nullable[Hash[EventCardDefinition]] `json:"activeEventCardHash,omitempty"` // A list of the character IDs, for further querying on your part. CharacterIds []Int64 `json:"characterIds"` // The 'current' Guardian Rank value, which starts at rank 1. CurrentGuardianRank Hash[GuardianRankDefinition] `json:"currentGuardianRank"` // If populated, this is a reference to the season that is currently active. CurrentSeasonHash Nullable[Hash[SeasonDefinition]] `json:"currentSeasonHash,omitempty"` // If populated, this is the reward power cap for the current season. CurrentSeasonRewardPowerCap Nullable[int32] `json:"currentSeasonRewardPowerCap,omitempty"` // The last time the user played with any character on this Profile. DateLastPlayed Timestamp `json:"dateLastPlayed"` // A list of hashes for event cards that a profile owns. Unlike most values in versionsOwned, these // stay with the profile across all platforms. EventCardHashesOwned []uint32 `json:"eventCardHashesOwned"` // The 'lifetime highest' Guardian Rank value, which starts at rank 1. LifetimeHighestGuardianRank Hash[GuardianRankDefinition] `json:"lifetimeHighestGuardianRank"` // A list of seasons that this profile owns. Unlike versionsOwned, these stay with the profile across // Platforms, and thus will be valid. // // It turns out that Stadia Pro subscriptions will give access to seasons but only while playing on // // Stadia and with an active subscription. So some users (users who have Stadia Pro but choose to play // on some other platform) won't see these as available: it will be whatever seasons are available for // the platform on which they last played. SeasonHashes []uint32 `json:"seasonHashes"` // If you need to render the Profile (their platform name, icon, etc...) somewhere, this property // contains that information. UserInfo UserInfoCard `json:"userInfo"` // If you want to know what expansions they own, this will contain that data. // // IMPORTANT: This field may not return the data you're interested in for Cross-Saved users. It // // returns the last ownership data we saw for this account - which is to say, what they've purchased on // the platform on which they last played, which now could be a different platform. // // If you don't care about per-platform ownership and only care about whatever platform it seems they // // are playing on most recently, then this should be "good enough." Otherwise, this should be // considered deprecated. We do not have a good alternative to provide at this time with platform // specific ownership data for DLC. VersionsOwned BitmaskSet[GameVersions] `json:"versionsOwned"` }
Destiny.Entities.Profiles.DestinyProfileComponent
The most essential summary information about a Profile (in Destiny 1, we called these "Accounts").
type ProfileProgressionComponent ¶
type ProfileProgressionComponent struct { // The set of checklists that can be examined on a profile-wide basis, keyed by the hash identifier of // the Checklist (DestinyChecklistDefinition) // For each checklist returned, its value is itself a Dictionary keyed by the checklist's hash // identifier with the value being a boolean indicating if it's been discovered yet. Checklists map[Hash[ChecklistDefinition]]map[uint32]bool `json:"checklists"` // Data related to your progress on the current season's artifact that is the same across characters. SeasonalArtifact ArtifactProfileScoped `json:"seasonalArtifact"` }
Destiny.Components.Profiles.DestinyProfileProgressionComponent
The set of progression-related information that applies at a Profile-wide level for your Destiny experience. This differs from the Jimi Hendrix Experience because there's less guitars on fire. Yet. #spoileralert? This will include information such as Checklist info.
type ProfileRecordsComponent ¶
type ProfileRecordsComponent struct { // Your 'active' Triumphs score. ActiveScore int32 `json:"activeScore"` // Your 'legacy' Triumphs score. LegacyScore int32 `json:"legacyScore"` // Your 'lifetime' Triumphs score. LifetimeScore int32 `json:"lifetimeScore"` // The hash for the root presentation node definition of Triumph categories. RecordCategoriesRootNodeHash Hash[PresentationNodeDefinition] `json:"recordCategoriesRootNodeHash"` // The hash for the root presentation node definition of Triumph Seals. RecordSealsRootNodeHash Hash[PresentationNodeDefinition] `json:"recordSealsRootNodeHash"` Records map[uint32]RecordComponent `json:"records"` // Your 'active' Triumphs score, maintained for backwards compatibility. Score int32 `json:"score"` // If this profile is tracking a record, this is the hash identifier of the record it is tracking. TrackedRecordHash Nullable[Hash[RecordDefinition]] `json:"trackedRecordHash,omitempty"` }
Destiny.Components.Records.DestinyProfileRecordsComponent
type ProfileResponse ¶
type ProfileResponse struct { // Character activity data - the activities available to this character and its status, keyed by the // Character's Id. // COMPONENT TYPE: CharacterActivities CharacterActivities ComponentResponse[map[Int64]CharacterActivitiesComponent] `json:"characterActivities"` // COMPONENT TYPE: Collectibles CharacterCollectibles ComponentResponse[map[Int64]CollectiblesComponent] `json:"characterCollectibles"` // COMPONENT TYPE: Craftables CharacterCraftables ComponentResponse[map[Int64]CraftablesComponent] `json:"characterCraftables"` // A "lookup" convenience component that can be used to quickly check if the character has access to // items that can be used for purchasing. // COMPONENT TYPE: CurrencyLookups CharacterCurrencyLookups ComponentResponse[map[Int64]CurrenciesComponent] `json:"characterCurrencyLookups"` // The character's equipped items, keyed by the Character's Id. // COMPONENT TYPE: CharacterEquipment CharacterEquipment ComponentResponse[map[Int64]InventoryComponent] `json:"characterEquipment"` // The character-level non-equipped inventory items, keyed by the Character's Id. // COMPONENT TYPE: CharacterInventories CharacterInventories ComponentResponse[map[Int64]InventoryComponent] `json:"characterInventories"` // Items available from Kiosks that are available to a specific character as opposed to the account as // a whole. It must be combined with data from the profileKiosks property to get a full picture of the // character's available items to check out of a kiosk. // This component returns information about what Kiosk items are available to you on a *Character* // level. Usually, kiosk items will be earned for the entire Profile (all characters) at once. To find // those, look in the profileKiosks property. // COMPONENT TYPE: Kiosks CharacterKiosks ComponentResponse[map[Int64]KiosksComponent] `json:"characterKiosks"` // The character loadouts, keyed by the Character's Id. // COMPONENT TYPE: CharacterLoadouts CharacterLoadouts ComponentResponse[map[Int64]LoadoutsComponent] `json:"characterLoadouts"` // When sockets refer to reusable Plug Sets (see DestinyPlugSetDefinition for more info), this is the // set of plugs and their states, per character, that are character-scoped. // This comes back with ItemSockets, as it is needed for a complete picture of the sockets on requested // items. // COMPONENT TYPE: ItemSockets CharacterPlugSets ComponentResponse[map[Int64]PlugSetsComponent] `json:"characterPlugSets"` // COMPONENT TYPE: PresentationNodes CharacterPresentationNodes ComponentResponse[map[Int64]PresentationNodesComponent] `json:"characterPresentationNodes"` // Character-level progression data, keyed by the Character's Id. // COMPONENT TYPE: CharacterProgressions CharacterProgressions ComponentResponse[map[Int64]CharacterProgressionComponent] `json:"characterProgressions"` // COMPONENT TYPE: Records CharacterRecords ComponentResponse[map[Int64]CharacterRecordsComponent] `json:"characterRecords"` // Character rendering data - a minimal set of info needed to render a character in 3D - keyed by the // Character's Id. // COMPONENT TYPE: CharacterRenderData CharacterRenderData ComponentResponse[map[Int64]CharacterRenderComponent] `json:"characterRenderData"` // COMPONENT TYPE: StringVariables CharacterStringVariables ComponentResponse[map[Int64]StringVariablesComponent] `json:"characterStringVariables"` // Do you ever get the feeling that a system was designed *too* flexibly? That it can be used in so // many different ways that you end up being unable to provide an easy to use abstraction for the mess // that's happening under the surface? // Let's talk about character-specific data that might be related to items without instances. These two // statements are totally unrelated, I promise. // At some point during D2, it was decided that items - such as Bounties - could be given to characters // and *not* have instance data, but that *could* display and even use relevant state information on // your account and character. // Up to now, any item that had meaningful dependencies on character or account state had to be // instanced, and thus "itemComponents" was all that you needed: it was keyed by item's instance IDs // and provided the stateful information you needed inside. // Unfortunately, we don't live in such a magical world anymore. This is information held on a // per-character basis about non-instanced items that the characters have in their inventory - or that // reference character-specific state information even if it's in Account-level inventory - and the // values related to that item's state in relation to the given character. // To give a concrete example, look at a Moments of Triumph bounty. They exist in a character's // inventory, and show/care about a character's progression toward completing the bounty. But the // bounty itself is a non-instanced item, like a mod or a currency. This returns that data for the // characters who have the bounty in their inventory. // I'm not crying, you're crying Okay we're both crying but it's going to be okay I promise Actually I // shouldn't promise that, I don't know if it's going to be okay CharacterUninstancedItemComponents map[Int64]BaseItemComponentSet[uint32] `json:"characterUninstancedItemComponents"` // Basic information about each character, keyed by the CharacterId. // COMPONENT TYPE: Characters Characters ComponentResponse[map[Int64]CharacterComponent] `json:"characters"` // Information about instanced items across all returned characters, keyed by the item's instance ID. // COMPONENT TYPE: [See inside the DestinyItemComponentSet contract for component types.] ItemComponents ItemComponentSet[int64] `json:"itemComponents"` // COMPONENT TYPE: Metrics Metrics ComponentResponse[MetricsComponent] `json:"metrics"` // Silver quantities for any platform on which this Profile plays destiny. // // COMPONENT TYPE: PlatformSilver PlatformSilver ComponentResponse[PlatformSilverComponent] `json:"platformSilver"` // The basic information about the Destiny Profile (formerly "Account"). // COMPONENT TYPE: Profiles Profile ComponentResponse[ProfileComponent] `json:"profile"` // COMPONENT TYPE: Collectibles ProfileCollectibles ComponentResponse[ProfileCollectiblesComponent] `json:"profileCollectibles"` // COMPONENT TYPE: SocialCommendations ProfileCommendations ComponentResponse[SocialCommendationsComponent] `json:"profileCommendations"` // The profile-level currencies owned by the Destiny Profile. // COMPONENT TYPE: ProfileCurrencies ProfileCurrencies ComponentResponse[InventoryComponent] `json:"profileCurrencies"` // The profile-level inventory of the Destiny Profile. // COMPONENT TYPE: ProfileInventories ProfileInventory ComponentResponse[InventoryComponent] `json:"profileInventory"` // Items available from Kiosks that are available Profile-wide (i.e. across all characters) // This component returns information about what Kiosk items are available to you on a *Profile* level. // It is theoretically possible for Kiosks to have items gated by specific Character as well. If you // ever have those, you will find them on the characterKiosks property. // COMPONENT TYPE: Kiosks ProfileKiosks ComponentResponse[KiosksComponent] `json:"profileKiosks"` // When sockets refer to reusable Plug Sets (see DestinyPlugSetDefinition for more info), this is the // set of plugs and their states that are profile-scoped. // This comes back with ItemSockets, as it is needed for a complete picture of the sockets on requested // items. // COMPONENT TYPE: ItemSockets ProfilePlugSets ComponentResponse[PlugSetsComponent] `json:"profilePlugSets"` // COMPONENT TYPE: PresentationNodes ProfilePresentationNodes ComponentResponse[PresentationNodesComponent] `json:"profilePresentationNodes"` // When we have progression information - such as Checklists - that may apply profile-wide, it will be // returned here rather than in the per-character progression data. // COMPONENT TYPE: ProfileProgression ProfileProgression ComponentResponse[ProfileProgressionComponent] `json:"profileProgression"` // COMPONENT TYPE: Records ProfileRecords ComponentResponse[ProfileRecordsComponent] `json:"profileRecords"` // COMPONENT TYPE: StringVariables ProfileStringVariables ComponentResponse[StringVariablesComponent] `json:"profileStringVariables"` // COMPONENT TYPE: Transitory ProfileTransitoryData ComponentResponse[ProfileTransitoryComponent] `json:"profileTransitoryData"` // Records the timestamp of when most components were last generated from the world server source. // Unless the component type is specified in the documentation for secondaryComponentsMintedTimestamp, // this value is sufficient to do data freshness. ResponseMintedTimestamp Timestamp `json:"responseMintedTimestamp"` // Some secondary components are not tracked in the primary response timestamp and have their timestamp // tracked here. If your component is any of the following, this field is where you will find your // timestamp value: // // PresentationNodes, Records, Collectibles, Metrics, StringVariables, Craftables, Transitory // All other component types may use the primary timestamp property. SecondaryComponentsMintedTimestamp Timestamp `json:"secondaryComponentsMintedTimestamp"` // Recent, refundable purchases you have made from vendors. When will you use it? Couldn't say... // COMPONENT TYPE: VendorReceipts VendorReceipts ComponentResponse[VendorReceiptsComponent] `json:"vendorReceipts"` }
Destiny.Responses.DestinyProfileResponse
The response for GetDestinyProfile, with components for character and item-level data.
type ProfileTransitoryComponent ¶
type ProfileTransitoryComponent struct { // If you are in an activity, this is some transitory info about the activity currently being played. CurrentActivity ProfileTransitoryCurrentActivity `json:"currentActivity"` // Information about whether and what might prevent you from joining this person on a fireteam. Joinability ProfileTransitoryJoinability `json:"joinability"` // The hash identifier for the DestinyDestinationDefinition of the last location you were orbiting when // in orbit. LastOrbitedDestinationHash Nullable[Hash[DestinationDefinition]] `json:"lastOrbitedDestinationHash,omitempty"` // If you have any members currently in your party, this is some (very) bare-bones information about // those members. PartyMembers []ProfileTransitoryPartyMember `json:"partyMembers"` // Information about tracked entities. Tracking []ProfileTransitoryTrackingEntry `json:"tracking"` }
Destiny.Components.Profiles.DestinyProfileTransitoryComponent
This is an experimental set of data that Bungie considers to be "transitory" - information that may be useful for API users, but that is coming from a non-authoritative data source about information that could potentially change at a more frequent pace than Bungie.net will receive updates about it. This information is provided exclusively for convenience should any of it be useful to users: we provide no guarantees to the accuracy or timeliness of data that comes from this source. Know that this data can potentially be out-of-date or even wrong entirely if the user disconnected from the game or suddenly changed their status before we can receive refreshed data.
type ProfileTransitoryCurrentActivity ¶
type ProfileTransitoryCurrentActivity struct { // If you're still in it but it "ended" (like when folks are dancing around the loot after they beat a // boss), this is when the activity ended. EndTime Nullable[Timestamp] `json:"endTime,omitempty"` // If you have human opponents, this is the highest opposing team's score. HighestOpposingFactionScore float64 `json:"highestOpposingFactionScore"` // This is how many human or poorly crafted aimbot opponents you have. NumberOfOpponents int32 `json:"numberOfOpponents"` // This is how many human or poorly crafted aimbots are on your team. NumberOfPlayers int32 `json:"numberOfPlayers"` // This is what our non-authoritative source thought the score was. Score float64 `json:"score"` // When the activity started. StartTime Nullable[Timestamp] `json:"startTime,omitempty"` }
Destiny.Components.Profiles.DestinyProfileTransitoryCurrentActivity
If you are playing in an activity, this is some information about it. Note that we cannot guarantee any of this resembles what ends up in the PGCR in any way. They are sourced by two entirely separate systems with their own logic, and the one we source this data from should be considered non-authoritative in comparison.
type ProfileTransitoryJoinability ¶
type ProfileTransitoryJoinability struct { // Reasons why a person can't join this person's fireteam. ClosedReasons BitmaskSet[JoinClosedReasons] `json:"closedReasons"` // The number of slots still available on this person's fireteam. OpenSlots int32 `json:"openSlots"` // Who the person is currently allowing invites from. PrivacySetting GamePrivacySetting `json:"privacySetting"` }
Destiny.Components.Profiles.DestinyProfileTransitoryJoinability
Some basic information about whether you can be joined, how many slots are left etc. Note that this can change quickly, so it may not actually be useful. But perhaps it will be in some use cases?
type ProfileTransitoryPartyMember ¶
type ProfileTransitoryPartyMember struct { // The player's last known display name. DisplayName string `json:"displayName"` // The identifier for the DestinyInventoryItemDefinition of the player's emblem. EmblemHash Hash[InventoryItemDefinition] `json:"emblemHash"` // The Membership ID that matches the party member. MembershipID Int64 `json:"membershipId"` // A Flags Enumeration value indicating the states that the player is in relevant to being on a // fireteam. Status BitmaskSet[PartyMemberStates] `json:"status"` }
Destiny.Components.Profiles.DestinyProfileTransitoryPartyMember
This is some bare minimum information about a party member in a Fireteam. Unfortunately, without great computational expense on our side we can only get at the data contained here. I'd like to give you a character ID for example, but we don't have it. But we do have these three pieces of information. May they help you on your quest to show meaningful data about current Fireteams. Notably, we don't and can't feasibly return info on characters. If you can, try to use just the data below for your UI and purposes. Only hit us with further queries if you absolutely must know the character ID of the currently playing character. Pretty please with sugar on top.
type ProfileTransitoryTrackingEntry ¶
type ProfileTransitoryTrackingEntry struct { // OPTIONAL - If this is tracking the status of a DestinyActivityDefinition, this is the identifier for // that activity. ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // OPTIONAL - If this is tracking the status of a DestinyInventoryItemDefinition, this is the // identifier for that item. ItemHash Nullable[Hash[InventoryItemDefinition]] `json:"itemHash,omitempty"` // OPTIONAL - If this is tracking a DestinyLocationDefinition, this is the identifier for that // location. LocationHash Nullable[Hash[LocationDefinition]] `json:"locationHash,omitempty"` // OPTIONAL - If this is tracking the status of a DestinyObjectiveDefinition, this is the identifier // for that objective. ObjectiveHash Nullable[Hash[ObjectiveDefinition]] `json:"objectiveHash,omitempty"` // OPTIONAL - If this is tracking the status of a quest, this is the identifier for the // DestinyInventoryItemDefinition that containst that questline data. QuestlineItemHash Nullable[Hash[InventoryItemDefinition]] `json:"questlineItemHash,omitempty"` // OPTIONAL - I've got to level with you, I don't really know what this is. Is it when you started // tracking it? Is it only populated for tracked items that have time limits? // I don't know, but we can get at it - when I get time to actually test what it is, I'll update this. // In the meantime, bask in the mysterious data. TrackedDate Nullable[Timestamp] `json:"trackedDate,omitempty"` }
Destiny.Components.Profiles.DestinyProfileTransitoryTrackingEntry
This represents a single "thing" being tracked by the player. This can point to many types of entities, but only a subset of them will actually have a valid hash identifier for whatever it is being pointed to. It's up to you to interpret what it means when various combinations of these entries have values being tracked.
type ProfileUserInfoCard ¶
type ProfileUserInfoCard struct { // The list of Membership Types indicating the platforms on which this Membership can be used. // // Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is // // overridding, and its original membership type Cross Save Overridden = Empty list ApplicableMembershipTypes []BungieMembershipType `json:"applicableMembershipTypes"` // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // If there is a cross save override in effect, this value will tell you the type that is overridding // this one. CrossSaveOverride BungieMembershipType `json:"crossSaveOverride"` DateLastPlayed Timestamp `json:"dateLastPlayed"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // URL the Icon if available. IconPath string `json:"iconPath"` // If true, this account is hooked up as the "Primary" cross save account for one or more platforms. IsCrossSavePrimary bool `json:"isCrossSavePrimary"` // If this profile is being overridden/obscured by Cross Save, this will be set to true. We will still // return the profile for display purposes where users need to know the info: it is up to any given // area of the app/site to determine if this profile should still be shown. IsOverridden bool `json:"isOverridden"` // If True, this is a public user membership. IsPublic bool `json:"isPublic"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` // This is the silver available on this Profile across any platforms on which they have purchased // silver. // // This is only available if you are requesting yourself. PlatformSilver PlatformSilverComponent `json:"platformSilver"` // A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc. SupplementalDisplayName string `json:"supplementalDisplayName"` // If this profile is not in a cross save pairing, this will return the game versions that we believe // this profile has access to. // // For the time being, we will not return this information for any membership that is in a cross save // // pairing. The gist is that, once the pairing occurs, we do not currently have a consistent way to get // that information for the profile's original Platform, and thus gameVersions would be too // inconsistent (based on the last platform they happened to play on) for the info to be useful. // // If we ever can get this data, this field will be deprecated and replaced with data on the // // DestinyLinkedProfileResponse itself, with game versions per linked Platform. But since we can't get // that, we have this as a stop-gap measure for getting the data in the only situation that we // currently need it. UnpairedGameVersions Nullable[int32] `json:"unpairedGameVersions,omitempty"` }
Destiny.Responses.DestinyProfileUserInfoCard
type Progression ¶
type Progression struct { // This is the total amount of progress obtained overall for this progression (for instance, the total // amount of Character Level experience earned) CurrentProgress int32 `json:"currentProgress"` // The number of resets of this progression you've executed this season, if applicable to this // progression. CurrentResetCount Nullable[int32] `json:"currentResetCount,omitempty"` // If this progression has a daily limit, this is that limit. DailyLimit int32 `json:"dailyLimit"` // The amount of progress earned today for this progression. DailyProgress int32 `json:"dailyProgress"` // This is the level of the progression (for instance, the Character Level). Level int32 `json:"level"` // This is the maximum possible level you can achieve for this progression (for example, the maximum // character level obtainable) LevelCap int32 `json:"levelCap"` // The total amount of progression (i.e. "Experience") needed in order to reach the next level. NextLevelAt int32 `json:"nextLevelAt"` // The amount of progression (i.e. "Experience") needed to reach the next level of this Progression. // Jeez, progression is such an overloaded word. ProgressToNextLevel int32 `json:"progressToNextLevel"` // The hash identifier of the Progression in question. Use it to look up the // DestinyProgressionDefinition in static data. ProgressionHash Hash[ProgressionDefinition] `json:"progressionHash"` // Information about historical rewards for this progression, if there is any data for it. RewardItemStates []BitmaskSet[ProgressionRewardItemState] `json:"rewardItemStates"` // Information about historical resets of this progression, if there is any data for it. SeasonResets []ProgressionResetEntry `json:"seasonResets"` // Progressions define their levels in "steps". Since the last step may be repeatable, the user may be // at a higher level than the actual Step achieved in the progression. Not necessarily useful, but // potentially interesting for those cruising the API. Relate this to the "steps" property of the // DestinyProgression to see which step the user is on, if you care about that. (Note that this is // Content Version dependent since it refers to indexes.) StepIndex int32 `json:"stepIndex"` // If this progression has a weekly limit, this is that limit. WeeklyLimit int32 `json:"weeklyLimit"` // The amount of progress earned toward this progression in the current week. WeeklyProgress int32 `json:"weeklyProgress"` }
Destiny.DestinyProgression
Information about a current character's status with a Progression. A progression is a value that can increase with activity and has levels. Think Character Level and Reputation Levels. Combine this "live" data with the related DestinyProgressionDefinition for a full picture of the Progression.
type ProgressionDefinition ¶
type ProgressionDefinition struct { // The #RGB string value for the color related to this progression, if there is one. Color Color `json:"color"` DisplayProperties ProgressionDisplayPropertiesDefinition `json:"displayProperties"` // If the value exists, this is the hash identifier for the Faction that owns this Progression. // This is purely for convenience, if you're looking at a progression and want to know if and who it's // related to in terms of Faction Reputation. FactionHash Nullable[Hash[FactionDefinition]] `json:"factionHash,omitempty"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // For progressions that have it, this is the rank icon we use in the Companion, displayed above the // progressions' rank value. RankIcon string `json:"rankIcon"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // If this is True, then the progression doesn't have a maximum level. RepeatLastStep bool `json:"repeatLastStep"` RewardItems []ProgressionRewardItemQuantity `json:"rewardItems"` // The "Scope" of the progression indicates the source of the progression's live data. // See the DestinyProgressionScope enum for more info: but essentially, a Progression can either be // backed by a stored value, or it can be a calculated derivative of other values. Scope ProgressionScope `json:"scope"` // If there's a description of how to earn this progression in the local config, this will be that // localized description. Source string `json:"source"` // Progressions are divided into Steps, which roughly equate to "Levels" in the traditional sense of a // Progression. Notably, the last step can be repeated indefinitely if repeatLastStep is true, meaning // that the calculation for your level is not as simple as comparing your current progress to the max // progress of the steps. // These and more calculations are done for you if you grab live character progression data, such as in // the DestinyCharacterProgressionComponent. Steps []ProgressionStepDefinition `json:"steps"` // If true, the Progression is something worth showing to users. // If false, BNet isn't going to show it. But that doesn't mean you can't. We're all friends here. Visible bool `json:"visible"` }
Destiny.Definitions.DestinyProgressionDefinition
A "Progression" in Destiny is best explained by an example. A Character's "Level" is a progression: it has Experience that can be earned, levels that can be gained, and is evaluated and displayed at various points in the game. A Character's "Faction Reputation" is also a progression for much the same reason. Progression is used by a variety of systems, and the definition of a Progression will generally only be useful if combining with live data (such as a character's DestinyCharacterProgressionComponent.progressions property, which holds that character's live Progression states). Fundamentally, a Progression measures your "Level" by evaluating the thresholds in its Steps (one step per level, except for the last step which can be repeated indefinitely for "Levels" that have no ceiling) against the total earned "progression points"/experience. (for simplicity purposes, we will henceforth refer to earned progression points as experience, though it need not be a mechanic that in any way resembles Experience in a traditional sense). Earned experience is calculated in a variety of ways, determined by the Progression's scope. These go from looking up a stored value to performing exceedingly obtuse calculations. This is why we provide live data in DestinyCharacterProgressionComponent.progressions, so you don't have to worry about those.
func (ProgressionDefinition) DefinitionTable ¶
func (d ProgressionDefinition) DefinitionTable() string
type ProgressionDisplayPropertiesDefinition ¶
type ProgressionDisplayPropertiesDefinition struct { Description string `json:"description"` // When progressions show your "experience" gained, that bar has units (i.e. "Experience", "Bad Dudes // Snuffed Out", whatever). This is the localized string for that unit of measurement. DisplayUnitsName string `json:"displayUnitsName"` HasIcon bool `json:"hasIcon"` // If this item has a high-res icon (at least for now, many things won't), then the path to that icon // will be here. HighResIcon string `json:"highResIcon"` // Note that "icon" is sometimes misleading, and should be interpreted in the context of the entity. // For instance, in Destiny 1 the DestinyRecordBookDefinition's icon was a big picture of a book. // But usually, it will be a small square image that you can use as... well, an icon. // They are currently represented as 96px x 96px images. Icon string `json:"icon"` IconSequences []IconSequenceDefinition `json:"iconSequences"` Name string `json:"name"` }
Destiny.Definitions.DestinyProgressionDisplayPropertiesDefinition
func (ProgressionDisplayPropertiesDefinition) DefinitionTable ¶
func (d ProgressionDisplayPropertiesDefinition) DefinitionTable() string
type ProgressionLevelRequirementDefinition ¶
type ProgressionLevelRequirementDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The progression whose level should be used to determine the level requirement. // Look up the DestinyProgressionDefinition with this hash for more information about the progression // in question. ProgressionHash Hash[ProgressionDefinition] `json:"progressionHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // A curve of level requirements, weighted by the related progressions' level. // Interpolate against this curve with the character's progression level to determine what the level // requirement of the generated item that is using this data will be. RequirementCurve []InterpolationPointFloat `json:"requirementCurve"` }
Destiny.Definitions.Progression.DestinyProgressionLevelRequirementDefinition
These are pre-constructed collections of data that can be used to determine the Level Requirement for an item given a Progression to be tested (such as the Character's level). For instance, say a character receives a new Auto Rifle, and that Auto Rifle's DestinyInventoryItemDefinition.quality.progressionLevelRequirementHash property is pointing at one of these DestinyProgressionLevelRequirementDefinitions. Let's pretend also that the progressionHash it is pointing at is the Character Level progression. In that situation, the character's level will be used to interpolate a value in the requirementCurve property. The value picked up from that interpolation will be the required level for the item.
func (ProgressionLevelRequirementDefinition) DefinitionTable ¶
func (d ProgressionLevelRequirementDefinition) DefinitionTable() string
type ProgressionMappingDefinition ¶
type ProgressionMappingDefinition struct { // Infrequently defined in practice. Defer to the individual progressions' display properties. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The localized unit of measurement for progression across the progressions defined in this mapping. // Unfortunately, this is very infrequently defined. Defer to the individual progressions' display // units. DisplayUnits string `json:"displayUnits"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyProgressionMappingDefinition
Aggregations of multiple progressions. These are used to apply rewards to multiple progressions at once. They can sometimes have human readable data as well, but only extremely sporadically.
func (ProgressionMappingDefinition) DefinitionTable ¶
func (d ProgressionMappingDefinition) DefinitionTable() string
type ProgressionResetEntry ¶
Destiny.DestinyProgressionResetEntry
Represents a season and the number of resets you had in that season.
We do not necessarily - even for progressions with resets - track it over all seasons. So be
careful and check the season numbers being returned.
type ProgressionRewardDefinition ¶
type ProgressionRewardDefinition struct { // The amount of experience to give to each of the mapped progressions. Amount int32 `json:"amount"` // If true, the game's internal mechanisms to throttle progression should be applied. ApplyThrottles bool `json:"applyThrottles"` // The hash identifier of the DestinyProgressionMappingDefinition that contains the progressions for // which experience should be applied. ProgressionMappingHash Hash[ProgressionMappingDefinition] `json:"progressionMappingHash"` }
Destiny.Definitions.DestinyProgressionRewardDefinition
Inventory Items can reward progression when actions are performed on them. A common example of this in Destiny 1 was Bounties, which would reward Experience on your Character and the like when you completed the bounty. Note that this maps to a DestinyProgressionMappingDefinition, and *not* a DestinyProgressionDefinition directly. This is apparently so that multiple progressions can be granted progression points/experience at the same time.
func (ProgressionRewardDefinition) DefinitionTable ¶
func (d ProgressionRewardDefinition) DefinitionTable() string
type ProgressionRewardItemAcquisitionBehavior ¶
type ProgressionRewardItemAcquisitionBehavior int32
Destiny.DestinyProgressionRewardItemAcquisitionBehavior
Represents the different kinds of acquisition behavior for progression reward items.
func (ProgressionRewardItemAcquisitionBehavior) Enum ¶
func (e ProgressionRewardItemAcquisitionBehavior) Enum() string
type ProgressionRewardItemQuantity ¶
type ProgressionRewardItemQuantity struct { AcquisitionBehavior ProgressionRewardItemAcquisitionBehavior `json:"acquisitionBehavior"` ClaimUnlockDisplayStrings []string `json:"claimUnlockDisplayStrings"` // Indicates that this item quantity may be conditionally shown or hidden, based on various sources of // state. For example: server flags, account state, or character progress. HasConditionalVisibility bool `json:"hasConditionalVisibility"` // The hash identifier for the item in question. Use it to look up the item's // DestinyInventoryItemDefinition. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this quantity is referring to a specific instance of an item, this will have the item's instance // ID. Normally, this will be null. ItemInstanceID Nullable[Int64] `json:"itemInstanceId,omitempty"` // The amount of the item needed/available depending on the context of where DestinyItemQuantity is // being used. Quantity int32 `json:"quantity"` RewardedAtProgressionLevel int32 `json:"rewardedAtProgressionLevel"` UiDisplayStyle string `json:"uiDisplayStyle"` }
Destiny.Definitions.DestinyProgressionRewardItemQuantity
func (ProgressionRewardItemQuantity) DefinitionTable ¶
func (d ProgressionRewardItemQuantity) DefinitionTable() string
type ProgressionRewardItemState ¶
type ProgressionRewardItemState int32
Destiny.DestinyProgressionRewardItemState
Represents the different states a progression reward item can be in.
func (ProgressionRewardItemState) Enum ¶
func (e ProgressionRewardItemState) Enum() string
type ProgressionScope ¶
type ProgressionScope int32
Destiny.DestinyProgressionScope
There are many Progressions in Destiny (think Character Level, or Reputation). These are the various "Scopes" of Progressions, which affect many things: * Where/if they are stored * How they are calculated * Where they can be used in other game logic
func (ProgressionScope) Enum ¶
func (e ProgressionScope) Enum() string
type ProgressionStepDefinition ¶
type ProgressionStepDefinition struct { // This appears to be, when you "level up", whether a visual effect will display and on what entity. // See DestinyProgressionStepDisplayEffect for slightly more info. DisplayEffectType ProgressionStepDisplayEffect `json:"displayEffectType"` // If this progression step has a specific icon related to it, this is the icon to show. Icon string `json:"icon"` // The total amount of progression points/"experience" you will need to initially reach this step. If // this is the last step and the progression is repeating indefinitely // (DestinyProgressionDefinition.repeatLastStep), this will also be the progress needed to level it up // further by repeating this step again. ProgressTotal int32 `json:"progressTotal"` // A listing of items rewarded as a result of reaching this level. RewardItems []ItemQuantity `json:"rewardItems"` // Very rarely, Progressions will have localized text describing the Level of the progression. This // will be that localized text, if it exists. Otherwise, the standard appears to be to simply show the // level numerically. StepName string `json:"stepName"` }
Destiny.Definitions.DestinyProgressionStepDefinition
This defines a single Step in a progression (which roughly equates to a level. See DestinyProgressionDefinition for caveats).
func (ProgressionStepDefinition) DefinitionTable ¶
func (d ProgressionStepDefinition) DefinitionTable() string
type ProgressionStepDisplayEffect ¶
type ProgressionStepDisplayEffect int32
Destiny.DestinyProgressionStepDisplayEffect
If progression is earned, this determines whether the progression shows visual effects on the character or its item - or neither.
func (ProgressionStepDisplayEffect) Enum ¶
func (e ProgressionStepDisplayEffect) Enum() string
type PublicActivityStatus ¶
type PublicActivityStatus struct { // Active Challenges for the activity, if any - represented as hashes for DestinyObjectiveDefinitions. ChallengeObjectiveHashes []uint32 `json:"challengeObjectiveHashes"` // The active modifiers on this activity, if any - represented as hashes for // DestinyActivityModifierDefinitions. ModifierHashes []uint32 `json:"modifierHashes"` // If the activity itself provides any specific "mock" rewards, this will be the items and their // quantity. // Why "mock", you ask? Because these are the rewards as they are represented in the tooltip of the // Activity. // These are often pointers to fake items that look good in a tooltip, but represent an abstract // concept of what you will get for a reward rather than the specific items you may obtain. RewardTooltipItems []ItemQuantity `json:"rewardTooltipItems"` }
Destiny.Activities.DestinyPublicActivityStatus
Represents the public-facing status of an activity: any data about what is currently active in the Activity, regardless of an individual character's progress in it.
type PublicDestinyVendorSaleItemSetComponent ¶
type PublicDestinyVendorSaleItemSetComponent struct {
SaleItems map[int32]PublicVendorSaleItemComponent `json:"saleItems"`
}
Destiny.Responses.PublicDestinyVendorSaleItemSetComponent
type PublicMilestone ¶
type PublicMilestone struct { Activities []PublicMilestoneChallengeActivity `json:"activities"` // A milestone not need have even a single quest, but if there are active quests they will be returned // here. AvailableQuests []PublicMilestoneQuest `json:"availableQuests"` // If known, this is the date when the Milestone will expire/recycle/end. EndDate Nullable[Timestamp] `json:"endDate,omitempty"` // The hash identifier for the milestone. Use it to look up the DestinyMilestoneDefinition for static // data about the Milestone. MilestoneHash Hash[MilestoneDefinition] `json:"milestoneHash"` // Used for ordering milestones in a display to match how we order them in BNet. May pull from static // data, or possibly in the future from dynamic information. Order int32 `json:"order"` // If known, this is the date when the Milestone started/became active. StartDate Nullable[Timestamp] `json:"startDate,omitempty"` // Sometimes milestones - or activities active in milestones - will have relevant vendors. These are // the vendors that are currently relevant. // Deprecated, already, for the sake of the new "vendors" property that has more data. What was I // thinking. VendorHashes []uint32 `json:"vendorHashes"` // This is why we can't have nice things. This is the ordered list of vendors to be shown that relate // to this milestone, potentially along with other interesting data. Vendors []PublicMilestoneVendor `json:"vendors"` }
Destiny.Milestones.DestinyPublicMilestone
Information about milestones, presented in a character state-agnostic manner. Combine this data with DestinyMilestoneDefinition to get a full picture of the milestone, which is basically a checklist of things to do in the game. Think of this as GetPublicAdvisors 3.0, for those who used the Destiny 1 API.
type PublicMilestoneActivity ¶
type PublicMilestoneActivity struct { // The hash identifier of the activity that's been chosen to be considered the canonical "conceptual" // activity definition. This may have many variants, defined herein. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // The hash identifier of the most specific Activity Mode under which this activity is played. This is // useful for situations where the activity in question is - for instance - a PVP map, but it's not // clear what mode the PVP map is being played under. If it's a playlist, this will be less specific: // but hopefully useful in some way. ActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"activityModeHash,omitempty"` // The enumeration equivalent of the most specific Activity Mode under which this activity is played. ActivityModeType Nullable[int32] `json:"activityModeType,omitempty"` // The activity may have 0-to-many modifiers: if it does, this will contain the hashes to the // DestinyActivityModifierDefinition that defines the modifier being applied. ModifierHashes []uint32 `json:"modifierHashes"` // Every relevant variation of this conceptual activity, including the conceptual activity itself, have // variants defined here. Variants []PublicMilestoneActivityVariant `json:"variants"` }
Destiny.Milestones.DestinyPublicMilestoneActivity
A milestone may have one or more conceptual Activities associated with it, and each of those conceptual activities could have a variety of variants, modes, tiers, what-have-you. Our attempts to determine what qualifies as a conceptual activity are, unfortunately, janky. So if you see missing modes or modes that don't seem appropriate to you, let us know and I'll buy you a beer if we ever meet up in person.
type PublicMilestoneActivityVariant ¶
type PublicMilestoneActivityVariant struct { // The hash identifier of this activity variant. Examine the activity's definition in the Manifest // database to determine what makes it a distinct variant. Usually it will be difficulty level or // whether or not it is a guided game variant of the activity, but theoretically it could be // distinguished in any arbitrary way. ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // The hash identifier of the most specific Activity Mode under which this activity is played. This is // useful for situations where the activity in question is - for instance - a PVP map, but it's not // clear what mode the PVP map is being played under. If it's a playlist, this will be less specific: // but hopefully useful in some way. ActivityModeHash Nullable[Hash[ActivityModeDefinition]] `json:"activityModeHash,omitempty"` // The enumeration equivalent of the most specific Activity Mode under which this activity is played. ActivityModeType Nullable[int32] `json:"activityModeType,omitempty"` }
Destiny.Milestones.DestinyPublicMilestoneActivityVariant
Represents a variant of an activity that's relevant to a milestone.
type PublicMilestoneChallenge ¶
type PublicMilestoneChallenge struct { // IF the Objective is related to a specific Activity, this will be that activity's hash. Use it to // look up the DestinyActivityDefinition for additional data to show. ActivityHash Nullable[Hash[ActivityDefinition]] `json:"activityHash,omitempty"` // The objective for the Challenge, which should have human-readable data about what needs to be done // to accomplish the objective. Use this hash to look up the DestinyObjectiveDefinition. ObjectiveHash Hash[ObjectiveDefinition] `json:"objectiveHash"` }
Destiny.Milestones.DestinyPublicMilestoneChallenge
A Milestone can have many Challenges. Challenges are just extra Objectives that provide a fun way to mix-up play and provide extra rewards.
type PublicMilestoneChallengeActivity ¶
type PublicMilestoneChallengeActivity struct { ActivityHash Hash[ActivityDefinition] `json:"activityHash"` // 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 have no human readable information for this data, so it's up to you if you want to associate it // with such info to show it. BooleanActivityOptions map[uint32]bool `json:"booleanActivityOptions"` ChallengeObjectiveHashes []uint32 `json:"challengeObjectiveHashes"` // If returned, this is the index into the DestinyActivityDefinition's "loadouts" property, indicating // the currently active loadout requirements. LoadoutRequirementIndex Nullable[int32] `json:"loadoutRequirementIndex,omitempty"` // 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. ModifierHashes []uint32 `json:"modifierHashes"` // The ordered list of phases for this activity, if any. Note that we have no human readable info for // phases, nor any entities to relate them to: relating these hashes to something human readable is up // to you unfortunately. PhaseHashes []uint32 `json:"phaseHashes"` }
Destiny.Milestones.DestinyPublicMilestoneChallengeActivity
type PublicMilestoneQuest ¶
type PublicMilestoneQuest struct { // A milestone need not have an active activity, but if there is one it will be returned here, along // with any variant and additional information. Activity PublicMilestoneActivity `json:"activity"` // For the given quest there could be 0-to-Many challenges: mini quests that you can perform in the // course of doing this quest, that may grant you rewards and benefits. Challenges []PublicMilestoneChallenge `json:"challenges"` // Quests are defined as Items in content. As such, this is the hash identifier of the // DestinyInventoryItemDefinition that represents this quest. It will have pointers to all of the steps // in the quest, and display information for the quest (title, description, icon etc) Individual steps // will be referred to in the Quest item's DestinyInventoryItemDefinition.setData property, and // themselves are Items with their own renderable data. QuestItemHash Hash[MilestoneDefinition] `json:"questItemHash"` }
Destiny.Milestones.DestinyPublicMilestoneQuest
type PublicMilestoneVendor ¶
type PublicMilestoneVendor struct { // If this vendor is featuring a specific item for this event, this will be the hash identifier of that // item. I'm taking bets now on how long we go before this needs to be a list or some other, more // complex representation instead and I deprecate this too. I'm going to go with 5 months. Calling it // now, 2017-09-14 at 9:46pm PST. PreviewItemHash Nullable[Hash[InventoryItemDefinition]] `json:"previewItemHash,omitempty"` // The hash identifier of the Vendor related to this Milestone. You can show useful things from this, // such as thier Faction icon or whatever you might care about. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Milestones.DestinyPublicMilestoneVendor
type PublicVendorComponent ¶
type PublicVendorComponent struct { // If True, the Vendor is currently accessible. // If False, they may not actually be visible in the world at the moment. Enabled bool `json:"enabled"` // The date when this vendor's inventory will next rotate/refresh. // Note that this is distinct from the date ranges that the vendor is visible/available in-game: this // field indicates the specific time when the vendor's available items refresh and rotate, regardless // of whether the vendor is actually available at that time. Unfortunately, these two values may be // (and are, for the case of important vendors like Xur) different. // Issue https://github.com/Bungie-net/api/issues/353 is tracking a fix to start providing visibility // date ranges where possible in addition to this refresh date, so that all important dates for vendors // are available for use. NextRefreshDate Timestamp `json:"nextRefreshDate"` // The unique identifier for the vendor. Use it to look up their DestinyVendorDefinition. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Components.Vendors.DestinyPublicVendorComponent
This component contains essential/summary information about the vendor from the perspective of a character-agnostic view.
type PublicVendorSaleItemComponent ¶
type PublicVendorSaleItemComponent struct { // If true, this item can be purchased through the Bungie.net API. ApiPurchasable Nullable[bool] `json:"apiPurchasable,omitempty"` // A summary of the current costs of the item. Costs []ItemQuantity `json:"costs"` // The hash of the item being sold, as a quick shortcut for looking up the // DestinyInventoryItemDefinition of the sale item. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this item has its own custom date where it may be removed from the Vendor's rotation, this is // that date. // Note that there's not actually any guarantee that it will go away: it could be chosen again and end // up still being in the Vendor's sale items! But this is the next date where that test will occur, and // is also the date that the game shows for availability on things like Bounties being sold. So it's // the best we can give. OverrideNextRefreshDate Nullable[Timestamp] `json:"overrideNextRefreshDate,omitempty"` // If populated, this is the hash of the item whose icon (and other secondary styles, but *not* the // human readable strings) should override whatever icons/styles are on the item being sold. // If you don't do this, certain items whose styles are being overridden by socketed items - such as // the "Recycle Shader" item - would show whatever their default icon/style is, and it wouldn't be // pretty or look accurate. OverrideStyleItemHash Nullable[Hash[InventoryItemDefinition]] `json:"overrideStyleItemHash,omitempty"` // How much of the item you'll be getting. Quantity int32 `json:"quantity"` // The index into the DestinyVendorDefinition.itemList property. Note that this means Vendor data *is* // Content Version dependent: make sure you have the latest content before you use Vendor data, or // these indexes may mismatch. // Most systems avoid this problem, but Vendors is one area where we are unable to reasonably avoid // content dependency at the moment. VendorItemIndex int32 `json:"vendorItemIndex"` }
Destiny.Components.Vendors.DestinyPublicVendorSaleItemComponent
Has character-agnostic information about an item being sold by a vendor. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property. For most of these, however, you'll have to ask for it in context of a specific character.
type PublicVendorsResponse ¶
type PublicVendorsResponse struct { // Categories that the vendor has available, and references to the sales therein. These are keyed by // the Vendor Hash, so you will get one Categories Component per vendor returned. // COMPONENT TYPE: VendorCategories Categories ComponentResponse[map[uint32]VendorCategoriesComponent] `json:"categories"` // Sales, keyed by the vendorItemIndex of the item being sold. These are keyed by the Vendor Hash, so // you will get one Sale Item Set Component per vendor returned. // Note that within the Sale Item Set component, the sales are themselves keyed by the vendorSaleIndex, // so you can relate it to the corrent sale item definition within the Vendor's definition. // COMPONENT TYPE: VendorSales Sales ComponentResponse[map[uint32]PublicDestinyVendorSaleItemSetComponent] `json:"sales"` // A set of string variable values by hash for a public vendors context. // COMPONENT TYPE: StringVariables StringVariables ComponentResponse[StringVariablesComponent] `json:"stringVariables"` // For Vendors being returned, this will give you the information you need to group them and order them // in the same way that the Bungie Companion app performs grouping. It will automatically be returned // if you request the Vendors component. // COMPONENT TYPE: Vendors VendorGroups ComponentResponse[VendorGroupComponent] `json:"vendorGroups"` // The base properties of the vendor. These are keyed by the Vendor Hash, so you will get one Vendor // Component per vendor returned. // COMPONENT TYPE: Vendors Vendors ComponentResponse[map[uint32]PublicVendorComponent] `json:"vendors"` }
Destiny.Responses.DestinyPublicVendorsResponse
A response containing all valid components for the public Vendors endpoint.
It is a decisively smaller subset of data compared to what we can get when we know the specific
user making the request.
If you want any of the other data - item details, whether or not you can buy it, etc... you'll have
to call in the context of a character. I know, sad but true.
type QuestStatus ¶
type QuestStatus struct { // Whether or not the whole quest has been completed, regardless of whether or not you have redeemed // the rewards for the quest. Completed bool `json:"completed"` // The current Quest Step will be an instanced item in the player's inventory. If you care about that, // this is the instance ID of that item. ItemInstanceID Int64 `json:"itemInstanceId"` // The hash identifier for the Quest Item. (Note: Quests are defined as Items, and thus you would use // this to look up the quest's DestinyInventoryItemDefinition). For information on all steps in the // quest, you can then examine its DestinyInventoryItemDefinition.setData property for Quest Steps // (which are *also* items). You can use the Item Definition to display human readable data about the // overall quest. QuestHash Hash[InventoryItemDefinition] `json:"questHash"` // Whether or not you have redeemed rewards for this quest. Redeemed bool `json:"redeemed"` // Whether or not you have started this quest. Started bool `json:"started"` // The hash identifier of the current Quest Step, which is also a DestinyInventoryItemDefinition. You // can use this to get human readable data about the current step and what to do in that step. StepHash Hash[InventoryItemDefinition] `json:"stepHash"` // A step can have multiple objectives. This will give you the progress for each objective in the // current step, in the order in which they are rendered in-game. StepObjectives []ObjectiveProgress `json:"stepObjectives"` // Whether or not the quest is tracked Tracked bool `json:"tracked"` // If the quest has a related Vendor that you should talk to in order to initiate the quest/earn // rewards/continue the quest, this will be the hash identifier of that Vendor. Look it up its // DestinyVendorDefinition. VendorHash Nullable[uint32] `json:"vendorHash,omitempty"` }
Destiny.Quests.DestinyQuestStatus
Data regarding the progress of a Quest for a specific character. Quests are composed of multiple steps, each with potentially multiple objectives: this QuestStatus will return Objective data for the *currently active* step in this quest.
type RaceDefinition ¶
type RaceDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // A localized string referring to the singular form of the Race's name when referred to in gendered // form. Keyed by the DestinyGender. GenderedRaceNames map[string]string `json:"genderedRaceNames"` GenderedRaceNamesByGenderHash map[Hash[GenderDefinition]]string `json:"genderedRaceNamesByGenderHash"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // An enumeration defining the existing, known Races/Species for player characters. This value will be // the enum value matching this definition. RaceType Race `json:"raceType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyRaceDefinition
In Destiny, "Races" are really more like "Species". Sort of. I mean, are the Awoken a separate species from humans? I'm not sure. But either way, they're defined here. You'll see Exo, Awoken, and Human as examples of these Species. Players will choose one for their character.
func (RaceDefinition) DefinitionTable ¶
func (d RaceDefinition) DefinitionTable() string
type RecordCompletionBlock ¶
type RecordCompletionBlock struct { ScoreValue int32 `json:"ScoreValue"` // The number of objectives that must be completed before the objective is considered "complete" PartialCompletionObjectiveCountThreshold int32 `json:"partialCompletionObjectiveCountThreshold"` ShouldFireToast bool `json:"shouldFireToast"` ToastStyle RecordToastStyle `json:"toastStyle"` }
Destiny.Definitions.Records.DestinyRecordCompletionBlock
func (RecordCompletionBlock) DefinitionTable ¶
func (d RecordCompletionBlock) DefinitionTable() string
type RecordComponent ¶
type RecordComponent struct { // If available, this is the number of times this record has been completed. For example, the number of // times a seal title has been gilded. CompletedCount Nullable[int32] `json:"completedCount,omitempty"` IntervalObjectives []ObjectiveProgress `json:"intervalObjectives"` IntervalsRedeemedCount int32 `json:"intervalsRedeemedCount"` Objectives []ObjectiveProgress `json:"objectives"` // If available, a list that describes which reward rewards should be shown (true) or hidden (false). // This property is for regular record rewards, and not for interval objective rewards. RewardVisibilty []bool `json:"rewardVisibilty"` State BitmaskSet[RecordState] `json:"state"` }
Destiny.Components.Records.DestinyRecordComponent
type RecordDefinition ¶
type RecordDefinition struct { CompletionInfo RecordCompletionBlock `json:"completionInfo"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` ExpirationInfo RecordExpirationBlock `json:"expirationInfo"` ForTitleGilding bool `json:"forTitleGilding"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Some records have multiple 'interval' objectives, and the record may be claimed at each completed // interval IntervalInfo RecordIntervalBlock `json:"intervalInfo"` LoreHash Nullable[Hash[LoreDefinition]] `json:"loreHash,omitempty"` ObjectiveHashes []uint32 `json:"objectiveHashes"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationInfo PresentationChildBlock `json:"presentationInfo"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` RecordValueStyle RecordValueStyle `json:"recordValueStyle"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` Requirements PresentationNodeRequirementsBlock `json:"requirements"` // If there is any publicly available information about rewards earned for achieving this record, this // is the list of those items. // // However, note that some records intentionally have "hidden" rewards. These will not be returned in // // this list. RewardItems []ItemQuantity `json:"rewardItems"` // Indicates whether this Record's state is determined on a per-character or on an account-wide basis. Scope Scope `json:"scope"` // A hint to show a large icon for a reward ShouldShowLargeIcons bool `json:"shouldShowLargeIcons"` StateInfo SchemaRecordStateBlock `json:"stateInfo"` TitleInfo RecordTitleBlock `json:"titleInfo"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Records.DestinyRecordDefinition
func (RecordDefinition) DefinitionTable ¶
func (d RecordDefinition) DefinitionTable() string
type RecordExpirationBlock ¶
type RecordExpirationBlock struct { Description string `json:"description"` HasExpiration bool `json:"hasExpiration"` Icon string `json:"icon"` }
Destiny.Definitions.Records.DestinyRecordExpirationBlock
If this record has an expiration after which it cannot be earned, this is some information about that expiration.
func (RecordExpirationBlock) DefinitionTable ¶
func (d RecordExpirationBlock) DefinitionTable() string
type RecordIntervalBlock ¶
type RecordIntervalBlock struct { IntervalObjectives []RecordIntervalObjective `json:"intervalObjectives"` IntervalRewards []RecordIntervalRewards `json:"intervalRewards"` OriginalObjectiveArrayInsertionIndex int32 `json:"originalObjectiveArrayInsertionIndex"` }
Destiny.Definitions.Records.DestinyRecordIntervalBlock
func (RecordIntervalBlock) DefinitionTable ¶
func (d RecordIntervalBlock) DefinitionTable() string
type RecordIntervalObjective ¶
type RecordIntervalObjective struct { IntervalObjectiveHash Hash[ObjectiveDefinition] `json:"intervalObjectiveHash"` IntervalScoreValue int32 `json:"intervalScoreValue"` }
Destiny.Definitions.Records.DestinyRecordIntervalObjective
func (RecordIntervalObjective) DefinitionTable ¶
func (d RecordIntervalObjective) DefinitionTable() string
type RecordIntervalRewards ¶
type RecordIntervalRewards struct {
IntervalRewardItems []ItemQuantity `json:"intervalRewardItems"`
}
Destiny.Definitions.Records.DestinyRecordIntervalRewards
func (RecordIntervalRewards) DefinitionTable ¶
func (d RecordIntervalRewards) DefinitionTable() string
type RecordState ¶
type RecordState int32
Destiny.DestinyRecordState
A Flags enumeration/bitmask where each bit represents a possible state that a Record/Triumph can be in.
func (RecordState) Enum ¶
func (e RecordState) Enum() string
type RecordTitleBlock ¶
type RecordTitleBlock struct { GildingTrackingRecordHash Nullable[Hash[RecordDefinition]] `json:"gildingTrackingRecordHash,omitempty"` HasTitle bool `json:"hasTitle"` TitlesByGender map[string]string `json:"titlesByGender"` // For those who prefer to use the definitions. TitlesByGenderHash map[Hash[GenderDefinition]]string `json:"titlesByGenderHash"` }
Destiny.Definitions.Records.DestinyRecordTitleBlock
func (RecordTitleBlock) DefinitionTable ¶
func (d RecordTitleBlock) DefinitionTable() string
type RecordToastStyle ¶
type RecordToastStyle int32
Destiny.DestinyRecordToastStyle
func (RecordToastStyle) Enum ¶
func (e RecordToastStyle) Enum() string
type RecordValueStyle ¶
type RecordValueStyle int32
Destiny.DestinyRecordValueStyle
func (RecordValueStyle) Enum ¶
func (e RecordValueStyle) Enum() string
type RecordsComponent ¶
type RecordsComponent struct { // The hash for the root presentation node definition of Triumph categories. RecordCategoriesRootNodeHash Hash[PresentationNodeDefinition] `json:"recordCategoriesRootNodeHash"` // The hash for the root presentation node definition of Triumph Seals. RecordSealsRootNodeHash Hash[PresentationNodeDefinition] `json:"recordSealsRootNodeHash"` Records map[uint32]RecordComponent `json:"records"` }
Destiny.Components.Records.DestinyRecordsComponent
type ReportOffensePgcrRequest ¶
type ReportOffensePgcrRequest struct { // Within the PGCR provided when calling the Reporting endpoint, this should be the character ID of the // user that you thought was violating terms of use. They must exist in the PGCR provided. OffendingCharacterID Int64 `json:"offendingCharacterId"` // So you've decided to report someone instead of cursing them and their descendants. Well, okay then. // This is the category or categorie(s) of infractions for which you are reporting the user. These are // hash identifiers that map to DestinyReportReasonCategoryDefinition entries. ReasonCategoryHashes []uint32 `json:"reasonCategoryHashes"` // If applicable, provide a more specific reason(s) within the general category of problems provided by // the reasonHash. This is also an identifier for a reason. All reasonHashes provided must be children // of at least one the reasonCategoryHashes provided. ReasonHashes []uint32 `json:"reasonHashes"` }
Destiny.Reporting.Requests.DestinyReportOffensePgcrRequest
If you want to report a player causing trouble in a game, this request will let you report that player and the specific PGCR in which the trouble was caused, along with why. Please don't do this just because you dislike the person! I mean, I know people will do it anyways, but can you like take a good walk, or put a curse on them or something? Do me a solid and reconsider. Note that this request object doesn't have the actual PGCR ID nor your Account/Character ID in it. We will infer that information from your authentication information and the PGCR ID that you pass into the URL of the reporting endpoint itself.
type ReportReasonCategoryDefinition ¶
type ReportReasonCategoryDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The specific reasons for the report under this category. Reasons map[uint32]ReportReasonDefinition `json:"reasons"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Reporting.DestinyReportReasonCategoryDefinition
If you're going to report someone for a Terms of Service violation, you need to choose a category and reason for the report. This definition holds both the categories and the reasons within those categories, for simplicity and my own laziness' sake. Note tha this means that, to refer to a Reason by reasonHash, you need a combination of the reasonHash *and* the associated ReasonCategory's hash: there are some reasons defined under multiple categories.
func (ReportReasonCategoryDefinition) DefinitionTable ¶
func (d ReportReasonCategoryDefinition) DefinitionTable() string
type ReportReasonDefinition ¶
type ReportReasonDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The identifier for the reason: they are only guaranteed unique under the Category in which they are // found. ReasonHash uint32 `json:"reasonHash"` }
Destiny.Definitions.Reporting.DestinyReportReasonDefinition
A specific reason for being banned. Only accessible under the related category (DestinyReportReasonCategoryDefinition) under which it is shown. Note that this means that report reasons' reasonHash are not globally unique: and indeed, entries like "Other" are defined under most categories for example.
func (ReportReasonDefinition) DefinitionTable ¶
func (d ReportReasonDefinition) DefinitionTable() string
type RewardAvailabilityModel ¶
type RewardAvailabilityModel struct { CollectibleDefinitions []CollectibleDefinitions `json:"CollectibleDefinitions"` DecryptedToken string `json:"DecryptedToken"` GameEarnByDate Timestamp `json:"GameEarnByDate"` HasExistingCode bool `json:"HasExistingCode"` HasOffer bool `json:"HasOffer"` IsLoyaltyReward bool `json:"IsLoyaltyReward"` IsOffer bool `json:"IsOffer"` OfferApplied bool `json:"OfferApplied"` RecordDefinitions []RecordDefinition `json:"RecordDefinitions"` RedemptionEndDate Timestamp `json:"RedemptionEndDate"` ShopifyEndDate Nullable[Timestamp] `json:"ShopifyEndDate,omitempty"` }
Tokens.RewardAvailabilityModel
type RewardDisplayProperties ¶
type RewardDisplayProperties struct { Description string `json:"Description"` ImagePath string `json:"ImagePath"` Name string `json:"Name"` }
Tokens.RewardDisplayProperties
type RewardSourceCategory ¶
type RewardSourceCategory int32
Destiny.Definitions.DestinyRewardSourceCategory
BNet's custom categorization of reward sources. We took a look at the existing ways that items could be spawned, and tried to make high-level categorizations of them. This needs to be re-evaluated for Destiny 2.
func (RewardSourceCategory) Enum ¶
func (e RewardSourceCategory) Enum() string
type RewardSourceDefinition ¶
type RewardSourceDefinition struct { // Sources are grouped into categories: common ways that items are provided. I hope to see this expand // in Destiny 2 once we have time to generate accurate reward source data. Category RewardSourceCategory `json:"category"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyRewardSourceDefinition
Represents a heuristically-determined "item source" according to Bungie.net. These item sources are non-canonical: we apply a combination of special configuration and often-fragile heuristics to attempt to discern whether an item should be part of a given "source," but we have known cases of false positives and negatives due to our imperfect heuristics. Still, they provide a decent approximation for people trying to figure out how an item can be obtained. DestinyInventoryItemDefinition refers to sources in the sourceDatas.sourceHashes property for all sources we determined the item could spawn from. An example in Destiny 1 of a Source would be "Nightfall". If an item has the "Nightfall" source associated with it, it's extremely likely that you can earn that item while playing Nightfall, either during play or as an after-completion reward.
func (RewardSourceDefinition) DefinitionTable ¶
func (d RewardSourceDefinition) DefinitionTable() string
type RuntimeGroupMemberType ¶
type RuntimeGroupMemberType int32
GroupsV2.RuntimeGroupMemberType
The member levels used by all V2 Groups API. Individual group types use their own mappings in their native storage (general uses BnetDbGroupMemberType and D2 clans use ClanMemberLevel), but they are all translated to this in the runtime api. These runtime values should NEVER be stored anywhere, so the values can be changed as necessary.
func (RuntimeGroupMemberType) Enum ¶
func (e RuntimeGroupMemberType) Enum() string
type SandboxPatternDefinition ¶
type SandboxPatternDefinition struct { Filters []ArrangementRegionFilterDefinition `json:"filters"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` PatternGlobalTagIdHash uint32 `json:"patternGlobalTagIdHash"` PatternHash uint32 `json:"patternHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` WeaponContentGroupHash uint32 `json:"weaponContentGroupHash"` WeaponTranslationGroupHash uint32 `json:"weaponTranslationGroupHash"` WeaponType ItemSubType `json:"weaponType"` WeaponTypeHash Nullable[uint32] `json:"weaponTypeHash,omitempty"` }
Destiny.Definitions.DestinySandboxPatternDefinition
func (SandboxPatternDefinition) DefinitionTable ¶
func (d SandboxPatternDefinition) DefinitionTable() string
type SandboxPerkDefinition ¶
type SandboxPerkDefinition struct { // If this perk grants a damage type to a weapon, the damage type will be defined here. // Unless you have a compelling reason to use this enum value, use the damageTypeHash instead to look // up the actual DestinyDamageTypeDefinition. DamageType DamageType `json:"damageType"` // The hash identifier for looking up the DestinyDamageTypeDefinition, if this perk has a damage type. // This is preferred over using the damageType enumeration value, which has been left purely because it // is occasionally convenient. DamageTypeHash Nullable[Hash[DamageTypeDefinition]] `json:"damageTypeHash,omitempty"` // These display properties are by no means guaranteed to be populated. Usually when it is, it's only // because we back-filled them with the displayProperties of some Talent Node or Plug item that // happened to be uniquely providing that perk. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If true, you can actually show the perk in the UI. Otherwise, it doesn't have useful player-facing // information. IsDisplayable bool `json:"isDisplayable"` // An old holdover from the original Armory, this was an attempt to group perks by functionality. // It is as yet unpopulated, and there will be quite a bit of work needed to restore it to its former // working order. PerkGroups TalentNodeStepGroups `json:"perkGroups"` // The string identifier for the perk. PerkIdentifier string `json:"perkIdentifier"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinySandboxPerkDefinition
Perks are modifiers to a character or item that can be applied situationally. - Perks determine a weapons' damage type. - Perks put the Mods in Modifiers (they are literally the entity that bestows the Sandbox benefit for whatever fluff text about the modifier in the Socket, Plug or Talent Node) - Perks are applied for unique alterations of state in Objectives Anyways, I'm sure you can see why perks are so interesting. What Perks often don't have is human readable information, so we attempt to reverse engineer that by pulling that data from places that uniquely refer to these perks: namely, Talent Nodes and Plugs. That only gives us a subset of perks that are human readable, but those perks are the ones people generally care about anyways. The others are left as a mystery, their true purpose mostly unknown and undocumented.
func (SandboxPerkDefinition) DefinitionTable ¶
func (d SandboxPerkDefinition) DefinitionTable() string
type SchemaRecordStateBlock ¶
type SchemaRecordStateBlock struct { FeaturedPriority int32 `json:"featuredPriority"` ObscuredString string `json:"obscuredString"` }
Destiny.Definitions.Records.SchemaRecordStateBlock
func (SchemaRecordStateBlock) DefinitionTable ¶
func (d SchemaRecordStateBlock) DefinitionTable() string
type Scope ¶
type Scope int32
Destiny.DestinyScope
There's a lot of places where we need to know scope on more than just a profile or character level. For everything else, there's this more generic sense of scope.
type ScoredPresentationNodeBaseDefinition ¶
type ScoredPresentationNodeBaseDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` MaxCategoryRecordScore int32 `json:"maxCategoryRecordScore"` // A quick reference to presentation nodes that have this node as a child. Presentation nodes can be // parented under multiple parents. ParentNodeHashes []uint32 `json:"parentNodeHashes"` PresentationNodeType PresentationNodeType `json:"presentationNodeType"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` TraitHashes []uint32 `json:"traitHashes"` TraitIds []string `json:"traitIds"` }
Destiny.Definitions.Presentation.DestinyScoredPresentationNodeBaseDefinition
func (ScoredPresentationNodeBaseDefinition) DefinitionTable ¶
func (d ScoredPresentationNodeBaseDefinition) DefinitionTable() string
type SearchResult ¶
type SearchResult[T any] struct { Results []T `json:"results"` HasMore bool `json:"hasMore"` Query PagedQuery `json:"query"` ReplacementContinuationToken string `json:"replacementContinuationToken"` TotalResults int32 `json:"totalResults"` // If useTotalResults is true, then totalResults represents an accurate count. // If False, it does not, and may be estimated/only the size of the current page. // Either way, you should probably always only trust hasMore. // This is a long-held historical throwback to when we used to do paging with known total results. // Those queries toasted our database, and we were left to hastily alter our endpoints and create // backward- compatible shims, of which useTotalResults is one. UseTotalResults bool `json:"useTotalResults"` }
Queries.SearchResult
type SeasonDefinition ¶
type SeasonDefinition struct { ArtifactItemHash Nullable[Hash[InventoryItemDefinition]] `json:"artifactItemHash,omitempty"` BackgroundImagePath string `json:"backgroundImagePath"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` EndDate Nullable[Timestamp] `json:"endDate,omitempty"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Optional - Defines the promotional text, images, and links to preview this season. Preview SeasonPreviewDefinition `json:"preview"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` SealPresentationNodeHash Nullable[Hash[PresentationNodeDefinition]] `json:"sealPresentationNodeHash,omitempty"` SeasonNumber int32 `json:"seasonNumber"` SeasonPassHash Nullable[Hash[SeasonPassDefinition]] `json:"seasonPassHash,omitempty"` SeasonPassProgressionHash Nullable[Hash[ProgressionDefinition]] `json:"seasonPassProgressionHash,omitempty"` SeasonalChallengesPresentationNodeHash Nullable[Hash[PresentationNodeDefinition]] `json:"seasonalChallengesPresentationNodeHash,omitempty"` StartDate Nullable[Timestamp] `json:"startDate,omitempty"` }
Destiny.Definitions.Seasons.DestinySeasonDefinition
Defines a canonical "Season" of Destiny: a range of a few months where the game highlights certain challenges, provides new loot, has new Clan-related rewards and celebrates various seasonal events.
func (SeasonDefinition) DefinitionTable ¶
func (d SeasonDefinition) DefinitionTable() string
type SeasonPassDefinition ¶
type SeasonPassDefinition struct { DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // I know what you're thinking, but I promise we're not going to duplicate and drown you. Instead, // we're giving you sweet, sweet power bonuses. // // Prestige progression is further progression that you can make on the Season pass after you gain max // // ranks, that will ultimately increase your power/light level over the theoretical limit. PrestigeProgressionHash Hash[ProgressionDefinition] `json:"prestigeProgressionHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // This is the progression definition related to the progression for the initial levels 1-100 that // provide item rewards for the Season pass. Further experience after you reach the limit is provided // in the "Prestige" progression referred to by prestigeProgressionHash. RewardProgressionHash Hash[ProgressionDefinition] `json:"rewardProgressionHash"` }
Destiny.Definitions.Seasons.DestinySeasonPassDefinition
func (SeasonPassDefinition) DefinitionTable ¶
func (d SeasonPassDefinition) DefinitionTable() string
type SeasonPreviewDefinition ¶
type SeasonPreviewDefinition struct { // A localized description of the season. Description string `json:"description"` // A list of images to preview the seasonal content. Should have at least three to show. Images []SeasonPreviewImageDefinition `json:"images"` // A relative path to learn more about the season. Web browsers should be automatically redirected to // the user's Bungie.net locale. For example: "/SeasonOfTheChosen" will redirect to // "/7/en/Seasons/SeasonOfTheChosen" for English users. LinkPath string `json:"linkPath"` // An optional link to a localized video, probably YouTube. VideoLink string `json:"videoLink"` }
Destiny.Definitions.Seasons.DestinySeasonPreviewDefinition
Defines the promotional text, images, and links to preview this season.
func (SeasonPreviewDefinition) DefinitionTable ¶
func (d SeasonPreviewDefinition) DefinitionTable() string
type SeasonPreviewImageDefinition ¶
type SeasonPreviewImageDefinition struct { // An optional path to a high-resolution image, probably 1920x1080. HighResImage string `json:"highResImage"` // A thumbnail icon path to preview seasonal content, probably 480x270. ThumbnailImage string `json:"thumbnailImage"` }
Destiny.Definitions.Seasons.DestinySeasonPreviewImageDefinition
Defines the thumbnail icon, high-res image, and video link for promotional images
func (SeasonPreviewImageDefinition) DefinitionTable ¶
func (d SeasonPreviewImageDefinition) DefinitionTable() string
type Series ¶
type Series struct { // Collection of samples with time and value. Datapoints []Datapoint `json:"datapoints"` // Target to which to datapoints apply. Target string `json:"target"` }
Applications.Series
type ServerResponse ¶
type ServerResponse[T any] struct { Response T ErrorCode PlatformErrorCodes ThrottleSeconds int32 ErrorStatus string Message string MessageData map[string]string DetailedErrorTrace string // contains filtered or unexported fields }
func (ServerResponse[T]) Raw ¶
func (r ServerResponse[T]) Raw() []byte
type SocialAcceptFriendRequestRequest ¶
type SocialAcceptFriendRequestRequest struct { // The membership id of the user you wish to accept. // Required. MembershipID string }
SocialAcceptFriendRequestRequest are the request parameters for operation Social.AcceptFriendRequest
type SocialCommendationDefinition ¶
type SocialCommendationDefinition struct { ActivityGivingLimit int32 `json:"activityGivingLimit"` CardImagePath string `json:"cardImagePath"` Color Color `json:"color"` // The display properties for the the activities that this commendation is available in. DisplayActivities []DisplayPropertiesDefinition `json:"displayActivities"` DisplayPriority int32 `json:"displayPriority"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` ParentCommendationNodeHash Hash[SocialCommendationNodeDefinition] `json:"parentCommendationNodeHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Social.DestinySocialCommendationDefinition
func (SocialCommendationDefinition) DefinitionTable ¶
func (d SocialCommendationDefinition) DefinitionTable() string
type SocialCommendationNodeDefinition ¶
type SocialCommendationNodeDefinition struct { // A list of hashes that map to child commendations. ChildCommendationHashes []uint32 `json:"childCommendationHashes"` // A list of hashes that map to child commendation nodes. Only the root commendations node is expected // to have child nodes. ChildCommendationNodeHashes []uint32 `json:"childCommendationNodeHashes"` // The color associated with this group of commendations. Color Color `json:"color"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` ParentCommendationNodeHash Hash[SocialCommendationNodeDefinition] `json:"parentCommendationNodeHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Social.DestinySocialCommendationNodeDefinition
func (SocialCommendationNodeDefinition) DefinitionTable ¶
func (d SocialCommendationNodeDefinition) DefinitionTable() string
type SocialCommendationsComponent ¶
type SocialCommendationsComponent struct { CommendationNodeScoresByHash map[Hash[SocialCommendationNodeDefinition]]int32 `json:"commendationNodeScoresByHash"` CommendationScoresByHash map[Hash[SocialCommendationDefinition]]int32 `json:"commendationScoresByHash"` ScoreDetailValues []int32 `json:"scoreDetailValues"` TotalScore int32 `json:"totalScore"` }
Destiny.Components.Social.DestinySocialCommendationsComponent
type SocialDeclineFriendRequestRequest ¶
type SocialDeclineFriendRequestRequest struct { // The membership id of the user you wish to decline. // Required. MembershipID string }
SocialDeclineFriendRequestRequest are the request parameters for operation Social.DeclineFriendRequest
type SocialGetFriendListRequest ¶
type SocialGetFriendListRequest struct { }
SocialGetFriendListRequest are the request parameters for operation Social.GetFriendList
type SocialGetFriendRequestListRequest ¶
type SocialGetFriendRequestListRequest struct { }
SocialGetFriendRequestListRequest are the request parameters for operation Social.GetFriendRequestList
type SocialGetPlatformFriendListRequest ¶
type SocialGetPlatformFriendListRequest struct { // The platform friend type. // Required. FriendPlatform PlatformFriendType // The zero based page to return. Page size is 100. // Required. Page string }
SocialGetPlatformFriendListRequest are the request parameters for operation Social.GetPlatformFriendList
type SocialIssueFriendRequestRequest ¶
type SocialIssueFriendRequestRequest struct { // The membership id of the user you wish to add. // Required. MembershipID string }
SocialIssueFriendRequestRequest are the request parameters for operation Social.IssueFriendRequest
type SocialRemoveFriendRequest ¶
type SocialRemoveFriendRequest struct { // The membership id of the user you wish to remove. // Required. MembershipID string }
SocialRemoveFriendRequest are the request parameters for operation Social.RemoveFriend
type SocialRemoveFriendRequestRequest ¶
type SocialRemoveFriendRequestRequest struct { // The membership id of the user you wish to remove. // Required. MembershipID string }
SocialRemoveFriendRequestRequest are the request parameters for operation Social.RemoveFriendRequest
type SocketArrayType ¶
type SocketArrayType int32
Destiny.Requests.Actions.DestinySocketArrayType
If you look in the DestinyInventoryItemDefinition's "sockets" property, you'll see that there are two types of sockets: intrinsic, and "socketEntry." Unfortunately, because Intrinsic sockets are a whole separate array, it is no longer sufficient to know the index into that array to know which socket we're talking about. You have to know whether it's in the default "socketEntries" or if it's in the "intrinsic" list.
func (SocketArrayType) Enum ¶
func (e SocketArrayType) Enum() string
type SocketCategoryDefinition ¶
type SocketCategoryDefinition struct { // Same as uiCategoryStyle, but in a more usable enumeration form. CategoryStyle SocketCategoryStyle `json:"categoryStyle"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // A string hinting to the game's UI system about how the sockets in this category should be displayed. // BNet doesn't use it: it's up to you to find valid values and make your own special UI if you want to // honor this category style. UiCategoryStyle uint32 `json:"uiCategoryStyle"` }
Destiny.Definitions.Sockets.DestinySocketCategoryDefinition
Sockets on an item are organized into Categories visually. You can find references to the socket category defined on an item's DestinyInventoryItemDefinition.sockets.socketCategories property. This has the display information for rendering the categories' header, and a hint for how the UI should handle showing this category. The shitty thing about this, however, is that the socket categories' UI style can be overridden by the item's UI style. For instance, the Socket Category used by Emote Sockets says it's "consumable," but that's a lie: they're all reusable, and overridden by the detail UI pages in ways that we can't easily account for in the API. As a result, I will try to compile these rules into the individual sockets on items, and provide the best hint possible there through the plugSources property. In the future, I may attempt to use this information in conjunction with the item to provide a more usable UI hint on the socket layer, but for now improving the consistency of plugSources is the best I have time to provide. (See https://github.com/Bungie-net/api/issues/522 for more info)
func (SocketCategoryDefinition) DefinitionTable ¶
func (d SocketCategoryDefinition) DefinitionTable() string
type SocketCategoryStyle ¶
type SocketCategoryStyle int32
Destiny.DestinySocketCategoryStyle
Represents the possible and known UI styles used by the game for rendering Socket Categories.
func (SocketCategoryStyle) Enum ¶
func (e SocketCategoryStyle) Enum() string
type SocketPlugSources ¶
type SocketPlugSources int32
Destiny.SocketPlugSources
Indicates how a socket is populated, and where you should look for valid plug data.
This is a flags enumeration/bitmask field, as you may have to look in multiple sources across
multiple components for valid plugs.
For instance, a socket could have plugs that are sourced from its own definition, as well as plugs
that are sourced from Character-scoped AND profile-scoped Plug Sets. Only by combining plug data for every indicated source will you be able to know all of the plugs available for a socket.
func (SocketPlugSources) Enum ¶
func (e SocketPlugSources) Enum() string
type SocketTypeActionType ¶
type SocketTypeActionType int32
Destiny.SocketTypeActionType
Indicates the type of actions that can be performed
func (SocketTypeActionType) Enum ¶
func (e SocketTypeActionType) Enum() string
type SocketTypeDefinition ¶
type SocketTypeDefinition struct { AlwaysRandomizeSockets bool `json:"alwaysRandomizeSockets"` AvoidDuplicatesOnInitialization bool `json:"avoidDuplicatesOnInitialization"` CurrencyScalars []SocketTypeScalarMaterialRequirementEntry `json:"currencyScalars"` // There are fields for this display data, but they appear to be unpopulated as of now. I am not sure // where in the UI these would show if they even were populated, but I will continue to return this // data in case it becomes useful. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` HideDuplicateReusablePlugs bool `json:"hideDuplicateReusablePlugs"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // Defines what happens when a plug is inserted into sockets of this type. InsertAction InsertPlugActionDefinition `json:"insertAction"` IsPreviewEnabled bool `json:"isPreviewEnabled"` // This property indicates if the socket type determines whether Emblem icons and nameplates should be // overridden by the inserted plug item's icon and nameplate. OverridesUiAppearance bool `json:"overridesUiAppearance"` // A list of Plug "Categories" that are allowed to be plugged into sockets of this type. // These should be compared against a given plug item's // DestinyInventoryItemDefinition.plug.plugCategoryHash, which indicates the plug item's category. // If the plug's category matches any whitelisted plug, or if the whitelist is empty, it is allowed to // be inserted. PlugWhitelist []PlugWhitelistEntryDefinition `json:"plugWhitelist"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` SocketCategoryHash Hash[SocketCategoryDefinition] `json:"socketCategoryHash"` // Sometimes a socket isn't visible. These are some of the conditions under which sockets of this type // are not visible. Unfortunately, the truth of visibility is much, much more complex. Best to rely on // the live data for whether the socket is visible and enabled. Visibility SocketVisibility `json:"visibility"` }
Destiny.Definitions.Sockets.DestinySocketTypeDefinition
All Sockets have a "Type": a set of common properties that determine when the socket allows Plugs to be inserted, what Categories of Plugs can be inserted, and whether the socket is even visible at all given the current game/character/account state. See DestinyInventoryItemDefinition for more information about Socketed items and Plugs.
func (SocketTypeDefinition) DefinitionTable ¶
func (d SocketTypeDefinition) DefinitionTable() string
type SocketTypeScalarMaterialRequirementEntry ¶
type SocketTypeScalarMaterialRequirementEntry struct { CurrencyItemHash Hash[InventoryItemDefinition] `json:"currencyItemHash"` ScalarValue int32 `json:"scalarValue"` }
Destiny.Definitions.Sockets.DestinySocketTypeScalarMaterialRequirementEntry
func (SocketTypeScalarMaterialRequirementEntry) DefinitionTable ¶
func (d SocketTypeScalarMaterialRequirementEntry) DefinitionTable() string
type SocketVisibility ¶
type SocketVisibility int32
Destiny.DestinySocketVisibility
func (SocketVisibility) Enum ¶
func (e SocketVisibility) Enum() string
type SpecialItemType ¶
type SpecialItemType int32
Destiny.SpecialItemType
As you run into items that need to be classified for Milestone purposes in ways that we cannot infer via direct data, add a new classification here and use a string constant to represent it in the local item config file. NOTE: This is not all of the item types available, and some of these are holdovers from Destiny 1 that may or may not still exist.
func (SpecialItemType) Enum ¶
func (e SpecialItemType) Enum() string
type Stat ¶
type Stat struct { // The hash identifier for the Stat. Use it to look up the DestinyStatDefinition for static data about // the stat. StatHash Hash[StatDefinition] `json:"statHash"` // The current value of the Stat. Value int32 `json:"value"` }
Destiny.DestinyStat
Represents a stat on an item *or* Character (NOT a Historical Stat, but a physical attribute stat like Attack, Defense etc...)
type StatAggregationType ¶
type StatAggregationType int32
Destiny.DestinyStatAggregationType
When a Stat (DestinyStatDefinition) is aggregated, this is the rules used for determining the level and formula used for aggregation. * CharacterAverage = apply a weighted average using the related DestinyStatGroupDefinition on the DestinyInventoryItemDefinition across the character's equipped items. See both of those definitions for details. * Character = don't aggregate: the stat should be located and used directly on the character. * Item = don't aggregate: the stat should be located and used directly on the item.
func (StatAggregationType) Enum ¶
func (e StatAggregationType) Enum() string
type StatCategory ¶
type StatCategory int32
Destiny.DestinyStatCategory
At last, stats have categories. Use this for whatever purpose you might wish.
func (StatCategory) Enum ¶
func (e StatCategory) Enum() string
type StatDefinition ¶
type StatDefinition struct { // Stats can exist on a character or an item, and they may potentially be aggregated in different ways. // The DestinyStatAggregationType enum value indicates the way that this stat is being aggregated. AggregationType StatAggregationType `json:"aggregationType"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // True if the stat is computed rather than being delivered as a raw value on items. // For instance, the Light stat in Destiny 1 was a computed stat. HasComputedBlock bool `json:"hasComputedBlock"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // The category of the stat, according to the game. StatCategory StatCategory `json:"statCategory"` }
Destiny.Definitions.DestinyStatDefinition
This represents a stat that's applied to a character or an item (such as a weapon, piece of armor, or a vehicle). An example of a stat might be Attack Power on a weapon. Stats go through a complex set of transformations before they end up being shown to the user as a number or a progress bar, and those transformations are fundamentally intertwined with the concept of a "Stat Group" (DestinyStatGroupDefinition). Items have both Stats and a reference to a Stat Group, and it is the Stat Group that takes the raw stat information and gives it both rendering metadata (such as whether to show it as a number or a progress bar) and the final transformation data (interpolation tables to turn the raw investment stat into a display stat). Please see DestinyStatGroupDefinition for more information on that transformational process. Stats are segregated from Stat Groups because different items and types of items can refer to the same stat, but have different "scales" for the stat while still having the same underlying value. For example, both a Shotgun and an Auto Rifle may have a "raw" impact stat of 50, but the Auto Rifle's Stat Group will scale that 50 down so that, when it is displayed, it is a smaller value relative to the shotgun. (this is a totally made up example, don't assume shotguns have naturally higher impact than auto rifles because of this) A final caveat is that some stats, even after this "final" transformation, go through yet another set of transformations directly in the game as a result of dynamic, stateful scripts that get run. BNet has no access to these scripts, nor any way to know which scripts get executed. As a result, the stats for an item that you see in-game - particularly for stats that are often impacted by Perks, like Magazine Size - can change dramatically from what we return on Bungie.Net. This is a known issue with no fix coming down the pipeline. Take these stats with a grain of salt. Stats actually go through four transformations, for those interested: 1) "Sandbox" stat, the "most raw" form. These are pretty much useless without transformations applied, and thus are not currently returned in the API. If you really want these, we can provide them. Maybe someone could do something cool with it? 2) "Investment" stat (the stat's value after DestinyStatDefinition's interpolation tables and aggregation logic is applied to the "Sandbox" stat value) 3) "Display" stat (the stat's base UI-visible value after DestinyStatGroupDefinition's interpolation tables are applied to the Investment Stat value. For most stats, this is what is displayed.) 4) Underlying in-game stat (the stat's actual value according to the game, after the game runs dynamic scripts based on the game and character's state. This is the final transformation that BNet does not have access to. For most stats, this is not actually displayed to the user, with the exception of Magazine Size which is then piped back to the UI for display in-game, but not to BNet.)
func (StatDefinition) DefinitionTable ¶
func (d StatDefinition) DefinitionTable() string
type StatDisplayDefinition ¶
type StatDisplayDefinition struct { // If this is true, the stat should be displayed as a number. Otherwise, display it as a progress bar. // Or, you know, do whatever you want. There's no displayAsNumeric police. DisplayAsNumeric bool `json:"displayAsNumeric"` // The interpolation table representing how the Investment Stat is transformed into a Display Stat. // See DestinyStatDefinition for a description of the stages of stat transformation. DisplayInterpolation []InterpolationPoint `json:"displayInterpolation"` // Regardless of the output of interpolation, this is the maximum possible value that the stat can be. // It should also be used as the upper bound for displaying the stat as a progress bar (the minimum // always being 0) MaximumValue int32 `json:"maximumValue"` // The hash identifier for the stat being transformed into a Display stat. // Use it to look up the DestinyStatDefinition, or key into a DestinyInventoryItemDefinition's stats // property. StatHash Hash[StatDefinition] `json:"statHash"` }
Destiny.Definitions.DestinyStatDisplayDefinition
Describes the way that an Item Stat (see DestinyStatDefinition) is transformed using the DestinyStatGroupDefinition related to that item. See both of the aforementioned definitions for more information about the stages of stat transformation. This represents the transformation of a stat into a "Display" stat (the closest value that BNet can get to the in-game display value of the stat)
func (StatDisplayDefinition) DefinitionTable ¶
func (d StatDisplayDefinition) DefinitionTable() string
type StatGroupDefinition ¶
type StatGroupDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The maximum possible value that any stat in this group can be transformed into. // This is used by stats that *don't* have scaledStats entries below, but that still need to be // displayed as a progress bar, in which case this is used as the upper bound for said progress bar. // (the lower bound is always 0) MaximumValue int32 `json:"maximumValue"` // The game has the ability to override, based on the stat group, what the localized text is that is // displayed for Stats being shown on the item. // Mercifully, no Stat Groups use this feature currently. If they start using them, we'll all need to // start using them (and those of you who are more prudent than I am can go ahead and start // pre-checking for this.) Overrides map[uint32]StatOverrideDefinition `json:"overrides"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // Any stat that requires scaling to be transformed from an "Investment" stat to a "Display" stat will // have an entry in this list. For more information on what those types of stats mean and the // transformation process, see DestinyStatDefinition. // In retrospect, I wouldn't mind if this was a dictionary keyed by the stat hash instead. But I'm // going to leave it be because [[After Apple Picking]]. ScaledStats []StatDisplayDefinition `json:"scaledStats"` // This apparently indicates the position of the stats in the UI? I've returned it in case anyone can // use it, but it's not of any use to us on BNet. Something's being lost in translation with this // value. UiPosition int32 `json:"uiPosition"` }
Destiny.Definitions.DestinyStatGroupDefinition
When an inventory item (DestinyInventoryItemDefinition) has Stats (such as Attack Power), the item will refer to a Stat Group. This definition enumerates the properties used to transform the item's "Investment" stats into "Display" stats. See DestinyStatDefinition's documentation for information about the transformation of Stats, and the meaning of an Investment vs. a Display stat. If you don't want to do these calculations on your own, fear not: pulling live data from the BNet endpoints will return display stat values pre-computed and ready for you to use. I highly recommend this approach, saves a lot of time and also accounts for certain stat modifiers that can't easily be accounted for without live data (such as stat modifiers on Talent Grids and Socket Plugs)
func (StatGroupDefinition) DefinitionTable ¶
func (d StatGroupDefinition) DefinitionTable() string
type StatOverrideDefinition ¶
type StatOverrideDefinition struct { // The display properties to show instead of the base DestinyStatDefinition display properties. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // The hash identifier of the stat whose display properties are being overridden. StatHash Hash[StatDefinition] `json:"statHash"` }
Destiny.Definitions.DestinyStatOverrideDefinition
Stat Groups (DestinyStatGroupDefinition) has the ability to override the localized text associated with stats that are to be shown on the items with which they are associated. This defines a specific overridden stat. You could theoretically check these before rendering your stat UI, and for each stat that has an override show these displayProperties instead of those on the DestinyStatDefinition. Or you could be like us, and skip that for now because the game has yet to actually use this feature. But know that it's here, waiting for a resilliant young designer to take up the mantle and make us all look foolish by showing the wrong name for stats. Note that, if this gets used, the override will apply only to items using the overriding Stat Group. Other items will still show the default stat's name/description.
func (StatOverrideDefinition) DefinitionTable ¶
func (d StatOverrideDefinition) DefinitionTable() string
type StatsCategoryType ¶
type StatsCategoryType int32
Destiny.HistoricalStats.Definitions.DestinyStatsCategoryType
func (StatsCategoryType) Enum ¶
func (e StatsCategoryType) Enum() string
type StatsGroupType ¶
type StatsGroupType int32
Destiny.HistoricalStats.Definitions.DestinyStatsGroupType
If the enum value is > 100, it is a "special" group that cannot be queried for directly (special cases apply to when they are returned, and are not relevant in general cases)
func (StatsGroupType) Enum ¶
func (e StatsGroupType) Enum() string
type StatsMergeMethod ¶
type StatsMergeMethod int32
Destiny.HistoricalStats.Definitions.DestinyStatsMergeMethod
func (StatsMergeMethod) Enum ¶
func (e StatsMergeMethod) Enum() string
type StringVariablesComponent ¶
type StringVariablesComponent struct {
IntegerValuesByHash map[uint32]int32 `json:"integerValuesByHash"`
}
Destiny.Components.StringVariables.DestinyStringVariablesComponent
type TagMetadataDefinition ¶
type TagMetadataDefinition struct { Datatype string `json:"datatype"` Description string `json:"description"` IsRequired bool `json:"isRequired"` Items []TagMetadataItem `json:"items"` Name string `json:"name"` Order int32 `json:"order"` }
Content.Models.TagMetadataDefinition
type TagMetadataItem ¶
type TagMetadataItem struct { Description string `json:"description"` Groups []string `json:"groups"` IsDefault bool `json:"isDefault"` Name string `json:"name"` TagText string `json:"tagText"` }
Content.Models.TagMetadataItem
type TagResponse ¶
type TagResponse struct { IgnoreStatus IgnoreResponse `json:"ignoreStatus"` TagText string `json:"tagText"` }
Tags.Models.Contracts.TagResponse
type TalentExclusiveGroup ¶
type TalentExclusiveGroup struct { // The identifier for this exclusive group. Only guaranteed unique within the talent grid, not // globally. GroupHash uint32 `json:"groupHash"` // If this group has an associated piece of lore to show next to it, this will be the identifier for // that DestinyLoreDefinition. LoreHash Nullable[Hash[LoreDefinition]] `json:"loreHash,omitempty"` // A quick reference of the talent nodes that are part of this group, by their Talent Node hashes. (See // DestinyTalentNodeDefinition.nodeHash) NodeHashes []uint32 `json:"nodeHashes"` // A quick reference of Groups whose nodes will be deactivated if any node in this group is activated. OpposingGroupHashes []uint32 `json:"opposingGroupHashes"` // A quick reference of Nodes that will be deactivated if any node in this group is activated, by their // Talent Node hashes. (See DestinyTalentNodeDefinition.nodeHash) OpposingNodeHashes []uint32 `json:"opposingNodeHashes"` }
Destiny.Definitions.DestinyTalentExclusiveGroup
As of Destiny 2, nodes can exist as part of "Exclusive Groups". These differ from exclusive sets in that, within the group, many nodes can be activated. But the act of activating any node in the group will cause "opposing" nodes (nodes in groups that are not allowed to be activated at the same time as this group) to deactivate.
func (TalentExclusiveGroup) DefinitionTable ¶
func (d TalentExclusiveGroup) DefinitionTable() string
type TalentGridDefinition ¶
type TalentGridDefinition struct { // Talent Nodes can exist in "exclusive sets": these are sets of nodes in which only a single node in // the set can be activated at any given time. Activating a node in this set will automatically // deactivate the other nodes in the set (referred to as a "Swap"). // If a node in the exclusive set has already been activated, the game will not charge you materials to // activate another node in the set, even if you have never activated it before, because you already // paid the cost to activate one node in the set. // Not to be confused with Exclusive Groups. (how the heck do we NOT get confused by that? Jeez) See // the groups property for information about that only-tangentially-related concept. ExclusiveSets []TalentNodeExclusiveSetDefinition `json:"exclusiveSets"` // The meaning of this has been lost in the sands of time: it still exists as a property, but appears // to be unused in the modern UI of talent grids. It used to imply that each visual "column" of talent // nodes required identical progression levels in order to be activated. Returning this value in case // it is still useful to someone? Perhaps it's just a bit of interesting history. GridLevelPerColumn int32 `json:"gridLevelPerColumn"` // Talent Nodes can have "Exclusive Groups". These are not to be confused with Exclusive Sets (see // exclusiveSets property). // Look at the definition of DestinyTalentExclusiveGroup for more information and how they work. These // groups are keyed by the "groupHash" from DestinyTalentExclusiveGroup. Groups map[uint32]TalentExclusiveGroup `json:"groups"` // 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. Hash uint32 `json:"hash"` // This is a quick reference to the indexes of nodes that are not part of exclusive sets. Handy for // knowing which talent nodes can only be activated directly, rather than via swapping. IndependentNodeIndexes []int32 `json:"independentNodeIndexes"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The maximum possible level of the Talent Grid: at this level, any nodes are allowed to be activated. MaxGridLevel int32 `json:"maxGridLevel"` // BNet wants to show talent nodes grouped by similar purpose with localized titles. This is the // ordered list of those categories: if you want to show nodes by category, you can iterate over this // list, render the displayProperties for the category as the title, and then iterate over the talent // nodes referenced by the category to show the related nodes. // Note that this is different from Exclusive Groups or Sets, because these categories also incorporate // "Independent" nodes that belong to neither sets nor groups. These are purely for visual grouping of // nodes rather than functional grouping. NodeCategories []TalentNodeCategory `json:"nodeCategories"` // The list of Talent Nodes on the Grid (recall that Nodes themselves are really just locations in the // UI to show whatever their current Step is. You will only know the current step for a node by // retrieving instanced data through platform calls to the API that return // DestinyItemTalentGridComponent). Nodes []TalentNodeDefinition `json:"nodes"` // The hash identifier of the Progression (DestinyProgressionDefinition) that drives whether and when // Talent Nodes can be activated on the Grid. Items will have instances of this Progression, and will // gain experience that will eventually cause the grid to increase in level. As the grid's level // increases, it will cross the threshold where nodes can be activated. See // DestinyTalentGridStepDefinition's activation requirements for more information. ProgressionHash Hash[ProgressionDefinition] `json:"progressionHash"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyTalentGridDefinition
The time has unfortunately come to talk about Talent Grids. Talent Grids are the most complex and unintuitive part of the Destiny Definition data. Grab a cup of coffee before we begin, I can wait. Talent Grids were the primary way that items could be customized in Destiny 1. In Destiny 2, for now, talent grids have become exclusively used by Subclass/Build items: but the system is still in place for it to be used by items should the direction change back toward talent grids. Talent Grids have Nodes: the visual circles on the talent grid detail screen that have icons and can be activated if you meet certain requirements and pay costs. The actual visual data and effects, however, are driven by the "Steps" on Talent Nodes. Any given node will have 1:M of these steps, and the specific step that will be considered the "current" step (and thus the dictator of all benefits, visual state, and activation requirements on the Node) will almost always not be determined until an instance of the item is created. This is how, in Destiny 1, items were able to have such a wide variety of what users saw as "Perks": they were actually Talent Grids with nodes that had a wide variety of Steps, randomly chosen at the time of item creation. Now that Talent Grids are used exclusively by subclasses and builds, all of the properties within still apply: but there are additional visual elements on the Subclass/Build screens that are superimposed on top of the talent nodes. Unfortunately, BNet doesn't have this data: if you want to build a subclass screen, you will have to provide your own "decorative" assets, such as the visual connectors between nodes and the fancy colored-fire-bathed character standing behind the nodes. DestinyInventoryItem.talentGrid.talentGridHash defines an item's linked Talent Grid, which brings you to this definition that contains enough satic data about talent grids to make your head spin. These *must* be combined with instanced data - found when live data returns DestinyItemTalentGridComponent - in order to derive meaning. The instanced data will reference nodes and steps within these definitions, which you will then have to look up in the definition and combine with the instanced data to give the user the visual representation of their item's talent grid.
func (TalentGridDefinition) DefinitionTable ¶
func (d TalentGridDefinition) DefinitionTable() string
type TalentNode ¶
type TalentNode struct { // The progression level required on the Talent Grid in order to be able to activate this talent node. // Talent Grids have their own Progression - similar to Character Level, but in this case it is // experience related to the item itself. ActivationGridLevel int32 `json:"activationGridLevel"` // Whether or not the talent node is actually visible in the game's UI. Whether you want to show it in // your own UI is up to you! I'm not gonna tell you who to sock it to. Hidden bool `json:"hidden"` // If true, the node is activated: it's current step then provides its benefits. IsActivated bool `json:"isActivated"` // If the node has material requirements to be activated, this is the list of those requirements. MaterialsToUpgrade []MaterialRequirement `json:"materialsToUpgrade"` // The hash of the Talent Node being referred to (in DestinyTalentGridDefinition.nodes). Deceptively // CONTENT VERSION DEPENDENT. We have no guarantee of the hash's immutability between content versions. NodeHash uint32 `json:"nodeHash"` // The index of the Talent Node being referred to (an index into DestinyTalentGridDefinition.nodes[]). // CONTENT VERSION DEPENDENT. NodeIndex int32 `json:"nodeIndex"` // This property has some history. A talent grid can provide stats on both the item it's related to and // the character equipping the item. This returns data about those stat bonuses. NodeStatsBlock TalentNodeStatBlock `json:"nodeStatsBlock"` // If you want to show a progress bar or circle for how close this talent node is to being // activate-able, this is the percentage to show. It follows the node's underlying rules about when the // progress bar should first show up, and when it should be filled. ProgressPercent float64 `json:"progressPercent"` // An DestinyTalentNodeState enum value indicating the node's state: whether it can be activated or // swapped, and why not if neither can be performed. State TalentNodeState `json:"state"` // The currently relevant Step for the node. It is this step that has rendering data for the node and // the benefits that are provided if the node is activated. (the actual rules for benefits provided are // extremely complicated in theory, but with how Talent Grids are being used in Destiny 2 you don't // have to worry about a lot of those old Destiny 1 rules.) This is an index into: // DestinyTalentGridDefinition.nodes[nodeIndex].steps[stepIndex] StepIndex int32 `json:"stepIndex"` }
Destiny.DestinyTalentNode
I see you've come to find out more about Talent Nodes. I'm so sorry. Talent Nodes are the conceptual, visual nodes that appear on Talent Grids. Talent Grids, in Destiny 1, were found on almost every instanced item: they had Nodes that could be activated to change the properties of the item. In Destiny 2, Talent Grids only exist for Builds/Subclasses, and while the basic concept is the same (Nodes can be activated once you've gained sufficient Experience on the Item, and provide effects), there are some new concepts from Destiny 1. Examine DestinyTalentGridDefinition and its subordinates for more information. This is the "Live" information for the current status of a Talent Node on a specific item. Talent Nodes have many Steps, but only one can be active at any one time: and it is the Step that determines both the visual and the game state-changing properties that the Node provides. Examine this and DestinyTalentNodeStepDefinition carefully. *IMPORTANT NOTE* Talent Nodes are, unfortunately, Content Version DEPENDENT. Though they refer to hashes for Nodes and Steps, those hashes are not guaranteed to be immutable across content versions. This is a source of great exasperation for me, but as a result anyone using Talent Grid data must ensure that the content version of their static content matches that of the server responses before showing or making decisions based on talent grid data.
type TalentNodeCategory ¶
type TalentNodeCategory struct { // Will contain at least the "name", which will be the title of the category. We will likely not have // description and an icon yet, but I'm going to keep my options open. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // Mostly just for debug purposes, but if you find it useful you can have it. This is BNet's manually // created identifier for this category. Identifier string `json:"identifier"` // If true, we found the localized content in a related DestinyLoreDefinition instead of local BNet // localization files. This is mostly for ease of my own future investigations. IsLoreDriven bool `json:"isLoreDriven"` // The set of all hash identifiers for Talent Nodes (DestinyTalentNodeDefinition) in this Talent Grid // that are part of this Category. NodeHashes []uint32 `json:"nodeHashes"` }
Destiny.Definitions.DestinyTalentNodeCategory
An artificial construct provided by Bungie.Net, where we attempt to group talent nodes by functionality. This is a single set of references to Talent Nodes that share a common trait or purpose.
func (TalentNodeCategory) DefinitionTable ¶
func (d TalentNodeCategory) DefinitionTable() string
type TalentNodeDefinition ¶
type TalentNodeDefinition struct { // If true, this node will automatically unlock when the Talent Grid's level reaches the required level // of the current step of this node. AutoUnlocks bool `json:"autoUnlocks"` // At one point, Talent Nodes supported the idea of "Binary Pairs": nodes that overlapped each other // visually, and where activating one deactivated the other. They ended up not being used, mostly // because Exclusive Sets are *almost* a superset of this concept, but the potential for it to be used // still exists in theory. // If this is ever used, this will be the index into the DestinyTalentGridDefinition.nodes property for // the node that is the binary pair match to this node. Activating one deactivates the other. BinaryPairNodeIndex int32 `json:"binaryPairNodeIndex"` // The visual "column" where the node should be shown in the UI. If negative, the node is hidden. Column int32 `json:"column"` // The nodeHash values for nodes that are in an Exclusive Set with this node. // See DestinyTalentGridDefinition.exclusiveSets for more info about exclusive sets. // Again, note that these are nodeHashes and *not* nodeIndexes. ExclusiveWithNodeHashes []uint32 `json:"exclusiveWithNodeHashes"` // As of Destiny 2, nodes can exist as part of "Exclusive Groups". These differ from exclusive sets in // that, within the group, many nodes can be activated. But the act of activating any node in the group // will cause "opposing" nodes (nodes in groups that are not allowed to be activated at the same time // as this group) to deactivate. // See DestinyTalentExclusiveGroup for more information on the details. This is an identifier for this // node's group, if it is part of one. GroupHash Nullable[uint32] `json:"groupHash,omitempty"` // Comes from the talent grid node style: if true, then this node should be ignored for determining // whether the grid is complete. IgnoreForCompletion bool `json:"ignoreForCompletion"` // If this is true, the node's step is determined randomly rather than the first step being chosen. IsRandom bool `json:"isRandom"` // If this is true, the node can be "re-rolled" to acquire a different random current step. This is not // used, but still exists for a theoretical future of talent grids. IsRandomRepurchasable bool `json:"isRandomRepurchasable"` // At one point, Nodes were going to be able to be activated multiple times, changing the current step // and potentially piling on multiple effects from the previously activated steps. This property would // indicate if the last step could be activated multiple times. // This is not currently used, but it isn't out of the question that this could end up being used again // in a theoretical future. LastStepRepeats bool `json:"lastStepRepeats"` // A string identifier for a custom visual layout to apply to this talent node. Unfortunately, we do // not have any data for rendering these custom layouts. It will be up to you to interpret these // strings and change your UI if you want to have custom UI matching these layouts. LayoutIdentifier string `json:"layoutIdentifier"` // Talent nodes can be associated with a piece of Lore, generally rendered in a tooltip. This is the // hash identifier of the lore element to show, if there is one to be show. LoreHash Nullable[Hash[LoreDefinition]] `json:"loreHash,omitempty"` // The hash identifier for the node, which unfortunately is also content version dependent but can be // (and ideally, should be) used instead of the nodeIndex to uniquely identify the node. // The two exist side-by-side for backcompat reasons due to the Great Talent Node Restructuring of // Destiny 1, and I ran out of time to remove one of them and standardize on the other. Sorry! NodeHash uint32 `json:"nodeHash"` // The index into the DestinyTalentGridDefinition's "nodes" property where this node is located. Used // to uniquely identify the node within the Talent Grid. Note that this is content version dependent: // make sure you have the latest version of content before trying to use these properties. NodeIndex int32 `json:"nodeIndex"` // Comes from the talent grid node style: this identifier should be used to determine how to render the // node in the UI. NodeStyleIdentifier string `json:"nodeStyleIdentifier"` // Indexes into the DestinyTalentGridDefinition.nodes property for any nodes that must be activated // before this one is allowed to be activated. // I would have liked to change this to hashes for Destiny 2, but we have run out of time. PrerequisiteNodeIndexes []int32 `json:"prerequisiteNodeIndexes"` // At one point, you were going to be able to repurchase talent nodes that had random steps, to // "re-roll" the current step of the node (and thus change the properties of your item). This was to be // the activation requirement for performing that re-roll. // The system still exists to do this, as far as I know, so it may yet come back around! RandomActivationRequirement NodeActivationRequirement `json:"randomActivationRequirement"` // If the node's step is randomly selected, this is the amount of the Talent Grid's progression // experience at which the progression bar for the node should be shown. RandomStartProgressionBarAtProgression int32 `json:"randomStartProgressionBarAtProgression"` // The visual "row" where the node should be shown in the UI. If negative, then the node is hidden. Row int32 `json:"row"` // At this point, "steps" have been obfuscated into conceptual entities, aggregating the underlying // notions of "properties" and "true steps". // If you need to know a step as it truly exists - such as when recreating Node logic when processing // Vendor data - you'll have to use the "realSteps" property below. Steps []NodeStepDefinition `json:"steps"` }
Destiny.Definitions.DestinyTalentNodeDefinition
Talent Grids on items have Nodes. These nodes have positions in the talent grid's UI, and contain "Steps" (DestinyTalentNodeStepDefinition), one of whom will be the "Current" step. The Current Step determines the visual properties of the node, as well as what the node grants when it is activated. See DestinyTalentGridDefinition for a more complete overview of how Talent Grids work, and how they are used in Destiny 2 (and how they were used in Destiny 1).
func (TalentNodeDefinition) DefinitionTable ¶
func (d TalentNodeDefinition) DefinitionTable() string
type TalentNodeExclusiveSetDefinition ¶
type TalentNodeExclusiveSetDefinition struct { // The list of node indexes for the exclusive set. Historically, these were indexes. I would have liked // to replace this with nodeHashes for consistency, but it's way too late for that. (9:09 PM, he's // right!) NodeIndexes []int32 `json:"nodeIndexes"` }
Destiny.Definitions.DestinyTalentNodeExclusiveSetDefinition
The list of indexes into the Talent Grid's "nodes" property for nodes in this exclusive set. (See DestinyTalentNodeDefinition.nodeIndex)
func (TalentNodeExclusiveSetDefinition) DefinitionTable ¶
func (d TalentNodeExclusiveSetDefinition) DefinitionTable() string
type TalentNodeStatBlock ¶
type TalentNodeStatBlock struct { // The stat benefits conferred when this talent node is activated for the current Step that is active // on the node. CurrentStepStats []Stat `json:"currentStepStats"` // This is a holdover from the old days of Destiny 1, when a node could be activated multiple times, // conferring multiple steps worth of benefits: you would use this property to show what activating the // "next" step on the node would provide vs. what the current step is providing. While Nodes are // currently not being used this way, the underlying system for this functionality still exists. I // hesitate to remove this property while the ability for designers to make such a talent grid still // exists. Whether you want to show it is up to you. NextStepStats []Stat `json:"nextStepStats"` }
Destiny.DestinyTalentNodeStatBlock
This property has some history. A talent grid can provide stats on both the item it's related to and the character equipping the item. This returns data about those stat bonuses.
type TalentNodeState ¶
type TalentNodeState int32
Destiny.DestinyTalentNodeState
func (TalentNodeState) Enum ¶
func (e TalentNodeState) Enum() string
type TalentNodeStepDamageTypes ¶
type TalentNodeStepDamageTypes int32
Destiny.Definitions.DestinyTalentNodeStepDamageTypes
func (TalentNodeStepDamageTypes) Enum ¶
func (e TalentNodeStepDamageTypes) Enum() string
type TalentNodeStepGroups ¶
type TalentNodeStepGroups struct { DamageTypes BitmaskSet[TalentNodeStepDamageTypes] `json:"damageTypes"` GuardianAttributes BitmaskSet[TalentNodeStepGuardianAttributes] `json:"guardianAttributes"` ImpactEffects BitmaskSet[TalentNodeStepImpactEffects] `json:"impactEffects"` LightAbilities BitmaskSet[TalentNodeStepLightAbilities] `json:"lightAbilities"` WeaponPerformance BitmaskSet[TalentNodeStepWeaponPerformances] `json:"weaponPerformance"` }
Destiny.Definitions.DestinyTalentNodeStepGroups
These properties are an attempt to categorize talent node steps by certain common properties. See the related enumerations for the type of properties being categorized.
func (TalentNodeStepGroups) DefinitionTable ¶
func (d TalentNodeStepGroups) DefinitionTable() string
type TalentNodeStepGuardianAttributes ¶
type TalentNodeStepGuardianAttributes int32
Destiny.Definitions.DestinyTalentNodeStepGuardianAttributes
func (TalentNodeStepGuardianAttributes) Enum ¶
func (e TalentNodeStepGuardianAttributes) Enum() string
type TalentNodeStepImpactEffects ¶
type TalentNodeStepImpactEffects int32
Destiny.Definitions.DestinyTalentNodeStepImpactEffects
func (TalentNodeStepImpactEffects) Enum ¶
func (e TalentNodeStepImpactEffects) Enum() string
type TalentNodeStepLightAbilities ¶
type TalentNodeStepLightAbilities int32
Destiny.Definitions.DestinyTalentNodeStepLightAbilities
func (TalentNodeStepLightAbilities) Enum ¶
func (e TalentNodeStepLightAbilities) Enum() string
type TalentNodeStepWeaponPerformances ¶
type TalentNodeStepWeaponPerformances int32
Destiny.Definitions.DestinyTalentNodeStepWeaponPerformances
func (TalentNodeStepWeaponPerformances) Enum ¶
func (e TalentNodeStepWeaponPerformances) Enum() string
type TokensApplyMissingPartnerOffersWithoutClaimRequest ¶
type TokensApplyMissingPartnerOffersWithoutClaimRequest struct { // The partner application identifier. // Required. PartnerApplicationID int32 // The bungie.net user to apply missing offers to. If not self, elevated permissions are required. // Required. TargetBnetMembershipID Int64 }
TokensApplyMissingPartnerOffersWithoutClaimRequest are the request parameters for operation Tokens.ApplyMissingPartnerOffersWithoutClaim
type TokensClaimPartnerOfferRequest ¶
type TokensClaimPartnerOfferRequest struct { // Required. Body PartnerOfferClaimRequest }
TokensClaimPartnerOfferRequest are the request parameters for operation Tokens.ClaimPartnerOffer
type TokensForceDropsRepairRequest ¶
type TokensForceDropsRepairRequest struct { }
TokensForceDropsRepairRequest are the request parameters for operation Tokens.ForceDropsRepair
type TokensGetBungieRewardsForPlatformUserRequest ¶
type TokensGetBungieRewardsForPlatformUserRequest struct { // users platform membershipId for requested user rewards. If not self, elevated permissions are // required. // Required. MembershipID Int64 // The target Destiny 2 membership type. // Required. MembershipType BungieMembershipType }
TokensGetBungieRewardsForPlatformUserRequest are the request parameters for operation Tokens.GetBungieRewardsForPlatformUser
type TokensGetBungieRewardsForUserRequest ¶
type TokensGetBungieRewardsForUserRequest struct { // bungie.net user membershipId for requested user rewards. If not self, elevated permissions are // required. // Required. MembershipID Int64 }
TokensGetBungieRewardsForUserRequest are the request parameters for operation Tokens.GetBungieRewardsForUser
type TokensGetBungieRewardsListRequest ¶
type TokensGetBungieRewardsListRequest struct { }
TokensGetBungieRewardsListRequest are the request parameters for operation Tokens.GetBungieRewardsList
type TokensGetPartnerOfferSkuHistoryRequest ¶
type TokensGetPartnerOfferSkuHistoryRequest struct { // The partner application identifier. // Required. PartnerApplicationID int32 // The bungie.net user to apply missing offers to. If not self, elevated permissions are required. // Required. TargetBnetMembershipID Int64 }
TokensGetPartnerOfferSkuHistoryRequest are the request parameters for operation Tokens.GetPartnerOfferSkuHistory
type TokensGetPartnerRewardHistoryRequest ¶
type TokensGetPartnerRewardHistoryRequest struct { // The partner application identifier. // Required. PartnerApplicationID int32 // The bungie.net user to return reward history for. // Required. TargetBnetMembershipID Int64 }
TokensGetPartnerRewardHistoryRequest are the request parameters for operation Tokens.GetPartnerRewardHistory
type TraitDefinition ¶
type TraitDefinition struct { // An identifier for how this trait can be displayed. For example: a 'keyword' hint to show an // explanation for certain related terms. DisplayHint string `json:"displayHint"` DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.Traits.DestinyTraitDefinition
func (TraitDefinition) DefinitionTable ¶
func (d TraitDefinition) DefinitionTable() string
type TransferStatuses ¶
type TransferStatuses int32
Destiny.TransferStatuses
Whether you can transfer an item, and why not if you can't.
func (TransferStatuses) Enum ¶
func (e TransferStatuses) Enum() string
type TrendingCategories ¶
type TrendingCategories struct {
Categories []TrendingCategory `json:"categories"`
}
Trending.TrendingCategories
type TrendingCategory ¶
type TrendingCategory struct { CategoryID string `json:"categoryId"` CategoryName string `json:"categoryName"` Entries SearchResult[TrendingEntry] `json:"entries"` }
Trending.TrendingCategory
type TrendingDetail ¶
type TrendingDetail struct { Creation TrendingEntryCommunityCreation `json:"creation"` DestinyActivity TrendingEntryDestinyActivity `json:"destinyActivity"` DestinyItem TrendingEntryDestinyItem `json:"destinyItem"` DestinyRitual TrendingEntryDestinyRitual `json:"destinyRitual"` EntityType TrendingEntryType `json:"entityType"` Identifier string `json:"identifier"` News TrendingEntryNews `json:"news"` Support TrendingEntrySupportArticle `json:"support"` }
Trending.TrendingDetail
type TrendingEntry ¶
type TrendingEntry struct { // If the entry has a date at which it was created, this is that date. CreationDate Nullable[Timestamp] `json:"creationDate,omitempty"` // The localized "display name/article title/'primary localized identifier'" of the entity. DisplayName string `json:"displayName"` EndDate Nullable[Timestamp] `json:"endDate,omitempty"` // An enum - unfortunately - dictating all of the possible kinds of trending items that you might get // in your result set, in case you want to do custom rendering or call to get the details of the item. EntityType TrendingEntryType `json:"entityType"` // If isFeatured, this image will be populated with whatever the featured image is. Note that this will // likely be a very large image, so don't use it all the time. FeatureImage string `json:"featureImage"` // We don't know whether the identifier will be a string, a uint, or a long... so we're going to cast // it all to a string. But either way, we need any trending item created to have a single unique // identifier for its type. Identifier string `json:"identifier"` Image string `json:"image"` IsFeatured bool `json:"isFeatured"` // If the item is of entityType TrendingEntryType.Container, it may have items - also Trending Entries // - contained within it. This is the ordered list of those to display under the Container's header. Items []TrendingEntry `json:"items"` Link string `json:"link"` // If this is populated, the entry has a related MP4 video to show. I am 100% certain I am going to // regret putting this directly on TrendingEntry, but it will work so yolo Mp4Video string `json:"mp4Video"` StartDate Nullable[Timestamp] `json:"startDate,omitempty"` // If the entity has a localized tagline/subtitle/motto/whatever, that is found here. Tagline string `json:"tagline"` // If this is populated, the entry has a related WebM video to show. I am 100% certain I am going to // regret putting this directly on TrendingEntry, but it will work so yolo WebmVideo string `json:"webmVideo"` // The weighted score of this trending item. Weight float64 `json:"weight"` }
Trending.TrendingEntry
The list entry view for trending items. Returns just enough to show the item on the trending page.
type TrendingEntryCommunityCreation ¶
type TrendingEntryCommunityCreation struct { Author string `json:"author"` AuthorMembershipID Int64 `json:"authorMembershipId"` Body string `json:"body"` Media string `json:"media"` PostID Int64 `json:"postId"` Title string `json:"title"` Upvotes int32 `json:"upvotes"` }
Trending.TrendingEntryCommunityCreation
type TrendingEntryDestinyActivity ¶
type TrendingEntryDestinyActivity struct { ActivityHash uint32 `json:"activityHash"` Status PublicActivityStatus `json:"status"` }
Trending.TrendingEntryDestinyActivity
type TrendingEntryDestinyItem ¶
type TrendingEntryDestinyItem struct {
ItemHash uint32 `json:"itemHash"`
}
Trending.TrendingEntryDestinyItem
type TrendingEntryDestinyRitual ¶
type TrendingEntryDestinyRitual struct { DateEnd Nullable[Timestamp] `json:"dateEnd,omitempty"` DateStart Nullable[Timestamp] `json:"dateStart,omitempty"` // A destiny event will not necessarily have milestone "custom content", but if it does the details // will be here. EventContent MilestoneContent `json:"eventContent"` Icon string `json:"icon"` Image string `json:"image"` // A destiny event does not necessarily have a related Milestone, but if it does the details will be // returned here. MilestoneDetails PublicMilestone `json:"milestoneDetails"` Subtitle string `json:"subtitle"` Title string `json:"title"` }
Trending.TrendingEntryDestinyRitual
type TrendingEntryNews ¶
type TrendingEntryNews struct {
Article ContentItemPublicContract `json:"article"`
}
Trending.TrendingEntryNews
type TrendingEntrySupportArticle ¶
type TrendingEntrySupportArticle struct {
Article ContentItemPublicContract `json:"article"`
}
Trending.TrendingEntrySupportArticle
type TrendingEntryType ¶
type TrendingEntryType int32
Trending.TrendingEntryType
The known entity types that you can have returned from Trending.
func (TrendingEntryType) Enum ¶
func (e TrendingEntryType) Enum() string
type TrendingGetTrendingCategoriesRequest ¶
type TrendingGetTrendingCategoriesRequest struct { }
TrendingGetTrendingCategoriesRequest are the request parameters for operation Trending.GetTrendingCategories
type TrendingGetTrendingCategoryRequest ¶
type TrendingGetTrendingCategoryRequest struct { // The ID of the category for whom you want additional results. // Required. CategoryID string // The page # of results to return. // Required. PageNumber int32 }
TrendingGetTrendingCategoryRequest are the request parameters for operation Trending.GetTrendingCategory
type TrendingGetTrendingEntryDetailRequest ¶
type TrendingGetTrendingEntryDetailRequest struct { // The identifier for the entity to be returned. // Required. Identifier string // The type of entity to be returned. // Required. TrendingEntryType TrendingEntryType }
TrendingGetTrendingEntryDetailRequest are the request parameters for operation Trending.GetTrendingEntryDetail
type TwitchDropHistoryResponse ¶
type TwitchDropHistoryResponse struct { ClaimState Nullable[int] `json:"ClaimState,omitempty"` CreatedAt Nullable[Timestamp] `json:"CreatedAt,omitempty"` Description string `json:"Description"` Title string `json:"Title"` }
Tokens.TwitchDropHistoryResponse
type UnlockDefinition ¶
type UnlockDefinition struct { // Sometimes, but not frequently, these unlock flags also have human readable information: usually when // they are being directly tested for some requirement, in which case the string is a localized // description of why the requirement check failed. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyUnlockDefinition
Unlock Flags are small bits (literally, a bit, as in a boolean value) that the game server uses for an extremely wide range of state checks, progress storage, and other interesting tidbits of information.
func (UnlockDefinition) DefinitionTable ¶
func (d UnlockDefinition) DefinitionTable() string
type UnlockExpressionDefinition ¶
type UnlockExpressionDefinition struct { // A shortcut for determining the most restrictive gating that this expression performs. See the // DestinyGatingScope enum's documentation for more details. Scope GatingScope `json:"scope"` }
Destiny.Definitions.DestinyUnlockExpressionDefinition
Where the sausage gets made. Unlock Expressions are the foundation of the game's gating mechanics and investment-related restrictions. They can test Unlock Flags and Unlock Values for certain states, using a sufficient amount of logical operators such that unlock expressions are effectively Turing complete. Use UnlockExpressionParser to evaluate expressions using an IUnlockContext parsed from Babel.
func (UnlockExpressionDefinition) DefinitionTable ¶
func (d UnlockExpressionDefinition) DefinitionTable() string
type UnlockStatus ¶
type UnlockStatus struct { // Whether the unlock flag is set. IsSet bool `json:"isSet"` // The hash identifier for the Unlock Flag. Use to lookup DestinyUnlockDefinition for static data. Not // all unlocks have human readable data - in fact, most don't. But when they do, it can be very useful // to show. Even if they don't have human readable data, you might be able to infer the meaning of an // unlock flag with a bit of experimentation... UnlockHash Hash[UnlockDefinition] `json:"unlockHash"` }
Destiny.DestinyUnlockStatus
Indicates the status of an "Unlock Flag" on a Character or Profile. These are individual bits of state that can be either set or not set, and sometimes provide interesting human-readable information in their related DestinyUnlockDefinition.
type UnlockValueDefinition ¶
type UnlockValueDefinition struct { // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyUnlockValueDefinition
An Unlock Value is an internal integer value, stored on the server and used in a variety of ways, most frequently for the gating/requirement checks that the game performs across all of its main features. They can also be used as the storage data for mapped Progressions, Objectives, and other features that require storage of variable numeric values.
func (UnlockValueDefinition) DefinitionTable ¶
func (d UnlockValueDefinition) DefinitionTable() string
type UnlockValueUIStyle ¶
type UnlockValueUIStyle int32
Destiny.DestinyUnlockValueUIStyle
If you're showing an unlock value in the UI, this is the format in which it should be shown. You'll have to build your own algorithms on the client side to determine how best to render these options.
func (UnlockValueUIStyle) Enum ¶
func (e UnlockValueUIStyle) Enum() string
type UserGetAvailableThemesRequest ¶
type UserGetAvailableThemesRequest struct { }
UserGetAvailableThemesRequest are the request parameters for operation User.GetAvailableThemes
type UserGetBungieNetUserByIdRequest ¶
type UserGetBungieNetUserByIdRequest struct { // The requested Bungie.net membership id. // Required. Id Int64 }
UserGetBungieNetUserByIdRequest are the request parameters for operation User.GetBungieNetUserById
type UserGetCredentialTypesForTargetAccountRequest ¶
type UserGetCredentialTypesForTargetAccountRequest struct { // The user's membership id // Required. MembershipID Int64 }
UserGetCredentialTypesForTargetAccountRequest are the request parameters for operation User.GetCredentialTypesForTargetAccount
type UserGetMembershipDataByIdRequest ¶
type UserGetMembershipDataByIdRequest struct { // The membership ID of the target user. // Required. MembershipID Int64 // Type of the supplied membership ID. // Required. MembershipType BungieMembershipType }
UserGetMembershipDataByIdRequest are the request parameters for operation User.GetMembershipDataById
type UserGetMembershipDataForCurrentUserRequest ¶
type UserGetMembershipDataForCurrentUserRequest struct { }
UserGetMembershipDataForCurrentUserRequest are the request parameters for operation User.GetMembershipDataForCurrentUser
type UserGetMembershipFromHardLinkedCredentialRequest ¶
type UserGetMembershipFromHardLinkedCredentialRequest struct { // The credential to look up. Must be a valid SteamID64. // Required. Credential string // The credential type. 'SteamId' is the only valid value at present. // Required. CrType BungieCredentialType }
UserGetMembershipFromHardLinkedCredentialRequest are the request parameters for operation User.GetMembershipFromHardLinkedCredential
type UserGetSanitizedPlatformDisplayNamesRequest ¶
type UserGetSanitizedPlatformDisplayNamesRequest struct { // The requested membership id to load. // Required. MembershipID Int64 }
UserGetSanitizedPlatformDisplayNamesRequest are the request parameters for operation User.GetSanitizedPlatformDisplayNames
type UserInfoCard ¶
type UserInfoCard struct { // The list of Membership Types indicating the platforms on which this Membership can be used. // // Not in Cross Save = its original membership type. Cross Save Primary = Any membership types it is // // overridding, and its original membership type Cross Save Overridden = Empty list ApplicableMembershipTypes []BungieMembershipType `json:"applicableMembershipTypes"` // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // If there is a cross save override in effect, this value will tell you the type that is overridding // this one. CrossSaveOverride BungieMembershipType `json:"crossSaveOverride"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // URL the Icon if available. IconPath string `json:"iconPath"` // If True, this is a public user membership. IsPublic bool `json:"isPublic"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` // A platform specific additional display name - ex: psn Real Name, bnet Unique Name, etc. SupplementalDisplayName string `json:"supplementalDisplayName"` }
User.UserInfoCard
This contract supplies basic information commonly used to display a minimal amount of information about a user. Take care to not add more properties here unless the property applies in all (or at least the majority) of the situations where UserInfoCard is used. Avoid adding game specific or platform specific details here. In cases where UserInfoCard is a subset of the data needed in a contract, use UserInfoCard as a property of other contracts.
type UserMembership ¶
type UserMembership struct { // The bungie global display name, if set. BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` // The bungie global display name code, if set. BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` // Display Name the player has chosen for themselves. The display name is optional when the data type // is used as input to a platform API. DisplayName string `json:"displayName"` // Membership ID as they user is known in the Accounts service MembershipID Int64 `json:"membershipId"` // Type of the membership. Not necessarily the native type. MembershipType BungieMembershipType `json:"membershipType"` }
User.UserMembership
Very basic info about a user as returned by the Account server.
type UserMembershipData ¶
type UserMembershipData struct { BungieNetUser GeneralUser `json:"bungieNetUser"` // this allows you to see destiny memberships that are visible and linked to this account (regardless // of whether or not they have characters on the world server) DestinyMemberships []GroupUserInfoCard `json:"destinyMemberships"` // If this property is populated, it will have the membership ID of the account considered to be // "primary" in this user's cross save relationship. // // If null, this user has no cross save relationship, nor primary account. PrimaryMembershipID Nullable[Int64] `json:"primaryMembershipId,omitempty"` }
User.UserMembershipData
type UserRewardAvailabilityModel ¶
type UserRewardAvailabilityModel struct { AvailabilityModel RewardAvailabilityModel `json:"AvailabilityModel"` IsAvailableForUser bool `json:"IsAvailableForUser"` IsUnlockedForUser bool `json:"IsUnlockedForUser"` }
Tokens.UserRewardAvailabilityModel
type UserSearchByGlobalNamePostRequest ¶
type UserSearchByGlobalNamePostRequest struct { // The zero-based page of results you desire. // Required. Page int32 // Required. Body UserSearchPrefixRequest }
UserSearchByGlobalNamePostRequest are the request parameters for operation User.SearchByGlobalNamePost
type UserSearchByGlobalNamePrefixRequest ¶
type UserSearchByGlobalNamePrefixRequest struct { // The display name prefix you're looking for. // Required. DisplayNamePrefix string // The zero-based page of results you desire. // Required. Page int32 }
UserSearchByGlobalNamePrefixRequest are the request parameters for operation User.SearchByGlobalNamePrefix
type UserSearchPrefixRequest ¶
type UserSearchPrefixRequest struct {
DisplayNamePrefix string `json:"displayNamePrefix"`
}
User.UserSearchPrefixRequest
type UserSearchResponse ¶
type UserSearchResponse struct { HasMore bool `json:"hasMore"` Page int32 `json:"page"` SearchResults []UserSearchResponseDetail `json:"searchResults"` }
User.UserSearchResponse
type UserSearchResponseDetail ¶
type UserSearchResponseDetail struct { BungieGlobalDisplayName string `json:"bungieGlobalDisplayName"` BungieGlobalDisplayNameCode Nullable[int16] `json:"bungieGlobalDisplayNameCode,omitempty"` BungieNetMembershipID Nullable[Int64] `json:"bungieNetMembershipId,omitempty"` DestinyMemberships []UserInfoCard `json:"destinyMemberships"` }
User.UserSearchResponseDetail
type UserTheme ¶
type UserTheme struct { UserThemeDescription string `json:"userThemeDescription"` UserThemeID int32 `json:"userThemeId"` UserThemeName string `json:"userThemeName"` }
Config.UserTheme
type UserToUserContext ¶
type UserToUserContext struct { GlobalIgnoreEndDate Nullable[Timestamp] `json:"globalIgnoreEndDate,omitempty"` IgnoreStatus IgnoreResponse `json:"ignoreStatus"` IsFollowing bool `json:"isFollowing"` }
User.UserToUserContext
type VendorAcceptedItemDefinition ¶
type VendorAcceptedItemDefinition struct { // The "source" bucket for a transfer. When a user wants to transfer an item, the appropriate // DestinyVendorDefinition's acceptedItems property is evaluated, looking for an entry where // acceptedInventoryBucketHash matches the bucket that the item being transferred is currently located. // If it exists, the item will be transferred into whatever bucket is defined by // destinationInventoryBucketHash. AcceptedInventoryBucketHash Hash[InventoryBucketDefinition] `json:"acceptedInventoryBucketHash"` // This is the bucket where the item being transferred will be put, given that it was being transferred // *from* the bucket defined in acceptedInventoryBucketHash. DestinationInventoryBucketHash Hash[InventoryBucketDefinition] `json:"destinationInventoryBucketHash"` }
Destiny.Definitions.DestinyVendorAcceptedItemDefinition
If you ever wondered how the Vault works, here it is. The Vault is merely a set of inventory buckets that exist on your Profile/Account level. When you transfer items in the Vault, the game is using the Vault Vendor's DestinyVendorAcceptedItemDefinitions to see where the appropriate destination bucket is for the source bucket from whence your item is moving. If it finds such an entry, it transfers the item to the other bucket. The mechanics for Postmaster works similarly, which is also a vendor. All driven by Accepted Items.
func (VendorAcceptedItemDefinition) DefinitionTable ¶
func (d VendorAcceptedItemDefinition) DefinitionTable() string
type VendorActionDefinition ¶
type VendorActionDefinition struct { ActionHash uint32 `json:"actionHash"` ActionID string `json:"actionId"` AutoPerformAction bool `json:"autoPerformAction"` Description string `json:"description"` ExecuteSeconds int32 `json:"executeSeconds"` Icon string `json:"icon"` IsPositive bool `json:"isPositive"` Name string `json:"name"` Verb string `json:"verb"` }
Destiny.Definitions.DestinyVendorActionDefinition
If a vendor can ever end up performing actions, these are the properties that will be related to those actions. I'm not going to bother documenting this yet, as it is unused and unclear if it will ever be used... but in case it is ever populated and someone finds it useful, it is defined here.
func (VendorActionDefinition) DefinitionTable ¶
func (d VendorActionDefinition) DefinitionTable() string
type VendorBaseComponent ¶
type VendorBaseComponent struct { // If True, the Vendor is currently accessible. // If False, they may not actually be visible in the world at the moment. Enabled bool `json:"enabled"` // The date when this vendor's inventory will next rotate/refresh. // Note that this is distinct from the date ranges that the vendor is visible/available in-game: this // field indicates the specific time when the vendor's available items refresh and rotate, regardless // of whether the vendor is actually available at that time. Unfortunately, these two values may be // (and are, for the case of important vendors like Xur) different. // Issue https://github.com/Bungie-net/api/issues/353 is tracking a fix to start providing visibility // date ranges where possible in addition to this refresh date, so that all important dates for vendors // are available for use. NextRefreshDate Timestamp `json:"nextRefreshDate"` // The unique identifier for the vendor. Use it to look up their DestinyVendorDefinition. VendorHash Hash[VendorDefinition] `json:"vendorHash"` }
Destiny.Components.Vendors.DestinyVendorBaseComponent
This component contains essential/summary information about the vendor.
type VendorCategoriesComponent ¶
type VendorCategoriesComponent struct { // The list of categories for items that the vendor sells, in rendering order. // These categories each point to a "display category" in the displayCategories property of the // DestinyVendorDefinition, as opposed to the other categories. Categories []VendorCategory `json:"categories"` }
Destiny.Entities.Vendors.DestinyVendorCategoriesComponent
A vendor can have many categories of items that they sell. This component will return the category information for available items, as well as the index into those items in the user's sale item list. Note that, since both the category and items are indexes, this data is Content Version dependent. Be sure to check that your content is up to date before using this data. This is an unfortunate, but permanent, limitation of Vendor data.
type VendorCategory ¶
type VendorCategory struct { // An index into the DestinyVendorDefinition.displayCategories property, so you can grab the display // data for this category. DisplayCategoryIndex int32 `json:"displayCategoryIndex"` // An ordered list of indexes into items being sold in this category (DestinyVendorDefinition.itemList) // which will contain more information about the items being sold themselves. Can also be used to index // into DestinyVendorSaleItemComponent data, if you asked for that data to be returned. ItemIndexes []int32 `json:"itemIndexes"` }
Destiny.Entities.Vendors.DestinyVendorCategory
Information about the category and items currently sold in that category.
type VendorCategoryEntryDefinition ¶
type VendorCategoryEntryDefinition struct { // The localized string for making purchases from this category, if it is different from the vendor's // string for purchasing. BuyStringOverride string `json:"buyStringOverride"` // The hashed identifier for the category. CategoryHash uint32 `json:"categoryHash"` // The index of the category in the original category definitions for the vendor. CategoryIndex int32 `json:"categoryIndex"` // If the category is disabled, this is the localized description to show. DisabledDescription string `json:"disabledDescription"` // The localized title of the category. DisplayTitle string `json:"displayTitle"` // True if this category doesn't allow purchases. HideFromRegularPurchase bool `json:"hideFromRegularPurchase"` // If you don't have the currency required to buy items from this category, should the items be hidden? HideIfNoCurrency bool `json:"hideIfNoCurrency"` // If true, this category only displays items: you can't purchase anything in them. IsDisplayOnly bool `json:"isDisplayOnly"` // Sometimes a category isn't actually used to sell items, but rather to preview them. This implies // different UI (and manual placement of the category in the UI) in the game, and special treatment. IsPreview bool `json:"isPreview"` // If this category has an overlay prompt that should appear, this contains the details of that prompt. Overlay VendorCategoryOverlayDefinition `json:"overlay"` // The amount of items that will be available when this category is shown. QuantityAvailable int32 `json:"quantityAvailable"` ResetIntervalMinutesOverride int32 `json:"resetIntervalMinutesOverride"` ResetOffsetMinutesOverride int32 `json:"resetOffsetMinutesOverride"` ShowUnavailableItems bool `json:"showUnavailableItems"` // Used in sorting items in vendors... but there's a lot more to it. Just go with the order provided in // the itemIndexes property on the DestinyVendorCategoryComponent instead, it should be more reliable // than trying to recalculate it yourself. SortValue int32 `json:"sortValue"` // A shortcut for the vendor item indexes sold under this category. Saves us from some expensive // reorganization at runtime. VendorItemIndexes []int32 `json:"vendorItemIndexes"` }
Destiny.Definitions.DestinyVendorCategoryEntryDefinition
This is the definition for a single Vendor Category, into which Sale Items are grouped.
func (VendorCategoryEntryDefinition) DefinitionTable ¶
func (d VendorCategoryEntryDefinition) DefinitionTable() string
type VendorCategoryOverlayDefinition ¶
type VendorCategoryOverlayDefinition struct { ChoiceDescription string `json:"choiceDescription"` // If this overlay has a currency item that it features, this is said featured item. CurrencyItemHash Nullable[Hash[InventoryItemDefinition]] `json:"currencyItemHash,omitempty"` Description string `json:"description"` Icon string `json:"icon"` Title string `json:"title"` }
Destiny.Definitions.DestinyVendorCategoryOverlayDefinition
The details of an overlay prompt to show to a user. They are all fairly self-explanatory localized strings that can be shown.
func (VendorCategoryOverlayDefinition) DefinitionTable ¶
func (d VendorCategoryOverlayDefinition) DefinitionTable() string
type VendorComponent ¶
type VendorComponent struct { // If True, you can purchase from the Vendor. CanPurchase bool `json:"canPurchase"` // If True, the Vendor is currently accessible. // If False, they may not actually be visible in the world at the moment. Enabled bool `json:"enabled"` // The date when this vendor's inventory will next rotate/refresh. // Note that this is distinct from the date ranges that the vendor is visible/available in-game: this // field indicates the specific time when the vendor's available items refresh and rotate, regardless // of whether the vendor is actually available at that time. Unfortunately, these two values may be // (and are, for the case of important vendors like Xur) different. // Issue https://github.com/Bungie-net/api/issues/353 is tracking a fix to start providing visibility // date ranges where possible in addition to this refresh date, so that all important dates for vendors // are available for use. NextRefreshDate Timestamp `json:"nextRefreshDate"` // If the Vendor has a related Reputation, this is the Progression data that represents the character's // Reputation level with this Vendor. Progression Progression `json:"progression"` // If this vendor has a seasonal rank, this will be the calculated value of that rank. How nice is // that? I mean, that's pretty sweeet. It's a whole 32 bit integer. SeasonalRank Nullable[int32] `json:"seasonalRank,omitempty"` // The unique identifier for the vendor. Use it to look up their DestinyVendorDefinition. VendorHash Hash[VendorDefinition] `json:"vendorHash"` // An index into the vendor definition's "locations" property array, indicating which location they are // at currently. If -1, then the vendor has no known location (and you may choose not to show them in // your UI as a result. I mean, it's your bag honey) VendorLocationIndex int32 `json:"vendorLocationIndex"` }
Destiny.Entities.Vendors.DestinyVendorComponent
This component contains essential/summary information about the vendor.
type VendorDefinition ¶
type VendorDefinition struct { // If the Vendor is actually a vehicle for the transferring of items (like the Vault and Postmaster // vendors), this defines the list of source->destination buckets for transferring. AcceptedItems []VendorAcceptedItemDefinition `json:"acceptedItems"` // Describes "actions" that can be performed on a vendor. Currently, none of these exist. But // theoretically a Vendor could let you interact with it by performing actions. We'll see what these // end up looking like if they ever get used. Actions []VendorActionDefinition `json:"actions"` // If the vendor has a custom localized string describing the "buy" action, that is returned here. BuyString string `json:"buyString"` // These are the headers for sections of items that the vendor is selling. When you see items organized // by category in the header, it is these categories that it is showing. // Well, technically not *exactly* these. On BNet, it doesn't make sense to have categories be "paged" // as we do in Destiny, so we run some heuristics to attempt to aggregate pages of categories together. // These are the categories post-concatenation, if the vendor had concatenation applied. If you want // the pre-aggregated category data, use originalCategories. Categories []VendorCategoryEntryDefinition `json:"categories"` // If TRUE, consolidate categories that only differ by trivial properties (such as having minor // differences in name) ConsolidateCategories bool `json:"consolidateCategories"` // Display Categories are different from "categories" in that these are specifically for visual // grouping and display of categories in Vendor UI. // The "categories" structure is for validation of the contained items, and can be categorized entirely // separately from "Display Categories", there need be and often will be no meaningful relationship // between the two. DisplayCategories []DisplayCategoryDefinition `json:"displayCategories"` // If the vendor has an item that should be displayed as the "featured" item, this is the hash // identifier for that DestinyVendorItemDefinition. // Apparently this is usually a related currency, like a reputation token. But it need not be // restricted to that. DisplayItemHash Hash[InventoryItemDefinition] `json:"displayItemHash"` DisplayProperties VendorDisplayPropertiesDefinition `json:"displayProperties"` // If a vendor is not enabled, we won't even save the vendor's definition, and we won't return any // items or info about them. It's as if they don't exist. Enabled bool `json:"enabled"` // If the Vendor has a faction, this hash will be valid and point to a DestinyFactionDefinition. // The game UI and BNet often mine the faction definition for additional elements and details to place // on the screen, such as the faction's Progression status (aka "Reputation"). FactionHash Hash[FactionDefinition] `json:"factionHash"` // If an item can't be purchased from the vendor, there may be many "custom"/game state specific // reasons why not. // This is a list of localized strings with messages for those custom failures. The live BNet data will // return a failureIndexes property for items that can't be purchased: using those values to index into // this array, you can show the user the appropriate failure message for the item that can't be bought. FailureStrings []string `json:"failureStrings"` // A vendor can be a part of 0 or 1 "groups" at a time: a group being a collection of Vendors related // by either location or function/purpose. It's used for our our Companion Vendor UI. Only one of these // can be active for a Vendor at a time. Groups []VendorGroupReference `json:"groups"` // 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. Hash uint32 `json:"hash"` // Some items don't make sense to return in the API, for example because they represent an action to be // performed rather than an item being sold. I'd rather we not do this, but at least in the short term // this is a workable workaround. IgnoreSaleItemHashes []uint32 `json:"ignoreSaleItemHashes"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // If this is true, you aren't allowed to buy whatever the vendor is selling. InhibitBuying bool `json:"inhibitBuying"` // If this is true, you're not allowed to sell whatever the vendor is buying. InhibitSelling bool `json:"inhibitSelling"` // In addition to selling items, vendors can have "interactions": UI where you "talk" with the vendor // and they offer you a reward, some item, or merely acknowledge via dialog that you did something // cool. Interactions []VendorInteractionDefinition `json:"interactions"` // If the vendor shows you items from your own inventory - such as the Vault vendor does - this data // describes the UI around showing those inventory buckets and which ones get shown. InventoryFlyouts []VendorInventoryFlyoutDefinition `json:"inventoryFlyouts"` // If the vendor sells items (or merely has a list of items to show like the "Sack" vendors do), this // is the list of those items that the vendor can sell. From this list, only a subset will be available // from the vendor at any given time, selected randomly and reset on the vendor's refresh interval. // Note that a vendor can sell the same item multiple ways: for instance, nothing stops a vendor from // selling you some specific weapon but using two different currencies, or the same weapon at multiple // "item levels". ItemList []VendorItemDefinition `json:"itemList"` // A vendor can be at different places in the world depending on the game/character/account state. This // is the list of possible locations for the vendor, along with conditions we use to determine which // one is currently active. Locations []VendorLocationDefinition `json:"locations"` // See the categories property for a description of categories and why originalCategories exists. OriginalCategories []VendorCategoryEntryDefinition `json:"originalCategories"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` // A number used for calculating the frequency of a vendor's inventory resetting/refreshing. // Don't worry about calculating this - we do it on the server side and send you the next refresh date // with the live data. ResetIntervalMinutes int32 `json:"resetIntervalMinutes"` // Again, used for reset/refreshing of inventory. Don't worry too much about it. Unless you want to. ResetOffsetMinutes int32 `json:"resetOffsetMinutes"` // As many of you know, Vendor data has historically been pretty brutal on the BNet servers. In an // effort to reduce this workload, only Vendors with this flag set will be returned on Vendor requests. // This allows us to filter out Vendors that don't dynamic data that's particularly useful: things like // "Preview/Sack" vendors, for example, that you can usually suss out the details for using just the // definitions themselves. ReturnWithVendorRequest bool `json:"returnWithVendorRequest"` // Ditto for selling. Not that you can sell items to a vendor anymore. Will it come back? Who knows. // The string's still there. SellString string `json:"sellString"` // BNet doesn't use this data yet, but it appears to be an optional list of flavor text about services // that the Vendor can provide. Services []VendorServiceDefinition `json:"services"` // If we were able to predict the dates when this Vendor will be visible/available, this will be the // list of those date ranges. Sadly, we're not able to predict this very frequently, so this will often // be useless data. UnlockRanges []DateRange `json:"unlockRanges"` // If the vendor has a custom banner image, that can be found here. VendorBanner string `json:"vendorBanner"` // The internal identifier for the Vendor. A holdover from the old days of Vendors, but we don't have // time to refactor it away. VendorIdentifier string `json:"vendorIdentifier"` // A portrait of the Vendor's smiling mug. Or frothing tentacles. VendorPortrait string `json:"vendorPortrait"` // The type of reward progression that this vendor has. Default - The original rank progression from // token redemption. Ritual - Progression from ranks in ritual content. For example: Crucible (Shaxx), // Gambit (Drifter), and Battlegrounds (War Table). VendorProgressionType VendorProgressionType `json:"vendorProgressionType"` // The identifier of the VendorCategoryDefinition for this vendor's subcategory. VendorSubcategoryIdentifier string `json:"vendorSubcategoryIdentifier"` // If a vendor is not visible, we still have and will give vendor definition info, but we won't use // them for things like Advisors or UI. Visible bool `json:"visible"` }
Destiny.Definitions.DestinyVendorDefinition
These are the definitions for Vendors. In Destiny, a Vendor can be a lot of things - some things that you wouldn't expect, and some things that you don't even see directly in the game. Vendors are the Dolly Levi of the Destiny universe. - Traditional Vendors as you see in game: people who you come up to and who give you quests, rewards, or who you can buy things from. - Kiosks/Collections, which are really just Vendors that don't charge currency (or charge some pittance of a currency) and whose gating for purchases revolves more around your character's state. - Previews for rewards or the contents of sacks. These are implemented as Vendors, where you can't actually purchase from them but the items that they have for sale and the categories of sale items reflect the rewards or contents of the sack. This is so that the game could reuse the existing Vendor display UI for rewards and save a bunch of wheel reinvention. - Item Transfer capabilities, like the Vault and Postmaster. Vendors can have "acceptedItem" buckets that determine the source and destination buckets for transfers. When you interact with such a vendor, these buckets are what gets shown in the UI instead of any items that the Vendor would have for sale. Yep, the Vault is a vendor. It is pretty much guaranteed that they'll be used for even more features in the future. They have come to be seen more as generic categorized containers for items than "vendors" in a traditional sense, for better or worse. Where possible and time allows, we'll attempt to split those out into their own more digestible derived "Definitions": but often time does not allow that, as you can see from the above ways that vendors are used which we never split off from Vendor Definitions externally. Since Vendors are so many things to so many parts of the game, the definition is understandably complex. You will want to combine this data with live Vendor information from the API when it is available.
func (VendorDefinition) DefinitionTable ¶
func (d VendorDefinition) DefinitionTable() string
type VendorDisplayCategorySortOrder ¶
type VendorDisplayCategorySortOrder int32
Destiny.VendorDisplayCategorySortOrder
Display categories can have custom sort orders. These are the possible options.
func (VendorDisplayCategorySortOrder) Enum ¶
func (e VendorDisplayCategorySortOrder) Enum() string
type VendorDisplayPropertiesDefinition ¶
type VendorDisplayPropertiesDefinition struct { Description string `json:"description"` HasIcon bool `json:"hasIcon"` // If this item has a high-res icon (at least for now, many things won't), then the path to that icon // will be here. HighResIcon string `json:"highResIcon"` // Note that "icon" is sometimes misleading, and should be interpreted in the context of the entity. // For instance, in Destiny 1 the DestinyRecordBookDefinition's icon was a big picture of a book. // But usually, it will be a small square image that you can use as... well, an icon. // They are currently represented as 96px x 96px images. Icon string `json:"icon"` IconSequences []IconSequenceDefinition `json:"iconSequences"` // I regret calling this a "large icon". It's more like a medium-sized image with a picture of the // vendor's mug on it, trying their best to look cool. Not what one would call an icon. LargeIcon string `json:"largeIcon"` // This is apparently the "Watermark". I am not certain offhand where this is actually used in the Game // UI, but some people may find it useful. LargeTransparentIcon string `json:"largeTransparentIcon"` // This is the icon used in the map overview, when the vendor is located on the map. MapIcon string `json:"mapIcon"` Name string `json:"name"` // If we replaced the icon with something more glitzy, this is the original icon that the vendor had // according to the game's content. It may be more lame and/or have less razzle-dazzle. But who am I to // tell you which icon to use. OriginalIcon string `json:"originalIcon"` // Vendors, in addition to expected display property data, may also show some "common requirements" as // statically defined definition data. This might be when a vendor accepts a single type of currency, // or when the currency is unique to the vendor and the designers wanted to show that currency when you // interact with the vendor. RequirementsDisplay []VendorRequirementDisplayEntryDefinition `json:"requirementsDisplay"` // This is the icon used in parts of the game UI such as the vendor's waypoint. SmallTransparentIcon string `json:"smallTransparentIcon"` Subtitle string `json:"subtitle"` }
Destiny.Definitions.DestinyVendorDisplayPropertiesDefinition
func (VendorDisplayPropertiesDefinition) DefinitionTable ¶
func (d VendorDisplayPropertiesDefinition) DefinitionTable() string
type VendorFilter ¶
type VendorFilter int32
Destiny.DestinyVendorFilter
Indicates the type of filter to apply to Vendor results.
func (VendorFilter) Enum ¶
func (e VendorFilter) Enum() string
type VendorGroup ¶
type VendorGroup struct { VendorGroupHash Hash[VendorGroupDefinition] `json:"vendorGroupHash"` // The ordered list of vendors within a particular group. VendorHashes []uint32 `json:"vendorHashes"` }
Destiny.Components.Vendors.DestinyVendorGroup
Represents a specific group of vendors that can be rendered in the recommended order. How do we figure out this order? It's a long story, and will likely get more complicated over time.
type VendorGroupComponent ¶
type VendorGroupComponent struct { // The ordered list of groups being returned. Groups []VendorGroup `json:"groups"` }
Destiny.Components.Vendors.DestinyVendorGroupComponent
This component returns references to all of the Vendors in the response, grouped by categorizations that Bungie has deemed to be interesting, in the order in which both the groups and the vendors within that group should be rendered.
type VendorGroupDefinition ¶
type VendorGroupDefinition struct { // For now, a group just has a name. CategoryName string `json:"categoryName"` // 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. Hash uint32 `json:"hash"` // The index of the entity as it was found in the investment tables. Index int32 `json:"index"` // The recommended order in which to render the groups, Ascending order. Order int32 `json:"order"` // If this is true, then there is an entity with this identifier/type combination, but BNet is not yet // allowed to show it. Sorry! Redacted bool `json:"redacted"` }
Destiny.Definitions.DestinyVendorGroupDefinition
BNet attempts to group vendors into similar collections. These groups aren't technically game canonical, but they are helpful for filtering vendors or showing them organized into a clean view on a webpage or app. These definitions represent the groups we've built. Unlike in Destiny 1, a Vendors' group may change dynamically as the game state changes: thus, you will want to check DestinyVendorComponent responses to find a vendor's currently active Group (if you care). Using this will let you group your vendors in your UI in a similar manner to how we will do grouping in the Companion.
func (VendorGroupDefinition) DefinitionTable ¶
func (d VendorGroupDefinition) DefinitionTable() string
type VendorGroupReference ¶
type VendorGroupReference struct { // The DestinyVendorGroupDefinition to which this Vendor can belong. VendorGroupHash Hash[VendorGroupDefinition] `json:"vendorGroupHash"` }
Destiny.Definitions.DestinyVendorGroupReference
func (VendorGroupReference) DefinitionTable ¶
func (d VendorGroupReference) DefinitionTable() string
type VendorInteractionDefinition ¶
type VendorInteractionDefinition struct { // If the vendor interaction has flavor text, this is some of it. FlavorLineOne string `json:"flavorLineOne"` // If the vendor interaction has flavor text, this is the rest of it. FlavorLineTwo string `json:"flavorLineTwo"` // The header for the interaction dialog. HeaderDisplayProperties DisplayPropertiesDefinition `json:"headerDisplayProperties"` // The localized text telling the player what to do when they see this dialog. Instructions string `json:"instructions"` // The position of this interaction in its parent array. Note that this is NOT content agnostic, and // should not be used as such. InteractionIndex int32 `json:"interactionIndex"` // The enumerated version of the possible UI hints for vendor interactions, which is a little easier to // grok than the hash found in uiInteractionType. InteractionType VendorInteractionType `json:"interactionType"` // If this interaction dialog is about a quest, this is the questline related to the interaction. You // can use this to show the quest overview, or even the character's status with the quest if you use it // to find the character's current Quest Step by checking their inventory against this // questlineItemHash's DestinyInventoryItemDefinition.setData. QuestlineItemHash Hash[InventoryItemDefinition] `json:"questlineItemHash"` // The potential replies that the user can make to the interaction. Replies []VendorInteractionReplyDefinition `json:"replies"` // If this interaction is displaying rewards, this is the text to use for the header of the // reward-displaying section of the interaction. RewardBlockLabel string `json:"rewardBlockLabel"` // If the vendor's reward list is sourced from one of his categories, this is the index into the // category array of items to show. RewardVendorCategoryIndex int32 `json:"rewardVendorCategoryIndex"` // If this interaction is meant to show you sacks, this is the list of types of sacks to be shown. If // empty, the interaction is not meant to show sacks. SackInteractionList []VendorInteractionSackEntryDefinition `json:"sackInteractionList"` // A UI hint for the behavior of the interaction screen. This is useful to determine what type of // interaction is occurring, such as a prompt to receive a rank up reward or a prompt to choose a // reward for completing a quest. The hash isn't as useful as the Enum in retrospect, well what can you // do. Try using interactionType instead. UiInteractionType uint32 `json:"uiInteractionType"` // If >= 0, this is the category of sale items to show along with this interaction dialog. VendorCategoryIndex int32 `json:"vendorCategoryIndex"` }
Destiny.Definitions.DestinyVendorInteractionDefinition
A Vendor Interaction is a dialog shown by the vendor other than sale items or transfer screens. The vendor is showing you something, and asking you to reply to it by choosing an option or reward.
func (VendorInteractionDefinition) DefinitionTable ¶
func (d VendorInteractionDefinition) DefinitionTable() string
type VendorInteractionReplyDefinition ¶
type VendorInteractionReplyDefinition struct { // The rewards granted upon responding to the vendor. ItemRewardsSelection VendorInteractionRewardSelection `json:"itemRewardsSelection"` // The localized text for the reply. Reply string `json:"reply"` // An enum indicating the type of reply being made. ReplyType VendorReplyType `json:"replyType"` }
Destiny.Definitions.DestinyVendorInteractionReplyDefinition
When the interaction is replied to, Reward sites will fire and items potentially selected based on whether the given unlock expression is TRUE. You can potentially choose one from multiple replies when replying to an interaction: this is how you get either/or rewards from vendors.
func (VendorInteractionReplyDefinition) DefinitionTable ¶
func (d VendorInteractionReplyDefinition) DefinitionTable() string
type VendorInteractionRewardSelection ¶
type VendorInteractionRewardSelection int32
Destiny.DestinyVendorInteractionRewardSelection
When a Vendor Interaction provides rewards, they'll either let you choose one or let you have all of them. This determines which it will be.
func (VendorInteractionRewardSelection) Enum ¶
func (e VendorInteractionRewardSelection) Enum() string
type VendorInteractionSackEntryDefinition ¶
type VendorInteractionSackEntryDefinition struct {
SackType uint32 `json:"sackType"`
}
Destiny.Definitions.DestinyVendorInteractionSackEntryDefinition
Compare this sackType to the sack identifier in the DestinyInventoryItemDefinition.vendorSackType property of items. If they match, show this sack with this interaction.
func (VendorInteractionSackEntryDefinition) DefinitionTable ¶
func (d VendorInteractionSackEntryDefinition) DefinitionTable() string
type VendorInteractionType ¶
type VendorInteractionType int32
Destiny.VendorInteractionType
An enumeration of the known UI interactions for Vendors.
func (VendorInteractionType) Enum ¶
func (e VendorInteractionType) Enum() string
type VendorInventoryFlyoutBucketDefinition ¶
type VendorInventoryFlyoutBucketDefinition struct { // If true, the inventory bucket should be able to be collapsed visually. Collapsible bool `json:"collapsible"` // The inventory bucket whose contents should be shown. InventoryBucketHash Hash[InventoryBucketDefinition] `json:"inventoryBucketHash"` // The methodology to use for sorting items from the flyout. SortItemsBy ItemSortType `json:"sortItemsBy"` }
Destiny.Definitions.DestinyVendorInventoryFlyoutBucketDefinition
Information about a single inventory bucket in a vendor flyout UI and how it is shown.
func (VendorInventoryFlyoutBucketDefinition) DefinitionTable ¶
func (d VendorInventoryFlyoutBucketDefinition) DefinitionTable() string
type VendorInventoryFlyoutDefinition ¶
type VendorInventoryFlyoutDefinition struct { // A list of inventory buckets and other metadata to show on the screen. Buckets []VendorInventoryFlyoutBucketDefinition `json:"buckets"` // The title and other common properties of the flyout. DisplayProperties DisplayPropertiesDefinition `json:"displayProperties"` // If this flyout is meant to show you the contents of the player's equipment slot, this is the slot to // show. EquipmentSlotHash Nullable[uint32] `json:"equipmentSlotHash,omitempty"` // An identifier for the flyout, in case anything else needs to refer to them. FlyoutID uint32 `json:"flyoutId"` // If the flyout is locked, this is the reason why. LockedDescription string `json:"lockedDescription"` // If this is true, don't show any of the glistening "this is a new item" UI elements, like we show on // the inventory items themselves in in-game UI. SuppressNewness bool `json:"suppressNewness"` }
Destiny.Definitions.DestinyVendorInventoryFlyoutDefinition
The definition for an "inventory flyout": a UI screen where we show you part of an otherwise hidden vendor inventory: like the Vault inventory buckets.
func (VendorInventoryFlyoutDefinition) DefinitionTable ¶
func (d VendorInventoryFlyoutDefinition) DefinitionTable() string
type VendorItemDefinition ¶
type VendorItemDefinition struct { // The action to be performed when purchasing the item, if it's not just "buy". Action VendorSaleItemActionBlockDefinition `json:"action"` // The index into the DestinyVendorDefinition.categories array, so you can find the category associated // with this item. CategoryIndex int32 `json:"categoryIndex"` // The Default level at which the item will spawn. Almost always driven by an adjusto these days. // Ideally should be singular. It's a long story how this ended up as a list, but there is always // either going to be 0:1 of these entities. CreationLevels []ItemCreationEntryLevelDefinition `json:"creationLevels"` // This is a pre-compiled aggregation of item value and priceOverrideList, so that we have one place to // check for what the purchaser must pay for the item. Use this instead of trying to piece together the // price separately. // The somewhat crappy part about this is that, now that item quantity overrides have dynamic // modifiers, this will not necessarily be statically true. If you were using this instead of live // data, switch to using live data. Currencies []VendorItemQuantity `json:"currencies"` // The string identifier for the category selling this item. DisplayCategory string `json:"displayCategory"` // This is an index specifically into the display category, as opposed to the server-side Categories // (which do not need to match or pair with each other in any way: server side categories are really // just structures for common validation. Display Category will let us more easily categorize items // visually) DisplayCategoryIndex int32 `json:"displayCategoryIndex"` // If this item can only be purchased by a given platform, this indicates the platform to which it is // restricted. Exclusivity BungieMembershipType `json:"exclusivity"` // If this item can expire, this is the tooltip message to show with its expiration info. ExpirationTooltip string `json:"expirationTooltip"` // An list of indexes into the DestinyVendorDefinition.failureStrings array, indicating the possible // failure strings that can be relevant for this item. FailureIndexes []int32 `json:"failureIndexes"` // The inventory bucket into which this item will be placed upon purchase. InventoryBucketHash Hash[InventoryBucketDefinition] `json:"inventoryBucketHash"` // If this sale can only be performed as the result of receiving a CRM offer, this is true. IsCrm Nullable[bool] `json:"isCrm,omitempty"` // If this sale can only be performed as the result of an offer check, this is true. IsOffer Nullable[bool] `json:"isOffer,omitempty"` // The hash identifier of the item being sold (DestinyInventoryItemDefinition). // Note that a vendor can sell the same item in multiple ways, so don't assume that itemHash is a // unique identifier for this entity. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // The maximum character level at which this item is available for sale. MaximumLevel int32 `json:"maximumLevel"` // The minimum character level at which this item is available for sale. MinimumLevel int32 `json:"minimumLevel"` // Same as above, but for the original category indexes. OriginalCategoryIndex int32 `json:"originalCategoryIndex"` // Similar to visibilityScope, it represents the most restrictive scope that determines whether the // item can be purchased. It will at least be as restrictive as visibilityScope, but could be more // restrictive if the item has additional purchase requirements beyond whether it is merely visible or // not. // See DestinyGatingScope's documentation for more information. PurchasableScope GatingScope `json:"purchasableScope"` // The amount you will recieve of the item described in itemHash if you make the purchase. Quantity int32 `json:"quantity"` // If this is populated, the purchase of this item should redirect to purchasing these other items // instead. RedirectToSaleIndexes []int32 `json:"redirectToSaleIndexes"` // If this item can be refunded, this is the policy for what will be refundd, how, and in what time // period. RefundPolicy VendorItemRefundPolicy `json:"refundPolicy"` // The amount of time before refundability of the newly purchased item will expire. RefundTimeLimit int32 `json:"refundTimeLimit"` SocketOverrides []VendorItemSocketOverride `json:"socketOverrides"` // *if* the category this item is in supports non-default sorting, this value should represent the // sorting value to use, pre-processed and ready to go. SortValue int32 `json:"sortValue"` // If true, this item is some sort of dummy sale item that cannot actually be purchased. It may be a // display only item, or some fluff left by a content designer for testing purposes, or something that // got disabled because it was a terrible idea. You get the picture. We won't know *why* it can't be // purchased, only that it can't be. Sorry. // This is also only whether it's unpurchasable as a static property according to game content. There // are other reasons why an item may or may not be purchasable at runtime, so even if this isn't set to // True you should trust the runtime value for this sale item over the static definition if this is // unset. Unpurchasable Nullable[bool] `json:"unpurchasable,omitempty"` // The index into the DestinyVendorDefinition.saleList. This is what we use to refer to items being // sold throughout live and definition data. VendorItemIndex int32 `json:"vendorItemIndex"` // The most restrictive scope that determines whether the item is available in the Vendor's inventory. // See DestinyGatingScope's documentation for more information. // This can be determined by Unlock gating, or by whether or not the item has purchase level // requirements (minimumLevel and maximumLevel properties). VisibilityScope GatingScope `json:"visibilityScope"` }
Destiny.Definitions.DestinyVendorItemDefinition
This represents an item being sold by the vendor.
func (VendorItemDefinition) DefinitionTable ¶
func (d VendorItemDefinition) DefinitionTable() string
type VendorItemQuantity ¶
type VendorItemQuantity struct { // Indicates that this item quantity may be conditionally shown or hidden, based on various sources of // state. For example: server flags, account state, or character progress. HasConditionalVisibility bool `json:"hasConditionalVisibility"` // The hash identifier for the item in question. Use it to look up the item's // DestinyInventoryItemDefinition. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this quantity is referring to a specific instance of an item, this will have the item's instance // ID. Normally, this will be null. ItemInstanceID Nullable[Int64] `json:"itemInstanceId,omitempty"` // The amount of the item needed/available depending on the context of where DestinyItemQuantity is // being used. Quantity int32 `json:"quantity"` }
Destiny.Definitions.DestinyVendorItemQuantity
In addition to item quantity information for vendor prices, this also has any optional information that may exist about how the item's quantity can be modified. (unfortunately not information that is able to be read outside of the BNet servers, but it's there)
func (VendorItemQuantity) DefinitionTable ¶
func (d VendorItemQuantity) DefinitionTable() string
type VendorItemRefundPolicy ¶
type VendorItemRefundPolicy int32
Destiny.DestinyVendorItemRefundPolicy
The action that happens when the user attempts to refund an item.
func (VendorItemRefundPolicy) Enum ¶
func (e VendorItemRefundPolicy) Enum() string
type VendorItemSocketOverride ¶
type VendorItemSocketOverride struct { // If this is greater than -1, the number of randomized plugs on this socket will be set to this // quantity instead of whatever it's set to by default. RandomizedOptionsCount int32 `json:"randomizedOptionsCount"` // If this is populated, the socket will be overridden with a specific plug. // If this isn't populated, it's being overridden by something more complicated that is only known by // the Game Server and God, which means we can't tell you in advance what it'll be. SingleItemHash Nullable[Hash[InventoryItemDefinition]] `json:"singleItemHash,omitempty"` // This appears to be used to select which socket ultimately gets the override defined here. SocketTypeHash Hash[SocketTypeDefinition] `json:"socketTypeHash"` }
Destiny.Definitions.DestinyVendorItemSocketOverride
The information for how the vendor purchase should override a given socket with custom plug data.
func (VendorItemSocketOverride) DefinitionTable ¶
func (d VendorItemSocketOverride) DefinitionTable() string
type VendorItemState ¶
type VendorItemState int32
Destiny.DestinyVendorItemState
The possible states of Destiny Profile Records. IMPORTANT: Any given item can theoretically have many of these states simultaneously: as a result, this was altered to be a flags enumeration/bitmask for v3.2.0.
func (VendorItemState) Enum ¶
func (e VendorItemState) Enum() string
type VendorItemStatus ¶
type VendorItemStatus int32
Destiny.VendorItemStatus
func (VendorItemStatus) Enum ¶
func (e VendorItemStatus) Enum() string
type VendorLocationDefinition ¶
type VendorLocationDefinition struct { // The relative path to the background image representing this Vendor at this location, for use in a // banner. BackgroundImagePath string `json:"backgroundImagePath"` // The hash identifier for a Destination at which this vendor may be located. Each destination where a // Vendor may exist will only ever have a single entry. DestinationHash Hash[DestinationDefinition] `json:"destinationHash"` }
Destiny.Definitions.Vendors.DestinyVendorLocationDefinition
These definitions represent vendors' locations and relevant display information at different times in the game.
func (VendorLocationDefinition) DefinitionTable ¶
func (d VendorLocationDefinition) DefinitionTable() string
type VendorProgressionType ¶
type VendorProgressionType int32
Destiny.DestinyVendorProgressionType
Describes the type of progression that a vendor has.
func (VendorProgressionType) Enum ¶
func (e VendorProgressionType) Enum() string
type VendorReceipt ¶
type VendorReceipt struct { // The amount paid for the item, in terms of items that were consumed in the purchase and their // quantity. CurrencyPaid []ItemQuantity `json:"currencyPaid"` // The date at which this receipt is rendered invalid. ExpiresOn Timestamp `json:"expiresOn"` // The item that was received, and its quantity. ItemReceived ItemQuantity `json:"itemReceived"` // The unlock flag used to determine whether you still have the purchased item. LicenseUnlockHash uint32 `json:"licenseUnlockHash"` // The ID of the character who made the purchase. PurchasedByCharacterID Int64 `json:"purchasedByCharacterId"` // Whether you can get a refund, and what happens in order for the refund to be received. See the // DestinyVendorItemRefundPolicy enum for details. RefundPolicy VendorItemRefundPolicy `json:"refundPolicy"` // The identifier of this receipt. SequenceNumber int32 `json:"sequenceNumber"` // The seconds since epoch at which this receipt is rendered invalid. TimeToExpiration Int64 `json:"timeToExpiration"` }
Destiny.Vendors.DestinyVendorReceipt
If a character purchased an item that is refundable, a Vendor Receipt will be created on the user's Destiny Profile. These expire after a configurable period of time, but until then can be used to get refunds on items. BNet does not provide the ability to refund a purchase *yet*, but you know.
type VendorReceiptsComponent ¶
type VendorReceiptsComponent struct { // The receipts for refundable purchases made at a vendor. Receipts []VendorReceipt `json:"receipts"` }
Destiny.Entities.Profiles.DestinyVendorReceiptsComponent
For now, this isn't used for much: it's a record of the recent refundable purchases that the user has made. In the future, it could be used for providing refunds/buyback via the API. Wouldn't that be fun?
type VendorReplyType ¶
type VendorReplyType int32
Destiny.DestinyVendorReplyType
This determines the type of reply that a Vendor will have during an Interaction.
func (VendorReplyType) Enum ¶
func (e VendorReplyType) Enum() string
type VendorRequirementDisplayEntryDefinition ¶
type VendorRequirementDisplayEntryDefinition struct { Icon string `json:"icon"` Name string `json:"name"` Source string `json:"source"` Type string `json:"type"` }
Destiny.Definitions.DestinyVendorRequirementDisplayEntryDefinition
The localized properties of the requirementsDisplay, allowing information about the requirement or item being featured to be seen.
func (VendorRequirementDisplayEntryDefinition) DefinitionTable ¶
func (d VendorRequirementDisplayEntryDefinition) DefinitionTable() string
type VendorResponse ¶
type VendorResponse struct { // Categories that the vendor has available, and references to the sales therein. // COMPONENT TYPE: VendorCategories Categories ComponentResponse[VendorCategoriesComponent] `json:"categories"` // A "lookup" convenience component that can be used to quickly check if the character has access to // items that can be used for purchasing. // COMPONENT TYPE: CurrencyLookups CurrencyLookups ComponentResponse[CurrenciesComponent] `json:"currencyLookups"` // Item components, keyed by the vendorItemIndex of the active sale items. // COMPONENT TYPE: [See inside the DestinyItemComponentSet contract for component types.] ItemComponents ItemComponentSet[int32] `json:"itemComponents"` // Sales, keyed by the vendorItemIndex of the item being sold. // COMPONENT TYPE: VendorSales Sales ComponentResponse[map[int32]VendorSaleItemComponent] `json:"sales"` // A map of string variable values by hash for this character context. // COMPONENT TYPE: StringVariables StringVariables ComponentResponse[StringVariablesComponent] `json:"stringVariables"` // The base properties of the vendor. // COMPONENT TYPE: Vendors Vendor ComponentResponse[VendorComponent] `json:"vendor"` }
Destiny.Responses.DestinyVendorResponse
A response containing all of the components for a vendor.
type VendorSaleItemActionBlockDefinition ¶
type VendorSaleItemActionBlockDefinition struct { ExecuteSeconds float64 `json:"executeSeconds"` IsPositive bool `json:"isPositive"` }
Destiny.Definitions.DestinyVendorSaleItemActionBlockDefinition
Not terribly useful, some basic cooldown interaction info.
func (VendorSaleItemActionBlockDefinition) DefinitionTable ¶
func (d VendorSaleItemActionBlockDefinition) DefinitionTable() string
type VendorSaleItemBaseComponent ¶
type VendorSaleItemBaseComponent struct { // If true, this item can be purchased through the Bungie.net API. ApiPurchasable Nullable[bool] `json:"apiPurchasable,omitempty"` // A summary of the current costs of the item. Costs []ItemQuantity `json:"costs"` // The hash of the item being sold, as a quick shortcut for looking up the // DestinyInventoryItemDefinition of the sale item. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If this item has its own custom date where it may be removed from the Vendor's rotation, this is // that date. // Note that there's not actually any guarantee that it will go away: it could be chosen again and end // up still being in the Vendor's sale items! But this is the next date where that test will occur, and // is also the date that the game shows for availability on things like Bounties being sold. So it's // the best we can give. OverrideNextRefreshDate Nullable[Timestamp] `json:"overrideNextRefreshDate,omitempty"` // If populated, this is the hash of the item whose icon (and other secondary styles, but *not* the // human readable strings) should override whatever icons/styles are on the item being sold. // If you don't do this, certain items whose styles are being overridden by socketed items - such as // the "Recycle Shader" item - would show whatever their default icon/style is, and it wouldn't be // pretty or look accurate. OverrideStyleItemHash Nullable[Hash[InventoryItemDefinition]] `json:"overrideStyleItemHash,omitempty"` // How much of the item you'll be getting. Quantity int32 `json:"quantity"` // The index into the DestinyVendorDefinition.itemList property. Note that this means Vendor data *is* // Content Version dependent: make sure you have the latest content before you use Vendor data, or // these indexes may mismatch. // Most systems avoid this problem, but Vendors is one area where we are unable to reasonably avoid // content dependency at the moment. VendorItemIndex int32 `json:"vendorItemIndex"` }
Destiny.Components.Vendors.DestinyVendorSaleItemBaseComponent
The base class for Vendor Sale Item data. Has a bunch of character-agnostic state about the item being sold. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property.
type VendorSaleItemComponent ¶
type VendorSaleItemComponent struct { // If true, this item can be purchased through the Bungie.net API. ApiPurchasable Nullable[bool] `json:"apiPurchasable,omitempty"` // A flags enumeration value representing the current state of any "state modifiers" on the item being // sold. These are meant to correspond with some sort of visual indicator as to the augmentation: for // instance, if an item is on sale or if you already own the item in question. // Determining how you want to represent these in your own app (or if you even want to) is an exercise // left for the reader. Augments BitmaskSet[VendorItemState] `json:"augments"` // A summary of the current costs of the item. Costs []ItemQuantity `json:"costs"` // Indexes in to the "failureStrings" lookup table in DestinyVendorDefinition for the given Vendor. // Gives some more reliable failure information for why you can't purchase an item. // It is preferred to use these over requiredUnlocks and unlockStatuses: the latter are provided mostly // in case someone can do something interesting with it that I didn't anticipate. FailureIndexes []int32 `json:"failureIndexes"` // The hash of the item being sold, as a quick shortcut for looking up the // DestinyInventoryItemDefinition of the sale item. ItemHash Hash[InventoryItemDefinition] `json:"itemHash"` // If available, a list that describes which item values (rewards) should be shown (true) or hidden // (false). ItemValueVisibility []bool `json:"itemValueVisibility"` // If this item has its own custom date where it may be removed from the Vendor's rotation, this is // that date. // Note that there's not actually any guarantee that it will go away: it could be chosen again and end // up still being in the Vendor's sale items! But this is the next date where that test will occur, and // is also the date that the game shows for availability on things like Bounties being sold. So it's // the best we can give. OverrideNextRefreshDate Nullable[Timestamp] `json:"overrideNextRefreshDate,omitempty"` // If populated, this is the hash of the item whose icon (and other secondary styles, but *not* the // human readable strings) should override whatever icons/styles are on the item being sold. // If you don't do this, certain items whose styles are being overridden by socketed items - such as // the "Recycle Shader" item - would show whatever their default icon/style is, and it wouldn't be // pretty or look accurate. OverrideStyleItemHash Nullable[Hash[InventoryItemDefinition]] `json:"overrideStyleItemHash,omitempty"` // How much of the item you'll be getting. Quantity int32 `json:"quantity"` // If you can't buy the item due to a complex character state, these will be hashes for // DestinyUnlockDefinitions that you can check to see messages regarding the failure (if the unlocks // have human readable information: it is not guaranteed that Unlocks will have human readable strings, // and your application will have to handle that) // Prefer using failureIndexes instead. These are provided for informational purposes, but have largely // been supplanted by failureIndexes. RequiredUnlocks []uint32 `json:"requiredUnlocks"` // A flag indicating whether the requesting character can buy the item, and if not the reasons why the // character can't buy it. SaleStatus BitmaskSet[VendorItemStatus] `json:"saleStatus"` // If any complex unlock states are checked in determining purchasability, these will be returned here // along with the status of the unlock check. // Prefer using failureIndexes instead. These are provided for informational purposes, but have largely // been supplanted by failureIndexes. UnlockStatuses []UnlockStatus `json:"unlockStatuses"` // The index into the DestinyVendorDefinition.itemList property. Note that this means Vendor data *is* // Content Version dependent: make sure you have the latest content before you use Vendor data, or // these indexes may mismatch. // Most systems avoid this problem, but Vendors is one area where we are unable to reasonably avoid // content dependency at the moment. VendorItemIndex int32 `json:"vendorItemIndex"` }
Destiny.Entities.Vendors.DestinyVendorSaleItemComponent
Request this component if you want the details about an item being sold in relation to the character making the request: whether the character can buy it, whether they can afford it, and other data related to purchasing the item. Note that if you want instance, stats, etc... data for the item, you'll have to request additional components such as ItemInstances, ItemPerks etc... and acquire them from the DestinyVendorResponse's "items" property.
type VendorServiceDefinition ¶
type VendorServiceDefinition struct { // The localized name of a service provided. Name string `json:"name"` }
Destiny.Definitions.DestinyVendorServiceDefinition
When a vendor provides services, this is the localized name of those services.
func (VendorServiceDefinition) DefinitionTable ¶
func (d VendorServiceDefinition) DefinitionTable() string
type VendorsResponse ¶
type VendorsResponse struct { // Categories that the vendor has available, and references to the sales therein. These are keyed by // the Vendor Hash, so you will get one Categories Component per vendor returned. // COMPONENT TYPE: VendorCategories Categories ComponentResponse[map[uint32]VendorCategoriesComponent] `json:"categories"` // A "lookup" convenience component that can be used to quickly check if the character has access to // items that can be used for purchasing. // COMPONENT TYPE: CurrencyLookups CurrencyLookups ComponentResponse[CurrenciesComponent] `json:"currencyLookups"` // The set of item detail components, one set of item components per Vendor. These are keyed by the // Vendor Hash, so you will get one Item Component Set per vendor returned. // The components contained inside are themselves keyed by the vendorSaleIndex, and will have whatever // item-level components you requested (Sockets, Stats, Instance data etc...) per item being sold by // the vendor. ItemComponents map[uint32]ItemComponentSet[int32] `json:"itemComponents"` // Sales, keyed by the vendorItemIndex of the item being sold. These are keyed by the Vendor Hash, so // you will get one Sale Item Set Component per vendor returned. // Note that within the Sale Item Set component, the sales are themselves keyed by the vendorSaleIndex, // so you can relate it to the corrent sale item definition within the Vendor's definition. // COMPONENT TYPE: VendorSales Sales ComponentResponse[map[uint32]PersonalDestinyVendorSaleItemSetComponent] `json:"sales"` // A map of string variable values by hash for this character context. // COMPONENT TYPE: StringVariables StringVariables ComponentResponse[StringVariablesComponent] `json:"stringVariables"` // For Vendors being returned, this will give you the information you need to group them and order them // in the same way that the Bungie Companion app performs grouping. It will automatically be returned // if you request the Vendors component. // COMPONENT TYPE: Vendors VendorGroups ComponentResponse[VendorGroupComponent] `json:"vendorGroups"` // The base properties of the vendor. These are keyed by the Vendor Hash, so you will get one Vendor // Component per vendor returned. // COMPONENT TYPE: Vendors Vendors ComponentResponse[map[uint32]VendorComponent] `json:"vendors"` }
Destiny.Responses.DestinyVendorsResponse
A response containing all of the components for all requested vendors.