destiny2

package module
v1.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 13, 2022 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	Membership_None BungieMembershipType = 0
	TigerXbox                            = 1
	TigerPSN                             = 2
	TigerSteam                           = 3
	TigerBlizzard                        = 4
	TigerStadia                          = 5
	TigerDemon                           = 10
	BungieNext                           = 254
	Membership_All                       = -1 // Membership_All is only valid for searching capabilities.
)
View Source
const (
	Progression_Account               ProgressionScope = 0
	Progression_Character                              = 1
	Progression_Clan                                   = 2
	Progression_Item                                   = 3
	Progression_ImplicitFromEquipment                  = 4
	Progression_Mapped                                 = 5
	Progression_MappedAggregate                        = 6
	Progression_MappedStat                             = 7
	Progression_MappedUnlockValue                      = 8
)
View Source
const (
	ProgressionStepDisplay_None      ProgressionStepDisplayEffect = 0
	ProgressionStepDisplay_Character                              = 1
	ProgressionStepDisplay_Item                                   = 2
)
View Source
const (
	ItemTier_Unknown  ItemTier = 0
	ItemTier_Currency          = 1
	ItemTier_Basic             = 2
	ItemTier_Common            = 3
	ItemTier_Rare              = 4
	ItemTier_Superior          = 5
	ItemTier_Exotic            = 6
)
View Source
const (
	BucketCategory_Invisible  BucketCategory = 0
	BucketCategory_Item                      = 1
	BucketCategory_Currency                  = 2
	BucketCategory_Equippable                = 3
	BucketCategory_Ignored                   = 4
)
View Source
const (
	ItemLocation_Unknown    ItemLocation = 0
	ItemLocation_Inventory               = 1
	ItemLocation_Vault                   = 2
	ItemLocation_Vendor                  = 3
	ItemLocation_Postmaster              = 4
)
View Source
const (
	// CharacterAverage applies a weighted average using stat grouping and items equipped on a character.
	StatAggregation_CharacterAverage StatAggregationType = 0
	StatAggregation_Character                            = 1 // Use only the character's stat grouping.
	StatAggregation_Item                                 = 2 // Use only the character's equipped items.
)
View Source
const (
	StatCategory_Gameplay StatCategory = 0
	StatCategory_Weapon                = 1
	StatCategory_Defense               = 2
	StatCategory_Primary               = 3
)
View Source
const (
	Ammunition_None    AmmunitionType = 0
	Ammunition_Primary                = 1
	Ammunition_Special                = 2
	Ammunition_Heavy                  = 3
	Ammunition_Unknown                = 4
)
View Source
const (
	// Default is vendor rank progression from token redemption.
	VendorProgression_Default VendorProgressionType = 0
	// Rank progressions from ritual/playlist content such as Crucible, Gambit and Battlegrounds.
	VendorProgression_Ritual = 1
	// Rank progressions that cannot be reset in a given seasons, such as Xur in the Eternity destination.
	VendorProgression_NoSeasonalRefresh = 2
)
View Source
const (
	VendorSelection_None VendorInteractionRewardSelection = 0
	VendorSelection_One                                   = 1
	VendorSelection_All                                   = 2
)
View Source
const (
	VendorReply_Accept   VendorReplyType = 0
	VendorReply_Decline                  = 1
	VendorReply_Complete                 = 2
)
View Source
const (
	VendorInteraction_Unknown VendorInteractionType = 0
	// An empty interaction. If this ends up in content, it is probably a game bug.
	VendorInteraction_Undefined = 1
	// An interaction shown when you complete a quest and receive a reward.
	VendorInteraction_QuestComplete = 2
	// An interaction shown when you talk to a Vendor as an intermediary step of a quest.
	VendorInteraction_QuestContinue = 3
	// An interaction shown when you are previewing the vendor's reputation rewards.
	VendorInteraction_ReputationPreview = 4
	// An interaction shown when you rank up with the vendor.
	VendorInteraction_RankUpReward = 5
	// An interaction shown when you have tokens to turn in for the vendor.
	VendorInteraction_TokenTurnin = 6
	// An interaction shown when you're accepting a new quest.
	VendorInteraction_QuestAccept = 7
	VendorInteraction_ProgressTab = 8
	VendorInteraction_End         = 9
	VendorInteraction_Start       = 10
)
View Source
const (
	RefundPolicy_NotRefundable  VendorItemRefundPolicy = 0
	RefundPolicy_DeletesItem                           = 1
	RefundPolicy_RevokesLicense                        = 2
)
View Source
const (
	// No gating on this item.
	Gating_None GatingScope = 0
	// Gating on this item is based on global game state. It will be gated the same for everyone.
	Gating_Global = 1
	// Gating on this item is at the Clan level.
	Gating_Clan = 2
	// Gating includes Profile-specific checks, but not on the Profile's characters.
	Gating_Profile = 3
	// Gating includes Character-specific checks, including character level restrictions.
	Gating_Character = 4
	// Gating includes item-specific checks.
	Gating_Item = 5
	// Gating unlocks and checks are unknown.
	Gating_AssumedWorstCase = 6
)
View Source
const (
	InsertPlug         SocketTypeActionType = 0
	InfuseItem                              = 1
	ReinitializeSocket                      = 2
)
View Source
const (
	SocketVisibility_Visible                  SocketVisibility = 0
	SocketVisibility_Hidden                                    = 1
	SocketVisibility_HiddenWhenEmpty                           = 2
	SocketVisibility_HiddenIfNoPlugsAvailable                  = 3
)
View Source
const (
	SocketCategory_Unknown     SocketCategoryStyle = 0
	SocketCategory_Reusable                        = 1
	SocketCategory_Consumable                      = 2
	SocketCategory_Unlockable                      = 3
	SocketCategory_Intrinsic                       = 4
	SocketCategory_EnergyMeter                     = 5
	SocketCategory_LargePerk                       = 6
	SocketCategory_Abilities                       = 7
	SocketCategory_Supers                          = 8
)
View Source
const (
	ActivityHighlight_None       ActivityGraphNodeHighlightType = 0
	ActivityHighlight_Normal                                    = 1
	ActivityHighlight_Hyper                                     = 2
	ActivityHighlight_Comet                                     = 3
	ActivityHighlight_RiseOfIron                                = 4
)
View Source
const (
	// Automatic means just show the number.
	UnlockValue_Automatic          UnlockValueUIStyle = 0
	UnlockValue_Fraction                              = 1  // Show the number as a fractional value; this is relative to the context-specific upper bound.
	UnlockValue_Checkbox                              = 2  // Show the number as a checkbox.
	UnlockValue_Percentage                            = 3  // Show the number as a percentage; this is relative to the context-specific upper bound.
	UnlockValue_DateTime                              = 4  // Show the number as a date and time; the given number number of seconds since the Unix Epoch.
	UnlockValue_FractionFloat                         = 5  // Show the number as a floating point value that represents a fraction; this is relative to the context-specific upper bound.
	UnlockValue_Integer                               = 6  // Show the number as an integer.
	UnlockValue_TimeDuration                          = 7  // Show the number as a time duration in seconds.
	UnlockValue_Hidden                                = 8  // Don't show the value.
	UnlockValue_Multiplier                            = 9  // Show the value as a multiplier in context, such as "1.5x".
	UnlockValue_GreenPips                             = 10 // Show the value as a series of green pips, like wins on a Trials Card.
	UnlockValue_RedPips                               = 11 // Show the value as a series of red pips, like losses on a Trials Card.
	UnlockValue_ExplicitPercentage                    = 12 // Show the value as a percentage, by appending a %-sign.
	UnlockValue_RawFloat                              = 13 // Show the value as a floating-point number with two-decimal precision.
)
View Source
const (
	Objective_WhenIncomplete ObjectiveGrantStyle = 0
	Objective_WhenComplete                       = 1
	Objective_Always                             = 2
)
View Source
const (
	DamageType_None    DamageType = 0
	DamageType_Kinetic            = 1
	DamageType_Arc                = 2
	DamageType_Thermal            = 3
	DamageType_Void               = 4
	DamageType_Raid               = 5
	DamageType_Stasis             = 6
)
View Source
const (
	TalentWeaponPerformance_None                  TalentNodeStepWeaponPerformances = 0
	TalentWeaponPerformance_RateOfFire                                             = 1
	TalentWeaponPerformance_Damage                                                 = 2
	TalentWeaponPerformance_Accuracy                                               = 4
	TalentWeaponPerformance_Range                                                  = 8
	TalentWeaponPerformance_Zoom                                                   = 16
	TalentWeaponPerformance_Recoil                                                 = 32
	TalentWeaponPerformance_Ready                                                  = 64
	TalentWeaponPerformance_Reload                                                 = 128
	TalentWeaponPerformance_HairTrigger                                            = 256
	TalentWeaponPerformance_AmmoAndMagazine                                        = 512
	TalentWeaponPerformance_TrackingAndDetonation                                  = 1024
	TalentWeaponPerformance_ShotgunSpread                                          = 2048
	TalentWeaponPerformance_ChargeTime                                             = 4096
	TalentWeaponPerformance_All                                                    = 8191
)
View Source
const (
	TalentImpactEffect_None             TalentNodeStepImpactEffects = 0
	TalentImpactEffect_ArmorPiercing                                = 1
	TalentImpactEffect_Ricochet                                     = 2
	TalentImpactEffect_Flinch                                       = 4
	TalentImpactEffect_CollateralDamage                             = 8
	TalentImpactEffect_Disorient                                    = 16
	TalentImpactEffect_HighlightTarget                              = 32
	TalentImpactEffect_All                                          = 63
)
View Source
const (
	TalentNodeStepGuardianAttribute_None         TalentNodeStepGuardianAttributes = 0
	TalentNodeStepGuardianAttribute_Stats                                         = 1
	TalentNodeStepGuardianAttribute_Shields                                       = 2
	TalentNodeStepGuardianAttribute_Health                                        = 4
	TalentNodeStepGuardianAttribute_Revive                                        = 8
	TalentNodeStepGuardianAttribute_AimUnderFire                                  = 16
	TalentNodeStepGuardianAttribute_Radar                                         = 32
	TalentNodeStepGuardianAttribute_Invisibility                                  = 64
	TalentNodeStepGuardianAttribute_Reputations                                   = 128
	TalentNodeStepGuardianAttribute_All                                           = 255
)
View Source
const (
	TalentLightAbility_None          TalentNodeStepLightAbilities = 0
	TalentLightAbility_Grenades                                   = 1
	TalentLightAbility_Melee                                      = 2
	TalentLightAbility_MovementModes                              = 4
	TalentLightAbility_Orbs                                       = 8
	TalentLightAbility_SuperEnergy                                = 16
	TalentLightAbility_SuperMods                                  = 32
	TalentLightAbility_All                                        = 63
)
View Source
const (
	TalentNodeStepDamageType_None    TalentNodeStepDamageTypes = 0
	TalentNodeStepDamageType_Kinetic                           = 1
	TalentNodeStepDamageType_Arc                               = 2
	TalentNodeStepDamageType_Solar                             = 4
	TalentNodeStepDamageType_Void                              = 8
	TalentNodeStepDamageType_All                               = 15
)
View Source
const (
	ActivityMode_None                    ActivityModeType = 0
	ActivityMode_Story                                    = 2
	ActivityMode_Strike                                   = 3
	ActivityMode_Raid                                     = 4
	ActivityMode_AllPvP                                   = 5
	ActivityMode_Patrol                                   = 6
	ActivityMode_AllPvE                                   = 7
	Reserved9                                             = 9
	ActivityMode_Control                                  = 10
	Reserved11                                            = 11
	ActivityMode_Clash                                    = 12
	Reserved13                                            = 13
	ActivityMode_CrimsonDoubles                           = 15
	ActivityMode_Nightfall                                = 16
	ActivityMode_HeroicNightfall                          = 17
	ActivityMode_AllStrikes                               = 18
	ActivityMode_IronBanner                               = 19
	Reserved20                                            = 20
	Reserved21                                            = 21
	Reserved22                                            = 22
	Reserved24                                            = 24
	ActivityMode_AllMayhem                                = 25
	ActivityMode_Supremacy                                = 31
	Reserved26                                            = 26
	Reserved27                                            = 27
	Reserved28                                            = 28
	Reserved29                                            = 29
	Reserved30                                            = 30
	ActivityMode_PrivateMatchesAll                        = 32
	ActivityMode_Survival                                 = 37
	ActivityMode_Countdown                                = 38
	ActivityMode_TrialsOfTheNine                          = 39
	ActivityMode_Social                                   = 40
	ActivityMode_TrialsCountdown                          = 41
	ActivityMode_TrialsSurvival                           = 42
	ActivityMode_IronBannerControl                        = 43
	ActivityMode_IronBannerClash                          = 44
	ActivityMode_IronBannerSupremacy                      = 45
	ActivityMode_ScoredNightfall                          = 46
	ActivityMode_ScoredHeroicNightfall                    = 47
	ActivityMode_Rumble                                   = 48
	ActivityMode_AllDoubles                               = 49
	ActivityMode_Doubles                                  = 50
	ActivityMode_PrivateMatchesClash                      = 51
	ActivityMode_PrivateMatchesControl                    = 52
	ActivityMode_PrivateMatchesSupremacy                  = 53
	ActivityMode_PrivateMatchesCountdown                  = 54
	ActivityMode_PrivateMatchesSurvival                   = 55
	ActivityMode_PrivateMatchesMayhem                     = 56
	ActivityMode_PrivateMatchesRumble                     = 57
	ActivityMode_HeroicAdventure                          = 58
	ActivityMode_Showdown                                 = 59
	ActivityMode_Lockdown                                 = 60
	ActivityMode_Scorched                                 = 61
	ActivityMode_ScorchedTeam                             = 62
	ActivityMode_Gambit                                   = 63
	ActivityMode_AllPvEEcompetitive                       = 64
	ActivityMode_Breakthrough                             = 65
	ActivityMode_BlackArmoryRun                           = 66
	ActivityMode_Salvage                                  = 67
	ActivityMode_IronBannerSalvage                        = 68
	ActivityMode_PvPCompetitive                           = 69
	ActivityMode_PvPQuickplay                             = 70
	ActivityMode_ClashQuickplay                           = 71
	ActivityMode_ClashCompetitive                         = 72
	ActivityMode_ControlQuickplay                         = 73
	ActivityMode_ControlCompetitive                       = 74
	ActivityMode_GambitPrime                              = 75
	ActivityMode_Reckoning                                = 76
	ActivityMode_Menagerie                                = 77
	ActivityMode_VexOffensive                             = 78
	ActivityMode_NightmareHunt                            = 79
	ActivityMode_Elimination                              = 80
	ActivityMode_Momentum                                 = 81
	ActivityMode_Dungeon                                  = 82
	ActivityMode_Sundial                                  = 83
	ActivityMode_TrialsOfOsiris                           = 84
	ActivityMode_Dares                                    = 85
)
View Source
const (
	ActivityNavPoint_Inactive             ActivityNavPointType = 0
	ActivityNavPoint_PrimaryObjective                          = 1
	ActivityNavPoint_SecondaryObjective                        = 2
	ActivityNavPoint_TravelObjective                           = 3
	ActivityNavPoint_PublicEventObjective                      = 4
	ActivityNavPoint_AmmoCache                                 = 5
	ActivityNavPoint_PointTypeFlag                             = 6
	ActivityNavPoint_CapturePoint                              = 7
	ActivityNavPoint_DefensiveEncounter                        = 8
	ActivityNavPoint_GhostInteraction                          = 9
	ActivityNavPoint_KillAI                                    = 10
	ActivityNavPoint_QuestItem                                 = 11
	ActivityNavPoint_PatrolMission                             = 12
	ActivityNavPoint_Incoming                                  = 13
	ActivityNavPoint_ArenaObjective                            = 14
	ActivityNavPoint_AutomationHint                            = 15
	ActivityNavPoint_TrackedQuest                              = 16
)
View Source
const (
	ActivityCategory_None           ActivityModeCategory = 0
	ActivityCategory_PvE                                 = 1
	ActivityCategory_PvP                                 = 2
	ActivityCategory_PvECompetitive                      = 3
)
View Source
const (
	SubType_None                  ItemSubType = 0
	SubType_Crucible                          = 1 // Deprecated. An item can both be "Crucible" and another subtype.
	SubType_Vanguard                          = 2 // Deprecated. An item can both be "Vanguard" and another subtype.
	SubType_Exotic                            = 5 // Deprecated. An item can both be Exotic and another subtype.
	SubType_AutoRifle                         = 6
	SubType_Shotgun                           = 7
	SubType_Machinegun                        = 8
	SubType_HandCannon                        = 9
	SubType_RocketLauncher                    = 10
	SubType_FusionRifle                       = 11
	SubType_SniperRifle                       = 12
	SubType_PulseRifle                        = 13
	SubType_ScoutRifle                        = 14
	SubType_CRM                               = 16 // Deprecated. An item can both be CRM and another subtype
	SubType_Sidearm                           = 17
	SubType_Sword                             = 18
	SubType_Mask                              = 19
	SubType_Shader                            = 20
	SubType_Ornament                          = 21
	SubType_FusionRifleLine                   = 22
	SubType_GrenadeLauncher                   = 23
	SubType_SubmachineGun                     = 24
	SubType_TraceRifle                        = 25
	SubType_HelmetArmor                       = 26
	SubType_GauntletsArmor                    = 27
	SubType_ChestArmor                        = 28
	SubType_LegArmor                          = 29
	SubType_ClassArmor                        = 30
	SubType_Bow                               = 31
	SubType_DummyRepeatableBounty             = 32
)
View Source
const (
	GraphNode_None       GraphNodeState = 0
	GraphNode_Visible                   = 1
	GraphNode_Teaser                    = 2
	GraphNode_Incomplete                = 3
	GraphNode_Completed                 = 4
)
View Source
const (
	// None indicates that the reward source doesn't fit into the other categories.
	RewardSource_None RewardSourceCategory = 0
	// Rewards gained by playing an activity or set of activities, including quests and other in-game actions.
	RewardSource_Activity = 1
	// Rewards sold by vendors.
	RewardSource_Vendor = 2
	// Aggregate rewards can be gained in multiple ways.
	RewardSource_Aggregate = 3
)
View Source
const (
	PresentationNode_Default      PresentationNodeType = 0
	PresentationNode_Category                          = 1
	PresentationNode_Collectibles                      = 2
	PresentationNode_Records                           = 3
	PresentationNode_Metric                            = 4
)
View Source
const (
	PresentationDisplay_Category    PresentationDisplayStyle = 0
	PresentationDisplay_Badge                                = 1
	PresentationDisplay_Medals                               = 2
	PresentationDisplay_Collectible                          = 3
	PresentationDisplay_Record                               = 4
)
View Source
const (
	RecordValue_Integer      RecordValueStyle = 0
	RecordValue_Percentage                    = 1
	RecordValue_Milliseconds                  = 2
	RecordValue_Boolean                       = 3
	RecordValue_Decimal                       = 4
)
View Source
const (
	Gender_Male    Gender = 0
	Gender_Female         = 1
	Gender_Unknown        = 2
)
View Source
const (
	RecordToast_None                    RecordToastStyle = 0
	RecordToast_Record                                   = 1
	RecordToast_Lore                                     = 2
	RecordToast_Badge                                    = 3
	RecordToast_MetaRecord                               = 4
	RecordToast_MedalComplete                            = 5
	RecordToast_SeasonChallengeComplete                  = 6
	RecordToast_GildedTitleComplete                      = 7
)
View Source
const (
	PresentationScreen_Default      PresentationScreenStyle = 0
	PresentationScreen_CategorySets                         = 1
	PresentationScreen_Badge                                = 2
)
View Source
const (
	// Normal means that all existing rules for plug insertion apply.
	PlugAvailability_Normal PlugAvailabilityMode = 0
	// UnavailableIfSocketContainsMatchingPlugCategory means that the plug is only
	// available if the socket does NOT match the plug category.
	PlugAvailability_UnavailableIfSocketContainsMatchingPlugCategory = 1
	// AvailableIfSocketContainsMatchingPlugCategory means that the plug is only
	// available if the socket DOES match the plug category.
	PlugAvailability_AvailableIfSocketContainsMatchingPlugCategory = 2
)
View Source
const (
	EnergyType_Any      EnergyType = 0
	EnergyType_Arc                 = 1
	EnergyType_Thermal             = 2
	EnergyType_Void                = 3
	EnergyType_Ghost               = 4
	EnergyType_Subclass            = 5
	EnergyType_Stasis              = 6
)
View Source
const (
	// None means there's no way to detect whether a new plug can be inserted.
	SocketPlug_None SocketPlugSources = 0
	// InventorySourced plugs are found in a player's inventory.
	SocketPlug_InventorySourced  = 1
	SocketPlug_ReusablePlugItems = 2
	SocketPlug_ProfilePlugSet    = 3
	SocketPlug_CharacterPlugSet  = 4
)
View Source
const (
	ItemPerk_Visible  ItemPerkVisibility = 0
	ItemPerk_Disabled                    = 1
	ItemPerk_Hidden                      = 2
)
View Source
const (
	SpecialItem_None             SpecialItemType = 0
	SpecialItem_SpecialCurrency                  = 1
	SpecialItem_Armor                            = 8
	SpecialItem_Weapon                           = 9
	SpecialItem_Engram                           = 23
	SpecialItem_Consumable                       = 24
	SpecialItem_ExchangeMaterial                 = 25
	SpecialItem_MissionReward                    = 27
	SpecialItem_Currency                         = 29
)
View Source
const (
	Item_None              ItemType = 0
	Item_Currency                   = 1
	Item_Armor                      = 2
	Item_Weapon                     = 3
	Item_Message                    = 7
	Item_Engram                     = 8
	Item_Consumable                 = 9
	Item_ExchangeMaterial           = 10
	Item_MissionReward              = 11
	Item_QuestStep                  = 12
	Item_QuestStepComplete          = 13
	Item_Emblem                     = 14
	Item_Quest                      = 15
	Item_Subclass                   = 16
	Item_ClanBanner                 = 17
	Item_Aura                       = 18
	Item_Mod                        = 19
	Item_Dummy                      = 20
	Item_Ship                       = 21
	Item_Vehicle                    = 22
	Item_Emote                      = 23
	Item_Ghost                      = 24
	Item_Package                    = 25
	Item_Bounty                     = 26
	Item_Wrapper                    = 27
	Item_SeasonalArtifact           = 28
	Item_Finisher                   = 29
)
View Source
const (
	Class_Titan   Class = 0
	Class_Hunter        = 1
	Class_Warlock       = 2
	Class_Unknown       = 3
)
View Source
const (
	BreakerType_None           BreakerTypeEnum = 0
	BreakerType_ShieldPiercing                 = 1
	BreakerType_Disruption                     = 2
	BreakerType_Stagger                        = 3
)
View Source
const (
	PresentationState_None      PresentationNodeState = 0
	PresentationState_Invisible                       = 1
	PresentationState_Obscured                        = 2
)
View Source
const (
	Race_Human   Race = 0
	Race_Awoken       = 1
	Race_Exo          = 2
	Race_Unknown      = 3
)
View Source
const (
	Milestone_Unknown  MilestoneType = 0
	Milestone_Tutorial               = 1 // One-time milestones that are specifically oriented toward teaching players about new mechanics and gameplay modes.
	Milestone_OneTime                = 2 // Milestones that, once completed a single time, can never be repeated.
	Milestone_Weekly                 = 3 // Milestones that repeat/reset on a weekly basis.
	Milestone_Daily                  = 4 // Milestones that repeat or reset on a daily basis.
	Milestone_Special                = 5 // Special indicates that the event is not on a daily/weekly cadence, but does occur more than once.
)
View Source
const (
	// Display properties of MileStoneEntity should be shown.
	MilestoneDisplay_MilestoneDefinition MilestoneDisplayPreference = 0
	// Display properties for currently active quest steps should be shown.
	MilestoneDisplay_CurrentQuestSteps = 1
	// Display properties for activities should be shown.
	MilestoneDisplay_CurrentActivityChallenges = 2
)
View Source
const (
	ActivityDifficulty_Trivial          ActivityDifficultyTier = 0
	ActivityDifficulty_Easy                                    = 1
	ActivityDifficulty_Normal                                  = 2
	ActivityDifficulty_Challenging                             = 3
	ActivityDifficulty_Hard                                    = 4
	ActivityDifficulty_Brave                                   = 5
	ActivityDifficulty_AlmostImpossible                        = 6
	ActivityDifficulty_Impossible                              = 7
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ActivityChallenge

type ActivityChallenge struct {
	// ObjectiveHash is the hash of a related ObjectiveEntity.
	ObjectiveHash uint32
	// DummyRewards are the rewards for this challenge as shown in the UI.
	DummyRewards []ItemQuantity
}

ActivityChallenge represents a reference to a challenge objective.

type ActivityDefinition

type ActivityDefinition map[uint32]ActivityEntity

ActivityDefinition is the contract for all Destiny.Definitions.DestinyActivityDefinition entities.

func (ActivityDefinition) Entity

func (def ActivityDefinition) Entity(entityHash uint32) interface{}

func (ActivityDefinition) Name

func (ActivityDefinition) Name() string

func (ActivityDefinition) Reference

func (ActivityDefinition) Reference() string

func (*ActivityDefinition) Unmarshal

func (def *ActivityDefinition) Unmarshal(data []byte) error

type ActivityDifficultyTier added in v1.1.0

type ActivityDifficultyTier int32

ActivityDifficultyTier describes the difficulty tiers for activities.

type ActivityEntity

type ActivityEntity struct {
	// DisplayProperties are the post-processed display properties for this activity.
	DisplayProperties DisplayProperties
	// OriginalDisplayProperties are the unprocessed display properties for this activity.
	OriginalDisplayProperties DisplayProperties
	// SelectionScreenDisplayProperties are the display properties shown in the selection screen for this activity.
	SelectionScreenDisplayProperties DisplayProperties
	// ReleaseIcon is an icon associated with this activity for a specific content release.
	ReleaseIcon string
	// ReleaseTime is when this activity is visible, in seconds.
	ReleaseTime int32
	// ActivityLightLevel is the recommended light level for this activity.
	ActivityLightLevel int32
	// DestinationHash is the hash for a related DestinationEntity.
	DestinationHash uint32
	// PlaceHash is the hash for a related PlaceEntity.
	PlaceHash uint32
	// ActivityTypeHash is the hash for related ActivityTypeEntity.
	ActivityTypeHash uint32
	// Tier is the difficulty of this activity.
	Tier ActivityDifficultyTier
	// PGCRImage is the image that shows the Post-Game Carnage Report for this activity.
	PgcrImage string
	// Rewards are the possible rewards for this activity.
	Rewards []ActivityReward
	// Modifiers are the modifiers that can be applied to this activity.
	Modifiers []ActivityModifierReference
	// IsPlaylist determines if this activity is in a activity mode's playlist.
	IsPlaylist bool
	// Challenges are the challenges applied to this activity.
	Challenges []ActivityChallenge
	// OptionalUnlockStrings are the statuses related to this activity.
	OptionalUnlockStrings []ActivityUnlockString
	// PlaylistItems represent all the this activity in this playlist activity.
	PlaylistItems []ActivityPlaylistItem
	// ActivityGraphList are the maps to show in the director during this activity.
	ActivityGraphList []ActivityGraphListEntry
	// Matchmaking describes how many people can join an activity and if matchmaking is enabled.
	Matchmaking ActivityMatchmakingBlock
	// GuidedGame provides information about the guided game experience for this activity.
	GuidedGame ActivityGuidedBlock
	// DirectActivityModeHash is the hash of a related ActivityModeEntity.
	DirectActivityModeHash uint32
	// DirectActivityModeType is the mode of this activity.
	DirectActivityModeType ActivityModeType
	// Loadouts are all the possible loadout requirements that could be active for this activity.
	Loadouts []ActivityLoadoutRequirementSet
	// ActivityModeHashes are all ActivityModeEntity structs related to this activity.
	ActivityModeHashes []uint32
	// ActivityModeTypes are all modes related to this activity.
	ActivityModeTypes []ActivityModeType
	// IsPvP determines if this activity is PVP-related.
	IsPvP bool
	// InsertionPoints is a list of phases or points of entry into this activity.
	InsertionPoints []ActivityInsertionPoint
	// ActivityLocationMappings are list of locations affected by this activity.
	ActivityLocationMappings []EnvironmentLocationMapping
	EntityMetadata
}

ActivityEntity is an entity in the Destiny.Definitions.DestinyActivityDefinition contract. This is the static data about a Destiny 2 activity.

type ActivityGraphArtElement

type ActivityGraphArtElement struct {
	// Position is the position on the map of this art element.
	Position Position
}

ActivityGraphArtElement represents one-off visual effects overlayed on the map.

type ActivityGraphConnection

type ActivityGraphConnection struct {
	// SourceNodeHash is the hash of the source node.
	SourceNodeHash uint32
	// DestNodeHash is the hash of the destination node.
	DestNodeHash uint32
}

ActivityGraphConnection describes how nodes on a graph are visually connected.

type ActivityGraphDefinition

type ActivityGraphDefinition map[uint32]ActivityGraphEntity

ActivityGraphDefinition is the contract for all Destiny.Definitions.DestinyActivityGraphDefinition entities.

func (ActivityGraphDefinition) Entity

func (def ActivityGraphDefinition) Entity(entityHash uint32) interface{}

func (ActivityGraphDefinition) Name

func (ActivityGraphDefinition) Reference

func (ActivityGraphDefinition) Reference() string

func (*ActivityGraphDefinition) Unmarshal

func (def *ActivityGraphDefinition) Unmarshal(data []byte) error

type ActivityGraphDisplayObjective

type ActivityGraphDisplayObjective struct {
	// ID is the identifier of this objective in the UI.
	Id uint32
	// ObjectiveHash is the hash of a related ObjectiveEntity.
	ObjectiveHash uint32
}

ActivityGraphDisplayObjective defines active objectives in a graph.

type ActivityGraphDisplayProgression

type ActivityGraphDisplayProgression struct {
	// ID is the identifier of this progression in the UI.
	Id uint32
	// ProgressionHash is the hash of a related ProgressionEntity.
	ProgressionHash uint32
}

ActivityGraphDisplayProgression defines active progressions in a graph.

type ActivityGraphEntity

type ActivityGraphEntity struct {
	// Nodes are the visual nodes on this map's view which correspond to activities that can be clicked on.
	Nodes []ActivityGraphNode
	// ArtElements are special UI elements that appear on this map.
	ArtElements []ActivityGraphArtElement
	// Connections represent connections between Nodes.
	Connections []ActivityGraphConnection
	// DisplayObjectives are objectives that can be displayed on this map.
	DisplayObjectives []ActivityGraphDisplayObjective
	// DisplayProgressions are progressions that can be displayed on this map.
	DisplayProgressions []ActivityGraphDisplayProgression
	// LinkedGraphs links this Activity Graph to others.
	LinkedGraphs []LinkedGraph
	EntityMetadata
}

ActivityGraphEntity is an entity in the Destiny.Definitions.Director.DestinyActivityGraphDefinition contract. This represents a map view in the director.

type ActivityGraphListEntry

type ActivityGraphListEntry struct {
	// ActivityGraphHash is the hash of a related ActivityGraphEntity.
	ActivityGraphHash uint32
}

ActivityGraphListEntry is the default map to show for a given activity or destination.

type ActivityGraphNode

type ActivityGraphNode struct {
	// NodeID is a unique identifier for this node within its parent activity graph.
	NodeId uint32
	// OverrideDisplay is a display property that override the active activity's display properties.
	OverrideDisplay DisplayProperties
	// Position is the position on the map for this node.
	Position Position
	// FeaturingStates are a list of possible styles that this node can have.
	FeaturingStates []ActivityGraphNodeFeaturingState
	// Activities are a list possibly active activities for this node.
	Activities []ActivityGraphNodeActivity
	// States are the possible states that this node can be in.
	States []ActivityGraphNodeStateEntry
}

ActivityGraphNode is position and other data related to nodes in the activity graph that launch activities.

type ActivityGraphNodeActivity

type ActivityGraphNodeActivity struct {
	// NodeActivityID is an identifier for this activity within the activity graph.
	NodeActivityId uint32
	// ActivityHash is the hash for a related ActivityEntity.
	ActivityHash uint32
}

ActivityGraphNodeActivity is the actual activity to run when this node is clicked on.

type ActivityGraphNodeFeaturingState

type ActivityGraphNodeFeaturingState struct {
	// HighlightType is a classification of different ways this node feature can be highlighted.
	HighlightType ActivityGraphNodeHighlightType
}

ActivityGraphNodeFeaturingState is a single visual state that a node can be in.

type ActivityGraphNodeHighlightType added in v1.1.0

type ActivityGraphNodeHighlightType int32

ActivityGraphNodeHighlightType is the known UI style in which an item can be highlighted.

type ActivityGraphNodeStateEntry

type ActivityGraphNodeStateEntry struct {
	State GraphNodeState
}

ActivityGraphNodeStateEntry represents a single state that a graph node might end up in.

type ActivityGuidedBlock

type ActivityGuidedBlock struct {
	// GuidedMaxLobbySize is the maximum amount of players allowed in the waiting lobby.
	GuidedMaxLobbySize int32
	// GuidedMinLobbySize is the minimum amount of players allowed in the waiting lobby.
	GuidedMinLobbySize int32
	// GuidedDisbandCount is the total number of votes needed for the guided group to disband.
	GuidedDisbandCount int32
}

ActivityGuidedBlock is guided game information for this activity.

type ActivityInsertionPoint

type ActivityInsertionPoint struct {
	// PhaseHash is the unique hash representing the phase.
	PhaseHash uint32
}

ActivityInsertionPoint is a point of entry into an activity.

type ActivityLoadout

type ActivityLoadout struct {
	// EquipmentSlotHash is the hash of a related EquipmentSlotEntity.
	EquipmentSlotHash uint32
	// AllowedEquippedItemHashes are a list of all related InventoryItemEntity structs.
	AllowedEquippedItemHashes []uint32
	// AllowedWeaponSubTypes are a list of all allowed weapon subtypes in activity loadouts.
	AllowedWeaponSubTypes []ItemSubType
}

type ActivityLoadoutRequirementSet

type ActivityLoadoutRequirementSet struct {
	// Requirements are the set of requirements that will be applied on the activity if this set is active.
	Requirements []ActivityLoadout
}

type ActivityMatchmakingBlock

type ActivityMatchmakingBlock struct {
	// IsMatchmade determines if matchmaking is available for this activity.
	IsMatchmade bool
	// MinParty is the minimum number of players in a fireteam for this activity to launch.
	MinParty int32
	// MaxParty is the maximum number of players in a fireteam for this activity.
	MaxParty int32
	// MaxPlayers is the maximum number of players across all teams in an activity.
	MaxPlayers int32
	// RequiresGuardianOath determines if players are punished for leaving this activity before completion.
	RequiresGuardianOath bool
}

ActivityMatchmakingBlock is information about matchmaking and party size for an activity.

type ActivityModeCategory

type ActivityModeCategory int32

ActivityModeCategory describes the categories of a given activity mode.

type ActivityModeDefinition

type ActivityModeDefinition map[uint32]ActivityModeEntity

ActivityModeDefinition is the contract for all Destiny.Definitions.DestinyActivityModeDefinition entities.

func (ActivityModeDefinition) Entity

func (def ActivityModeDefinition) Entity(entityHash uint32) interface{}

func (ActivityModeDefinition) Name

func (ActivityModeDefinition) Reference

func (ActivityModeDefinition) Reference() string

func (*ActivityModeDefinition) Unmarshal

func (def *ActivityModeDefinition) Unmarshal(data []byte) error

type ActivityModeEntity

type ActivityModeEntity struct {
	DisplayProperties DisplayProperties
	// PGCRImage is the Post-Game Carnage Report for this activity mode.
	PgcrImage string
	// ModeType is this activity mode's type.
	ModeType ActivityModeType
	// ActivityModeCategory is the category of this activity mode.
	ActivityModeCategory ActivityModeCategory
	// IsTeamBased determines if this activity mode is team-based, co-op or free-for-all.
	IsTeamBased bool
	// IsAggregateMode determines if this activity mode is an aggregate of other specific modes.
	IsAggregateMode bool
	// ParentHashes are the hashes all ActivityModeEntity structs related this activity mode.
	ParentHashes []uint32
	// FriendlyName is an identifier used for referring to this activity mode.
	FriendlyName string
	// ActivityModeMappings are the ActivityEntity structs and the mode type for this activity mode.
	ActivityModeMappings map[uint32]ActivityModeType
	// Display determines if this activity mode is shown in a given UI.
	Display bool
	// Order is the relative ordering of activity modes.
	Order int32
	EntityMetadata
}

ActivityModeEntity is an entity in the Destiny.Definitions.DestinyActivityModeDefinition contract. This represents a collection activities that are played in a certain way.

type ActivityModeType

type ActivityModeType int32

ActivityModeType is the mode of a given activity.

type ActivityModifierDefinition

type ActivityModifierDefinition map[uint32]ActivityModifierEntity

ActivityModifierDefinition is the contract for all Destiny.Definitions.ActiveModifier.DestinyActivityModifierDefinition entities.

func (ActivityModifierDefinition) Entity

func (def ActivityModifierDefinition) Entity(entityHash uint32) interface{}

func (ActivityModifierDefinition) Name

func (ActivityModifierDefinition) Reference

func (ActivityModifierDefinition) Reference() string

func (*ActivityModifierDefinition) Unmarshal

func (def *ActivityModifierDefinition) Unmarshal(data []byte) error

type ActivityModifierEntity

type ActivityModifierEntity struct {
	DisplayProperties DisplayProperties
	EntityMetadata
}

ActivityModifierEntity is an entity in the Destiny.Definitions.ActivityModifiers.DestinyActivityModifierDefinition contract. Modifiers are just descriptions of the modifiers active on an activity.

type ActivityModifierReference

type ActivityModifierReference struct {
	// ActivityModifierHash is the hash of a related ActivityModifierEntity.
	ActivityModifierHash uint32
}

ActivityModifierReference is a reference to an activity modifier from another entity.

type ActivityNavPointType

type ActivityNavPointType int32

ActivityNavPointType describes the interaction associated with a navigation point in an activity.

type ActivityPlaylistItem

type ActivityPlaylistItem struct {
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// DirectActivityModeHash is the hash of a related ActivityModeEntity.
	DirectActivityModeHash uint32
	// DirectActivityModeType is a classification of the mode related to this activity.
	DirectActivityModeType ActivityModeType
	// ActivityModeHashes are the hash identifiers for all related ActivitymodeEntity structs.
	ActivityModeHashes []uint32
	// ActivityModeTypes are all activity mode's that apply to this activity.
	ActivityModeTypes []ActivityModeType
}

ActivityPlaylistItem defines a specific entry in an activity playlist.

type ActivityReward

type ActivityReward struct {
	// RewardText is the localized header for this reward set.
	RewardText string
	// RewardItems are the items provided in this reward.
	RewardItems []ItemQuantity
}

ActivityReward are sets of tooltip-friendly reward data for an activity.

type ActivityTypeDefinition

type ActivityTypeDefinition map[uint32]ActivityTypeEntity

ActivityTypeDefinition is the contract for all Destiny.Definitions.DestinyActivityTypeDefinition entities.

func (ActivityTypeDefinition) Entity

func (def ActivityTypeDefinition) Entity(entityHash uint32) interface{}

func (ActivityTypeDefinition) Name

func (ActivityTypeDefinition) Reference

func (ActivityTypeDefinition) Reference() string

func (*ActivityTypeDefinition) Unmarshal

func (def *ActivityTypeDefinition) Unmarshal(data []byte) error

type ActivityTypeEntity

type ActivityTypeEntity struct {
	DisplayProperties DisplayProperties
	EntityMetadata
}

ActivityTypeEntity is an entity in the Destiny.Definitions.DestinyActivityTypeDefinition contract. This represents a conceptual categorization of activities.

type ActivityUnlockString

type ActivityUnlockString struct {
	// DisplayString is the localized string to display if certain conditions are met.
	DisplayString string
}

ActivityUnlockString represents a status string that could be displayed about an activity.

type AmmunitionType added in v1.1.0

type AmmunitionType int32

AmmunitionType is the ammunition a weapon used.

type AnimationReference

type AnimationReference struct {
	AnimName, AnimIdentifier, Path string
}

type ArtDyeReference

type ArtDyeReference struct {
	ArtDyeChannelHash uint32
}

type ArtifactDefinition

type ArtifactDefinition map[uint32]ArtifactEntity

ArtifactDefinition is the contract for all Destiny.Definitions.Artifacts.DestinyArtifactDefinition entities.

func (ArtifactDefinition) Entity

func (def ArtifactDefinition) Entity(entityHash uint32) interface{}

func (ArtifactDefinition) Name

func (ArtifactDefinition) Name() string

func (ArtifactDefinition) Reference

func (ArtifactDefinition) Reference() string

func (*ArtifactDefinition) Unmarshal

func (def *ArtifactDefinition) Unmarshal(data []byte) error

type ArtifactEntity

type ArtifactEntity struct {
	DisplayProperties DisplayProperties
	// TranslationBlock is rendering information for this artifact.
	TranslationBlock ItemTranslationBlock
	// Tiers are tier/rank data related to this artifact.
	Tiers []ArtifactTier
	EntityMetadata
}

ArtifactEntity is an entity in the Destiny.Definitions.Artifacts.DestinyArtifactDefinition contract. Represents known info about a seasonal artifact.

type ArtifactTier

type ArtifactTier struct {
	// TierHash is an unique identifer for this tier within the artifact.
	TierHash uint32
	// DisplayTitle is the localized title of this tier.
	DisplayTitle string
	// ProgressRequirementMessage represents the localized minimum requirement for this tier.
	ProgressRequirementMessage string
	// Items are the items that can earned within this tier.
	Items []ArtifactTierItem
	// MinimumUnlockPointsUsedRequirement is the minimum number of unlock points needed to unlock this artifact tier.
	MinimumUnlockPointsUsedRequirement int32
}

type ArtifactTierItem

type ArtifactTierItem struct {
	// ItemHash is the hash for a related InventoryItemEntity.
	ItemHash uint32
}

ArtifactTierItem is a plug item unlocked by activating this item in the artifact.

type BreakerTypeDefinition

type BreakerTypeDefinition map[uint32]BreakerTypeEntity

BreakerTypeDefinition is the contract for all Destiny.Definitions.BreakerTypes.DestinyBreakerTypeDefinition entities.

func (BreakerTypeDefinition) Entity

func (def BreakerTypeDefinition) Entity(entityHash uint32) interface{}

func (BreakerTypeDefinition) Name

func (BreakerTypeDefinition) Reference

func (BreakerTypeDefinition) Reference() string

func (*BreakerTypeDefinition) Unmarshal

func (def *BreakerTypeDefinition) Unmarshal(data []byte) error

type BreakerTypeEntity

type BreakerTypeEntity struct {
	DisplayProperties DisplayProperties
	// EnumValue refers to the breaker classification for this breaker type.
	EnumValue BreakerTypeEnum
	EntityMetadata
}

BreakerTypeEntity is an entity in the Destiny.Definitions.BreakerTypes.DestinyBreakerTypeDefinition contract. This basically describes anti-champion modes of an item or plug.

type BreakerTypeEnum

type BreakerTypeEnum int32

BreakerTypeEnum is a special ability granted by activating a certain plug. Unfortunately the Bungie.net schema also has a contract named BreakerType so we use the awkward suffix Enum for the specific enum.

type Bubble

type Bubble struct {
	// Hash is the unique identifier for this bubble within a destination.
	Hash              uint32
	DisplayProperties DisplayProperties
}

Bubble is basic identifying data about a destination bubble.

type BucketCategory added in v1.1.0

type BucketCategory int32

BucketCategory describes what categories of items can be found in an inventory bucket.

type BucketScope added in v1.1.0

type BucketScope int32

BucketScope is scope of an inventory bucket.

const (
	BucketScope_Profile   BucketScope = 0
	BucketScope_Character             = 1
)

type BungieAPIReader added in v1.3.1

type BungieAPIReader struct {
	// contains filtered or unexported fields
}

BungieAPIReader reads contracts from the Bungie.net API.

func (*BungieAPIReader) Close added in v1.3.1

func (r *BungieAPIReader) Close() error

Close removes temporary mobile databases.

func (*BungieAPIReader) ReadContract added in v1.3.1

func (r *BungieAPIReader) ReadContract(contract Contract, path string, useMobile bool) ([]byte, error)

ReadContract reads a contract at path from the Bungie.net endpoint.

type BungieMembershipType added in v1.1.0

type BungieMembershipType int32

BungieMembershipType describes the types of memberships the accounts system supports.

type ChecklistDefinition

type ChecklistDefinition map[uint32]ChecklistEntity

ChecklistDefinition is the contract for all Destiny.Definitions.Checklists.DestinyChecklistDefinition entities.

func (ChecklistDefinition) Entity

func (def ChecklistDefinition) Entity(entityHash uint32) interface{}

func (ChecklistDefinition) Name

func (ChecklistDefinition) Name() string

func (ChecklistDefinition) Reference

func (ChecklistDefinition) Reference() string

func (*ChecklistDefinition) Unmarshal

func (def *ChecklistDefinition) Unmarshal(data []byte) error

type ChecklistEntity

type ChecklistEntity struct {
	DisplayProperties DisplayProperties
	// ViewActionString is a localized string prompt for viewing this checklist.
	ViewActionString string
	// Scope determines if this checklist if per-character or account-wide.
	Scope Scope
	// Entries are the individual checklist items.
	Entries []ChecklistEntry
	EntityMetadata
}

ChecklistEntity is an entity in the Destiny.Definitions.Checklists.DestinyChecklistDefinition contract. Checklists are loose sets of things to do/things that have been done that can be tracked.

type ChecklistEntry

type ChecklistEntry struct {
	// Hash is the unique identifier of this entry within the checklist.
	Hash              uint32
	DisplayProperties DisplayProperties
	// DestinationHash is the hash of a related DestinationEntity.
	DestinationHash uint32
	// LocationHash is the hash of a related LocationEntity.
	LocationHash uint32
	// BubbleHash is the hash of an activity bubble in LocationEntity.LocationReleases.
	BubbleHash uint32
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// VendorHash is the hash of a related VendorEntity.
	VendorHash uint32
	// VendorInteractionIndex is this entry's index in VendorEntity.Interactions.
	VendorInteractionIndex int32
	// Scope is the scope at which this specific entry can be completed.
	Scope Scope
}

ChecklistEntry defines the properties of an individual checklist item.

type Class

type Class int32

Class is the Destiny Class of an in-game character.

type ClassDefinition

type ClassDefinition map[uint32]ClassEntity

ClassDefinition is the contract for all Destiny.Definitions.DestinyClassDefinition entities.

func (ClassDefinition) Entity

func (def ClassDefinition) Entity(entityHash uint32) interface{}

func (ClassDefinition) Name

func (ClassDefinition) Name() string

func (ClassDefinition) Reference

func (ClassDefinition) Reference() string

func (*ClassDefinition) Unmarshal

func (def *ClassDefinition) Unmarshal(data []byte) error

type ClassEntity

type ClassEntity struct {
	// ClassType is the classification of this character class.
	ClassType         Class
	DisplayProperties DisplayProperties
	// GenderedClassNames are the names of this class by gender name.
	GenderedClassNames map[GenderName]string
	// GenderedClassNamesByGenderHash are the names of this class by the hash of a GenderEntity.
	GenderedClassNamesByGenderHash map[uint32]string
	// MentorVendorHash is the hash of a related VendorEntity.
	MentorVendorHash uint32
	EntityMetadata
}

ClassEntity is an entity in the Destiny.Definitions.DestinyClassDefinition contract. This defines a playable character class in Destiny 2.

type CollectibleAcquisitionBlock

type CollectibleAcquisitionBlock struct {
	// AcquireMaterialRequirementHash is the hash of a related MaterialRequirementSetEntity.
	AcquireMaterialRequirementHash uint32
	// AcquireTimestampUnlockValueHash is the hash of a related UnlockValueEntity.
	AcquireTimestampUnlockValueHash uint32
}

type CollectibleDefinition

type CollectibleDefinition map[uint32]CollectibleEntity

CollectibleDefinition is the contract for all Destiny.Definitions.Collectibles.DestinyCollectibleDefinition entities.

func (CollectibleDefinition) Entity

func (def CollectibleDefinition) Entity(entityHash uint32) interface{}

func (CollectibleDefinition) Name

func (CollectibleDefinition) Reference

func (CollectibleDefinition) Reference() string

func (*CollectibleDefinition) Unmarshal

func (def *CollectibleDefinition) Unmarshal(data []byte) error

type CollectibleEntity

type CollectibleEntity struct {
	DisplayProperties DisplayProperties
	// Scope indicates if this collectible is per-character or account-wide.
	Scope Scope
	// SourceString is a hint about how to acquire the item.
	SourceString string
	// SourceHash is supposed to be the hash of a given source. This is meant to be used to group collectibles by source.
	SourceHash uint32
	// ItemHash is the hash for a related InventoryItemEntity.
	ItemHash             uint32
	AcquisitionInfo      CollectibleAcquisitionBlock
	StateInfo            CollectibleStateBlock
	PresentationInfo     PresentationChildBlock
	PresentationNodeType PresentationNodeType
	TraitIds             []string
	TraitHashes          []uint32
	// ParentNodeHashes are the hashes of presentation nodes that have this collectible as a child.
	ParentNodeHashes []uint32
	EntityMetadata
}

CollectibleEntity is an entity in the Destiny.Definitions.Collectibles.DestinyCollectibleDefinition contract.

type CollectibleStateBlock

type CollectibleStateBlock struct {
	// ObscuredOverrideItemHash is the hash of a related InventoryItemEntity.
	ObscuredOverrideItemHash uint32
	// Requirements are to show this collectible's state.
	Requirements PresentationNodeRequirementsBlock
}

type Color

type Color struct {
	Red, Green, Blue, Alpha byte
}

Color represents a color with RGBA values represented between 0 and 255.

type Contract

type Contract interface {
	// Name is the name of this contract in the Bungie.Net API.
	Name() string
	// Reference is a link to the Bungie.Net API which describes this contract.
	Reference() string
	// Entity returns a specific entity from this contract with a given hash.
	Entity(hash uint32) interface{}
	// Unmarshal unmarshals the JSON for a contract when calling Manifest.FulfillContract.
	// Each contract uses a custom unmarshaller function for convenience.
	Unmarshal([]byte) error
}

Contract is a collection of Destiny.Definitions which have their own tables in the Manifest Database.

type ContractReader added in v1.3.1

type ContractReader interface {
	// ReadContract returns the marshalled contract with a given path.
	ReadContract(contract Contract, path string, useMobile bool) ([]byte, error)
	// Close closes this reader and all associated resources.
	Close() error
}

ContractReader reads a Bungie.net contract.

type DamageType

type DamageType int32

DamageType describes the general categories of damage in the game.

type DamageTypeDefinition

type DamageTypeDefinition map[uint32]DamageTypeEntity

DamageTypeDefinition is the contract for all Destiny.Definitions.DestinyDamageTypeDefinition entities.

func (DamageTypeDefinition) Entity

func (def DamageTypeDefinition) Entity(entityHash uint32) interface{}

func (DamageTypeDefinition) Name

func (DamageTypeDefinition) Reference

func (DamageTypeDefinition) Reference() string

func (*DamageTypeDefinition) Unmarshal

func (def *DamageTypeDefinition) Unmarshal(data []byte) error

type DamageTypeEntity

type DamageTypeEntity struct {
	DisplayProperties DisplayProperties
	// TransparentIconPath is a variant of the icon that is transparent and colorless
	TransparentIconPath string
	// ShowIcon determines if the UI shows this damage type's icon.
	ShowIcon bool
	// EnumValue is the this damage type's defined value.
	EnumValue DamageType
	EntityMetadata
}

DamageTypeEntity is an entity in the Destiny.Definitions.DestinyDamageTypeDefinition contract. All damage types that are possible in the game are defined here along with localized info.

type DateRange

type DateRange struct {
	Start, End time.Time
}

type DerivedItem

type DerivedItem struct {
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// ItemName is the name of this derived item.
	ItemName string
	// ItemDetail is an additional detail about this derived item to be added to the description.
	ItemDetail string
	// ItemDescription is a brief description of this item.
	ItemDescription string
	// IconPath is an icon for this item.
	IconPath string
	// VendorItemIndex is the index of this item in the "Preview Vendor" UI.
	VendorItemIndex int32
}

DerivedItem is a summary of a specific item that can be obtained by using or acquiring another item.

type DerivedItemCategory

type DerivedItemCategory struct {
	// CategoryDescription is a localized string for the category title.
	CategoryDescription string
	// Items is the list of all items of this category.
	Items []DerivedItem
}

DerivedItemCategory describes the category of items found in a "Preview Vendor".

type DestinationBubbleSetting

type DestinationBubbleSetting struct {
	DisplayProperties DisplayProperties
}

DestinationBubbleSetting is human readable data about a bubble. Deprecated.

type DestinationDefinition

type DestinationDefinition map[uint32]DestinationEntity

DestinationDefinition is the contract for all Destiny.Definitions.Common.DestinyDestinationDefinition entities.

func (DestinationDefinition) Entity

func (def DestinationDefinition) Entity(entityHash uint32) interface{}

func (DestinationDefinition) Name

func (DestinationDefinition) Reference

func (DestinationDefinition) Reference() string

func (*DestinationDefinition) Unmarshal

func (def *DestinationDefinition) Unmarshal(data []byte) error

type DestinationEntity

type DestinationEntity struct {
	DisplayProperties DisplayProperties
	// PlaceHash is the hash of a related PlaceEntity.
	PlaceHash uint32
	// DefaultFreeroamActivityHash is the hash of a related ActivityEntity.
	DefaultFreeroamActivityHash uint32
	// ActivityGraphEntries are the list of maps that are shown in the director for this destination.
	ActivityGraphEntries []ActivityGraphListEntry
	// BubbleSettings are zones within this destination. Deprecated: use Bubbles.
	BubbleSettings []DestinationBubbleSetting
	// Bubbles are unique identifiers for every bubble zone in this destination.
	Bubbles []Bubble
	EntityMetadata
}

DestinationEntity is an entity in the Destiny.Definitions.DestinyDestinationDefinition contract. A destination is a specific area of a larger place.

type DisplayCategory

type DisplayCategory struct {
	// Index is the position of this display category in the vendor.
	Index int32
	// Identifier is the identifier for this display category.
	Identifier string
	// DisplayCategoryHash is the hash of this display category; meant for grouping.
	DisplayCategoryHash uint32
	DisplayProperties   DisplayProperties
	// DisplayInBanner determines if this display category should be displayed in the banner section of the vendor's UI.
	DisplayInBanner bool
	// ProgressionHash is the hash of a related ProgressionEntity.
	ProgressionHash uint32
	// SortOrder is the sort order of items within this display category.
	SortOrder int32
	// DisplayStyleHash indicates how this display category will be displayed in the UI.
	DisplayStyleHash uint32
	// DisplayStyleIdentifier is the identifier for this display category.
	DisplayStyleIdentifier string
}

DisplayCategory is a visual grouping and display of categories in a vendor's UI.

type DisplayProperties

type DisplayProperties struct {
	Description   string
	Name          string
	Icon          string
	IconSequences []IconSequence
	HighResIcon   string
	HasIcon       bool
}

DisplayProperties represents common display information for entities.

type DyeReference

type DyeReference struct {
	ChannelHash, DyeHash uint32
}

type EnergyCapacityEntry

type EnergyCapacityEntry struct {
	// CapacityValue is the amount of energy capacity this plug provides.
	CapacityValue int32
	// EnergyTypeHash is the hash of a related EnergyTypeEntity.
	EnergyTypeHash uint32
	// EnergyType is a classification of the type of energy capacity granted.
	EnergyType EnergyType
}

EnergyCapacityEntry is an entry for a plug item which grants energy capacity to the item is it socketed into.

type EnergyCostEntry

type EnergyCostEntry struct {
	// EnergyCost is the cost of inserting this plug.
	EnergyCost int32
	// EnergyTypeHash is the hash of a related EnergyTypeEntity.
	EnergyTypeHash uint32
	// EnergyType is a classification of the type of energy that the plug costs.
	EnergyType EnergyType
}

EnergyCostEntry is an entry for a plug item that costs energy to insert into an item.

type EnergyType

type EnergyType int32

EnergyType represents the socket energy types for Armor 2.0, Ghosts 2.0, and Stasis subclasses.

type EnergyTypeDefinition

type EnergyTypeDefinition map[uint32]EnergyTypeEntity

EnergyTypeDefinition is the contract for all Destiny.Definitions.EnergyTypes.DestinyEnergyTypeDefinition entities.

func (EnergyTypeDefinition) Entity

func (def EnergyTypeDefinition) Entity(entityHash uint32) interface{}

func (EnergyTypeDefinition) Name

func (EnergyTypeDefinition) Reference

func (EnergyTypeDefinition) Reference() string

func (*EnergyTypeDefinition) Unmarshal

func (def *EnergyTypeDefinition) Unmarshal(data []byte) error

type EnergyTypeEntity

type EnergyTypeEntity struct {
	DisplayProperties DisplayProperties
	// TransparentIconPath is a variant of the icon that is transparent and colorless.
	TransparentIconPath string
	// ShowIcon determines if the energy type's icon should be shown.
	ShowIcon bool
	// EnumValue is the energy type.
	EnumValue EnergyType
	// CapacityStatHash is the hash for a related InvestmentStatEntity for the capacity.
	CapacityStatHash uint32
	// CostStatHash is the hash for a related InvestmentStatEntity for the cost.
	CostStatHash uint32
	EntityMetadata
}

EnergyTypeEntity is an entity in the Destiny.Definitions.EnergyTypes.DestinyEnergyTypeDefinition contract. Represents type of energy that can be used for costs and payments related to Armor 2.0.

type EntityMetadata added in v1.1.1

type EntityMetadata struct {
	// Hash is the unique identifier for a given entity; guaranteed to be unique within a contract.
	Hash uint32
	// Index is the identifier for a given entity found within the mobile contract tables.
	Index int32
	// Redacted is true if there is an entity, but the Bungie API is not allowed to show it.
	Redacted bool
}

EntityMetadata is the meta-properties of a given entity.

type EnvironmentLocationMapping

type EnvironmentLocationMapping struct {
	// LocationHash is the hash of a related LocationEntity.
	LocationHash uint32
	// ActivationSource is a hint a given UI uses to figure out how this location is activated.
	ActivationSource string
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// ObjectiveHash is the hash of a related ObjectiveEntity.
	ObjectiveHash uint32
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
}

EnvironmentLocationMapping describes a map location where an item, objective or activity can be used or started.

type EquipmentSlotDefinition

type EquipmentSlotDefinition map[uint32]EquipmentSlotEntity

EquipmentSlotDefinition is the contract for all Destiny.Definitions.DestinyEquipmentSlotDefinition entities.

func (EquipmentSlotDefinition) Entity

func (def EquipmentSlotDefinition) Entity(entityHash uint32) interface{}

func (EquipmentSlotDefinition) Name

func (EquipmentSlotDefinition) Reference

func (EquipmentSlotDefinition) Reference() string

func (*EquipmentSlotDefinition) Unmarshal

func (def *EquipmentSlotDefinition) Unmarshal(data []byte) error

type EquipmentSlotEntity

type EquipmentSlotEntity struct {
	// EquipmentCategoryHash is supposed to be a related EquipmentCategoryEntity which has not been exposed in the Bungie.net API.
	// The specification suggests using this hash as a general way to group equipment by common functionality.
	EquipmentCategoryHash uint32
	// BucketTypeHash is the hash of a related InventoryBucketEntity.
	BucketTypeHash uint32
	// ApplyCustomArtDays determines if equipped items should have custom art dyes applied during rendering.
	ApplyCustomArtDyes bool
	// ArtDyeChannels are all art dyes that apply this equipment slot.
	ArtDyeChannels []ArtDyeReference
	EntityMetadata
}

EquipmentSlotEntity is an entity in the Destiny.Definitions.DestinyEquipmentSlotDefinition contract. This is an indicator that a related bucket can have instanced items equipped in a specific slot on a character.

type EquippingBlock

type EquippingBlock struct {
	// GearsetItemHash is the hash of a InventoryItemEntity.
	GearsetItemHash uint32
	// UniqueLabel is the label used to check if the item has other items of matching types already equipped.
	UniqueLabel string
	// UniqueLabelHash is the hash of the unique label. This does not point to specific entity.
	UniqueLabelHash uint32
	// EquipmentSlotTypeHash is the hash of a related EquipmentSlotEntity.
	EquipmentSlotTypeHash uint32
	// Attributes are the custom attributes on the equippability of the item.
	Attributes EquippingItemBlockAttributes
	// AmmoType is the classification of ammo a weapon uses.
	AmmoType AmmunitionType
	// DisplayStrings represent the state failure conditions that can occur when trying to equip the item.
	// These match up 1:1 with RequiredUnlockExpressions.
	DisplayStrings []string
}

EquippingBlock contains information about how and when an item can be equipped.

type EquippingItemBlockAttributes added in v1.1.0

type EquippingItemBlockAttributes int32

EquippingItemBlockAttributes are custom attributes on the equippability of the item.

const (
	EquippingAttribute_None           EquippingItemBlockAttributes = 0
	EquippingAttribute_EquipOnAcquire                              = 1
)

type FactionDefinition

type FactionDefinition map[uint32]FactionEntity

FactionDefinition is the contract for all Destiny.Definitions.DestinyFactionDefinition entities.

func (FactionDefinition) Entity

func (def FactionDefinition) Entity(entityHash uint32) interface{}

func (FactionDefinition) Name

func (FactionDefinition) Name() string

func (FactionDefinition) Reference

func (FactionDefinition) Reference() string

func (*FactionDefinition) Unmarshal

func (def *FactionDefinition) Unmarshal(data []byte) error

type FactionEntity

type FactionEntity struct {
	DisplayProperties DisplayProperties
	// ProgressionHash is the hash of a related ProgressionEntity.
	ProgressionHash uint32
	// TokenValues are the hashes of InventoryItemEntity structs and their progression value for this faction.
	TokenValues map[uint32]uint32
	// RewardItemHash is the hash of a related InventoryItemEntity.
	RewardItemHash uint32
	// RewardVendorHash is the hash of a related VendorEntity.
	RewardVendorHash uint32
	// Vendors are a list of vendors associated with this faction.
	Vendors []FactionVendor
	EntityMetadata
}

FactionEntity is an entity in the Destiny.Definitions.DestinyFactionDefinition contract. This represents a given faction in the game.

type FactionVendor

type FactionVendor struct {
	// VendorHash is the hash of a related VendorEntity.
	VendorHash uint32
	// DestinationHash is the hash of a related DestinationEntity.
	DestinationHash uint32
	// BackgroundImagePath is the relative path to the background image representing this vendor.
	BackgroundImagePath string
}

FactionVendor represents faction vendors at different points in the game.

type FulfillmentOption

type FulfillmentOption func(o *fulfillmentOptions) error

FulfillmentOption is an optional way to fulfill a given contract.

func UseMobileManifest

func UseMobileManifest(mobile bool) FulfillmentOption

UseMobileManifest fulfills a contract using data from the Mobile Manifest.

func WithLocale

func WithLocale(locale string) FulfillmentOption

WithLocale fulfills a contract using a specific language/locale supported by Bungie.

type GatingScope added in v1.1.0

type GatingScope int32

GatingScope represents the most restrictive type of gating that is being performed by an entity.

type GearArtArrangementReference

type GearArtArrangementReference struct {
	ClassHash, ArtArrangementHash uint32
}

type Gender

type Gender int32

Gender is the gender of a Destiny 2 character.

type GenderDefinition

type GenderDefinition map[uint32]GenderEntity

GenderDefinition is the contract for all Destiny.Definitions.DestinyGenderDefinition entities.

func (GenderDefinition) Entity

func (def GenderDefinition) Entity(entityHash uint32) interface{}

func (GenderDefinition) Name

func (GenderDefinition) Name() string

func (GenderDefinition) Reference

func (GenderDefinition) Reference() string

func (*GenderDefinition) Unmarshal

func (def *GenderDefinition) Unmarshal(data []byte) error

type GenderEntity

type GenderEntity struct {
	// GenderType is one of the currently defined genders.
	GenderType        Gender
	DisplayProperties DisplayProperties
	EntityMetadata
}

GenderEntity is an entity in the Destiny.Definitions.DestinyGenderDefinition contract. This describes the current genders in Destiny 2.

type GenderName added in v1.1.1

type GenderName string

GenderName is the gender of a Destiny 2 character as a string.

const (
	GenderName_Male   GenderName = "Male"
	GenderName_Female GenderName = "Female"
)

type GraphNodeState

type GraphNodeState int32

GraphNodeState represents the potential state of an activity graph node.

type HyperlinkReference

type HyperlinkReference struct {
	Title, Url string
}

type IconSequence

type IconSequence struct {
	Frames []string
}

IconSequence is a sequences of icons represented as frames.

type InsertPlugAction

type InsertPlugAction struct {
	// ActionExecuteSeconds is how much time, in seconds, it takes for this plug to be inserted.
	ActionExecuteSeconds int32
	// ActionType is a classification of the type of action being performed on this socket.
	ActionType SocketTypeActionType
}

InsertPlugAction describes what happens while a plug is being inserted in a given UI.

type InterpolationPoint

type InterpolationPoint struct {
	Value, Weight int32
}

type InterpolationPointFloat

type InterpolationPointFloat struct {
	Value, Weight float32
}

type InventoryBucketDefinition

type InventoryBucketDefinition map[uint32]InventoryBucketEntity

InventoryBucketDefinition is the contract for all Destiny.Definitions.DestinyInventoryBucketDefinition entities.

func (InventoryBucketDefinition) Entity

func (def InventoryBucketDefinition) Entity(entityHash uint32) interface{}

func (InventoryBucketDefinition) Name

func (InventoryBucketDefinition) Reference

func (InventoryBucketDefinition) Reference() string

func (*InventoryBucketDefinition) Unmarshal

func (def *InventoryBucketDefinition) Unmarshal(data []byte) error

type InventoryBucketEntity

type InventoryBucketEntity struct {
	DisplayProperties DisplayProperties
	// Scope is where this bucket can be found.
	Scope BucketScope
	// Category describes what items can be found in this bucket.
	Category BucketCategory
	// BucketOrder is a recommended ordering for this bucket in a given UI.
	BucketOrder int32
	// ItemCount is the maximum number of item slots in a bucket.
	ItemCount int32
	// Location is the conceptual location of this bucket, such as the vault or postmaster inventory.
	Location ItemLocation
	// HasTransferDestination indicates if items can be transferred to/from this bucket.
	HasTransferDestination bool
	// Enabled determines if this bucket is being used in-game.
	Enabled bool
	// Fifo determines if the bucket will delete the oldest item in a bucket when adding a new one (FIFO)
	// or if this bucket disallows new items until there is space.
	Fifo bool
	EntityMetadata
}

InventoryBucketEntity is an entity in the Destiny.Definitions.DestinyInventoryBucketDefinition contract. This describes a collection of items in an inventory known as a bucket. For example, "Primary Weapons".

type InventoryItemDefinition

type InventoryItemDefinition map[uint32]InventoryItemEntity

InventoryItemDefinition is the contract for all Destiny.Definitions.DestinyInventoryItemDefinition entities.

func (InventoryItemDefinition) Entity

func (def InventoryItemDefinition) Entity(entityHash uint32) interface{}

func (InventoryItemDefinition) Name

func (InventoryItemDefinition) Reference

func (InventoryItemDefinition) Reference() string

func (*InventoryItemDefinition) Unmarshal

func (def *InventoryItemDefinition) Unmarshal(data []byte) error

type InventoryItemEntity

type InventoryItemEntity struct {
	DisplayProperties DisplayProperties
	// TooltipNotifications are tooltips that come up conditionally for the item.
	TooltipNotifications []ItemTooltipNotification
	// CollectibleHash is the hash of a related CollectibleEntity.
	CollectibleHash uint32
	// IconWatermark is the original release watermark overlay for the icon.
	// If the item has different versions, it can be overriden by the watermark in the quality block or the IconWatermarkShelved field.
	IconWatermark string
	// IconWatermarkShelved is the "shelved" release watermark overlay for the icon.
	// If the item version has a power cap below the season power cap, it should show the "shelved" watermark.
	IconWatermarkShelved string
	// SecondaryIcon is a secondary icon associated with the item; used in places such as emblem nameplates.
	SecondaryIcon string
	// SecondaryOverlay is the background overlay for SecondaryIcon.
	SecondaryOverlay string
	// BackgroundColor is the color used for the icon background of an item.
	BackgroundColor Color
	// Screenshot is the path to an in-game screenshot for this item.
	Screenshot string
	// ItemTypeDisplayName is the localized title/name of the item's type.
	ItemTypeDisplayName string
	// FlavorText is the quote or description of a given item.
	FlavorText string
	// UiItemDisplayStyle is how a UI should render this item in an inventory screen.
	UiItemDisplayStyle string
	// ItemTypeAndTierDisplayName is the localized string that combines the item type and tier description.
	ItemTypeAndTierDisplayName string
	// DisplaySource is the localized string describing how to find this item.
	DisplaySource string
	// TooltipStyle determines what tooltip a UI should show for this item.
	TooltipStyle string
	// Action is an action performed when using the item.
	Action ItemActionBlock
	// Inventory describes this item's relationship with its inventory.
	Inventory ItemInventoryBlock
	// SetData contains data about the steps and mechanics if this item is quest-related.
	SetData ItemSetBlock
	// Stats are the statistics related to equippable items.
	Stats ItemStatBlock
	// EmblemObjectiveHash is the hash of a related ObjectiveEntity.
	EmblemObjectiveHash uint32
	// EquippingBlock describes the conditions under which this item can be equipped.
	EquippingBlock EquippingBlock
	// TranslationBlock contains rendering information for this item.
	TranslationBlock ItemTranslationBlock
	// Preview summarizes items that can be acquired from using this item.
	Preview ItemPreviewBlock
	// Quality describes the item's quality.
	Quality ItemQualityBlock
	// Value describes an item's value; i.e. sale price for a vendor item and dismantle reward.
	Value ItemValueBlock
	// SourceData describes how to acquire this item.
	SourceData ItemSourceBlock
	// Objectives are extra tasks related to this item if it is part of a quest step.
	Objectives ItemObjectiveBlock
	// Metrics are all available metrics for this item.
	Metrics ItemMetricBlock
	// Plug is the information about how to insert a socket-type item.
	Plug ItemPlug
	// GearSet is the set of equipment associated with this item.
	Gearset ItemGearsetBlock
	// Sack describes what items can be obtained by opening this item.
	Sack ItemSackBlock
	// Sockets describes any sockets available on this item.
	Sockets ItemSocketBlock
	// Summary is this item's reward summary.
	Summary ItemSummaryBlock
	// TalentGrid is the information of the talents in a subclass-type item.
	TalentGrid ItemTalentGridBlock
	// InvestmentStats are the raw stats for this item, before any adjustments.
	InvestmentStats []ItemInvestmentStat
	// Perks are intrisic perks of an item.
	Perks []ItemPerkEntry
	// LoreHash is the hash of a related LoreEntity.
	LoreHash uint32
	// SummaryItemHash is the hash of a related InventoryItemEntity.
	SummaryItemHash uint32
	// Animations defines are animations in the game content for this item.
	Animations []AnimationReference
	// AllowActions determines whether or not the API is allowed to take actions which effect this item.
	AllowActions bool
	// Links are any help or informational URLs about this item.
	Links []HyperlinkReference
	// DoesPostmaterPullHaveSideEffects indicates whether something could happen when transferring this item from the postmaster.
	DoesPostmasterPullHaveSideEffects bool
	// NonTransferrable determines whether an item cannot be transferred
	NonTransferrable bool
	// ItemCategoryHashes are hashes of all related ItemCategoryEntity structs.
	ItemCategoryHashes []uint32
	// SpecialItemType is a internal item category from Destiny 1. Use ItemCategoryHashes instead.
	SpecialItemType SpecialItemType
	// ItemType is the base type of this item. Use ItemCategoryHashes instead.
	ItemType ItemType
	// ItemSubType is the sub-type of this item. Use ItemCategoryHashes instead.
	ItemSubType ItemSubType
	// ClassType is the specific class this item is restricted to.
	ClassType Class
	// BreakerType is the type of anti-champion ability granted by using this item.
	BreakerType BreakerTypeEnum
	// BreakerTypeHash is the hash of a related BreakerTypeEntity.
	BreakerTypeHash uint32
	// Equippable indicates whether an item can be equipped.
	Equippable bool
	// DamageTypeHashes are hashes of all related DamageTypeEntity structs.
	DamageTypeHashes []uint32
	// DamageTypes lists all damage types this item can have.
	DamageTypes []DamageType
	// DefaultDamageType is the default damage type of this item.
	DefaultDamageType DamageType
	// DefaultDamageTypeHash is the hash of a related DamageTypeEntity.
	DefaultDamageTypeHash uint32
	// SeasonHash is the hash of a related SeasonEntity.
	SeasonHash uint32
	// IsWrapper determines if this item is a vendor-wrapper that can be refunded before it is unwrapped.
	IsWrapper bool
	// TraidIds are metadata tags applied to this item.
	TraitIds []string
	// TraitHashes are hashes of all related TraitEntity structs.
	TraitHashes []uint32
	EntityMetadata
}

InventoryItemEntity is an entity in the Destiny.Definitions.DestinyInventoryItemDefinition contract. This defines items in Destiny which can exist in your inventory.

type InventoryItemStat

type InventoryItemStat struct {
	// StatHash is the hash of a related StatEntity.
	StatHash uint32
	// Value represents that stat value assuming the minimum roll and factoring in mandatory bonuses.
	Value int32
	// Minimum is the minimum possible value for this stat an item can roll.
	Minimum int32
	// Maximum is the maximum possible value for this stat an item can roll.
	Maximum int32
	// DisplayMaximum is the maximum possible value for this stat that is shown in a given UI.
	DisplayMaximum int32
}

InventoryItemStat defines a specific stat value on an item and the range.

type ItemActionBlock

type ItemActionBlock struct {
	// VerbName is localized text for the verb of this action.
	VerbName string
	// VerbDescription is a localized text describing this action.
	VerbDescription string
	// IsPositive determines if the given item has this action.
	IsPositive bool
	// OverlayScreenName is the name of the overlay screen associated with this action.
	OverlayScreenName string
	// OverlayIcon is the icon of the overlay screen associated with this action.
	OverlayIcon string
	// RequiredCooldownSeconds is the number of seconds to delay before allowing this action to be performed again.
	RequiredCooldownSeconds int32
	// RequiredItems are other items that must exist or be destroyed to perform this action.
	RequiredItems []ItemActionRequiredItem
	// ProgressionRewards are the progressions and rewards earned by performing this action.
	ProgressionRewards []ProgressionReward
	// ActionTypeLabel is the internal identifier for this action.
	ActionTypeLabel string
	// RequiredLocation is a localized string for a hint about the location where this action can be performed.
	RequiredLocation string
	// RequiredCooldownHash is the hash of related Cooldown associated with this action.
	// Cooldown data is not currently available in the Bungie.net API.
	RequiredCooldownHash uint32
	// DeleteOnAction determines the item is deleted when this action is performed.
	DeleteOnAction bool
	// ConsumeEntireStack determines if the entire stack of items is deleted when this action is performed.
	ConsumeEntireStack bool
	// UseOnAcquire determines if this action is performed when the associated item if acquired.
	UseOnAcquire bool
}

ItemActionBlock defines an action that can be performed on an item.

type ItemActionRequiredItem

type ItemActionRequiredItem struct {
	// Count is the minimum quantity of the item required.
	Count int32
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// DeleteOnAction determines if the quantity of items will be deleted when the action is performed.
	DeleteOnAction bool
}

ItemActionRequiredItem defines an item and quantity required in an inventory to perform an action.

type ItemCategoryDefinition

type ItemCategoryDefinition map[uint32]ItemCategoryEntity

ItemCategoryDefinition is the contract for all Destiny.Definitions.DestinyItemCategoryDefinition entities.

func (ItemCategoryDefinition) Entity

func (def ItemCategoryDefinition) Entity(entityHash uint32) interface{}

func (ItemCategoryDefinition) Name

func (ItemCategoryDefinition) Reference

func (ItemCategoryDefinition) Reference() string

func (*ItemCategoryDefinition) Unmarshal

func (def *ItemCategoryDefinition) Unmarshal(data []byte) error

type ItemCategoryEntity

type ItemCategoryEntity struct {
	DisplayProperties DisplayProperties
	// Visible determines if this item category should be visible in a given UI.
	Visible bool
	// Deprecated determines if this item category is deprecated.
	Deprecated bool
	// ShortTitle is a shorted version of the title of this item category.
	ShortTitle string
	// ItemTypeRegex is a regular expression used against the item type to determine membership in this item category.
	ItemTypeRegex string
	// GrantDestinyBreakerType is the breaker type granted by items in this category.
	GrantDestinyBreakerType BreakerTypeEnum
	// PlugCategoryIdentifier is the identifier of the plug in this item category.
	PlugCategoryIdentifier string
	// ItemTypeRegexNot is a regular expression used against the item type to determine non-membership in this item category.
	ItemTypeRegexNot string
	// OriginBucketIdentifier is the name of the bucket for this item category.
	OriginBucketIdentifier string
	// GrantDestinyItemType is the item type for items in this category.
	GrantDestinyItemType ItemType
	// GrantDestinySubType is the item subtype for items in this category.
	GrantDestinySubType ItemSubType
	// GrantDestinyClass is the class restriction for this item category.
	GrantDestinyClass Class
	// Trait is the identifier of the item trait found in this category.
	TraitId string
	// GroupedCategoryHashes are the hashes of children categories contained within this item category.
	GroupedCategoryHashes []uint32
	// ParentCategoryHashes are the hashes of parent categories which contain this item category.
	ParentCategoryHashes []uint32
	// GroupCategoryOnly determines if this item category is only used for grouping other item categories.
	GroupCategoryOnly bool
	EntityMetadata
}

ItemCategoryEntity is an entity in the Destiny.Definitions.DestinyItemCategoryDefinition contract. This is a grouping of items based on properties such as inventory bucket, type name and breaker type.

type ItemCreationEntryLevel

type ItemCreationEntryLevel struct {
	// Level is the minimum character level the item spawns at.
	Level int32
}

ItemCreationEntryLevel is a wrapper for the item level at which an item should spawn.

type ItemGearsetBlock

type ItemGearsetBlock struct {
	// TrackingValueMax is the maximum number of items that can be collected.
	TrackingValueMax int32
	// ItemList is a list of hashes of all related InventoryItemEntity structs.
	ItemList []uint32
}

ItemGearsetBlock describes the items in a related gearset.

type ItemIntrinsicSocketEntry

type ItemIntrinsicSocketEntry struct {
	// PlugItemHash is the hash of a related InventoryItemEntity.
	PlugItemHash uint32
	// SocketTypeHash is the hash of a related SocketTypeEntity.
	SocketTypeHash uint32
	// DefaultVisible determines if this socket is visible in the item's default state.
	DefaultVisible bool
}

ItemIntrinsicSocketEntry represents a socket that has a plug associated with it intrisically.

type ItemInventoryBlock

type ItemInventoryBlock struct {
	// StackUniqueLabel is a unique label for a single stack in a given inventory.
	StackUniqueLabel string
	// MaxStackSize is the maximum quantity of this item that can exist in a stack.
	MaxStackSize int32
	// BucketTypeHash is the hash of a related InventoryBucketEntity.
	BucketTypeHash uint32
	// RecoveryBucketTypeHash is the hash of a related InventoryBucketEntity used for items in the lost loot queue.
	RecoveryBucketTypeHash uint32
	// TierTypeHash is the hash of a related ItemTierTypeEntity.
	TierTypeHash uint32
	// IsInstanceItem determines if this item is instanced.
	IsInstanceItem bool
	// TierTypeName is the localized name of this item's tier type.
	TierTypeName string
	// TierType is the classification of this item's tier type.
	TierType ItemTier
	// ExpirationTooltip is the tooltip to show when this item expires.
	ExpirationTooltip string
	// ExpiredInActivityMessage is the message shown if this item expires while playing in an activity.
	ExpiredInActivityMessage string
	// ExpiredInOrbitMessage is the message shown if this item expires while in orbit.
	ExpiredInOrbitMessage string
	// SuppressExpirationWhenObjectivesComplete determines if expiration messages should be suppressed.
	SuppressExpirationWhenObjectivesComplete bool
}

ItemInventoryBlock defines the basic properties regarding an item's relationship with its inventory.

type ItemInvestmentStat

type ItemInvestmentStat struct {
	// StatTypeHash is the hash of a related StatEntity.
	StatTypeHash uint32
	// Value is the raw investment value for this stat.
	Value int32
	// IsCondtionallyActive determines if the stat will only be applied on an item in certain game conditions.
	IsConditionallyActive bool
}

ItemInvestmentStat represents a raw investmentment, before calculated stats and stat groups are applied.

type ItemLocation added in v1.1.0

type ItemLocation int32

ItemLocation describes where a given item can be found.

type ItemMetricBlock

type ItemMetricBlock struct {
	// AvailableMetricCategoryNodeHashes are the hashes of all related PresentationNodeEntity structs.
	AvailableMetricCategoryNodeHashes []uint32
}

ItemMetricBlock represents metrics available for display and selection on an item.

type ItemObjectiveBlock

type ItemObjectiveBlock struct {
	// ObjectiveHashes are the hashes of all related ObjectiveEntity structs.
	ObjectiveHashes []uint32
	// DisplayActivityHashes are the hashes of all related ActivityEntity structs.
	DisplayActivityHashes []uint32
	// RequireFullObjectiveCompletion determines if all objectives must be completed for the step to be completed.
	RequireFullObjectiveCompletion bool
	// QuestlineItemHash is the hash of a related InventoryItemEntity.
	QuestlineItemHash uint32
	// Narrative is the localized string for narrative text related to this quest step.
	Narrative string
	// ObjectiveVerbName is a localized string describing an action to be performed for this objective.
	ObjectiveVerbName string
	// QuestTypeIdentifier identifies the type of quest being performed.
	QuestTypeIdentifier string
	// QuestTypeHash is a unique hash this quest type.
	QuestTypeHash uint32
	// PerObjectiveDisplayProperties are related display information per objective.
	PerObjectiveDisplayProperties []ObjectiveDisplayProperties
	DisplayAsStatTracker          bool
}

ItemObjectiveBlock represents an item that has objectives associated with it.

type ItemPerkEntry

type ItemPerkEntry struct {
	// RequirementDisplayString is the localized string to show if this perk is not active.
	RequirementDisplayString string
	// PerkHash is the hash of a related SandboxPerkDefinition.
	PerkHash uint32
	// PerkVisibility indicates if this perk should be shown.
	PerkVisibility ItemPerkVisibility
}

ItemPerkEntry describes an intrinsic perk on an item and the requirements to active it.

type ItemPerkVisibility

type ItemPerkVisibility int32

ItemPerkVisibility determines how a perk should be shown in the game UI.

type ItemPlug

type ItemPlug struct {
	// InsertionRules are the rules around when this plug can be inserted.
	InsertionRules []PlugRule
	// PlugCategoryIdentifier is localized identifier for this plug's category.
	PlugCategoryIdentifier string
	// PlugCategoryHash is a unique hash for this plug's category.
	PlugCategoryHash uint32
	// OnActionRecreateSelf determines if this plug is refunded when socketed.
	OnActionRecreateSelf bool
	// InsertionMaterialRequirementHash is the hash of a related MaterialRequirementSetEntity for inserting this plug.
	InsertionMaterialRequirementHash uint32
	// PreviewItemOverrideHash is the hash of a related InventoryItemEntity.
	PreviewItemOverrideHash uint32
	// EnabledMaterialRequirementHash is the hash of a related MaterialRequirementSetEntity for enabling this plug.
	EnabledMaterialRequirementHash uint32
	// EnabledRules are the rules around this plug is enabled after being socketed.
	EnabledRules []PlugRule
	// UIPlugLabels is a label that describes the style of this plug in a given UI.
	UiPlugLabels string
	// PlugStyle is a classification of the style of this plug in a given UI.
	PlugStyle PlugUIStyles
	// PlugAvailable indicates the rules about when this plug can be used.
	PlugAvailable PlugAvailabilityMode
	// AlternateUIPlugLabel is a label applied to a plug if it meets certain state requirements.
	AlternateUiPlugLabel string
	// AlternatePlugStyle is a classification of the style of this plug in a given UI under certain conditions.
	AlternatePlugStyle PlugUIStyles
	// IsDummyPlug determines if this plug is used for UI display purposes only, with no other effects.
	IsDummyPlug bool
	// ParentItemOverride describes how this plug overrides properties of the item it is inserted in.
	ParentItemOverride ParentItemOverride
	// EnergyCapacity is the energy capacity provided to the item in which this plug is socketed.
	EnergyCapacity EnergyCapacityEntry
	// EnergyCost is the energy cost of this plug.
	EnergyCost EnergyCostEntry
}

ItemPlug is an item that can be plugged (socketed) into another.

type ItemPreviewBlock

type ItemPreviewBlock struct {
	// ScreenStyle is a hint for which detail screen to show for this item preview in a given UI.
	ScreenStyle string
	// PreviewVendorHash is the hash related to a VendorEntity.
	PreviewVendorHash uint32
	// ArtifactHash is the hash related to an ArtifactEntity.
	ArtifactHash uint32
	// PreviewActionString is the localized string for the action associated with this preview.
	PreviewActionString string
	// DerivedItemCategories is the list of items being previewed, categorized in the same way as they presented in the preview UI.
	DerivedItemCategories []DerivedItemCategory
}

ItemPreviewBlock represents the items that can be obtained when viewing the details of an item sack or box.

type ItemQualityBlock

type ItemQualityBlock struct {
	// ItemLevels are the base levels of an item as defined by a season.
	ItemLevels []int32
	// QualityLevel is used in combination with the item's level to calculate stats.
	QualityLevel int32
	// InfusionCategoryName is an identifier for this item's infusability. Deprecated.
	InfusionCategoryName string
	// InfusionCategoryHash is the hash identifier for the infusion. Deprecated.
	InfusionCategoryHash uint32
	// InfusionCategoryHashes are a set of infusion category hashes. If any of these hashes match an entry in
	// InventoryItemEntity.InfusionCategoryHashes, the two can infuse with each other.
	InfusionCategoryHashes []uint32
	// ProgressionLevelRequirementHash is the hash of a related ProgressionLevelRequirementEntity.
	ProgressionLevelRequirementHash uint32
	// CurrentVersion is the latest version available for this item.
	CurrentVersion uint32
	// Versions are the list of versions available for this item.
	Versions []ItemVersion
	// DisplayVersionWatermarkIcons are icon overlays that show the item version and power cap.
	DisplayVersionWatermarkicons []string
}

ItemQualityBlock is used to determine an item's calculated stats based on quality.

type ItemQuantity

type ItemQuantity struct {
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// ItemInstanceID refers to a specific instance of an item.
	ItemInstanceId int64
	// Quantity is the amount of the item.
	Quantity int32
	// HasCondtionalVisibility determines if the item quantity may be condtionally shown or hideen.
	HasConditionalVisibility bool
}

ItemQuantity describes an item stack and its quantity.

type ItemSackBlock

type ItemSackBlock struct {
	// DetailAction is a localized description of what happens when this sack is opened.
	DetailAction string
	// OpenAction is localized name of the action being performed when this sack is opened.
	OpenAction string
	// SelectItemCount is the amount of the selected item produced by this sack.
	SelectItemCount int32
	// VendorSackType identifies the type of sack being sold by a vendor.
	VendorSackType string
	// OpenOnAcquire determines if this item sack is opened when it is acquired.
	OpenOnAcquire bool
}

ItemSackBlock describes an item sack: an item that can be opened to produce other items.

type ItemSetBlock

type ItemSetBlock struct {
	// ItemList is a collection of hashes of items in this set.
	ItemList []ItemSetBlockEntry
	// RequiredOrderedSetItemAdd determines if items in this set can only be added in increasing order and if adding an item will remove previous items.
	RequireOrderedSetItemAdd bool
	// SetIsFeatured determines if this quest shows up as featured in a given UI.
	SetIsFeatured bool
	// SetType is an identifier of the category of this quest.
	SetType string
	// QuestLineName is the name of the quest line of this quest.
	QuestLineName string
	// QuestLineDescription is the description of the quest line of this quest.
	QuestLineDescription string
	// QuestStepSummary is an additional summary of this step in the quest line.
	QuestStepSummary string
}

ItemSetBlock defines properties related to a quest-item and its quest steps.

type ItemSetBlockEntry

type ItemSetBlockEntry struct {
	// TrackingValue tracks which step has been reached in this quest.
	TrackingValue int32
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
}

ItemSetBlockEntry is a particular entry in an ItemSet.

type ItemSocketBlock

type ItemSocketBlock struct {
	// Detail is a localized description about sockets on this item.
	Detail string
	// SocketEntries are all mutable sockets on an item.
	SocketEntries []ItemSocketEntry
	// IntrinsicSockets are the permanent sockets on an item.
	IntrinsicSockets []ItemIntrinsicSocketEntry
	// SocketCategories are the categories that sockets are grouped into.
	SocketCategories []ItemSocketCategory
}

ItemSocketBlock describes the sockets in an item.

type ItemSocketCategory

type ItemSocketCategory struct {
	// SocketCategoryHash is the hash of a related SocketCategoryEntity.
	SocketCategoryHash uint32
	// SocketIndexes are the indexes of sockets in InventoryItemEntity.Sockets.SocketEntries.
	SocketIndexes []int32
}

ItemSocketCategory describes a grouping of item sockets in a given UI.

type ItemSocketEntry

type ItemSocketEntry struct {
	// SocketTypeHash is the hash of a related SocketTypeEntity.
	SocketTypeHash uint32
	// SingleInitialItemHash is the hash of a related InventoryItemEntity.
	SingleInitialItemHash uint32
	// ReusablePlugItems is a list of pre-determined that can always be plugged into this socket
	// even if the character does not have the plug item in their inventory.
	ReusablePlugItems []ItemSocketEntryPlugItem
	// PreventInitializationOnVendorPurchase determines if a socket will not be intialized with
	// a plug if the item is purchased from a vendor.
	PreventInitializationOnVendorPurchase bool
	// HidePerksInItemTooltip determines is perks provided by this socket should not be shown in the item's tooltip.
	HidePerksInItemTooltip bool
	// PlugSources indicates where plugs for this socket can be obtained.
	PlugSources SocketPlugSources
	// ReusablePlugSetHash is the hash of a related PlugSetEntity that is reusable.
	ReusablePlugSetHash uint32
	// RandomizedPlugSetHash is the hash of a related PlugSetEntity that is randomized.
	RandomizedPlugSetHash uint32
	// DefaultVisible determines if this socket is visible in the item's default state.
	DefaultVisible bool
}

ItemSocketEntry defines a specific socket on an item.

type ItemSocketEntryPlugItem

type ItemSocketEntryPlugItem struct {
	// PlugItemHash is the hash of a related InventoryItemEntity.
	PlugItemHash uint32
}

ItemSocketEntryPlugItem defines a known, reusable plug that can be applied to a socket.

type ItemSocketEntryPlugItemRandomized

type ItemSocketEntryPlugItemRandomized struct {
	// CurrentlyCanRoll determines if this plug can be rolled on the current version of the item.
	CurrentlyCanRoll bool
	// PlugItemHash is the hash of a InventoryItemEntity.
	PlugItemHash uint32
}

ItemSocketEntryPlugItemRandomized defines a randomized plug that can be applied to a socket.

type ItemSource

type ItemSource struct {
	// Level is the level this item spawns at.
	Level int32
	// MinQuality is the minimum quality this item spawns at.
	MinQuality int32
	// MaxQuality is the maximum quality this item spawns at.
	MaxQuality int32
	// MinLevelRequired is the minimum character level required for equipping the item.
	MinLevelRequired int32
	// MaxLevelRequired is the maximum character level required for equipping the item.
	MaxLevelRequired int32
	// ComputedStats are the stats computed for this level/quality range.
	ComputedStats map[uint32]InventoryItemStat
	// SourceHashes are the hashes for all related RewardSourceEntity structs.
	SourceHashes []uint32
}

ItemSource represents all information about how an item spawns and where a player can obtain it.

type ItemSourceBlock

type ItemSourceBlock struct {
	// SourceHashes are the hashes for all related RewardSourceEntity structs.
	SourceHashes []uint32
	// Sources are a collection of details about ways the item can be spawned.
	Sources []ItemSource
	// Exclusive is a classification of the platforms this item is exclusive to.
	Exclusive BungieMembershipType
	// VendorSources reference vendors that potentially sell this item.
	VendorSources []ItemVendorSourceReference
}

ItemSourceBlock describes how an item can be obtained.

type ItemStatBlock

type ItemStatBlock struct {
	// DisablePrimaryStatDisplay determines if the primary stat on this item isn't shown on inspection.
	DisablePrimaryStatDisplay bool
	// StatGroupHash is the hash of a related StatGroupEntity.
	StatGroupHash uint32
	// Stats are precomputed stats on an item by the hash of a the related InventoryItemEntity.
	Stats map[uint32]InventoryItemStat
	// HasDisplayableStats determines if any stat on the item is visible.
	HasDisplayableStats bool
	// PrimaryBaseStatHash is the hash of a related StatEntity.
	PrimaryBaseStatHash uint32
}

ItemStatBlock contains information about this item's calculated stats.

type ItemSubType added in v1.1.0

type ItemSubType int32

ItemSubType is a more specific categorization for a given item than ItemType.

type ItemSummaryBlock

type ItemSummaryBlock struct {
	// SortPriority is used as the sort priority when rendering an item.
	SortPriority int32
}

ItemSummaryBlock describes information used when rendering rewards.

type ItemTalentGridBlock

type ItemTalentGridBlock struct {
	// TalentGridHash is the hash of a related TalentGridEntity.
	TalentGridHash uint32
	// ItemDetailString is the localized subtitle for looking at a talent in the item's grid.
	ItemDetailString string
	// BuildName is a shortcut for the build, if this talent grid has an associated build.
	BuildName string
	// HUDDamageType is the damage type used in this talent grid.
	HudDamageType DamageType
	// HUDIcon is the icon to show for this talent grid in a given UI.
	HudIcon string
}

ItemTalentGridBlock defines an item's talent grid.

type ItemTier added in v1.1.0

type ItemTier int32

ItemTier is the tier of an item in an inventory.

type ItemTierTypeDefinition

type ItemTierTypeDefinition map[uint32]ItemTierTypeEntity

ItemTierTypeDefinition is the contract for all Destiny.Definitions.DestinyItemTierTypeDefinition entities.

func (ItemTierTypeDefinition) Entity

func (def ItemTierTypeDefinition) Entity(entityHash uint32) interface{}

func (ItemTierTypeDefinition) Name

func (ItemTierTypeDefinition) Reference

func (ItemTierTypeDefinition) Reference() string

func (*ItemTierTypeDefinition) Unmarshal

func (def *ItemTierTypeDefinition) Unmarshal(data []byte) error

type ItemTierTypeEntity

type ItemTierTypeEntity struct {
	DisplayProperties DisplayProperties
	// InfusionProcess defines the process of infusing items of this tier.
	InfusionProcess ItemTierTypeInfusionBlock
	EntityMetadata
}

ItemTierTypeEntity is an entity in the Destiny.Definitions.Items.DestinyItemTierTypeDefinition contract. This defines the tier of items such as common, rare, etc, and how they can be infused.

type ItemTierTypeInfusionBlock

type ItemTierTypeInfusionBlock struct {
	// BaseQualityTransferRatio is the default portion of quality that will transfer from the infuser to the infusee.
	// (InfuserQuality - InfuseeQuality) * BaseQualityTransferRatio = base quality transferred.
	BaseQualityTransferRatio float32
	// MinimumQualityIncrement is the minimum amount of quality given if InfuserQuality > InfuseeQuality.
	MinimumQualityIncrement int32
}

type ItemTooltipNotification

type ItemTooltipNotification struct {
	// DisplayString is a localized tooltip to display.
	DisplayString string
	// DisplayStyle identifies the style used to show this display in a given UI.
	DisplayStyle string
}

ItemTooltipNotification is a tooltip that comes up conditionally for an item.

type ItemTranslationBlock

type ItemTranslationBlock struct {
	WeaponPatternIdentifier string
	WeaponPatternHash       uint32
	DefaultDyes             []DyeReference
	LockedDyes              []DyeReference
	CustomDyes              []DyeReference
	Arrangements            []GearArtArrangementReference
	HasGeometry             bool
}

ItemTranslationBlock defines the rendering data associated with the item.

type ItemType

type ItemType int32

ItemType indicates the generalized category or type of a given item.

type ItemValueBlock

type ItemValueBlock struct {
	// ItemValue refers to items that make up this item's value and the quantity.
	ItemValue []ItemQuantity
	// ValueDescription is a localized text description of the value.
	ValueDescription string
}

ItemValueBlock defines an item's value contextually. For example, items sold at a vendor use this to determine the sale price of an item.

type ItemVendorSourceReference

type ItemVendorSourceReference struct {
	// VendorHash is the hash of a related VendorEntity.
	VendorHash uint32
	// VendorItemIndexes are the indexes at which this item is sold at this vendor.
	VendorItemIndexes []int32
}

ItemVendorSourceReference represents that a vendor could sell this item.

type ItemVersion

type ItemVersion struct {
	// PowerCapHash is the hash for a related PowerCapEntity.
	PowerCapHash uint32
}

ItemVersion refers to the power cap for this item version.

type LinkedGraph

type LinkedGraph struct {
	Description      string
	Name             string
	UnlockExpression UnlockExpression
	LinkedGraphId    uint32
	// LinkedGraphs are a list of all entries in this linked graph.
	LinkedGraphs []LinkedGraphEntry
	Overview     string
}

LinkedGraph describes links between the current graph and others.

type LinkedGraphEntry

type LinkedGraphEntry struct {
	// ActivityGraphHash is the hash of a related ActivityGraphEntity.
	ActivityGraphHash uint32
}

type LocaleError

type LocaleError struct {
	// contains filtered or unexported fields
}

LocaleError represents an error finding a user-specified locale.

func (LocaleError) Error

func (e LocaleError) Error() string

type LocationDefinition

type LocationDefinition map[uint32]LocationEntity

LocationDefinition is the contract for all Destiny.Definitions.DestinyLocationDefinition entities.

func (LocationDefinition) Entity

func (def LocationDefinition) Entity(entityHash uint32) interface{}

func (LocationDefinition) Name

func (LocationDefinition) Name() string

func (LocationDefinition) Reference

func (LocationDefinition) Reference() string

func (*LocationDefinition) Unmarshal

func (def *LocationDefinition) Unmarshal(data []byte) error

type LocationEntity

type LocationEntity struct {
	// VendorHash is the hash for a related VendorEntity.
	VendorHash uint32
	// LocationReleases refer to different spots in the world for this location and which location is valid.
	LocationReleases []LocationRelease
	EntityMetadata
}

LocationEntity is an entity in the Destiny.Definitions.DestinyLocationDefinition contract. A Location refers to a specific combination of activity, destination, place and bubble.

type LocationRelease

type LocationRelease struct {
	DisplayProperties    DisplayProperties
	SmallTransparentIcon string
	MapIcon              string
	LargeTransparentIcon string
	SpawnPoint           uint32
	// DestinationHash is the hash of a related DestinationEntity.
	DestinationHash uint32
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// ActivityGraphNodeHash is the activity graph node pointed to by this location.
	ActivityGraphNodeHash uint32
	// ActivityBubbleName is the activity bubble within the Destination.
	ActivityBubbleName      uint32
	ActivityPathBundle      uint32
	ActivityPathDestination uint32
	// NavPointType is a classification of navigation points to this location.
	NavPointType  ActivityNavPointType
	WorldPosition []int32
}

LocationRelease is a specific spot referred to by a location.

type LoreDefinition

type LoreDefinition map[uint32]LoreEntity

LoreDefinition is the contract for all Destiny.Definitions.DestinyLoreDefinition entities.

func (LoreDefinition) Entity

func (def LoreDefinition) Entity(entityHash uint32) interface{}

func (LoreDefinition) Name

func (LoreDefinition) Name() string

func (LoreDefinition) Reference

func (LoreDefinition) Reference() string

func (*LoreDefinition) Unmarshal

func (def *LoreDefinition) Unmarshal(data []byte) error

type LoreEntity

type LoreEntity struct {
	DisplayProperties DisplayProperties
	Subtitle          string
	EntityMetadata
}

LoreEntity is an entity in the Destiny.Definitions.Lore.DestinyLoreDefinition contract. This represents in-game lore which are meant as narrative enhancements of the game experience.

type Manifest added in v1.0.1

type Manifest struct {
	// contains filtered or unexported fields
}

Manifest is a representation of DestinyManifest, the external-facing contract for just the properties needed by those calling the Destiny Platform API.

func NewManifest

func NewManifest(reader ContractReader) (*Manifest, error)

NewManifest returns a populated Destiny 2 Manifest, similar to the

func (*Manifest) FulfillContract added in v1.0.1

func (m *Manifest) FulfillContract(definition Contract, opts ...FulfillmentOption) error

FulfillContract fulfills a Bungie.net contract by adding all related entities for a given definition.

func (*Manifest) Update added in v1.0.1

func (m *Manifest) Update(updateFn UpdateFunc) error

Update updates the manifest to the newest version and, if necessary, runs updateFn.

func (Manifest) Version added in v1.0.1

func (m Manifest) Version() string

Version returns the version string of this manifest.

type MaterialRequirement

type MaterialRequirement struct {
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// DeleteOnAction determines if the material will be removed from the inventory when the action is performed.
	DeleteOnAction bool
	// Count is the amount of the material required.
	Count int32
	// OmitFromRequirements determines if this material requirement is shown in a given UI.
	OmitFromRequirements bool
}

MaterialRequirement defines requirements for spending materials to perform an action.

type MaterialRequirementSetDefinition

type MaterialRequirementSetDefinition map[uint32]MaterialRequirementSetEntity

MaterialRequirementSetDefinition is the contract for all Destiny.Definitions.DestinyMaterialRequirementSetDefinition entities.

func (MaterialRequirementSetDefinition) Entity

func (def MaterialRequirementSetDefinition) Entity(entityHash uint32) interface{}

func (MaterialRequirementSetDefinition) Name

func (MaterialRequirementSetDefinition) Reference

func (*MaterialRequirementSetDefinition) Unmarshal

func (def *MaterialRequirementSetDefinition) Unmarshal(data []byte) error

type MaterialRequirementSetEntity

type MaterialRequirementSetEntity struct {
	// Materials are a list of all required materials.
	Materials []MaterialRequirement
	EntityMetadata
}

MaterialRequirementSetEntity is an entity in the Destiny.Definitions.DestinyMaterialRequirementSetDefinition contract. Represents a set of material requirements which need to be owned or need to be consumed to perform an action.

type MetricDefinition

type MetricDefinition map[uint32]MetricEntity

MetricDefinition is the contract for all Destiny.Definitions.DestinyMetricDefinition entities.

func (MetricDefinition) Entity

func (def MetricDefinition) Entity(entityHash uint32) interface{}

func (MetricDefinition) Name

func (MetricDefinition) Name() string

func (MetricDefinition) Reference

func (MetricDefinition) Reference() string

func (*MetricDefinition) Unmarshal

func (def *MetricDefinition) Unmarshal(data []byte) error

type MetricEntity

type MetricEntity struct {
	DisplayProperties DisplayProperties
	// TrackingObjectiveHash is the hash of a related ObjectiveEntity.
	TrackingObjectiveHash uint32
	LowerValueIsBetter    bool
	PresentationNodeType  PresentationNodeType
	TraitIds              []string
	TraitHashes           []uint32
	// ParentNodeHashes are the hashes of presentation nodes that this metric as a child.
	ParentNodeHashes []uint32
	EntityMetadata
}

MetricEntity is an entity in the Destiny.Definitions.Metrics.DestinyMetricDefinition contract.

type MilestoneActivity

type MilestoneActivity struct {
	// ConceptualActivityHash is the hash of a related ActivityEntity.
	ConceptualActivityHash uint32
	// Variants are the variants of this milestone-related activity by the hash of a related ActivityEntity.
	Variants map[uint32]MilestoneActivityVariant
}

MilestoneActivity is a milestone-related activity.

type MilestoneActivityVariant

type MilestoneActivityVariant struct {
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// Order is the order to arrange this variant by when displaying a milestone-related activity.
	Order int32
}

MilestoneActivityVariant represents a variant on a milestone-related activity.

type MilestoneChallenge

type MilestoneChallenge struct {
	// ChallengeObjectiveHash is the hash of a related ObjectiveEntity.
	ChallengeObjectiveHash uint32
}

MilestoneChallenge describes the objective of a milestone-related challenge.

type MilestoneChallengeActivity

type MilestoneChallengeActivity struct {
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// Challenges are the challenges related to this activity.
	Challenges []MilestoneChallenge
	// ActivityGraphNodes are the nodes this challenge is visible on.
	ActivityGraphNodes []MilestoneChallengeActivityGraphNodeEntry
	// Phases are the phases related to this activity.
	Phases []MilestoneChallengeActivityPhase
}

MilestoneChallengeActivity describes a milestone-related challenge.

type MilestoneChallengeActivityGraphNodeEntry

type MilestoneChallengeActivityGraphNodeEntry struct {
	// ActivityGraphHash is the hash of a related ActivityGraphEntity.
	ActivityGraphHash uint32
	// ActivityGraphNodeHash is hash of this milestone-related challenge within a map.
	ActivityGraphNodeHash uint32
}

MilestoneChallengeActivityGraphNodeEntry describes the map of a milestone-related challenge.

type MilestoneChallengeActivityPhase

type MilestoneChallengeActivityPhase struct {
	// PhaseHash is the unique hash representing the phase.
	PhaseHash uint32
}

MilestoneChallengeActivityPhase describes a phase in a milestone-related challenge.

type MilestoneDefinition

type MilestoneDefinition map[uint32]MilestoneEntity

MilestoneDefinition is the contract for all Destiny.Definitions.Milestones.DestinyMilestoneDefinition entities.

func (MilestoneDefinition) Entity

func (def MilestoneDefinition) Entity(entityHash uint32) interface{}

func (MilestoneDefinition) Name

func (MilestoneDefinition) Name() string

func (MilestoneDefinition) Reference

func (MilestoneDefinition) Reference() string

func (*MilestoneDefinition) Unmarshal

func (def *MilestoneDefinition) Unmarshal(data []byte) error

type MilestoneDisplayPreference

type MilestoneDisplayPreference int32

MilestoneDisplayPreference is a hint for the UI about what display information should be shown for a milestone.

type MilestoneEntity

type MilestoneEntity struct {
	DisplayProperties DisplayProperties
	// DisplayPreference is a hint to a given UI about what DisplayProperties to show when viewing this milestone's live data.
	DisplayPreference MilestoneDisplayPreference
	// Image is a custom image for this milestone.
	Image string
	// MilestoneType is the classification of this milestone.
	MilestoneType MilestoneType
	// Recruitable determines if this milestone is integrated with the API's recruiting feature.
	Recruitable bool
	// FriendlyName is the friendly identifier for this milestone.
	FriendlyName string
	// ShowInMilestones determines if this milestone is shown in the user's personal milestones list.
	ShowInMilestones bool
	// ExplorePrioritizesActivityImage determines if the "Explore Destiny" page prioritizes using the activity image for this milestone.
	ExplorePrioritizesActivityImage bool
	// HashPredictableDates determines if the start and end date of this milestone can be predicted.
	HasPredictableDates bool
	// Quests are the set of all quests related to this milestone.
	Quests map[uint32]MilestoneQuest
	// Rewards are the categories which individual rewards are placed in by the hash of the MilestoneRewordCategory.
	Rewards map[uint32]MilestoneRewardCategory
	// VendorsDisplayTitle is the localized header for vendors related to this milestone.
	VendorsDisplayTitle string
	// Vendors are the vendors which have rewards for this milestone.
	Vendors []MilestoneVendor
	// Values are arbitrary values associated with a given identifier in this milestone.
	Values map[string]MilestoneValue
	// IsInGameMilestone determines if this milestone is an objective that can interacted with in the game.
	IsInGameMilestone bool
	// Activities are the challenge and modifiers related to this milestone.
	Activities   []MilestoneChallengeActivity
	DefaultOrder int32
	EntityMetadata
}

MilestoneEntity is an entity in the Destiny.Definitions.Milestones.DestinyMilestoneDefinition contract. Milestones are an in-game concept that hints at what the player can do next.

type MilestoneQuest

type MilestoneQuest struct {
	// QuestItemHash is the hash of a related InventoryItemEntity.
	QuestItemHash     uint32
	DisplayProperties DisplayProperties
	// OverrideImage is the image to show instead of the milestone's image.
	OverrideImage string
	// QuestRewards are rewards for completing this quest.
	QuestRewards MilestoneQuestRewards
	// Activities are milestone-related activities by the hash of a related ActivityEntity.
	Activities map[uint32]MilestoneActivity
	// DestinationHash is the hash of a related DestinationEntity.
	DestinationHash uint32
}

MilestoneQuest describes a quest item that is currently active for a milestone.

type MilestoneQuestRewardItem

type MilestoneQuestRewardItem struct {
	// VendorHash is the hash of a related VendorEntity.
	VendorHash uint32
	// VendorItemIndex is the index of item being sold in the vendor.
	VendorItemIndex int32
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// ItemInstanceID refers to a specific instance of an item.
	ItemInstanceId int64
	// Quantity is the amount of the item.
	Quantity int32
	// HasCondtionalVisibility determines if the item quantity may be condtionally shown or hideen.
	HasConditionalVisibility bool
}

MilestoneQuestRewardItem describes an milestone-related quest reward and the vendor that provides it.

type MilestoneQuestRewards

type MilestoneQuestRewards struct {
	// Items are the items rewarded for completing the quest.
	Items []MilestoneQuestRewardItem
}

MilestoneQuestRewards describe rewards given for completing a milestone-related quest.

type MilestoneRewardCategory

type MilestoneRewardCategory struct {
	// CategoryHash is the unique hash of this reward category.
	CategoryHash uint32
	// CategoryIdentifier is unique identifier of this category.
	CategoryIdentifier string
	DisplayProperties  DisplayProperties
	// RewardEntries are milestone-related rewards by the reward category hash.
	RewardEntries map[uint32]MilestoneRewardEntry
	// Order is the recommended order for rendering this category.
	Order int32
}

MilestoneRewardCategory defines a category of milestone-related rewards.

type MilestoneRewardEntry

type MilestoneRewardEntry struct {
	// RewardEntryHash is the unique hash of this reward entry within the milestone.
	RewardEntryHash uint32
	// RewardEntryIdentifier is the unique identifier of this reward entry within the milestone.
	RewardEntryIdentifier string
	// Items are the items and the quantity rewarded.
	Items []ItemQuantity
	// VendorHash is the hash of a related VendorEntity.
	VendorHash        uint32
	DisplayProperties DisplayProperties
	// Order is the ordering of this reward in a given UI.
	Order int32
}

MilestoneRewardEntry defines a specific reward in a category of milestone-related rewards.

type MilestoneType

type MilestoneType int32

MilestoneType describes the basic types of Destiny 2 milestones.

type MilestoneValue

type MilestoneValue struct {
	// Key is the for the specific milestone or milestone step.
	Key               string
	DisplayProperties DisplayProperties
}

MilestoneValue contains information related to the key/value pair for a specific milestone or milestone step.

type MilestoneVendor

type MilestoneVendor struct {
	// VendorHash is the hash of a related VendorEntity.
	VendorHash uint32
}

MilestoneVendor describes a milestone-related vendor.

type NodeActivationRequirement

type NodeActivationRequirement struct {
	// GridLevel is progression level on the talent grid required to activate this node.
	GridLevel int32
	// MaterialRequirementHashes are the hashes of all related MaterialRequirementSetEntity structs.
	MaterialRequirementHashes []uint32
}

NodeActivationRequirement describes the requirements for activation a talent node.

type NodeSocketReplaceResponse

type NodeSocketReplaceResponse struct {
	// SocketTypeHash is the hash of a related SocketTypeEntity.
	SocketTypeHash uint32
	// PlugItemHash is the hash of a related InventoryItemEntity.
	PlugItemHash uint32
}

NodeSocketReplaceResponse describes how a socket on an item is replaced with a new plug on a node step's activation.

type NodeStep

type NodeStep struct {
	DisplayProperties DisplayProperties
	// StepIndex is the index of this step in the list of steps on TalentNode.
	StepIndex int32
	// NodeStepHash is the hash of this node step, used to uniquely identify this step within a node.
	NodeStepHash uint32
	// InteractionDescription is a localized description of how this step can be interacted with.
	InteractionDescription string
	// DamageType is a classification of the damage type granted by activating this step.
	DamageType DamageType
	// DamageTypeHash is the hash of a related DamageTypeEntity.
	DamageTypeHash uint32
	// NodeActivationRequirement is the requirement for activating this step.
	ActivationRequirement NodeActivationRequirement
	// CanActivateNextStep determines if activating this step also activates the next step.
	CanActivateNextStep bool
	// NextStepIndex is the index of the next step in the list of steps on TalentNode.
	NextStepIndex int32
	// IsNextStepRandom determines if the next chosen step is random.
	IsNextStepRandom bool
	// PerkHashes are the hashes of all related SandboxPerkEntity structs.
	PerkHashes []uint32
	// StartProgressionBarAtProgress is lower bound of the progress bar for this step.
	StartProgressionBarAtProgress int32
	// StatHashes are the hashes of all related StatEntity structs.
	StatHashes []uint32
	// AffectsQuality determines if this node step affects the item's quality.
	AffectsQuality bool
	// StepGroups is the group of talent node steps this step belongs to based on its functionality.
	StepGroups TalentNodeStepGroups
	// AffectsLevel determines if this node step affects the level of the item.
	AffectsLevel bool
	// SocketReplacements is a list of information used to replace socket items with new plugs when this step is activated.
	SocketReplacements []NodeSocketReplaceResponse
}

NodeStep defines the properties of a talent node step.

type ObjectiveDefinition

type ObjectiveDefinition map[uint32]ObjectiveEntity

ObjectiveDefinition is the contract for all Destiny.Definitions.DestinyObjectiveDefinition entities.

func (ObjectiveDefinition) Entity

func (def ObjectiveDefinition) Entity(entityHash uint32) interface{}

func (ObjectiveDefinition) Name

func (ObjectiveDefinition) Name() string

func (ObjectiveDefinition) Reference

func (ObjectiveDefinition) Reference() string

func (*ObjectiveDefinition) Unmarshal

func (def *ObjectiveDefinition) Unmarshal(data []byte) error

type ObjectiveDisplayProperties

type ObjectiveDisplayProperties struct {
	// ActivityHash is the hash for a related ActivityEntity.
	ActivityHash uint32
	// DisplayOnItemPreviewScreen determines whether this objective is shown on item preview screens.
	DisplayOnItemPreviewScreen bool
}

ObjectiveDisplayProperties are display properties for an item with objectives.

type ObjectiveEntity

type ObjectiveEntity struct {
	DisplayProperties DisplayProperties
	// CompletionValue is the value that must be reached in order for this objective be completed.
	CompletionValue int32
	// Scope determines the most restrictive gating this objective is set to use.
	Scope GatingScope
	// LocationHash is the hash of a related LocationEntity.
	LocationHash uint32
	// AllowNegativeValue determines if the CompletionValue is allowed to go negative.
	AllowNegativeValue bool
	// AllowValueChangeWhenCompleted determines whether this objective can be uncompleted by losing progress.
	AllowValueChangeWhenCompleted bool
	// IsCountingDownward determines if completion of this objective means having a value less than or equal to CompletionValue.
	IsCountingDownward bool
	// ValueStyle is the UI style applied to this objective.
	ValueStyle UnlockValueUIStyle
	// ProgressDescription is the description on this objective's progress bar.
	ProgressDescription string
	// Perks are the conditions for enabling this objective's perks.
	Perks ObjectivePerkEntry
	// Stats are the condtions for modifying a player's stats in this objective.
	Stats ObjectiveStatEntry
	// MinimumVisibilityThreshold is the minimum value that this objective's progression should be shown.
	MinimumVisibilityThreshold int32
	// AllowOvercompletion determines if this objective's progress will continue beyond completion requirements.
	AllowOvercompletion bool
	// ShowValueOnComplete determines if the progression value should be shown in the UI after it's complete.
	ShowValueOnComplete bool
	// CompletedValueStyle is the style to use when the objective is completed.
	CompletedValueStyle UnlockValueUIStyle
	// InProgressValueStyle is the style to use when the objective is still in progress.
	InProgressValueStyle UnlockValueUIStyle
	EntityMetadata
}

ObjectiveEntity is an entity in the Destiny.Definitions.DestinyObjectiveDefinition contract. An objective is a specific task that can be accomplished in the game.

type ObjectiveGrantStyle

type ObjectiveGrantStyle int32

ObjectiveGrantStyle indicates when a given objected-related perk is granted.

type ObjectivePerkEntry

type ObjectivePerkEntry struct {
	// PerkHash is the hash of a related SandboxPerkEntity.
	PerkHash uint32
	// Style is the classification of when this perk is granted in relation to an objective's progress.
	Style ObjectiveGrantStyle
}

ObjectivePerkEntry defines the conditions under which an intrisic perk is applied during an objective.

type ObjectiveProgress

type ObjectiveProgress struct {
	// ObjectiveHash is the hash of a related ObjectiveEntity.
	ObjectiveHash uint32
	// DestinationHash is the hash of a related DestinationEntity.
	DestinationHash uint32
	// ActivityHash is the hash of a related ActivityEntity.
	ActivityHash uint32
	// Progress is the numeric value of progress on this objective.
	Progress int32
	// CompletionValue is the numeric value of progress needed to complete this objective.
	CompletionValue int32
	// Complete determines if this objective is completed.
	Complete bool
	// Visible determines if this objective is visible in-game.
	Visible bool
}

ObjectiveProgress describes a character's status on a given objective.

type ObjectiveStatEntry

type ObjectiveStatEntry struct {
	// Stat is the stat being modified the value used.
	Stat ItemInvestmentStat
	// Style is the classification of when this stat is granted in relation to an objective's progress.
	Style ObjectiveGrantStyle
}

ObjectiveStatEntry defines the conditions under which stat modifications are applied during an objective.

type ParentItemOverride

type ParentItemOverride struct {
	// AdditionalEquipRequirementsDisplayStrings are localized strings
	// that describe additional requirements for equipping the parent item.
	AdditionalEquipRequirementsDisplayStrings []string
	// PIPIcon is the icon to show when viewing an item that has this plug socketed.
	PipIcon string
}

ParentItemOverride describes how a plug item overrides certain properties of the item it is socketed into.

type PlaceDefinition

type PlaceDefinition map[uint32]PlaceEntity

PlaceDefinition is the contract for all Destiny.Definitions.DestinyPlaceDefinition entities.

func (PlaceDefinition) Entity

func (def PlaceDefinition) Entity(entityHash uint32) interface{}

func (PlaceDefinition) Name

func (PlaceDefinition) Name() string

func (PlaceDefinition) Reference

func (PlaceDefinition) Reference() string

func (*PlaceDefinition) Unmarshal

func (def *PlaceDefinition) Unmarshal(data []byte) error

type PlaceEntity

type PlaceEntity struct {
	DisplayProperties DisplayProperties
	EntityMetadata
}

PlaceEntity is an entity in the Destiny.Definitions.DestinyPlaceDefinition contract. Places are synonymous to planets that can be visited via the director.

type PlugAvailabilityMode

type PlugAvailabilityMode int32

PlugAvailabilityMode determines whether the plug is available to be inserted.

type PlugRule

type PlugRule struct {
	// FailureMessage is the localized string to show if this rule fails.
	FailureMessage string
}

PlugRule describes a rule around whether the plug is enabled or insertable.

type PlugSetDefinition

type PlugSetDefinition map[uint32]PlugSetEntity

PlugSetDefinition is the contract for all Destiny.Definitions.DestinyPlugSetDefinition entities.

func (PlugSetDefinition) Entity

func (def PlugSetDefinition) Entity(entityHash uint32) interface{}

func (PlugSetDefinition) Name

func (PlugSetDefinition) Name() string

func (PlugSetDefinition) Reference

func (PlugSetDefinition) Reference() string

func (*PlugSetDefinition) Unmarshal

func (def *PlugSetDefinition) Unmarshal(data []byte) error

type PlugSetEntity

type PlugSetEntity struct {
	DisplayProperties DisplayProperties
	// ReusuablePlugItems are the list of pre-determined plugs that be inserted in this socket.
	ReusablePlugItems []ItemSocketEntryPlugItemRandomized
	// IsFakePlugSet determines if this plug set if for debugging.
	IsFakePlugSet bool
	EntityMetadata
}

PlugSetEntity is an entity in the Destiny.Definitions.DestinyPlugSetDefinition contract. This describes sets of reusable plugs that can be shared across places they are used.

type PlugUIStyles

type PlugUIStyles int32

PlugUIStyles are specific custom styles for plugs.

const (
	PlugUI_None       PlugUIStyles = 0
	PlugUI_Masterwork              = 1
)

type PlugWhitelistEntry

type PlugWhitelistEntry struct {
	// CategoryHash is the hash of this plug's category. Meant to be compared to PlugEntity.PlugCategoryHash.
	CategoryHash uint32
	// CategoryIdentifier is the identifier for this category.
	CategoryIdentifier string
	// ReinitializationPossiblePlugHashes is a list of hashes of InventoryItemEntity structs that describe plug items.
	ReinitializationPossiblePlugHashes []uint32
}

PlugWhitelistEntry defines a plug category that is allowed to be plugged into a socket of this type.

type Position

type Position struct {
	X, Y, Z int32
}

Position is 3D position.

type PowerCapDefinition

type PowerCapDefinition map[uint32]PowerCapEntity

PowerCapDefinition is the contract for all Destiny.Definitions.PowerCaps.DestinyPowerCapDefinition entities.

func (PowerCapDefinition) Entity

func (def PowerCapDefinition) Entity(entityHash uint32) interface{}

func (PowerCapDefinition) Name

func (PowerCapDefinition) Name() string

func (PowerCapDefinition) Reference

func (PowerCapDefinition) Reference() string

func (*PowerCapDefinition) Unmarshal

func (def *PowerCapDefinition) Unmarshal(data []byte) error

type PowerCapEntity

type PowerCapEntity struct {
	// PowerCap is the raw value for a power cap.
	PowerCap int32
	EntityMetadata
}

PowerCapEntity is an entity in the Destiny.Definitions.PowerCaps.DestinyPowerCapDefinition contract. Defines the power cap limit for gear items, based on rarity and season.

type PresentationChildBlock

type PresentationChildBlock struct {
	// PresentationNodeType is a classification of this presentation node.
	PresentationNodeType PresentationNodeType
	// ParentPresentationNodeHashes are the hashes for all related PresentationNodeEntity structs.
	ParentPresentationNodeHashes []uint32
	// DisplayStyle is a classification of the display style of this presentation node.
	DisplayStyle PresentationDisplayStyle
}

type PresentationDisplayStyle

type PresentationDisplayStyle int32

PresentationDisplayStyle is a hint for how the presentation node should be displayed when shown in a list.

type PresentationNodeChildEntry

type PresentationNodeChildEntry struct {
	// PresentationNodeHash is the hash of a related PresentationNodeEntity.
	PresentationNodeHash uint32
}

type PresentationNodeChildrenBlock

type PresentationNodeChildrenBlock struct {
	PresentationNodes []PresentationNodeChildEntry
	Collectibles      []PresentationNodeCollectibleChildEntry
	Records           []PresentationNodeRecordChildEntry
	Metrics           []PresentationNodeMetricChildEntry
}

PresentationNodeChildrenBlock represents each set of properties that could be a children of a presentation node.

type PresentationNodeCollectibleChildEntry

type PresentationNodeCollectibleChildEntry struct {
	// CollectibleHash is the hash of a related CollectibleEntity.
	CollectibleHash uint32
}

type PresentationNodeComponent

type PresentationNodeComponent struct {
	// State is the state of this component.
	State PresentationNodeState
	// Objective is the progress for an objective in the presentation node.
	Objective ObjectiveProgress
	// ProgressValue is how much of the presentation node is completed so far.
	ProgressValue int32
	// CompletionValue is the value at which the presentation node is considered complete.
	CompletionValue int32
	// RecordCategoryScore is the current score of the record category the presentation node represents.
	RecordCategoryScore int32
}

PresentationNodeComponent describes the components of a presentation node.

type PresentationNodeDefinition

type PresentationNodeDefinition map[uint32]PresentationNodeEntity

PresentationNodeDefinition is the contract for all Destiny.Definitions.DestinyPresentationNodeDefinition entities.

func (PresentationNodeDefinition) Entity

func (def PresentationNodeDefinition) Entity(entityHash uint32) interface{}

func (PresentationNodeDefinition) Name

func (PresentationNodeDefinition) Reference

func (PresentationNodeDefinition) Reference() string

func (*PresentationNodeDefinition) Unmarshal

func (def *PresentationNodeDefinition) Unmarshal(data []byte) error

type PresentationNodeEntity

type PresentationNodeEntity struct {
	DisplayProperties DisplayProperties
	// OriginalIcon is the original icon for this presentation node.
	OriginalIcon string
	// RootViewIcon is the icon meant to be shown on the entry screen for this presentation node.
	RootViewIcon string
	NodeType     PresentationNodeType
	// Scope indicates the scope of this presentation node's state.
	Scope Scope
	// ObjectiveHash is the hash of a related ObjectiveEntity.
	ObjectiveHash uint32
	// CompletionRecordHash is the hash of a related RecordEntity.
	CompletionRecordHash uint32
	// Children are presentation nodes contained in this presentation node.
	Children PresentationNodeChildrenBlock
	// DisplayStyle is a hint for how to display this presentation node when it's shown in a list.
	DisplayStyle PresentationDisplayStyle
	// ScreenStyle is a hint for how to display this presentation node when it's shown in its own detail screen.
	ScreenStyle PresentationScreenStyle
	// Requirements are the requirements for being able to interact with this presentation node.
	Requirements PresentationNodeRequirementsBlock
	// DisableChildSubscreenNavigation determines if this presentation node's children cannot be inspected.
	DisableChildSubscreenNavigation bool
	MaxCategoryRecordScore          int32
	PresentationNodeType            PresentationNodeType
	TraitIds                        []string
	TraitHashes                     []uint32
	// ParentNodeHashes are the hashes of presentation nodes that this presentation node as a child.
	ParentNodeHashes []uint32
	EntityMetadata
}

PresentationNodeEntity is an entity in the Destiny.Definitions.Presentation.DestinyPresentationNodeDefinition contract. This represents a logical grouping of other entities visually/organizationally.

type PresentationNodeMetricChildEntry

type PresentationNodeMetricChildEntry struct {
	// MetricHash is the hash of a related MetricEntity.
	MetricHash uint32
}

PresentationNodeMetricChildEntry is an entry for a metric-related presentation node.

type PresentationNodeRecordChildEntry

type PresentationNodeRecordChildEntry struct {
	// RecordHash is the hash of a related RecordEntity.
	RecordHash uint32
}

PresentationNodeRecordChildEntry is an entry for a record-based presentation node.

type PresentationNodeRequirementsBlock

type PresentationNodeRequirementsBlock struct {
	// EntitlementUnavailableMessage is the localized string to show if this node is inaccessible due to entitlements.
	EntitlementUnavailableMessage string
}

PresentationNodeRequirementsBlock defines the requirements for showing a presentation node.

type PresentationNodeState

type PresentationNodeState int32

PresentationNodeState is the possible set of states that a presentation node can be in. This is meant to be used as a bitmask.

type PresentationNodeType

type PresentationNodeType int32

PresentationNodeType is the logical group that a given entity belongs to.

type PresentationNodesComponent

type PresentationNodesComponent struct {
	// Nodes are presentation components by the hash of a related PresentationNodeEntity.
	Nodes map[uint32]PresentationNodeComponent
}

PresentationNodesComponent describes the node components that compose each presentation node.

type PresentationScreenStyle

type PresentationScreenStyle int32

PresentationScreenStyle is a hint for what screen should be shown when this presentation node is clicked into.

type ProgressionDefinition

type ProgressionDefinition map[uint32]ProgressionEntity

ProgressionDefinition is the contract for all Destiny.Definitions.DestinyProgressionDefinition entities.

func (ProgressionDefinition) Entity

func (def ProgressionDefinition) Entity(entityHash uint32) interface{}

func (ProgressionDefinition) Name

func (ProgressionDefinition) Reference

func (ProgressionDefinition) Reference() string

func (*ProgressionDefinition) Unmarshal

func (def *ProgressionDefinition) Unmarshal(data []byte) error

type ProgressionDisplayProperties added in v1.1.1

type ProgressionDisplayProperties struct {
	// DisplayUnitsName is a localized string that display how experience is gained.
	DisplayUnitsName string
	DisplayProperties
}

ProgressionDisplayProperties are common display information for ProgressionEntity structs.

type ProgressionEntity

type ProgressionEntity struct {
	DisplayProperties ProgressionDisplayProperties
	// Scope indicates the source of the progression's live data.
	Scope ProgressionScope
	// RepeatLastStep indicates if the last step of a progression can be indefinitely repeated.
	RepeatLastStep bool
	// Source is the localized description of how to earn this progression.
	Source string
	// Steps are the individual steps to complete this progression.
	Steps []ProgressionStep
	// Visible determines if the progression should be shown to users.
	Visible bool
	// FactionHash is the hash of a related FactionEntity.
	FactionHash uint32
	// Color is the RGB-valued related to this progression.
	Color Color
	// RankIcon is the icon used in the Companion app to display a progression's rank value.
	RankIcon string
	// RewardItems are the items rewarded for completing are steps.
	RewardItems []ProgressionRewardItemQuantity
	EntityMetadata
}

ProgressionEntity is an entity in the Destiny.Definitions.DestinyProgressionDefinition contract. This represents a measurement of progress through a set of conceptual steps.

type ProgressionLevelRequirementDefinition

type ProgressionLevelRequirementDefinition map[uint32]ProgressionLevelRequirementEntity

ProgressionLevelRequirementDefinition is the contract for all Destiny.Definitions.Progression.DestinyProgressionLevelRequirementDefinition entities.

func (ProgressionLevelRequirementDefinition) Entity

func (def ProgressionLevelRequirementDefinition) Entity(entityHash uint32) interface{}

func (ProgressionLevelRequirementDefinition) Name

func (ProgressionLevelRequirementDefinition) Reference

func (*ProgressionLevelRequirementDefinition) Unmarshal

func (def *ProgressionLevelRequirementDefinition) Unmarshal(data []byte) error

type ProgressionLevelRequirementEntity

type ProgressionLevelRequirementEntity struct {
	// RequirementCurve is the curve of level requirements, weighted by this progression level.
	RequirementCurve []InterpolationPointFloat
	// ProgressionHash is the hash for a related ProgressionEntity.
	ProgressionHash uint32
	EntityMetadata
}

ProgressionLevelRequirementEntity is an entity in the Destiny.Definitions.Progression.DestinyProgressionLevelRequirementDefinition contract. This determines the level requirement for an item given a progression.

type ProgressionReward

type ProgressionReward struct {
	// ProgressionMappingHash is the hash of a related ProgressionMapping.
	// TODO(paranoiacblack): It is unclear how to obtain a ProgressionMapping through the Bungie.net API.
	ProgressionMappingHash uint32
	// Amount is the amount of experience to give to each of the mapped progressions.
	Amount int32
	// ApplyThrottles determines if the internal mechanisms to throttle progression should be applied.
	ApplyThrottles bool
}

ProgressionReward is progression rewarded when an action is performed on an inventory item.

type ProgressionRewardItemAcquisitionBehavior

type ProgressionRewardItemAcquisitionBehavior int32

ProgressionRewardItemAcquisitionBehavior represents the different kinds of acquisition behavior for progression reward items.

const (
	ProgressionRewardAcquisition_Instant             ProgressionRewardItemAcquisitionBehavior = 0
	ProgressionRewardAcquisition_PlayerClaimRequired                                          = 1
)

type ProgressionRewardItemQuantity

type ProgressionRewardItemQuantity struct {
	RewardAtProgressionLevel  int32
	AcquisitionBehavior       ProgressionRewardItemAcquisitionBehavior
	UiDisplayStyle            string
	ClaimUnlockDisplayStrings []string
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash                 uint32
	ItemInstanceId           int64
	Quantity                 int32
	HasConditionalVisibility bool
}

type ProgressionScope added in v1.1.0

type ProgressionScope int32

ProgressionScope is the scope of a progression which determines how it is stored, calculated and used.

type ProgressionStep

type ProgressionStep struct {
	// StepName is the localized text describing this step of the progression.
	StepName string
	// DisplayEffectType is a classification of effects to show when this progression goes to the next step.
	DisplayEffectType ProgressionStepDisplayEffect
	// ProgressTotal is the total amount of progression needed to reach this step.
	ProgressTotal int32
	// RewardItems is a list of items rewarded for reaching this step.
	RewardItems []ItemQuantity
	// Icon is a specific icon for this step.
	Icon string
}

ProgressionStep defines a single step in a progression.

type ProgressionStepDisplayEffect added in v1.1.0

type ProgressionStepDisplayEffect int32

ProgressionStepDisplayEffect determines whether progression shows visual effects on the character, its item or neither.

type Race

type Race int32

Race is the race of a Destiny 2 character

type RaceDefinition

type RaceDefinition map[uint32]RaceEntity

RaceDefinition is the contract for all Destiny.Definitions.DestinyRaceDefinition entities.

func (RaceDefinition) Entity

func (def RaceDefinition) Entity(entityHash uint32) interface{}

func (RaceDefinition) Name

func (RaceDefinition) Name() string

func (RaceDefinition) Reference

func (RaceDefinition) Reference() string

func (*RaceDefinition) Unmarshal

func (def *RaceDefinition) Unmarshal(data []byte) error

type RaceEntity

type RaceEntity struct {
	DisplayProperties DisplayProperties
	// RaceType is the classification of this race.
	RaceType Race
	// GenderedRaceNames are the names of this race by gender name.
	GenderedRaceNames map[GenderName]string
	// GenderedRaceNames are the name of this race by the hash of a GenderEntity.
	GenderedRaceNamesByGenderHash map[uint32]string
	EntityMetadata
}

RaceEntity is an entity in the Destiny.Definitions.DestinyRaceDefinition contract. Races are the various playable species in Destiny 2.

type RecordCompletionBlock

type RecordCompletionBlock struct {
	// PartialCompletionObjectiveCountThreshold is the numbers of objectives that must be completed before the record is completed.
	PartialCompletionObjectiveCountThreshold int32
	// ScoreValue is the amount of triumph points awarded for completing this record.
	ScoreValue int32
	// ShouldFireToast determines if completing this record shows a toast-style pop-up in a given UI.
	ShouldFireToast bool
	// ToastStyle is a classification of record-related toast-style pop-ups.
	ToastStyle RecordToastStyle
}

RecordCompletionBlock describes a completed record.

type RecordDefinition

type RecordDefinition map[uint32]RecordEntity

RecordDefinition is the contract for all Destiny.Definitions.Records.DestinyRecordDefinition entities.

func (RecordDefinition) Entity

func (def RecordDefinition) Entity(entityHash uint32) interface{}

func (RecordDefinition) Name

func (RecordDefinition) Name() string

func (RecordDefinition) Reference

func (RecordDefinition) Reference() string

func (*RecordDefinition) Unmarshal

func (def *RecordDefinition) Unmarshal(data []byte) error

type RecordEntity

type RecordEntity struct {
	DisplayProperties DisplayProperties
	// Scope indicates if this record's state is per-character or account-wide.
	Scope            Scope
	PresentationInfo PresentationChildBlock
	// LoreHash is the hash of a related LoreEntity.
	LoreHash uint32
	// ObjectiveHashes are the hashes of all related ObjectiveEntity structs.
	ObjectiveHashes  []uint32
	RecordValueStyle RecordValueStyle
	ForTitleGilding  bool
	TitleInfo        RecordTitleBlock
	CompletionInfo   RecordCompletionBlock
	StateInfo        RecordStateBlock
	Requirements     PresentationNodeRequirementsBlock
	ExpirationInfo   RecordExpirationBlock
	// IntervalInfo is the set of interval objectives for this record.
	IntervalInfo RecordIntervalBlock
	// RewardItems are the list of items earned for achieving this record.
	RewardItems          []ItemQuantity
	PresentationNodeType PresentationNodeType
	TraitIds             []string
	TraitHashes          []uint32
	// ParentNodeHashes are the hashes of presentation nodes that this record as a child.
	ParentNodeHashes []uint32
	EntityMetadata
}

RecordEntity is an entity in the Destiny.Definitions.Records.DestinyRecordDefinition contract.

type RecordExpirationBlock

type RecordExpirationBlock struct {
	// HasExpiration determines if the record expires.
	HasExpiration bool
	// Description is the localized description of the expiration time of a record.
	Description string
	// Icon is the path to an icon to show when this record expires.
	Icon string
}

RecordExpirationBlock describes the expiration time of a record.

type RecordIntervalBlock

type RecordIntervalBlock struct {
	// IntervalObjectives are a list of objectives per interval.
	IntervalObjectives []RecordIntervalObjective
	// IntervalRewards are a list of rewards per interval.
	IntervalRewards                      []RecordIntervalRewards
	OriginalObjectiveArrayInsertionIndex int32
}

RecordIntervalBlock describes a record with multiple completions in intervals.

type RecordIntervalObjective

type RecordIntervalObjective struct {
	// IntervalObjectiveHash is the hash of a related ObjectiveEntity.
	IntervalObjectiveHash uint32
	// IntervalScoreValue is the triumph score awarded for completing this interval objective.
	IntervalScoreValue int32
}

RecordIntervalObjective is an objective that must be completed to fulfill a record interval.

type RecordIntervalRewards

type RecordIntervalRewards struct {
	// IntervalRewardItems are a list of items and their quantities rewarded for completing this record interval.
	IntervalRewardItems []ItemQuantity
}

RecordIntervalRewards are items rewarded for completing a record interval.

type RecordStateBlock

type RecordStateBlock struct {
	FeaturedPriority int32
	// ObscuredString is the localized string to show if this record is in an obscured state.
	ObscuredString string
}

RecordStateBlock describes the state of a record.

type RecordTitleBlock

type RecordTitleBlock struct {
	// HasTitle determines if this record has an associated title.
	HasTitle bool
	// TitlesByGender are localized titles by localized gender name.
	TitlesByGender map[GenderName]string
	// TitlesByGenderHash are localized titles by GenderEntity.
	TitlesByGenderHash map[uint32]string
	// GildingTrackingRecordHash is the hash of a related RecordEntity.
	GildingTrackingRecordHash uint32
}

RecordTitleBlock describes a title for achieving a record.

type RecordToastStyle

type RecordToastStyle int32

RecordToastStyle is a hint for how a record completion's toast should be shown in the UI.

type RecordValueStyle

type RecordValueStyle int32

RecordValueStyle is how to display a value in a given record.

type ReportReason

type ReportReason struct {
	// ReasonHash is the unique hash of this reason in the report category.
	ReasonHash        uint32
	DisplayProperties DisplayProperties
}

ReportReason describes a specific reason for being banned.

type ReportReasonCategoryDefinition

type ReportReasonCategoryDefinition map[uint32]ReportReasonCategoryEntity

ReportReasonCategoryDefinition is the contract for all Destiny.Definitions.Reporting.DestinyReportReasonCategoryDefinition entities.

func (ReportReasonCategoryDefinition) Entity

func (def ReportReasonCategoryDefinition) Entity(entityHash uint32) interface{}

func (ReportReasonCategoryDefinition) Name

func (ReportReasonCategoryDefinition) Reference

func (*ReportReasonCategoryDefinition) Unmarshal

func (def *ReportReasonCategoryDefinition) Unmarshal(data []byte) error

type ReportReasonCategoryEntity

type ReportReasonCategoryEntity struct {
	DisplayProperties DisplayProperties
	// Reasons are the specific reasons for the report under this category.
	Reasons map[uint32]ReportReason
	EntityMetadata
}

ReportReasonCategoryEntity is an entity in the Destiny.Definitions.Reporting.DestinyReportReasonCategoryDefinition contract. When reporting another player for TOS violation a category and reason must be chosen.

type RewardSourceCategory

type RewardSourceCategory int32

RewardSourceCategory describes the categories of different reward sources which spawn items.

type RewardSourceDefinition

type RewardSourceDefinition map[uint32]RewardSourceEntity

RewardSourceDefinition is the contract for all Destiny.Definitions.DestinyRewardSourceDefinition entities.

func (RewardSourceDefinition) Entity

func (def RewardSourceDefinition) Entity(entityHash uint32) interface{}

func (RewardSourceDefinition) Name

func (RewardSourceDefinition) Reference

func (RewardSourceDefinition) Reference() string

func (*RewardSourceDefinition) Unmarshal

func (def *RewardSourceDefinition) Unmarshal(data []byte) error

type RewardSourceEntity

type RewardSourceEntity struct {
	DisplayProperties DisplayProperties
	// Category is the grouping this reward source.
	Category RewardSourceCategory
	EntityMetadata
}

RewardSourceEntity is an entity in the Destiny.Definitions.DestinyRewardSourceDefinition contract. This represents an item source for a given reward.

type SandboxPerkDefinition

type SandboxPerkDefinition map[uint32]SandboxPerkEntity

SandboxPerkDefinition is the contract for all Destiny.Definitions.DestinySandboxPerkDefinition entities.

func (SandboxPerkDefinition) Entity

func (def SandboxPerkDefinition) Entity(entityHash uint32) interface{}

func (SandboxPerkDefinition) Name

func (SandboxPerkDefinition) Reference

func (SandboxPerkDefinition) Reference() string

func (*SandboxPerkDefinition) Unmarshal

func (def *SandboxPerkDefinition) Unmarshal(data []byte) error

type SandboxPerkEntity

type SandboxPerkEntity struct {
	DisplayProperties DisplayProperties
	// PerkIdentifier is the identifier for this perk.
	PerkIdentifier string
	// IsDisplayable determines if this perk is shown in a given UI.
	IsDisplayable bool
	// DamageType is the damage type granted to a weapon by this perk.
	DamageType DamageType
	// DamageTypeHash is the hash for a related DamageTypeEntity.
	DamageTypeHash uint32
	// PerkGroups are a way to group perks by functionality.
	PerkGroups TalentNodeStep
	EntityMetadata
}

SandboxPerkEntity is an entity in the Destiny.Definitions.DestinySandboxPerkDefinition contract. Perks are modifiers to a character or item that can be applied situationally.

type Scope

type Scope int32

Scope is the generalized scope of a given entity.

const (
	Scope_Profile   Scope = 0
	Scope_Character       = 1
)

type SeasonDefinition

type SeasonDefinition map[uint32]SeasonEntity

SeasonDefinition is the contract for all Destiny.Definitions.Seasons.DestinySeasonDefinition entities.

func (SeasonDefinition) Entity

func (def SeasonDefinition) Entity(entityHash uint32) interface{}

func (SeasonDefinition) Name

func (SeasonDefinition) Name() string

func (SeasonDefinition) Reference

func (SeasonDefinition) Reference() string

func (*SeasonDefinition) Unmarshal

func (def *SeasonDefinition) Unmarshal(data []byte) error

type SeasonEntity

type SeasonEntity struct {
	DisplayProperties   DisplayProperties
	BackgroundImagePath string
	SeasonNumber        int32
	StartDate           time.Time
	EndDate             time.Time
	// SeasonPassHash is the hash of a related SeasonPassEntity.
	SeasonPassHash uint32
	// SeasonPassProgressionHash is the hash of a related ProgressionEntity.
	SeasonPassProgressionHash uint32
	// ArtifactItemHash is the hash of a related InventoryItemEntity.
	ArtifactItemHash uint32
	// SealPresentationNodeHash is the hash of a related PresentationNodeEntity for this season's seal.
	SealPresentationNodeHash uint32
	// SeasonalChallengesPresentationNodeHash is the hash of a related PresentationNodeEntity for this season's challenges.
	SeasonalChallengesPresentationNodeHash uint32
	// Preview is an optional preview of promotional text, images and links for this season.
	Preview SeasonPreview
	EntityMetadata
}

SeasonEntity is an entity in the Destiny.Definitions.Seasons.DestinySeasonDefinition contract. A season is a range of a few months where the game highlights certai challenges and events.

type SeasonPassDefinition

type SeasonPassDefinition map[uint32]SeasonPassEntity

SeasonPassDefinition is the contract for all Destiny.Definitions.DestinySeasonPassDefinition entities.

func (SeasonPassDefinition) Entity

func (def SeasonPassDefinition) Entity(entityHash uint32) interface{}

func (SeasonPassDefinition) Name

func (SeasonPassDefinition) Reference

func (SeasonPassDefinition) Reference() string

func (*SeasonPassDefinition) Unmarshal

func (def *SeasonPassDefinition) Unmarshal(data []byte) error

type SeasonPassEntity

type SeasonPassEntity struct {
	DisplayProperties DisplayProperties
	// RewardProgressionHash is the hash for a related ProgressionEntity for this season pass' reward.
	RewardProgressionHash uint32
	// PrestigeProgressionHash is the hash for a related ProgressionEntity for this season pass' rewards after reaching max rank.
	PrestigeProgressionHash uint32
	EntityMetadata
}

SeasonPassEntity is an entity in the Destiny.Definitions.Seasons.DestinySeasonPassDefinition contract.

type SeasonPreview

type SeasonPreview struct {
	// Description is a localized description of the season.
	Description string
	// LinkPath is a localized path to learn about the season.
	LinkPath string
	// VideoLink is an optional link to a localized video about this season.
	VideoLink string
	// Images are a list of images to preview the seasonal content.
	Images []SeasonPreviewImage
}

SeasonPreview defines the promotional text, images and link to preview a season.

type SeasonPreviewImage

type SeasonPreviewImage struct {
	// ThumbnailImage is the icon path to preview seasonal content.
	ThumbnailImage string
	// HighResImage is a path to a high-resolution image of the seasonal content.
	HighResImage string
}

SeaosnPreviewImage defines the thumbnail icon and high-resolution image for a season preview.

type SocketCategoryDefinition

type SocketCategoryDefinition map[uint32]SocketCategoryEntity

SocketCategoryDefinition is the contract for all Destiny.Definitions.DestinySocketCategoryDefinition entities.

func (SocketCategoryDefinition) Entity

func (def SocketCategoryDefinition) Entity(entityHash uint32) interface{}

func (SocketCategoryDefinition) Name

func (SocketCategoryDefinition) Reference

func (SocketCategoryDefinition) Reference() string

func (*SocketCategoryDefinition) Unmarshal

func (def *SocketCategoryDefinition) Unmarshal(data []byte) error

type SocketCategoryEntity

type SocketCategoryEntity struct {
	DisplayProperties DisplayProperties
	// UICategoryStyle is a hint about how the sockets in this category should be displayed.
	UiCategoryStyle uint32
	// CategoryStyle is the display style of this category.
	CategoryStyle SocketCategoryStyle
	EntityMetadata
}

SocketCategoryEntity is an entity in the Destiny.Definitions.Sockets.DestinySocketCategoryDefinition contract. Sockets on an item are organized into categories visually.

type SocketCategoryStyle added in v1.1.0

type SocketCategoryStyle int32

SocketCategoryStyle represents the possible and known UI styles used for rendering socket categories.

type SocketPlugSources

type SocketPlugSources int32

SocketPlugSources are indications of how a socket is populated, and where to look for valid plug data.

type SocketTypeActionType added in v1.1.0

type SocketTypeActionType int32

SocketTypeActionType indicates the types of actions that can be performed.

type SocketTypeDefinition

type SocketTypeDefinition map[uint32]SocketTypeEntity

SocketTypeDefinition is the contract for all Destiny.Definitions.DestinySocketTypeDefinition entities.

func (SocketTypeDefinition) Entity

func (def SocketTypeDefinition) Entity(entityHash uint32) interface{}

func (SocketTypeDefinition) Name

func (SocketTypeDefinition) Reference

func (SocketTypeDefinition) Reference() string

func (*SocketTypeDefinition) Unmarshal

func (def *SocketTypeDefinition) Unmarshal(data []byte) error

type SocketTypeEntity

type SocketTypeEntity struct {
	DisplayProperties DisplayProperties
	// InsertAction defines what happens when a plug is inserted into this socket type.
	InsertAction InsertPlugAction
	// PlugWhitelist is a list of plug categories that are allowed to be plugged into this socket type.
	PlugWhitelist []PlugWhitelistEntry
	// SocketCategoryHash is the hash of a related SocketCategoryEntity.
	SocketCategoryHash uint32
	// Visibility is the condition under which this socket type is visible.
	Visibility                 SocketVisibility
	AlwaysRandomizeSockets     bool
	IsPreviewEnabled           bool
	HideDuplicateReusablePlugs bool
	// OverridesUIAppearance determines if this socket type should be overriden by the inserted plug's icon.
	OverridesUiAppearance           bool
	AvoidDuplicatesOnInitialization bool
	CurrencyScalars                 []SocketTypeScalarMaterialRequirementEntry
	EntityMetadata
}

SocketTypeEntity is an entity in the Destiny.Definitions.Sockets.DestinySocketTypeDefinition contract. All sockets have a type which are a set of common properties that determine when and what plugs can be inserted.

type SocketTypeScalarMaterialRequirementEntry

type SocketTypeScalarMaterialRequirementEntry struct {
	CurrencyItemHash uint32
	ScalarValue      int32
}

type SocketVisibility added in v1.1.1

type SocketVisibility int32

SocketVisibility indicates whether a socket is visible.

type SpecialItemType

type SpecialItemType int32

SpecialItemType is an enum retained from Destiny 1 for various internal logic. Prefer using ItemCategoryHashes to identify which categories an item belongs to.

type StatAggregationType added in v1.1.0

type StatAggregationType int32

StatAggregationType describes the rule used for determining the level and the formula used for aggregation of stats.

type StatCategory added in v1.1.0

type StatCategory int32

StatCategory describes the categories which a given stat affects.

type StatDefinition

type StatDefinition map[uint32]StatEntity

StatDefinition is the contract for all Destiny.Definitions.DestinyStatDefinition entities.

func (StatDefinition) Entity

func (def StatDefinition) Entity(entityHash uint32) interface{}

func (StatDefinition) Name

func (StatDefinition) Name() string

func (StatDefinition) Reference

func (StatDefinition) Reference() string

func (*StatDefinition) Unmarshal

func (def *StatDefinition) Unmarshal(data []byte) error

type StatDisplay

type StatDisplay struct {
	// StatHash is the hash of a related StatEntity.
	StatHash uint32
	// MaximumValue is the upper bound value for displaying a stat.
	MaximumValue int32
	// DisplayAsNumeric determines if this stat should be displayed as a number.
	DisplayAsNumeric bool
	// DisplayInterpolation is an interpolation table represents how the investment stat is transformed into a display stat.
	DisplayInterpolation []InterpolationPoint
}

StatDisplay describes the way that an StatEntity is transformed using a related StatGroupEntity. This represents the transformation of a stat into a stat displayed in a given UI.

type StatEntity

type StatEntity struct {
	DisplayProperties DisplayProperties
	// AggregationType is how to aggregate existing stats with this stat.
	AggregationType StatAggregationType
	// HasComputedBlock determines if this stat is computed beforehand or used as a raw value.
	HasComputedBlock bool
	// StatCategory is categorization of this stat.
	StatCategory StatCategory
	EntityMetadata
}

StatEntity is an entity in the Destiny.Definitions.DestinyStatDefinition contract. This represents a stat that is applied to a character or an item.

type StatGroupDefinition

type StatGroupDefinition map[uint32]StatGroupEntity

StatGroupDefinition is the contract for all Destiny.Definitions.DestinyStatGroupDefinition entities.

func (StatGroupDefinition) Entity

func (def StatGroupDefinition) Entity(entityHash uint32) interface{}

func (StatGroupDefinition) Name

func (StatGroupDefinition) Name() string

func (StatGroupDefinition) Reference

func (StatGroupDefinition) Reference() string

func (*StatGroupDefinition) Unmarshal

func (def *StatGroupDefinition) Unmarshal(data []byte) error

type StatGroupEntity

type StatGroupEntity struct {
	// MaximumValue is the highest value any stat in this group can be aggregated to.
	MaximumValue int32
	// UIPosition is information about where to display this stat in a given UI.
	UiPosition int32
	// ScaledStats are all stats in this group that require scaling to be applied before being displayed.
	ScaledStats []StatDisplay
	// Overrides are the localized texts to display for stats in this group.
	// This maps from the hash of a StatEntity to the localized text.
	Overrides map[uint32]StatOverride
	EntityMetadata
}

StatGroupEntity is an entity in the Destiny.Definitions.DestinyStatGroupDefinition contract. This defines the grouping a stat belongs to when displaying aggregated stats.

type StatOverride

type StatOverride struct {
	// StatHash is the hash of a related StatEntity.
	StatHash          uint32
	DisplayProperties DisplayProperties
}

StatOverride defines a specific overridden stat.

type TalentExclusiveGroup

type TalentExclusiveGroup struct {
	// GroupHash is the unique identifer for this exclusive group within the talent grid.
	GroupHash uint32
	// LoreHash is the hash of a related LoreEntity.
	LoreHash uint32
	// NodeHashes are the hashes of talent nodes that are part of this group.
	NodeHashes []uint32
	// OpposingGroupHashes are the unique identifiers for all exclusive groups that will be deactivated if any node in this group is activated.
	OpposingGroupHashes []uint32
	// OpposingNodeHashes are the hashs of talent nodes that are deactivated if any node in this group is activated.
	OpposingNodeHashes []uint32
}

TalentExclusiveGroup describes a node that exists as part of an exclusive group. An exclusive group is a group of nodes that can and cannot be activated together.

type TalentGridDefinition

type TalentGridDefinition map[uint32]TalentGridEntity

TalentGridDefinition is the contract for all Destiny.Definitions.DestinyTalentGridDefinition entities.

func (TalentGridDefinition) Entity

func (def TalentGridDefinition) Entity(entityHash uint32) interface{}

func (TalentGridDefinition) Name

func (TalentGridDefinition) Reference

func (TalentGridDefinition) Reference() string

func (*TalentGridDefinition) Unmarshal

func (def *TalentGridDefinition) Unmarshal(data []byte) error

type TalentGridEntity

type TalentGridEntity struct {
	// MaxGridLevel is the maximum of the talent grid. At the maximum level, any nodes can be activity.
	MaxGridLevel int32
	// GridLevelPerColumn was used to show talent nodes in column by their progression level. Deprecated.
	GridLevelPerColumn int32
	// ProgressionHash is the hash of a related ProgressionEntity.
	ProgressionHash uint32
	// Nodes are a list of talents on the given grid.
	Nodes []TalentNode
	// ExclusiveSets are talent node sets in which only a single node can be activated at a time.
	ExclusiveSets []TalentNodeExclusiveSet
	// IndependentNodeIndexes are the indexes of nodes which are not in exclusive sets.
	IndependentNodeIndexes []int32
	// Groups are the exclusive groups for this talent node.
	Groups map[uint32]TalentExclusiveGroup
	// NodeCategories are talent nodes grouped by similar purpose with localized titles.
	NodeCategories []TalentNodeCategory
	EntityMetadata
}

TalentGridEntity is an entity in the Destiny.Definitions.DestinyTalentGridDefinition contract. Talent grids are used to describe all talents/perks granted by subclasses and builds.

type TalentNode

type TalentNode struct {
	// NodeIndex is an index into TalentGridEntity.Nodes.
	NodeIndex int32
	// NodeHash is the unique hash for this node.
	NodeHash uint32
	// Row is the visual row where this node should be shown in a given UI.
	Row int32
	// Column is the visual column where this node should be shown in a given UI.
	Column int32
	// PrerequisiteNodeIndexes are indexes into TalentGrid.Entity.Nodes which must be activity before this node can be activated.
	PrerequisiteNodeIndexes []int32
	// BinaryPairNodeIndex is an index into TalentGridEntity.Nodes for a node that deactivates this node if activated.
	BinaryPairNodeIndex int32
	// AutoUnlocks determines if this node will automatically unlock when the talent grid's level reaches a required level.
	AutoUnlocks bool
	// LastStepRepeats determines if this node can be activated multiple times.
	LastStepRepeats bool
	// IsRandom determines if this node's step is randomly chosen.
	IsRandom bool
	// RandomActivationRequirement is the requirement to repurchase and reactivate this node.
	RandomActivationRequirement NodeActivationRequirement
	// IsRandomRepurchasable determines if this node can be re-rolled.
	IsRandomRepurchasable bool
	// Steps are the steps that must be taken to activate this node.
	Steps []NodeStep
	// ExclusiveWithNodeHashes are hashes for nodes in an exclusive set with this node.
	ExclusiveWithNodeHashes []uint32
	// RandomStartProgressionBarAtProgression is the amount of experience in this item's talent grid is the step is randomly selected.
	RandomStartProgressionBarAtProgression int32
	// LayoutIdentifier identifies a custom visual layout to apply to this node.
	LayoutIdentifier string
	// GroupHash is the exclusive group hash that this node belongs to.
	GroupHash uint32
	// LoreHash is the hash of a related LoreEntity.
	LoreHash uint32
	// NodeStyleIdentifier identifies the node style to use in a given UI.
	NodeStyleIdentifier string
	// IgnoreForCompletion determines if this node should be ignored for completion.
	IgnoreForCompletion bool
}

TalentNode is a node attached to the talent grid on an item.

type TalentNodeCategory

type TalentNodeCategory struct {
	// Identifier is an identifier for this category.
	Identifier string
	// IsLoreDriven determines if this category has a related LoreEntity.
	IsLoreDriven      bool
	DisplayProperties DisplayProperties
	// NodeHashes are the hashes of all talent nodes in this talent grid that are in this category.
	NodeHashes []uint32
}

TalentNodeCategory describes a group of talent nodes by functionality.

type TalentNodeExclusiveSet

type TalentNodeExclusiveSet struct {
	// NodeIndexes are the list of node indexes for this exclusive set.
	NodeIndexes []int32
}

TalentNodeExclusiveSet is a list of indexes into TalentGrid.Nodes for nodes in this exclusive set.

type TalentNodeStep

type TalentNodeStep struct {
	WeaponPerformance, ImpactEffects, GuardianAttributes, LightAbilities, DamageTypes int32
}

type TalentNodeStepDamageTypes added in v1.1.0

type TalentNodeStepDamageTypes int32

TalentNodeStepDamageTypes are the damage types this talent apply to. A given talent can be applied on multiple damage types so use this as a bitmask.

type TalentNodeStepGroups

type TalentNodeStepGroups struct {
	WeaponPerformance  TalentNodeStepWeaponPerformances
	ImpactEffects      TalentNodeStepImpactEffects
	GuardianAttributes TalentNodeStepGuardianAttributes
	LightAbilities     TalentNodeStepLightAbilities
	DamageTypes        TalentNodeStepDamageTypes
}

TalentNodeStepGroups are an attempt to categorize talent node steps by common properties.

type TalentNodeStepGuardianAttributes added in v1.1.0

type TalentNodeStepGuardianAttributes int32

TalentNodeStepGuardianAttributes are the guardian attributes granted by a talent. A given talent can apply multiple guardian attributes so use this as a bitmask.

type TalentNodeStepImpactEffects added in v1.1.0

type TalentNodeStepImpactEffects int32

TalentNodeStepImpactEffects are the effects on bullet impact granted by a talent. A given talent can apply multiple effects so use this as a bitmask.

type TalentNodeStepLightAbilities added in v1.1.0

type TalentNodeStepLightAbilities int32

TalentNodeStepLightAbilities are the light-related abilities granted by a talent. A given talent can apply multiple light abilities so use this as a bitmask.

type TalentNodeStepWeaponPerformances added in v1.1.0

type TalentNodeStepWeaponPerformances int32

TalentNodeStepWeaponPerformances are basically the stats on the weapon granted by a weapon talent. A given talent can apply multiple performance changes to a weapon so use this as a bitmask.

type TraitCategoryDefinition

type TraitCategoryDefinition map[uint32]TraitCategoryEntity

TraitCategoryDefinition is the contract for all Destiny.Definitions.DestinyTraitCategoryDefinition entities.

func (TraitCategoryDefinition) Entity

func (def TraitCategoryDefinition) Entity(entityHash uint32) interface{}

func (TraitCategoryDefinition) Name

func (TraitCategoryDefinition) Reference

func (TraitCategoryDefinition) Reference() string

func (*TraitCategoryDefinition) Unmarshal

func (def *TraitCategoryDefinition) Unmarshal(data []byte) error

type TraitCategoryEntity

type TraitCategoryEntity struct {
	TraitCategoryId string
	TraitHashes     []uint32
	TraitIds        []string
	EntityMetadata
}

TraitCategoryEntity is an entity in the Destiny.Definitions.Traits.DestinyTraitCategoryDefinition contract.

type TraitDefinition

type TraitDefinition map[uint32]TraitEntity

TraitDefinition is the contract for all Destiny.Definitions.DestinyTraitDefinition entities.

func (TraitDefinition) Entity

func (def TraitDefinition) Entity(entityHash uint32) interface{}

func (TraitDefinition) Name

func (TraitDefinition) Name() string

func (TraitDefinition) Reference

func (TraitDefinition) Reference() string

func (*TraitDefinition) Unmarshal

func (def *TraitDefinition) Unmarshal(data []byte) error

type TraitEntity

type TraitEntity struct {
	DisplayProperties DisplayProperties
	TraitCategoryId   string
	// TraitCategoryHash is the hash of a related TraitCategoryEntity.
	TraitCategoryHash uint32
	EntityMetadata
}

TraitEntity is an entity in the Destiny.Definitions.Traits.DestinyTraitDefinition contract.

type UnlockDefinition

type UnlockDefinition map[uint32]UnlockEntity

UnlockDefinition is the contract for all Destiny.Definitions.DestinyUnlockDefinition entities.

func (UnlockDefinition) Entity

func (def UnlockDefinition) Entity(entityHash uint32) interface{}

func (UnlockDefinition) Name

func (UnlockDefinition) Name() string

func (UnlockDefinition) Reference

func (UnlockDefinition) Reference() string

func (*UnlockDefinition) Unmarshal

func (def *UnlockDefinition) Unmarshal(data []byte) error

type UnlockEntity

type UnlockEntity struct {
	DisplayProperties DisplayProperties
	EntityMetadata
}

UnlockEntity is an entity in the Destiny.Definitions.DestinyUnlockDefinition contract. Unlock flags are used by the game server for state checks, progress storage, etc.

type UnlockExpression

type UnlockExpression struct {
	Scope GatingScope
}

UnlockExpression is the foundation of the game's gating mechanics and othe related restrictions.

type UnlockValueUIStyle

type UnlockValueUIStyle int32

UnlockValueUIStyle describes the format unlock values should use in the UI.

type UpdateFunc added in v1.3.1

type UpdateFunc func() error

UpdateFunc is a closure that is run after a successful update.

type VendorAcceptedItem

type VendorAcceptedItem struct {
	// AcceptedInventoryBucketHash is the hash of a related InventoryBucket that acts as the source of this item.
	AcceptedInventoryBucketHash uint32
	// DestinationInventoryBucketHash is the hash of a related InventoryBucket that acts as the destination of this item.
	DestinationInventoryBucketHash uint32
}

VendorAcceptedItem describes an item that a vendor accepts. The vault and postmaster are examples of such a vendor.

type VendorAction

type VendorAction struct {
	Description       string
	ExecuteSeconds    int32
	Icon              string
	Name              string
	Verb              string
	IsPositive        bool
	ActionId          string
	ActionHash        uint32
	AutoPerformAction bool
}

VendorAction is an action performed by a vendor.

type VendorCategoryEntry

type VendorCategoryEntry struct {
	// CategoryIndex is the index of this category in the original category definitions for the vendor.
	CategoryIndex int32
	// SortValue is used to sort items in this vendor category.
	// Recommended to use VendorCategoryComponent.ItemIndexes instead.
	SortValue int32
	// CategoryHash is the hash for this vendor category.
	CategoryHash uint32
	// QuantityAvailable is the amount of items available when this category is shown.
	QuantityAvailable int32
	// ShowUnavailableItems determines if items not for sale in this category should be shown.
	ShowUnavailableItems bool
	// HideIfNoCurrency determines if items in this category should be shown if there is no currency to buy them.
	HideIfNoCurrency bool
	// HideFromRegularPurchase determines if this category doesn't allow purchases.
	HideFromRegularPurchase bool
	// BuyStringOverride is the localized string for making purchases from this category.
	BuyStringOverride string
	// DisabledDescription is the localized description to show if this category is disabled.
	DisabledDescription string
	// DisplayTitle is the localized title of this category.
	DisplayTitle string
	// Overlay contains details of this category's overlay prompt.
	Overlay VendorCategoryOverlay
	// VendorItemIndexes are the indexes of items sold under this category.
	VendorItemIndexes []int32
	// IsPreview determines if this category is used to preview items rather than sell them.
	IsPreview bool
	// IsDisplayOnly determines if this category only displays items.
	IsDisplayOnly                bool
	ResetIntervalMinutesOverride int32
	ResetOffsetMinutesOverride   int32
}

VendorCategoryEntry defines a single vendor category into which sale items are grouped.

type VendorCategoryOverlay

type VendorCategoryOverlay struct {
	ChoiceDescription string
	Description       string
	Icon              string
	Title             string
	// CurrencyItemHash is the hash for a related InventoryItemEntity.
	CurrencyItemHash uint32
}

VendorCategoryOverlay describes and overlay prompt to show in a given UI.

type VendorDefinition added in v1.3.1

type VendorDefinition map[uint32]VendorEntity

VendorDefinition is the contract for all Destiny.Definitions.DestinyVendorDefinition entities.

func (VendorDefinition) Entity added in v1.3.1

func (def VendorDefinition) Entity(entityHash uint32) interface{}

func (VendorDefinition) Name added in v1.3.1

func (VendorDefinition) Name() string

func (VendorDefinition) Reference added in v1.3.1

func (VendorDefinition) Reference() string

func (*VendorDefinition) Unmarshal added in v1.3.1

func (def *VendorDefinition) Unmarshal(data []byte) error

type VendorDisplayProperties added in v1.1.1

type VendorDisplayProperties struct {
	// LargeIcon is an icon that represents the vendor.
	LargeIcon string
	Subtitle  string
	// OriginalIcon is the original icon for the vendor.
	OriginalIcon string
	// RequirementsDisplay are common requirements for interacting with this vendor such as displaying a certain currency.
	RequirementsDisplay []VendorRequirementDisplayEntry
	// SmallTransparentIcon is the icon used for the vendor's waypoint in a given UI.
	SmallTransparentIcon string
	// MapIcon is the icon used in the map overview for the vendor.
	MapIcon string
	// LargeTransparentIcon is the watermark shown for the vendor.
	LargeTransparentIcon string
	DisplayProperties
}

VendorDisplayProperties are common display information for VendorEntity structs.

type VendorEntity

type VendorEntity struct {
	DisplayProperties VendorDisplayProperties
	// VendorProgresionType is the type of reward progression this vendor has.
	VendorProgressionType VendorProgressionType
	// BuyString is the localized string describing the buy action for this vendor.
	BuyString string
	// SellString is the localized string describing the sell action for this vendor.
	SellString string
	// DisplayItemHash is the hash for a related InventoryItemEntity.
	DisplayItemHash uint32
	// InhibitBuying determines if a player is not allowed to buy from this vendor.
	InhibitBuying bool
	// InhibitSelling determines if a player is not allowed to sell to this vendor.
	InhibitSelling bool
	// FactionHash is the hash for a related FactionEntity.
	FactionHash uint32
	// ResetIntervalMinutes is the frequency of this vendor's inventory refresh, in minutes.
	ResetIntervalMinutes int32
	// ResetOffsetMinutes is the offest of the frequency of this vendor's inventory refresh, in minutes.
	ResetOffsetMinutes int32
	// FailureStrings are localized strings for a failure to purchase an item from this vendor.
	FailureStrings []string
	// UnlockRanges are the dates with this vendor will be available.
	UnlockRanges []DateRange
	// VendorIdentifier is an internal identifier for this vendor.
	VendorIdentifier string
	// VendorPortrait is the path to the image of this vendor.
	VendorPortrait string
	// VendorBanner is the custom banner image associated with this vendor.
	VendorBanner string
	// Enabled determines if this vendor exists.
	Enabled bool
	// Visible determines if this vendor is visible.
	Visible bool
	// VendorSubcategoryIdentifier is the identifier for this vendor's subcategory.
	VendorSubcategoryIdentifier string
	// ConsolidateCategories determines if similar vendor categories should be consolidated.
	ConsolidateCategories bool
	// Actions describes actions that can be performed at this vendor.
	Actions []VendorAction
	// Categories are the headers of sections of items this vendor is selling.
	Categories []VendorCategoryEntry
	// OriginalCategories are pre-consolidated categories.
	OriginalCategories []VendorCategoryEntry
	// DisplayCategories are hints on how to visually group and display categories in this vendor's UI.
	DisplayCategories []DisplayCategory
	// Interactions are non-selling interactions that can happen with this vendor.
	Interactions []VendorInteraction
	// InventoryFlyouts describes this vendor's UI for showing items from the player's inventory.
	InventoryFlyouts []VendorInventoryFlyout
	// ItemList is the list of items this vendor can sell.
	ItemList []VendorItem
	// Services is a list of flavor text about services that this vendor provides.
	Services []VendorService
	// AcceptedItems is a list of source and destination buckets for transfer, if this vendor is a postmaster or vault.
	AcceptedItems []VendorAcceptedItem
	// ReturnWithVendorRequest determines if information about this vendor is returned from the Bungie.net API.
	ReturnWithVendorRequest bool
	// Locations are the locations this vendor can be depending on the game state.
	Locations []VendorLocation
	// Groups are the collections this vendor are related to by either location or function.
	Groups []VendorGroupReference
	// IgnoreSaleItemHashes are related InventoryItemEntity structs that should be ignored if sold by this vendor.
	IgnoreSaleItemHashes []uint32
	EntityMetadata
}

VendorEntity is an entity in the Destiny.Definitions.DestinyVendorDefinition contract. Vendors range from NPCs that you can buy items from to Kiosks, Collections and the Vault.

type VendorGroupDefinition

type VendorGroupDefinition map[uint32]VendorGroupEntity

VendorGroupDefinition is the contract for all Destiny.Definitions.DestinyVendorGroupDefinition entities.

func (VendorGroupDefinition) Entity

func (def VendorGroupDefinition) Entity(entityHash uint32) interface{}

func (VendorGroupDefinition) Name

func (VendorGroupDefinition) Reference

func (VendorGroupDefinition) Reference() string

func (*VendorGroupDefinition) Unmarshal

func (def *VendorGroupDefinition) Unmarshal(data []byte) error

type VendorGroupEntity

type VendorGroupEntity struct {
	// Order is the recommended order for rendering the groups in ascending order.
	Order int32
	// CategoryName is the name of this vendor group.
	CategoryName string
	EntityMetadata
}

VendorGroupEntity is an entity in the Destiny.Definitions.DestinyVendorGroupDefinition contract. This categorizes vendors by similarity.

type VendorGroupReference

type VendorGroupReference struct {
	// VendorGroupHash is the hash of a related VendorGroupEntity.
	VendorGroupHash uint32
}

VendorGroupReference refers to a grouping of vendors.

type VendorInteraction

type VendorInteraction struct {
	// InteractionIndex is the position of this interaction in its parent array.
	InteractionIndex int32
	// Replies are potential replies that the player can make in this interaction.
	Replies []VendorInteractionReply
	// VendorCategoryIndex is the category of sale items show along with this vendor interaction.
	VendorCategoryIndex int32
	// QuestlineItemHash is the hash of a related InventoryItemEntity.
	QuestlineItemHash uint32
	// SackInteractionList is the list sacks meant to be shown in this vendor interaction.
	SackInteractionList []VendorInteractionSackEntry
	// UIInteractionType is a hint for the behavior of the interaction screen in a given UI.
	UiInteractionType uint32
	// InteractionType is the classification of UI hints for this vendor interaction.
	InteractionType VendorInteractionType
	// RewardBlockLabel is the localized text header to for displaying rewards in this interaction.
	RewardBlockLabel string
	// RewardVendorCategoryIndex is the category index to show if this interaction displays reward.
	RewardVendorCategoryIndex int32
	// FlavorLineOne is the first part of flavor text in this vendor interaction.
	FlavorLineOne string
	// FlavorLineTwo is the second part of flavor text in this vendor interaction.
	FlavorLineTwo           string
	HeaderDisplayProperties DisplayProperties
	// Instructions is a localized text telling the player what to do when viewing this interaction.
	Instructions string
}

VendorInteraction is a dialog shown by the vendor other than sale items or transfer screens.

type VendorInteractionReply

type VendorInteractionReply struct {
	// ItemRewardsSelection is a classification of the rewards granted when responding to the vendor.
	ItemRewardsSelection VendorInteractionRewardSelection
	// Reply is the localized text for the vendor's reply.
	Reply string
	// ReplyType is a classification of the type of reply being made.
	ReplyType VendorReplyType
}

VendorInteractionReply is a selectable reply in a vendor interaction that obtains a reward.

type VendorInteractionRewardSelection added in v1.1.0

type VendorInteractionRewardSelection int32

VendorInteractionRewardSelection determines how many rewards are provided on selection.

type VendorInteractionSackEntry

type VendorInteractionSackEntry struct {
	// SackType is the sack identifier in InventoryItemEntity.VendorSackType.
	// If these match, this sack is shown in the vendor interaction.
	SackType uint32
}

VendorInteractionSackEntry is the sack of items to show in a vendor interaction.

type VendorInteractionType added in v1.1.0

type VendorInteractionType int32

VendorInteractionType is an enumeration of the known UI interactions for Vendors.

type VendorInventoryFlyout

type VendorInventoryFlyout struct {
	// LockedDescription is the localized description explaining why this flyout is locked.
	LockedDescription string
	DisplayProperties DisplayProperties
	// Buckets is a list of inventory buckets and other metadata to show on the screen.
	Buckets []VendorInventoryFlyoutBucket
	// FlyoutID is the identifier for the flyout.
	FlyoutId uint32
	// SuppressNewness determines if new item UI elements should be suppressed.
	SuppressNewness bool
	// EquipmentSlotHash is the hash of a related EquipmentSlotEntity.
	EquipmentSlotHash uint32
}

VendorInventoryFlyout defines a UI screen that shows a part of a hidden vendor inventory.

type VendorInventoryFlyoutBucket

type VendorInventoryFlyoutBucket struct {
	// Collapsible determines if this bucket can be collapsed visually.
	Collapsible bool
	// InventoryBucketHash is the hash of a related InventoryBucketEntity.
	InventoryBucketHash uint32
	// SortItemsBy is how to sort items from the flyout.
	SortItemsBy int32
}

VendorInventoryFlyoutBucket is information about a single inventory bucket in a vendor flyout UI.

type VendorItem

type VendorItem struct {
	// VendorItemIndex is the index of this item in VendorEntity.SaleList.
	VendorItemIndex int32
	// ItemHash is the hash of a related InventoryItemEntity.
	ItemHash uint32
	// Quantity is the amount of the item received when making a purchase.
	Quantity int32
	// FailureIndexes is a list of indexes in VendorEntity.FailureString which indicates possible failure strings for this item.
	FailureIndexes []int32
	// Currencies is a list of different currencies and the quantity needed to purshase this item.
	Currencies []VendorItemQuantity
	// RefundPolicy is a classification of how this item can be refunded and in what time period.
	RefundPolicy VendorItemRefundPolicy
	// RefundTimeLimit is the amount of time before refundability of this item will expire.
	RefundTimeLimit int32
	// CreationLevels are the default levels when this item will spawn in a vendor.
	CreationLevels []ItemCreationEntryLevel
	// DisplayCategoryIndex is an index into the display category for this vendor.
	DisplayCategoryIndex int32
	// CategoryIndex is an index into the category for this vendor.
	CategoryIndex int32
	// OriginalCategory is the original index into the category for this vendor.
	OriginalCategoryIndex int32
	// MinimumLevel is the minimum character level at which this item is available for sale.
	MinimumLevel int32
	// MaximumLevel is the maximum character level at which this item is available for sale.
	MaximumLevel int32
	// Action is the action performed when purchasing this item.
	Action VendorSaleItemActionBlock
	// DisplayCategory is the identifier for the category selling this item.
	DisplayCategory string
	// InventoryBucketHash is the hash of a related InventoryBucketEntity.
	InventoryBucketHash uint32
	// VisibilityScope is the most restrictive scope that determines whether this item is available.
	VisibilityScope GatingScope
	// PurchasableScope is the most restrictive scope that determines whether this item is purchasable.
	PurchasableScope GatingScope
	// Exclusivity is a classification of which platforms this item can be purchased on.
	Exclusivity BungieMembershipType
	// IsOffer determines if this sale can only be performed as the result of an offer check.
	IsOffer bool
	// IsCRM determines if the sale can only performed as the result of receiving a CRM offer.
	IsCrm bool
	// SortValue is the sorting order of this item within its category.
	SortValue int32
	// ExpirationTooltip is the tooltip message that shows when this item expires.
	ExpirationTooltip string
	// RedirectToSaleIndexes are other items that should be purchased when purchasing this item.
	RedirectToSaleIndexes []int32
	SocketOverrides       []VendorItemSocketOverride
	// Unpurchasable determines if this item is a dummy sale item that cannot be purchased.
	Unpurchasable bool
}

VendorItem represents an item being sold by the vendor.

type VendorItemQuantity

type VendorItemQuantity struct {
	// ItemHash is the hash of a related ItemEntity.
	ItemHash uint32
	// ItemInstanceId is the specific instance ID of this quantity.
	ItemInstanceId int64
	// Quantity is the amount of the item needed/available depending on the context.
	Quantity int32
	// HasConditionalVisibility determines if this item quantity may be conditionally shown or hidden.
	HasConditionalVisibility bool
}

VendorItemQuantity describes item quantity information for vendor prices.

type VendorItemRefundPolicy added in v1.1.0

type VendorItemRefundPolicy int32

VendorItemRefundPolicy is the action that happens when the user attempts to refund an item.

type VendorItemSocketOverride

type VendorItemSocketOverride struct {
	// SingleItemHash is the hash of a related InventoryItemEntity.
	SingleItemHash uint32
	// RandomizedOptionsCount is the number of randomized plugs to set on this socket.
	RandomizedOptionsCount int32
	// SocketTypeHash is the hash of a related SocketTypeEntity.
	SocketTypeHash uint32
}

VendorItemSocketOverride describes how a vendor purchase should override a given socket with custom plug data.

type VendorLocation

type VendorLocation struct {
	// DestinationHash is the hash for a related DestinationEntity.
	DestinationHash uint32
	// BackgroundImagePath is the relative path to the background image representing this vendor.
	BackgroundImagePath string
}

VendorLocation represents a vendor's location and relevant display information.

type VendorProgressionType added in v1.1.0

type VendorProgressionType int32

VendorProgressionType describes the type of progression a vendor has.

type VendorReplyType added in v1.1.0

type VendorReplyType int32

VendorReplyType determines the type of reply that a vendor will have during an interaction.

type VendorRequirementDisplayEntry added in v1.1.1

type VendorRequirementDisplayEntry struct {
	Icon, Name, Source, Type string
}

type VendorSaleItemActionBlock

type VendorSaleItemActionBlock struct {
	// ExecuteSeconds is the amount of time, in seconds, it takes to execute this action.
	ExecuteSeconds float32
	// IsPositive determines if this action is enabled.
	IsPositive bool
}

VendorSaleItemActionBlock is basic cooldown information for a vendor sale.

type VendorService

type VendorService struct {
	// Name is the localized name of a service provided.
	Name string
}

VendorService is the localized name of a vendor-provided service.

Directories

Path Synopsis
Package service implements the Bungie.net Destiny2 API (https://github.com/Bungie-net/api).
Package service implements the Bungie.net Destiny2 API (https://github.com/Bungie-net/api).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL