• 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?".
  • 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
    • 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
    • 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
    • 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
    • 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
    • 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
    • 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