ExcellentChallenges
  • 🏠 General
    • 🔌 Getting Started
    • 📄 Commands
    • ⛔ Permissions
    • 🧩 Compatibility
    • ❓ Common Questions
    • ❗ Common Issues
    • 🪛 Developer API
  • ⭐ Features
    • 🔨 Action Types
    • 🪝 Conditions
    • 🧬 Generators
    • 🪜 Difficulties
    • 📚 Categories
    • 🎡 Reroll Tokens
  • 🧰 Utility
    • Placeholders
Powered by GitBook
On this page
  • Challenge Levels
  • Modifiers
  • Examples
  1. ⭐ Features

🪜 Difficulties

Difficulties are very useful tool to dynamically scale your challenges by increasing amount of objectives, conditions and rewards.

You can find them in config.yml -> Challenges -> Difficulties

Feel free to create your own difficulties and modify the default ones!

Challenge Levels

Difficulties has a configurable level range for challenges. When a challenge is generated, it gets a random level within the boundaries of challenge difficulty.

Difficulties:
  easy:
    Name: Easy
    Levels:
      Min: 1
      Max: 20
  medium:
    Name: Medium
    Levels:
      Min: 21
      Max: 30
  hard:
    Name: Hard
    Levels:
      Min: 21
      Max: 40

Levels are useful for scaling (see formula below).

Modifiers

Difficulties uses modifiers to scale challenge's objectives, conditions and rewards.

Every modifier has the following settings:

  • Base - Initial modifier value.

  • Per_Level - Value per challenge level.

Final modifier value calculated by a formula: <base> + <per_level> * <challenge level>

Examples

Difficulty
medium:
  Name: Medium
  Levels:
    Min: 21
    Max: 30
  Modifiers:
    objective_amount:
      Base: 0.0
      Per_Level: 0.05
    objective_progress:
      Base: 2.0
      Per_Level: 0.1
Generator
Objectives:
  List:
    '1':
      Weight: 50.0
      Items:
        '*':
        - iron_ore
        - coal_ore
        - diamond_ore
      Amount:
        Min: 1
        Max: 2
        Difficulty_Modifier:
          Id: objective_amount
          Action: ADD
      Progress:
        Min: 18
        Max: 25
        Difficulty_Modifier:
          Id: objective_progress
          Action: MULTIPLY

With a 30 lvl. challenge we have the following final modifier values:

  • objective_amount = 30 * 0.05 = 1.5

  • objective_progress = 2 + (30 * 0.01) = 2.3

Now, Amount value will be between (1 + 1.5; 2 + 1.5) = ~2 and ~3, and Progress value between (18 * 2.3; 25 * 2.3) = ~41 and ~57.

Last updated 1 year ago

In config, you can specify difficulty modifier and the action used between final modifier and generator values.

Consider the following Difficulty and configs:

Generator
Generator