bungie-net-core
Version:
An easy way to interact with the Bungie.net API
81 lines (80 loc) • 3.53 kB
TypeScript
/**
* Bungie.Net API
* These endpoints constitute the functionality exposed by Bungie.net, both for more traditional website functionality and for connectivity to Bungie video games and their related functionality.
*
* Contact: support@bungie.com
*
* NOTE: This class is auto generated by the bungie-net-core code generator program
* Repository: {@link https://github.com/owens1127/bungie-net-core}
* Do not edit these files manually.
*/
import { DestinyDisplayPropertiesDefinition } from './Common/DestinyDisplayPropertiesDefinition';
import { DamageType } from '../DamageType';
/**
* Perks are modifiers to a character or item that can be applied situationally.
*
* - Perks determine a weapon's damage type.
*
* - Perks put the Mods in Modifiers (they are literally the entity that bestows
* the Sandbox benefit for whatever fluff text about the modifier in the Socket,
* Plug or Talent Node)
*
* - Perks are applied for unique alterations of state in Objectives
*
* Anyways, I'm sure you can see why perks are so interesting.
*
* What Perks often don't have is human readable information, so we attempt to
* reverse engineer that by pulling that data from places that uniquely refer to
* these perks: namely, Talent Nodes and Plugs. That only gives us a subset of
* perks that are human readable, but those perks are the ones people generally
* care about anyways. The others are left as a mystery, their true purpose mostly
* unknown and undocumented.
* @see {@link https://bungie-net.github.io/#/components/schemas/Destiny.Definitions.DestinySandboxPerkDefinition}
*/
export interface DestinySandboxPerkDefinition {
/**
* These display properties are by no means guaranteed to be populated. Usually
* when it is, it's only because we back-filled them with the displayProperties of
* some Talent Node or Plug item that happened to be uniquely providing that perk.
*/
readonly displayProperties: DestinyDisplayPropertiesDefinition;
/** The string identifier for the perk. */
readonly perkIdentifier: string;
/**
* If true, you can actually show the perk in the UI. Otherwise, it doesn't have
* useful player-facing information.
*/
readonly isDisplayable: boolean;
/**
* If this perk grants a damage type to a weapon, the damage type will be defined
* here.
*
* Unless you have a compelling reason to use this enum value, use the
* damageTypeHash instead to look up the actual DestinyDamageTypeDefinition.
*/
readonly damageType: DamageType;
/**
* The hash identifier for looking up the DestinyDamageTypeDefinition, if this perk
* has a damage type.
*
* This is preferred over using the damageType enumeration value, which has been
* left purely because it is occasionally convenient. Mapped to
* DestinyDamageTypeDefinition in the manifest.
*/
readonly damageTypeHash?: number;
/**
* The unique identifier for this entity. Guaranteed to be unique for the type of
* entity, but not globally.
*
* When entities refer to each other in Destiny content, it is this hash that they
* are referring to.
*/
readonly hash: number;
/** The index of the entity as it was found in the investment tables. */
readonly index: number;
/**
* If this is true, then there is an entity with this identifier/type combination,
* but BNet is not yet allowed to show it. Sorry!
*/
readonly redacted: boolean;
}