• Do not use Discord to host any images you post, these links expire quickly! You can learn how to add images to your posts here.
  • The Eevee Expo Game Jam has concluded! 🎉 Head on over to the game jam forum to play through the games.
    Don't forget to come back September 21st to vote for your favorites!
  • Reminder: AI-generated content is not allowed on the forums per the Rules and Regulations. Please contact us if you have any questions!
Resource icon

v21.1 Challenge Modes 1.1

This resource pertains to version 21.1 of Pokémon Essentials.
Pokémon Essentials Version
v21.1 ✅
IMPORTANT: This plugin is the updated version of the original "Nuzlocke EX" plugin. If you are updating from an older version, please delete the old "Nuzlocke EX" folder from your Plugins directory before installing this version to avoid conflicts.

1. For Existing Users: Delete any old "Nuzlocke EX" plugin folder from Plugins/
2. Extract this plugin folder to your Plugins/ directory

3. Compile your game and test with a new save file

NOTE: Challenge modes automatically activate only after the player has received their first Pokeballs, ensuring proper game progression before rules take effect.

## Overview
Nuzlocke EX is a comprehensive challenge mode plugin that transforms your Pokemon Essentials game into an engaging, rule-based experience. It includes classic Nuzlocke rules plus exciting new challenge modes like Monotype and Randomizer gameplay.

## Features

### Core Nuzlocke Rules
  • One Capture Rule: Only catch the first Pokemon encountered on each route/area
  • Permadeath: Fainted Pokemon are considered "dead" and unusable
  • Nickname Rule: All caught Pokemon must be nicknamed
  • Set Battle Style: Forces Set battle mode for increased difficulty
  • Dups Clause: Prevents catching duplicate Pokemon families
  • Shiny Clause: Shiny Pokemon don't count as encounters (optional)

### New Challenge Modes

#### Monotype Mode
Play through the entire game using only Pokemon of a single type!
  • Choose your type at the start of the challenge
  • Blocks catching Pokemon that don't match your chosen type
  • Prevents using invalid Pokemon in battle
  • Blocks receiving gift Pokemon that don't match your type

#### Randomizer Mode
Experience completely randomized Pokemon encounters!
  • Wild Pokemon are randomly replaced with different species
  • Trainer Pokemon are randomized for unpredictable battles
  • Gift Pokemon (including starters) are randomized
  • Seed-based consistency ensures the same Pokemon always randomizes to the same replacement
  • Similar strength matching keeps battles balanced (BST ±100)
  • Optional legendary separation

### Additional Features
  • Split Map Support: Certain areas can be treated as separate encounter zones
  • Whitelist System: Specific Pokemon can be excluded from One Capture rules
  • Hall of Fame Tracking: Records your victories and defeats
  • Save Integration: All progress is automatically saved

## How to Use

### Starting a Challenge
1. Access the Challenge Menu: Use the script command ChallengeModes.start in an event or through the debug menu
2. Select Rules: Choose from available challenge rules using the selection interface
3. Special Mode Setup:
- Monotype: You'll be prompted to choose your type (Fire, Water, Grass, etc.)
- Randomizer: The mode initializes automatically with a random seed
4. Begin Adventure: The challenge activates immediately after selection

### In-Game Usage
  • Catching Pokemon: The plugin automatically enforces rules during capture attempts
  • Battle Restrictions: Invalid Pokemon are blocked from being used in battle
  • Progress Tracking: Your challenge progress is continuously monitored and saved

### Managing Your Challenge
  • Check Status: Use ChallengeModes.on? to verify if a challenge is active
  • Reset Challenge: Use ChallengeModes.reset to clear all challenge data
  • Victory/Defeat: Use ChallengeModes.set_victory or ChallengeModes.set_loss to record outcomes

## Script Commands

### Basic Commands
Ruby:
Expand Collapse Copy
# Start challenge selection
ChallengeModes.start

# Check if any challenge is active
ChallengeModes.on?

# Check specific rule
ChallengeModes.on?(:ONE_CAPTURE)
ChallengeModes.on?(:MONOTYPE_MODE)
ChallengeModes.on?(:RANDOMIZER_MODE)

# Begin the challenge (after selection)
ChallengeModes.begin_challenge

# Reset all challenge data
ChallengeModes.reset

# Record victory or defeat
ChallengeModes.set_victory(true)  # true to also reset
ChallengeModes.set_loss(true)     # true to also reset

### Event Integration
Ruby:
Expand Collapse Copy
# Check if player won any challenge
if ChallengeModes.won?
  pbMessage("Congratulations on your challenge victory!")
end

# Check specific hall of fame entry
if ChallengeModes.won?(0)  # Check first hall of fame entry
  pbMessage("You completed your first challenge!")
end

## Configuration

### Settings (in 002_Settings.rb)
Ruby:
Expand Collapse Copy
# Customize which maps count as the same encounter area
SPLIT_MAPS_FOR_ENCOUNTERS = [
  [1, 2, 3],  # Maps 1, 2, and 3 share encounters
  [10, 11]    # Maps 10 and 11 share encounters
]

# Pokemon that ignore the One Capture rule
ONE_CAPTURE_WHITELIST = [:CATERPIE, :WEEDLE]

# Available types for Monotype mode
MONOTYPE_TYPES = [:FIRE, :WATER, :GRASS, :ELECTRIC, :PSYCHIC, ...]

# Randomizer settings
RANDOMIZER_SETTINGS = {
  :wild_pokemon => true,      # Randomize wild encounters
  :trainer_pokemon => true,   # Randomize trainer Pokemon
  :gift_pokemon => true,      # Randomize gifts/starters
  :legendary_separate => true,# Keep legendaries separate
  :similar_strength => true   # Match similar power levels
}

## Installation

IMPORTANT: This plugin is the updated version of the original "Nuzlocke EX" plugin. If you are updating from an older version, please delete the old "Nuzlocke EX" folder from your Plugins directory before installing this version to avoid conflicts.

1. For Existing Users: Delete any old "Nuzlocke EX" plugin folder from Plugins/
2. Extract this plugin folder to your Plugins/ directory

3. Compile your game and test with a new save file

### Updating from Previous Versions
  • Save files from the original Nuzlocke EX plugin remain compatible
  • Old challenge progress will be preserved
  • New features (Monotype and Randomizer modes) will be available immediately

## Examples

### Basic Nuzlocke Setup
Ruby:
Expand Collapse Copy
# In an event at the start of your game
ChallengeModes.start

### Conditional Story Events
Ruby:
Expand Collapse Copy
# Different dialogue for challenge players
if ChallengeModes.on?
  pbMessage("I see you're on a challenge run. Good luck!")
else
  pbMessage("Welcome to the Pokemon world!")
end

### Elite Four Victory Check
Ruby:
Expand Collapse Copy
# After defeating the Elite Four
if ChallengeModes.on?
  ChallengeModes.set_victory(false)  # Don't reset yet
  pbMessage("Incredible! You've completed the #{ChallengeModes.rules.length}-rule challenge!")
  pbMessage("Your victory will be remembered forever!")
  ChallengeModes.reset  # Now reset for post-game
end

## Troubleshooting

### Common Issues
  • Rules not applying: Ensure ChallengeModes.begin_challenge was called after selection
  • Save compatibility: Challenge data is stored in the save file - existing saves are compatible
  • Performance: Randomizer mode may cause slight delays during encounters (normal behavior)

### Debug Commands
Ruby:
Expand Collapse Copy
# Check current challenge state
p $PokemonGlobal.challenge_rules
p $PokemonGlobal.challenge_started
p $PokemonGlobal.challenge_encs

# Force specific rules (for testing)
$PokemonGlobal.challenge_rules = [:ONE_CAPTURE, :PERMA_DEATH]
ChallengeModes.begin_challenge
Credits
Golisopod User (Scripter)
Nononever
  • Like
Reactions: Younam and A.I.R
Author
NoNoNever
Downloads
1,115
Views
4,847
First release
Last update

Ratings

0.00 star(s) 0 ratings

More resources from NoNoNever

Latest updates

  1. Bug fixes and new modes - renamed the plugin

    ## New Features ### Monotype Challenge Mode Play through the entire game using only Pokémon of...
  2. Forced rules

    Players can now have predefined rules set for them. Use the following commands in an event...
  3. link

    New link is up
Back
Top