Combat

Monster Slayer Goals

Access every Monster Slayer Goal from the Adventurer's Guild, including kill targets, qualifying monsters, and rewards.

Quick Start

import { monsterSlayerGoals } from 'stardew-valley-data'

// Get all slayer goals
const allGoals = monsterSlayerGoals().get()

// Find a specific goal by name
const slimeGoal = monsterSlayerGoals().findByName('Slimes')

// Sort goals by kill target (easiest first)
const easiestFirst = monsterSlayerGoals().sortByKillTarget('asc').get()

Type Definition

The MonsterSlayerGoal type represents a single Adventurer's Guild kill quest.

FieldTypeDescription
idstringUnique identifier
namestringDisplay name of the goal
killTargetnumberNumber of kills required to complete the goal
monstersstring[]Names of monsters that count toward this goal
rewardSlayerRewardThe reward given upon completion

SlayerReward

FieldTypeDescription
namestringReward name
itemIdstring | nullItem ID of the reward, or null if non-item reward
imagestring | nullRelative path to the reward image, or null

Query Methods

Create a query with the monsterSlayerGoals() function. Every sort method returns a new MonsterSlayerGoalQuery, so you can chain calls in any order.

Sort Methods

MethodSignatureDescription
sortByKillTargetsortByKillTarget(order?: 'asc' | 'desc'): MonsterSlayerGoalQuerySort by kill target. Default: 'asc' (easiest first).

Terminal Methods

These methods are inherited from the base query and return actual values instead of a new query.

MethodSignatureDescription
getget(): MonsterSlayerGoal[]Return all results as an array.
firstfirst(): MonsterSlayerGoal | undefinedReturn the first result, or undefined if empty.
findfind(id: string): MonsterSlayerGoal | undefinedFind an item by its exact ID.
findByNamefindByName(name: string): MonsterSlayerGoal | undefinedFind an item by name (case-insensitive exact match).
countcount(): numberReturn the number of results.

Examples

List all goals sorted by difficulty

import { monsterSlayerGoals } from 'stardew-valley-data'

const goals = monsterSlayerGoals().sortByKillTarget('desc').get()
goals.forEach((g) =>
  console.log(`${g.name}: Kill ${g.killTarget} — Reward: ${g.reward.name}`),
)

Find the easiest goal to complete

import { monsterSlayerGoals } from 'stardew-valley-data'

const easiest = monsterSlayerGoals().sortByKillTarget('asc').first()
if (easiest) {
  console.log(`Easiest goal: ${easiest.name} (${easiest.killTarget} kills)`)
}

List which monsters count toward a goal

import { monsterSlayerGoals } from 'stardew-valley-data'

const goal = monsterSlayerGoals().findByName('Void Spirits')
if (goal) {
  console.log(`Monsters that count: ${goal.monsters.join(', ')}`)
}

Count total slayer goals

import { monsterSlayerGoals } from 'stardew-valley-data'

console.log(`There are ${monsterSlayerGoals().count()} monster slayer goals`)
Previous
Monster loot