Skip to content

Instantly share code, notes, and snippets.

{
"contentHash": 3231140298,
"dialogues": [
{
"contentHash": 3091707341,
"type": "DialogueTree",
"dialogue": {
"contentHash": 3091707341,
"type": "DialogueBranch",
"options": [
{
"contentHash": 3294973613,
"dialogues": [
{
"contentHash": 2447988867,
"type": "DialogueTree",
"dialogue": {
"contentHash": 2447988867,
"type": "DialogueLine",
"nonUniqueGameHash": 3162632475,
@joshhunt
joshhunt / !README.md
Last active March 21, 2022 17:19
dialogue files

Files are of type 0x808097B8

They contain similar/related dialogue. e.g. All of a strike's dialogue will be in one file.

The file has a top-level array of 0x80809729 blocks (which I call a "DialogueTree") which represents all the different dialogue groups of dialogue. e.g. Each "trigger" of dialogue in a strike will be one of these top level entries.

There is roughly a nested tree of three types of data:

  • 0x8080972d Branch, that describes random dialogue or condition-specific dialogue
  • 0x8080972a Sequence, for a sequence of multiple lines of dialogue
  • 0x80809733 Line, an actual line of dialogue. caption, narrator, audio file
@joshhunt
joshhunt / docker-compose.yml
Last active November 1, 2022 07:21
Docker Compose file for grafana/nginx reverse proxy
version: "3"
services:
nginx:
image: nginx:latest
container_name: nginx
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- 8080:80
networks:
{
"displayProperties": {
"description": "",
"name": "Septenary Encryption",
"icon": "/common/destiny2_content/icons/e1ade1922800ac994d2af46eef796f07.jpg",
"hasIcon": true
},
"tooltipNotifications": [],
"collectibleHash": 668425543,
"secondaryIcon": "/common/destiny2_content/icons/8ecba6551418cc18662e29cf36e63087.jpg",
@joshhunt
joshhunt / TypeHolesInTS.md
Last active September 24, 2020 15:02 — forked from disintegrator/TypeHolesInTS.md
Type holes in TypeScript

Type holes in TypeScript

In TypeScript there are a few ways you can sidestep type inference and the compiler to introduce type holes in your code. Type holes are parts of the code where we’ve lied or hid information from the compiler and can be a source of bugs that are not present in properly typed code. The common ones I see are listed below in order of really bad to bad.

Type casts

const something = getValue() as any;
const cat = dog as Cat;
@joshhunt
joshhunt / code.js
Last active September 9, 2020 11:32
window.$DestinyVendorDefinition
.filter((v) => v.interactions.length > 0)
.map((vendor) => ({
hash: vendor.hash,
name: vendor.displayProperties.name,
interactions: vendor.interactions
.map(
(v) =>
v.headerDisplayProperties.name
.toLowerCase()
const round = (num) => Math.round((num + Number.EPSILON) * 100) / 100;
const DAYS_IN_A_YEAR = 365;
const VAT_MULTIPLIER = 1.05;
function priceCommand(plans, _annualUsage) {
const annualUsage = parseInt(_annualUsage);
const results = plans
.map((plan) => {
@joshhunt
joshhunt / profiles.json
Last active August 3, 2020 00:07
Players with the "After the Nightfall" emblem
[
{
"membershipId": "4611686018432827035",
"membershipType": 1,
"collectibleState": 16
},
{
"membershipId": "4611686018438475521",
"membershipType": 2,
"collectibleState": 32