Gear & Equipment

Tools

Access every gathering and combat tool in Dinkum, with the license and source needed to unlock each.


Type

Tool

FieldTypeDescription
idstringStable identifier
namestringDisplay name
imgstringPath to the tool's icon, relative to images/
sourcestring[]Where the tool is obtained
baseSellPricenumberBase sell price in Dinks
buyPricenumber?Purchase price, if purchasable
damagenumber | nullDamage dealt, or null for non-combat tools
licencestringLicense required to buy or use the tool
shinyDiscCountnumber?Shiny Discs required to craft
berkoniumOreCountnumber?Berkonium Ore required to craft
inputsResource[]?Other crafting inputs
buyUnitsBuyUnits?'Dinks' or 'Permit Points', when purchasable

Resource is { name: string; img: string; count: number }. See TypeScript integration for the shared Resource and BuyUnits types.


Factory

import { tools } from 'dinkum-data'

tools() // all 89 tools
tools(source) // wrap a pre-filtered array

Filters

MethodSignatureDescription
byLicencebyLicence(licence: string)Filter to tools that require the given license (exact match, case-insensitive).
bySourcebySource(source: string)Filter to tools obtainable from the given source (case-insensitive substring match).
import { tools } from 'dinkum-data'

tools().byLicence('Mining').get()
tools().bySource("John's Goods").get()

Sorts

MethodSignatureDefaultDescription
sortByDamagesortByDamage(order?: 'asc' | 'desc')'desc'Sort by damage. Tools with no damage (gathering tools, for example) sort as 0.

Terminal methods

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

Examples

import { tools } from 'dinkum-data'

// Every Mining-license tool
tools().byLicence('Mining').get()

// Strongest combat tools
tools().sortByDamage().get()

// Tools purchasable at John's Goods
tools().bySource("John's Goods").get()

Next steps

Previous
Sign writing recipes