Products Docs Help Store Discord

Missions Configuration

Configure daily and weekly missions to keep players engaged.

Keep players coming back with daily and weekly challenges.

📝 Missions are enabled by default and track casual matches only.

File: config/cobbleranked/missions.yaml


Basic Configuration

# missions.yaml
enabled: true
dailyResetTime: "00:00"
weeklyResetDay: "MONDAY"
weeklyResetTime: "00:00"
autoClaim: false
announceCompletion: false

Note: Timezone is now configured globally in config.yaml:

# config.yaml
timezone: "Asia/Tokyo"  # IANA timezone format
SettingDefaultDescription
enabledtrueEnable the mission system
dailyResetTime"00:00"Time to reset daily missions (HH:mm)
weeklyResetDay"MONDAY"Day to reset weekly missions
weeklyResetTime"00:00"Time to reset weekly missions (HH:mm)
autoClaimfalseAutomatically claim rewards on completion
announceCompletionfalseSend chat message when mission completes

Trigger Types

Each trigger decides when a casual match counts toward the mission and which extra fields it needs.

TriggerCounts whenRequired fieldsWin required?
WINYou win the matchrequired✅ Yes
PLAYYou finish a matchrequired, requireWin (optional)Only if requireWin: true
STREAKYour win streak extendsrequired✅ Yes (a loss resets the streak)
USE_TYPEYou win using a Pokémon whose type is in typestypes, required✅ Yes
FORMATYou win in the given formatformat, required✅ Yes
DEFEATYou KO opposing Pokémon (progress += KOs this match)minDefeated, requiredNo (KOs count even in a loss)
GENERATIONYou win using a Pokémon from one of generationsgenerations, required✅ Yes
EVOLUTIONYou win using a Pokémon at the given evolution stageevolution, required✅ Yes

📝 Missions track casual matches only. The Pokémon considered are the ones you actually brought into battle, not your full party.

Field Reference

FieldUsed byDescription
requiredallProgress target (e.g. 3 = complete after 3 qualifying matches)
chanceallWeight for per-player random selection at reset (0 = never picked)
requireWinPLAY onlytrue = only wins count; false (default) = any finished match counts. Ignored by other triggers (they always require a win, except DEFEAT)
typesUSE_TYPEList of types, e.g. [FIRE, WATER]. Counts if any Pokémon you used has one of these types
formatFORMATFormat name: "SINGLES", "DOUBLES", "TRIPLES"
minDefeatedDEFEATPer-match KO threshold. Each match where you KO ≥ this many Pokémon adds that KO count to progress
generationsGENERATIONList of gen numbers, e.g. [1, 2]. Derived from National Pokédex number
evolutionEVOLUTIONEvolution stage: FIRST, MIDDLE, FINAL, SINGLE, or ANY

Evolution Stages (EVOLUTION)

ValueMeaningExample
FIRSTBase form — has an evolution, no pre-evolutionCharmander
MIDDLEMiddle form — has both a pre-evolution and an evolutionCharmeleon
FINALFinal form — has a pre-evolution, no further evolutionCharizard
SINGLEDoes not evolve — no pre-evolution or evolutionTauros
ANYAny Pokémon (default when evolution is omitted)

Generation Ranges (GENERATION)

Generation is derived from the National Pokédex number:

GenerationPokédex range
1#1-151
2#152-251
3#252-386
4#387-493
5#494-649
6#650-721
7#722-809
8#810-905
9#906-1025
Legacy Format

Old format still works; no migration needed. New daily/weekly format takes priority if both exist.

# Old format (still works)
dailyMissions:
  - type: WIN_COUNT
    required: 3
    rewards: ["give {player} diamond 1"]

# New format (recommended)
daily:
  1:
    title: "Win 3 Matches"
    trigger: WIN
    required: 3
    rewards:
      - "give {player} diamond 1"

Defining Missions

Missions use numbered keys under daily: or weekly::

Daily Missions

daily:
  1:
    title: "Daily Battles"
    trigger: PLAY
    required: 3
    rewards:
      - "cobblemon give {player} exp_candy_m 3"

  2:
    title: "Daily Wins"
    trigger: WIN
    required: 2
    rewards:
      - "cobblemon give {player} rare_candy 1"

Weekly Missions

weekly:
  1:
    title: "Weekly Champion"
    trigger: WIN
    required: 10
    rewards:
      - "cobblemon give {player} exp_candy_l 5"
      - "cobblemon give {player} rare_candy 3"

Mission Parameters

Some triggers accept additional fields:

Type Usage

3:
  title: "Fire Master"
  trigger: USE_TYPE
  required: 3
  types: ["FIRE"]
  rewards:
    - "cobblemon give {player} exp_candy_l 2"

USE_TYPE always requires a win — a match counts only if you win using a Pokémon whose type is in types. The requireWin field only affects the PLAY trigger.

Generation Usage

4:
  title: "Kanto Pride"
  trigger: GENERATION
  required: 5
  generations: [1]
  rewards:
    - "cobblemon give {player} rare_candy 2"

See Generation Ranges above for the Pokédex range of each generation.

Format Participation

5:
  title: "Doubles Specialist"
  trigger: FORMAT
  required: 5
  format: "doubles"
  rewards:
    - "cobblemon give {player} exp_candy_m 3"

Pokemon Defeated

6:
  title: "Knockout Artist"
  trigger: DEFEAT
  required: 20
  rewards:
    - "cobblemon give {player} rare_candy 2"

Reward Commands

Rewards are server commands. Use {player} placeholder for the player name.

rewards:
  - "cobblemon give {player} rare_candy 5"
  - "eco give {player} 1000"

See Also