Source

This page was generated with Wiki Builder. Do not change the format!

Info

A "Progression" in Destiny is best explained by an example. A Character's "Level" is a progression: it has Experience that can be earned, levels that can be gained, and is evaluated and displayed at various points in the game. A Character's "Faction Reputation" is also a progression for much the same reason. Progression is used by a variety of systems, and the definition of a Progression will generally only be useful if combining with live data (such as a character's DestinyCharacterProgressionComponent.progressions property, which holds that character's live Progression states). Fundamentally, a Progression measures your "Level" by evaluating the thresholds in its Steps (one step per level, except for the last step which can be repeated indefinitely for "Levels" that have no ceiling) against the total earned "progression points"/experience. (for simplicity purposes, we will henceforth refer to earned progression points as experience, though it need not be a mechanic that in any way resembles Experience in a traditional sense). Earned experience is calculated in a variety of ways, determined by the Progression's scope. These go from looking up a stored value to performing exceedingly obtuse calculations. This is why we provide live data in DestinyCharacterProgressionComponent.progressions, so you don't have to worry about those.

Schema

  • Schema Type: Manifest Definition
  • Type: object
  • Mobile Manifest: Progressions

Properties

Name Type Description
displayProperties DestinyProgressionDisplayPropertiesDefinition:Definition  
scope DestinyProgressionScope:Enum The "Scope" of the progression indicates the source of the progression's live data. See the DestinyProgressionScope enum for more info: but essentially, a Progression can either be backed by a stored value, or it can be a calculated derivative of other values.
repeatLastStep boolean If this is True, then the progression doesn't have a maximum level.
source string If there's a description of how to earn this progression in the local config, this will be that localized description.
steps DestinyProgressionStepDefinition:Definition[] Progressions are divided into Steps, which roughly equate to "Levels" in the traditional sense of a Progression. Notably, the last step can be repeated indefinitely if repeatLastStep is true, meaning that the calculation for your level is not as simple as comparing your current progress to the max progress of the steps. These and more calculations are done for you if you grab live character progression data, such as in the DestinyCharacterProgressionComponent.
visible boolean If true, the Progression is something worth showing to users. If false, BNet isn't going to show it. But that doesn't mean you can't. We're all friends here.
factionHash Destiny.Definitions.DestinyFactionDefinition:integer:uint32:nullable If the value exists, this is the hash identifier for the Faction that owns this Progression. This is purely for convenience, if you're looking at a progression and want to know if and who it's related to in terms of Faction Reputation.
hash integer:uint32 The unique identifier for this entity. Guaranteed to be unique for the type of entity, but not globally. When entities refer to each other in Destiny content, it is this hash that they are referring to.
index integer:int32 The index of the entity as it was found in the investment tables.
redacted boolean If this is true, then there is an entity with this identifier/type combination, but BNet is not yet allowed to show it. Sorry!

Example

{
    // Type: DestinyProgressionDisplayPropertiesDefinition:Definition
    "displayProperties": {
        // Type: string
        "displayUnitsName": "",
        // Type: string
        "description": "",
        // Type: string
        "name": "",
        // Type: string
        "icon": "",
        // Type: boolean
        "hasIcon": false
    },
    // Type: DestinyProgressionScope:Enum
    "scope": {},
    // Type: boolean
    "repeatLastStep": false,
    // Type: string
    "source": "",
    // Type: DestinyProgressionStepDefinition:Definition[]
    "steps": [
       // Type: DestinyProgressionStepDefinition:Definition
        {
            // Type: string
            "stepName": "",
            // Type: DestinyProgressionStepDisplayEffect:Enum
            "displayEffectType": {},
            // Type: integer:int32
            "progressTotal": 0,
            // Type: DestinyItemQuantity[]
            "rewardItems": [
               // Type: DestinyItemQuantity
                {
                    // Type: Destiny.Definitions.DestinyInventoryItemDefinition:integer:uint32
                    "itemHash": 0,
                    // Type: integer:int64:nullable
                    "itemInstanceId": 0,
                    // Type: integer:int32
                    "quantity": 0
                }
            ]
        }
    ],
    // Type: boolean
    "visible": false,
    // Type: Destiny.Definitions.DestinyFactionDefinition:integer:uint32:nullable
    "factionHash": 0,
    // Type: integer:uint32
    "hash": 0,
    // Type: integer:int32
    "index": 0,
    // Type: boolean
    "redacted": false
}

References

  1. https://bungie-net.github.io/multi/schema_Destiny-Definitions-DestinyProgressionDefinition.html#schema_Destiny-Definitions-DestinyProgressionDefinition