World & Progression

Milestones

Every long-term milestone achievement and its level progression.


Types

Milestone

interface Milestone {
  id: string
  name: string
  img: string
  description: string
  levels: MilestoneLevel[]
}
FieldTypeDescription
idstringStable identifier
namestringDisplay name
imgstringPath to the milestone's icon, relative to images/
descriptionstringFlavor text describing the milestone
levelsMilestoneLevel[]Every level of the milestone

MilestoneLevel

interface MilestoneLevel {
  level: number
  count: number
  permitPoints: number
  unit?: string
}
FieldTypeDescription
levelnumberLevel number
countnumberCount required to reach this level
permitPointsnumberPermit points awarded on completion
unitstring?Unit label for the count, if applicable

Factory

import { milestones } from 'dinkum-data'

milestones() // all 98 milestones
milestones(source) // wrap a pre-filtered array

Methods

.totalPermitPoints()

Total permit points awarded across every level of every milestone in the current result set.

milestones().totalPermitPoints()

Sorts

MethodSignatureDefaultDescription
sortByLevelCountsortByLevelCount(order?: 'asc' | 'desc')'desc'Sort by number of levels, most levels first.

Terminal methods

MethodReturnsDescription
.get()Milestone[]All results
.first()Milestone | undefinedFirst result
.find(id)Milestone | undefinedFind by id
.findByName(name)Milestone | undefinedCase-insensitive exact name match
.search(query)Milestone[]Case-insensitive partial name match
.count()numberNumber of results

Examples

import { milestones } from 'dinkum-data'

// Total permit points available from every milestone in the game
milestones().totalPermitPoints()

// Look up by name
milestones().findByName('Alpha Hunter')

Next steps

Previous
Licenses