Wildlife & Farming

Animals

Access every wild, farm, and tameable animal in Dinkum, including their drops, produce, and domestication details.


Type

Animal

FieldTypeDescription
idstringStable identifier
namestringDisplay name
imgstringPath to the animal's icon, relative to images/
temperamentTemperament'Passive', 'Neutral', or 'Aggressive'
habitatstring[]?Biomes the animal is found in. Omitted for animals with no fixed habitat
healthnumber?Hit points
dropsResource[]Items dropped when defeated
producesResource[]?Items produced over time when domesticated
researchRewardnumber?Research points awarded on first encounter
buyPricenumber?Purchase price, for animals bought rather than caught
baseSellPricenumber?Base sell price in Dinks
maxSellPricenumber?Maximum sell price at full growth or quality
sourcestring?Where the animal is obtained, if not simply encountered in the wild
typeAnimalType'Wild Animal', 'Farm Animal', or 'Tammed Animal'
domesticableboolean?Whether the animal can be tamed and kept on the farm

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


Factory

import { animals } from 'dinkum-data'

animals() // all 45 animals
animals(source) // wrap a pre-filtered array

Filters

MethodSignatureDescription
byTypebyType(type: AnimalType)Filter by animal type.
byTemperamentbyTemperament(temperament: Temperament)Filter by temperament.
byHabitatbyHabitat(habitat: string)Filter to animals found in the given habitat. Animals with no habitat field never match.
domesticabledomesticable()Filter to animals that can be domesticated.
import { animals } from 'dinkum-data'

animals().byType('Farm Animal').get()
animals().byTemperament('Aggressive').get()
animals().byHabitat('Bushlands').get()
animals().domesticable().get()

Sorts

MethodSignatureDefaultDescription
sortByBaseSellPricesortByBaseSellPrice(order?: 'asc' | 'desc')'desc'Sort by base sell price. Animals without a baseSellPrice sort as 0.

Terminal methods

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

Examples

import { animals } from 'dinkum-data'

// All domesticable animals, most valuable first
animals().domesticable().sortByBaseSellPrice().get()

// Every aggressive animal in the Desert
animals().byTemperament('Aggressive').byHabitat('Desert').get()

// Look up by name
animals().findByName('Bush Devil')

Next steps

  • Browse the Museum modules for donatable bugs, critters, and fish
  • See Crops for farmable plants alongside farm animals
  • Read the query builder guide for more filter patterns
Previous
Image assets
Next
Bugs