• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Challenge Modes

1,224
Posts
10
Years
This set of scripts allows you to invoke mildly customizable challenge rules and clauses
Please install the following scripts in new sections above the main, in this order.
Challenge Modes
Challenge Mode Selection
Pokemon Randomizer
Ability Randomizer
Move Randomizer
Item Randomizer

Download these graphics, then Unzip the folder into Graphics/Pictures

This script also requires my Inverse + Sky Battles script to work
You can call the challenge selection with the script
Code:
ChallengeSelection.new
I would recommend doing this during your intro or something to that effect.
Also, be sure to install this font, and give credit to both myself and JV, who's nuzlocke script was expanded upon.

Currently available Modes and their subclauses

  • Nuzlocke
    • Dubious Clause - Can opt to not catch a species you already own
    • PP Clause - Pokecenters don't heal your pokemon's PP
      • No PP Items - PP items are not usable
      • PP Token - Allow PP Tokens to be added or used
    • Encounter Tokens - You can earn tokens that give you the option to catch another encounter (you will have to give these tokens manually
      • After Gift
      • After Gym - both of these subclauses do nothing on their own, but are for you to use in your gym events or gift events to check whether or not to add a token
    • Revive Tokens - Similarly, you can give tokens that allow for a pokemon to be revived
      • After Gift
      • After Gym - both of these subclauses do nothing on their own, but are for you to use in your gym events or gift events to check whether or not to add a token
    • Shiny Clause - Shinies can be caught even if you already encountered a pokemon there
  • No Running - You cannot run from wild battles
  • Randomize
    • Randomize Battles - Choose one of the following options
      • Pure Random - randomly generated each time
      • Set Random - randomly generated at the end of the script, and will give repeatable random encounters
      • Set Psuedo-Random - same as set random, but attempts to swap pokemon with others of similar BST
    • Randomize Gifts- Choose one of the following options.
      • Pure Random - randomly generated each time
      • Set Random - randomly generated at the end of the script, and will give repeatable random encounters
      • Set Psuedo-Random - same as set random, but attempts to swap pokemon with others of similar BST
    • Randomize Events- Choose one of the following options
      • Pure Random - randomly generated each time
      • Set Random - randomly generated at the end of the script, and will give repeatable random encounters
      • Set Psuedo-Random - same as set random, but attempts to swap pokemon with others of similar BST
    • Randomize Items - items given or bought in the mart are randomized. Note that this also uses a set random.
    • Randomize Moves - Pokemon's learnsets are randomized. TM's are not randomized
    • Random Abilities - Pokemon's abilities are randomized
  • No Evolutions - Your pokemon can't evolve
  • Solo Run - You can only use your first pokemon
  • Inverse Locke (requires my Inverse battles script) - all battles are inverse battles
  • No Items - You can't use items
  • No TMs - You can't use TMs

Explaination of what Set Random is:
Pretty much like how some randomizers for ROM hacks work. It just switches all the encounters and stuff around. It a trainer has a Beedrill, and it gets randomized to Pidgey, it's always a Pidgey.

More notes:
If you do not select a sub-clause for the pokemon randomizers, they will be set to Pure Random
The differentiation between gift and encounter pokemon can obviously not be determined by me, that will be up to you to implement. The Random Battlers setting is used unless specified otherwise. Also note that if you do not have event or gift pokemon randomizers selected, any mon in one of these encounters or gifts won't be randomized

List of codes to check clauses:
Code:
$PokemonGlobal.nuzlocke
$PokemonGlobal.dubiousClause
$PokemonGlobal.shinyClause
$PokemonGlobal.catchTokens
$PokemonGlobal.encounterTokens
$PokemonGlobal.ppTokens
$PokemonGlobal.reviveTokens
$PokemonGlobal.catchTokenAfterGymLeader
$PokemonGlobal.catchTokenAfterGiftPokemon
$PokemonGlobal.encounterTokenAfterGymLeader
$PokemonGlobal.encounterTokenAfterGiftPokemon
$PokemonGlobal.reviveTokenAfterGymLeader
$PokemonGlobal.reviveTokenAfterGiftPokemon
$PokemonGlobal.ppClause
$PokemonGlobal.allowPPItems
$PokemonGlobal.encounterPureRandom
$PokemonGlobal.encounterSetRandom
$PokemonGlobal.encounterPsuedoRandom
$PokemonGlobal.giftPureRandom
$PokemonGlobal.giftSetRandom
$PokemonGlobal.giftPsuedoRandom
$PokemonGlobal.eventPureRandom
$PokemonGlobal.eventSetRandom
$PokemonGlobal.eventPsuedoRandom
$PokemonGlobal.randomMoves
$PokemonGlobal.randomAbilities
$PokemonGlobal.randomItems
$PokemonGlobal.noRunningLocke
$PokemonGlobal.noEvoLocke
$PokemonGlobal.soloLocke
$PokemonGlobal.inverseLocke
$PokemonGlobal.noItemsLocke
$PokemonGlobal.noTMLocke
Edit: Added in a bit of optimization for smaller screens. This was designed around a 720x480 screen, so some options will still span beyond the bar. Can't really do much about that part.
Edit 2: Fixed a couple things, if you're having issues please recopy the scripts.
Edit 3: Fixed a minor problem with how the psuedo-BST hash generates itself

Video of the script in action
 
Last edited:
199
Posts
14
Years
  • Seen Jul 6, 2022
Thanks you very much mej71 :)!

I'm sorry for double post, but I just want Nuzlocke option in my game. Is there any way to disable Randomize and those other things?
Randomize breaks events with pbHasSpecies?(::PBSpecies::CATERPIE)
 
Last edited by a moderator:
81
Posts
8
Years
  • Age 22
  • Seen Sep 7, 2019
I'm pretty dumb when it comes to linking maps! so when you need more Nuzlocke maps give a brief idea of what its suppose to look like?

=begin
NUZLOCKEMAPS = [
[5,21],
[2,7,12]
]
=end
 
1,224
Posts
10
Years
Thanks you very much mej71 :)!

I'm sorry for double post, but I just want Nuzlocke option in my game. Is there any way to disable Randomize and those other things?
Randomize breaks events with pbHasSpecies?(::PBSpecies::CATERPIE)

JV has a Nuzlocke only script, which is what this is based on, you can use that.

I'm pretty dumb when it comes to linking maps! so when you need more Nuzlocke maps give a brief idea of what its suppose to look like?

=begin
NUZLOCKEMAPS = [
[5,21],
[2,7,12]
]
=end
=begin and =end are how you do multiline comments in ruby
what's inside this comment is an example of what to put, but remove the comments.
 
81
Posts
8
Years
  • Age 22
  • Seen Sep 7, 2019
So I can remove all of it and the game will work just fine or just remove =begin and =end I just don't know how to continue the map insertion patter. ex [1,2],[3,4,5],[?,?] or [?,?,?] ya know?
 
81
Posts
8
Years
  • Age 22
  • Seen Sep 7, 2019
OHHHH so I don't want anymaps to be in the same location I just put any random map ID's in there and anymap that has a mapconnection lets say Route 2 and 3 I don't put them in there but if Route 4 had 2 maps connected then put it in there. OK! thanks! :)
 
199
Posts
14
Years
  • Seen Jul 6, 2022
If born a Pokemon from an egg, the game is closed:

(16.1 Version)
Exception: NoMethodError
Message: undefined method `setMessageSprites' for Kernel:Module
Challenge Modes:620:in `pbMain'
PScreen_EggHatching:158:in `pbStartScreen'
PScreen_EggHatching:170:in `pbHatchAnimation'
PScreen_EggHatching:167:in `pbFadeOutInWithMusic'
PSystem_Utilities:884:in `pbFadeOutIn'
PSystem_Utilities:884:in `pbFadeOutInWithMusic'
PScreen_EggHatching:167:in `pbHatchAnimation'
PScreen_EggHatching:188:in `pbHatch'
PScreen_EggHatching:215
PScreen_EggHatching:203:in `each'
 
199
Posts
14
Years
  • Seen Jul 6, 2022
Remove that line, that's all.
Line deleted, but now this happens if I want to put nickname when born a pokemon
Exception: NameError
Message: undefined local variable or method `species' for #<PokemonEggHatchScene:0xe9cd5f0>
Challenge Modes:632:in `pbMain'
PScreen_EggHatching:158:in `pbStartScreen'
PScreen_EggHatching:170:in `pbHatchAnimation'
PScreen_EggHatching:167:in `pbFadeOutInWithMusic'
PSystem_Utilities:884:in `pbFadeOutIn'
PSystem_Utilities:884:in `pbFadeOutInWithMusic'
PScreen_EggHatching:167:in `pbHatchAnimation'
PScreen_EggHatching:188:in `pbHatch'
PScreen_EggHatching:215
PScreen_EggHatching:203:in `each'
 
31
Posts
8
Years
I got an error in v16.1
Script 'Pokemon Randomizer' line 122: NoMethodError occurred.

undefined method `encounterPureRandom' for nil:NilClass
 
46
Posts
10
Years
  • Seen Jan 19, 2017
I got an error in v16.1
Script 'Pokemon Randomizer' line 122: NoMethodError occurred.

undefined method `encounterPureRandom' for nil:NilClass
i have same error in v15.1 with gen 6 add-on(old version for v15-15.1)
it not work with some titlescreen of Luka's titlescreen
 
102
Posts
15
Years
  • Seen Jul 19, 2017
I'm getting this issue when encountering a wild Pokemon:

---------------------------
Pokemon Essentials
---------------------------
Exception: ArgumentError
Message: wrong number of arguments(7 for 5)
Challenge Modes:336:in `challenge_init'
Challenge Modes:336:in `clauses_initialize'
Inverse and Sky Battles:491:in `initialize'
Inverse and Sky Battles:45:in `new'
Inverse and Sky Battles:45:in `pbWildBattle'
PField_Field:1371:in `pbBattleOnStepTaken'
PField_Field:1395:in `pbOnStepTaken'
Game_Player:484:in `update_old'
Walk_Run:76:in `update'
Scene_Map:104:in `update'

I call the script during the intro like this:

Code:
Show Choices:Yes, No
When [Yes]
  Script:ChallengeSelection.new

When [No]
  Text: Just a classic game then.

Branch End

The challenge screen loads fine and seems to take the input. It doesn't matter if I chose yes or no, I still get the error. Do you have any suggestions?
 
1,224
Posts
10
Years
i have same error in v15.1 with gen 6 add-on(old version for v15-15.1)
it not work with some titlescreen of Luka's titlescreen

This was broken with the Gen 5 and 6 style screens, but is fixed now. Update your scripts please.

I'm getting this issue when encountering a wild Pokemon:

-------------
Try rereading the instructions. You missed a crucial "required" step.
 
Last edited:
155
Posts
9
Years
  • Age 31
  • Seen Jun 11, 2021
If you soft reset, the pokemon shown in these screens may be randomized if your challenge selections allow it. Therefore, I've added a setting to specify a game switch that lets you turn this off.
Code:
$game_switches[TEMP_DISABLE_RANDOMIZERS_SWITCH] = true
Turn this on and then off before and after the title screen
Where specifically in the code? I'm not sure where specifically to add it and whenever I try, I get errors.
 
102
Posts
15
Years
  • Seen Jul 19, 2017
I found my error, I had the sky battles script after the challenge mode scripts. I put the script before those and it has worked.
 
3
Posts
6
Years
  • Age 19
  • Seen May 18, 2018
Items/Item Randomizer are not working in the Overworld. I have EBS and Modular Menu as well, if it helps. So if you know how to fix it please help. Most of the problem is in the first script as well.
 
Last edited:
14
Posts
6
Years
  • Age 25
  • Seen Jun 14, 2018
Whenever I select an item in the overworld, the game crashes:

---------------------------
Pokemon Essentials
---------------------------
[Pokémon Essentials version 17.2]

Exception: NameError

Message: undefined local variable or method `redisteredItems' for #<PokemonBag:0xe3168a0>

PItem_Bag:211:in `registeredItem'

Ch_Modes:745:in `pbStartScreen'

Ch_Modes:730:in `loop'

Ch_Modes:798:in `pbStartScreen'

PScreen_PauseMenu:189:in `pbStartPokemonMenu'

PScreen_PauseMenu:186:in `pbFadeOutIn'

PScreen_PauseMenu:186:in `pbStartPokemonMenu'

PScreen_PauseMenu:142:in `loop'

PScreen_PauseMenu:271:in `pbStartPokemonMenu'

Scene_Map:127:in `call_menu'

Edit: Just tested, and items do work in-battle, if that helps at all. =)
 
Last edited:
Back
Top