Skip to main content

Mathematical Formulas

In 0.2.0, XP and progression use a monster-level-based system with level-difference multipliers and zones. This replaces the previous health-based XP formula.

How the New System Works

Your XP gains depend on two main factors:
  1. Monster level - Base XP scales with the monster’s level (higher level = more base XP).
  2. Level difference - How close the monster’s level is to yours. Fighting monsters near your level gives the best XP; farming much easier or much harder content is heavily penalized.

XP Gain from Mobs

Base XP (Monster Level)

Base XP is determined by the monster’s level:
Higher-level monsters give more base XP.

Level Difference Multiplier

The difference between your level and the monster’s level applies a multiplier: You can disable the underleveled XP penalty (rows where the monster is higher than you) via EnableGapLevelXpReducer: false in config - you will get full XP (1.0×) from higher-level monsters. See Configuration or Difficulty Scaling. Best strategy: Fight monsters within ±25 levels of your level. Same-level or slightly higher (±5) gives the highest bonuses.

Final XP Formula

Example (Level 81 vs Level 81 monster, RateExp 3.0, ZoneRateExp 1.0):
Base 729 × 1.5 × 3.0 × 1.0 = ~3,281 XP per kill.

Block break XP (mining / woodcutting)

XP is awarded when players break eligible blocks (ore/mineral/gem for mining; log/tree/trunk for woodcutting). The formula uses BlockXPBaseMining or BlockXPBaseWood, player level, zone level, RateExp, and ZoneRateExp. See 0.2.0 formulas - Block XP for the full math. Exclusions: In RPGLevelingConfig.json, BlacklistedXPBlocks lists block type IDs that never grant break XP (case-insensitive exact match). Default: Tw_Feed_Carnivore,Tw_Feed_Herbivore (Animal Husbandry feed troughs). Set to "" to allow XP from all eligible blocks. Use EnableBlockXP: false to disable all block-break XP.

Crop harvest XP and Harvest stat

Added in 0.3.9 (The Harvest Moon Update).

Crop harvest XP

XP is awarded when players harvest mature crops (F key / sickle on crop blocks and direct-harvest plants). Uses tier multipliers from HarvestingConfig.json:
Per-player cooldown (HarvestXPCooldownSeconds, default 45) limits XP from the same plant. See Harvesting Config for blacklists and per-crop tier overrides.

Harvest stat (yield procs)

Allocated Harvest points roll for bonus crop stacks on harvest (configured in StatsLevelConfig.json):
Triple is only rolled when double does not proc. Double adds 1 extra stack; triple adds 2 extra stacks.

Tame XP

When EnableTameXP is true in RPGLevelingConfig.json, taming a creature awards:
Uses the same monster-level and level-gap math as kills. Role blacklist: BlacklistedTameEntityRoles.

Zones and Monster Level Ranges

The world is divided into zones with different monster level ranges:

Monster Level Variation (±5)

Monsters in a zone have ±5 level variation around their base. Same zone, same “type” of monster can be different levels (e.g. 30, 33, 37, 40). This adds variety and keeps combat less predictable.

Zone Colors on the HUD

The HUD shows the current zone and its color based on how it fits your level: Pro tip: If the zone name is green, you’re in the right place for the best XP.

XP Required for Level

Total XP required to reach a level:
The exponent 2.5 (not squared) gives a steeper curve: easier early levels, much harder at high levels. Examples (LevelBaseXP = 50.0, LevelOffset = 0.0):

Per-range XP-earned multipliers (XP curve overrides)

XP earned and level-up cost can be scaled per player-level range via XPCurveOverridesConfig.json. XpRateMultiplier applies on top of RateExp / ZoneRateExp; LevelCostMultiplier scales XP needed for the next level (HUD, /lvl info). Levels outside any range use 1.0 for both. Example: [{From: 80, To: 100, XpRateMultiplier: 3.0, LevelCostMultiplier: 0.5}] triples XP earned and halves grind to level up at levels 80–100.

XP Needed for Next Level


Progression and Monsters per Level

Approximate monsters to kill per level when fighting same-level monsters (RateExp 3.0, LevelBaseXP 150, default formulas). “XP per level-up” is the range for one level step in that band (e.g. 1→2 needs ~850 XP, 9→10 needs ~10,500 XP). Total XP to go 1→10 is much higher (~47,400). Total (1 → 100, same-level farming): ~9,000 – 12,000 monsters (order of magnitude), depending on exact rates and level choices.

Stat Points

Same as 0.1.9:
  • Stat points per level: 5 (configurable)
  • Max level: 100
  • Total at max: (100 − 1) × 5 = 495 stat points
See Configuration for StatPointsPerLevel, StatValuePerPoint, and related options.

Summary

For difficulty scaling (monster damage, HP, level-gap combat), see Difficulty Scaling.