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

Report bugs and errors in unmodified Essentials version 21

Backburner26

Pokemon Lavender Spirit Creator
35
Posts
8
Years
  • I have no Idea how this started happening, but the healing items started bugging out. basically I would Go into battle and when my pokemon gets hurt, I would use a healing item. That would work normally. Its when I heal any other pokemon that was not my first pokemon after switching pokemon is when it bugs up and shows this error message.

    Exception: NoMethodError
    Message: undefined method `effects' for nil:NilClass
    PokeBattle_Battle:1594:in `pbRegisterItem'
    PokeBattle_Battle:2775:in `pbCommandPhase'
    PokeBattle_Battle:2730:in `loop'
    PokeBattle_Battle:2820:in `pbCommandPhase'
    PokeBattle_Battle:2719:in `each'
    PokeBattle_Battle:2719:in `pbCommandPhase'
    PokeBattle_Battle:2667:in `pbStartBattleCore'
    PokeBattle_Battle:2666:in `logonerr'
    PokeBattle_Battle:2666:in `pbStartBattleCore'
    PokeBattle_Battle:2656:in `loop'

    Please help.
     
    824
    Posts
    8
    Years
  • Additional "typo":

    Kyurem uses "getAbilityList" when he merely needs the function "Ability". He always gets Teravolt/Turboblaze as Black/White Kyurem, regardless of if the base Kyurem is HA or not.

    Edit: Shaymin has a similar bug, and Landorus doesn't have a "getAbilityList" function when in fact he should have one.
     
    Last edited:
    155
    Posts
    10
    Years
    • Seen Jun 11, 2021
    Has this happened with anyone else? Whenever I get poisoned, this error pops up:
    Spoiler:
     
    199
    Posts
    8
    Years
    • Seen Apr 27, 2024
    Has this happened with anyone else? Whenever I get poisoned, this error pops up:
    Spoiler:

    Yup. I got that too. It happens with toxic poison specifically. The issue is in BattlerEffects. Under the toxic/poison fang function code, pbPoison needs three arguments rather than two.
     
    Last edited:
    155
    Posts
    10
    Years
    • Seen Jun 11, 2021
    Are you sure? pbPoison seems to have three arguments to me, and yet I'm still getting this error. Here's what the code looks like:
    Spoiler:

    Is there something I'm missing?
     
    199
    Posts
    8
    Years
    • Seen Apr 27, 2024
    Are you sure? pbPoison seems to have three arguments to me, and yet I'm still getting this error. Here's what the code looks like:
    Spoiler:

    Is there something I'm missing?

    That's the wrong place.

    ctqrD77.png


    go to the script section circled in red and replace the lines circled in blue with

    Code:
    opponent.pbPoison(attacker,nil,true)
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Additional "typo":

    Kyurem uses "getAbilityList" when he merely needs the function "Ability". He always gets Teravolt/Turboblaze as Black/White Kyurem, regardless of if the base Kyurem is HA or not.

    Edit: Shaymin has a similar bug, and Landorus doesn't have a "getAbilityList" function when in fact he should have one.
    It's only a "bug" in the sense that it may be slightly easier to use "ability" rather than "getAbilityList" for some Pokémon. On the other hand, if the data for multiple forms is put into a PBS file some day, you'd need a consistent way to access it, and that way is by using "getAbilityList". Both ways work just fine.

    Kyurem had incorrect data, sure, but Shaymin is fine. Landorus does have a "getAbilityList" procedure, so I don't know where you're looking.
     
    199
    Posts
    14
    Years
    • Seen Jul 6, 2022
    I have no Idea how this started happening, but the healing items started bugging out. basically I would Go into battle and when my pokemon gets hurt, I would use a healing item. That would work normally. Its when I heal any other pokemon that was not my first pokemon after switching pokemon is when it bugs up and shows this error message.

    Exception: NoMethodError
    Message: undefined method `effects' for nil:NilClass
    PokeBattle_Battle:1594:in `pbRegisterItem'
    PokeBattle_Battle:2775:in `pbCommandPhase'
    PokeBattle_Battle:2730:in `loop'
    PokeBattle_Battle:2820:in `pbCommandPhase'
    PokeBattle_Battle:2719:in `each'
    PokeBattle_Battle:2719:in `pbCommandPhase'
    PokeBattle_Battle:2667:in `pbStartBattleCore'
    PokeBattle_Battle:2666:in `logonerr'
    PokeBattle_Battle:2666:in `pbStartBattleCore'
    PokeBattle_Battle:2656:in `loop'

    Please help.

    Same problem, but only with Pichu (Static ability) in Essential 16.1 Modified o_O
     
    18
    Posts
    9
    Years
    • Seen Aug 28, 2016
    Hey there, I was working on a demo for a thing I've been brewing and I ended up discovering a huge bug in 16.1.

    This bug only occurs using an encrypted game and has a 100% reproduction rate.

    How to reproduce the bug.

    1. use Pokémon Essentials 16.1
    2. Encrypt your game
    3. run the game for a new character/old save.
    4. watch as pbTrainerName(name,outfit=0) causes your game to crash if you are using a new save.
    4.5 Otherwise watch the gender thing crash your game.

    I've attached 2 screens as proof of this.
    xHUjHKH.png

    3PBdQkP.png
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Hey there, I was working on a demo for a thing I've been brewing and I ended up discovering a huge bug in 16.1.

    This bug only occurs using an encrypted game and has a 100% reproduction rate.

    How to reproduce the bug.

    1. use Pokémon Essentials 16.1
    2. Encrypt your game
    3. run the game for a new character/old save.
    4. watch as pbTrainerName(name,outfit=0) causes your game to crash if you are using a new save.
    4.5 Otherwise watch the gender thing crash your game.
    I was unable to reproduce this bug, not because it worked fine when I tried it, but because when I compressed and encrypted a copy of v16.1, the resultant file refused to run for me. I couldn't even get a compressed game to run, let alone try to reproduce this bug.

    Turns out my problems were related to this bug. I fixed it, and now I can open compressed files!

    Here's the solution:

    In the script section Compiler, find def pbCompileTrainers. Spy the string of random letters (in the line beginning record=pbGetCsvRecord) and change the last letter (s) to a capital (S):

    Code:
      records=[]
      trainernames=[]
      count=0
      maxValue=0
      pbCompilerEachPreppedLine("PBS/trainertypes.txt"){|line,lineno|
         record=pbGetCsvRecord(line,lineno,[0,"unsUSSSeU[COLOR=Red]s[/COLOR]", # ID can be 0
            nil,nil,nil,nil,nil,nil,nil,{
            ""=>2,"Male"=>0,"M"=>0,"0"=>0,"Female"=>1,"F"=>1,"1"=>1,"Mixed"=>2,"X"=>2,"2"=>2
            },nil,nil]
         )
    A little further down, find and delete this line:

    Code:
    record[9]="" if !record[9]
    Games will now work. However, there will be an error when checking for a particular skill code. To fix that, go into the script section PokeBattle_Trainer, and find def hasSkillCode(code) and replace it with the following:

    Code:
      def hasSkillCode(code)
        c=skillCode
        return true if c!=nil && c!="" && c[/#{code}/]
        return false
      end
    Resolved!
     

    Backburner26

    Pokemon Lavender Spirit Creator
    35
    Posts
    8
    Years
  • I have no Idea how this started happening, but the healing items started bugging out. basically I would Go into battle and when my pokemon gets hurt, I would use a healing item. That would work normally. Its when I heal any other pokemon that was not my first pokemon after switching pokemon is when it bugs up and shows this error message.

    Exception: NoMethodError
    Message: undefined method `effects' for nil:NilClass
    PokeBattle_Battle:1594:in `pbRegisterItem'
    PokeBattle_Battle:2775:in `pbCommandPhase'
    PokeBattle_Battle:2730:in `loop'
    PokeBattle_Battle:2820:in `pbCommandPhase'
    PokeBattle_Battle:2719:in `each'
    PokeBattle_Battle:2719:in `pbCommandPhase'
    PokeBattle_Battle:2667:in `pbStartBattleCore'
    PokeBattle_Battle:2666:in `logonerr'
    PokeBattle_Battle:2666:in `pbStartBattleCore'
    PokeBattle_Battle:2656:in `loop'

    Please help.

    hey guys, Could someone please help me fix this bug. It has compleatly stopped production of my Fangame. I cant test out anything as long as this bug is going on. Someone please help.
     
    9
    Posts
    8
    Years
    • Seen Mar 2, 2016
    I was unable to reproduce this bug, not because it worked fine when I tried it, but because when I compressed and encrypted a copy of v16.1, the resultant file refused to run for me. I couldn't even get a compressed game to run, let alone try to reproduce this bug.

    Turns out my problems were related to this bug. I fixed it, and now I can open compressed files!

    Here's the solution:

    In the script section Compiler, find def pbCompileTrainers. Spy the string of random letters (in the line beginning record=pbGetCsvRecord) and change the last letter (s) to a capital (S):

    Code:
      records=[]
      trainernames=[]
      count=0
      maxValue=0
      pbCompilerEachPreppedLine("PBS/trainertypes.txt"){|line,lineno|
         record=pbGetCsvRecord(line,lineno,[0,"unsUSSSeU[COLOR=Red]s[/COLOR]", # ID can be 0
            nil,nil,nil,nil,nil,nil,nil,{
            ""=>2,"Male"=>0,"M"=>0,"0"=>0,"Female"=>1,"F"=>1,"1"=>1,"Mixed"=>2,"X"=>2,"2"=>2
            },nil,nil]
         )
    A little further down, find and delete this line:

    Code:
    record[9]="" if !record[9]
    Games will now work. However, there will be an error when checking for a particular skill code. To fix that, go into the script section PokeBattle_Trainer, and find def hasSkillCode(code) and replace it with the following:

    Code:
      def hasSkillCode(code)
        c=skillCode
        return true if c!=nil && c!="" && c[/#{code}/]
        return false
      end
    Resolved!

    Hi Maruno, I'm afraid this hasn't solved the issue for me. I'm utilizing your fix* here with an otherwise clean build of Essentials 16.1 and I'm still getting errors when encrypting and subsequently trying to start a new game. As soon as the gender/name selection is done with it'll throw the following errors:

    G1Yq6lz.png


    and then

    ZRnoy52.png


    Can anybody else confirm this is happening for them too?

    *i.e. changed the s->S, removed the line further down and replaced 'def hasSkillCode' - have I missed anything?
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    You're supposed to compile the game after making those changes, before compressing/encrypting the game.
     
    9
    Posts
    8
    Years
    • Seen Mar 2, 2016
    You're supposed to compile the game after making those changes, before compressing/encrypting the game.

    Oops, stupid mistake on my part, somehow totally forgot to compile it. Sorry about that, cheers!
     
    824
    Posts
    8
    Years
  • When using Acupressure (or any move with a target value of 0x200, but the only one that fits that description officially is Acupressure), the game will let you choose a target as if it has a target value of 0x0 - i.e., allowing you to choose either of your enemies or your ally but not yourself. If you choose either of the enemies, it will act as if you didn't choose a move at all and return you to the move listing.

    It should make it so that you can choose either yourself or your ally but not the enemies.
     

    Derxwna Kapsyla

    Derxwna "The Badman" Kapsyla
    437
    Posts
    12
    Years
  • This is something I noticed that exists in v16, but exists as far back as v14. Overworld sprites only cycle frames 1 and 2 when animating. An example of it doing so is in this gif.
    n8KP2aO.gif

    And here's what the spritesheet looks like.
    tu2nuex.png

    As you can see, it's entirely skipping the fourth frame, but it's also skipping frame 3 - I discovered that when I labeled the sprites on a hunch.
    This also isn't a case of lag either, because the player sprite animates perfectly when walking - assuming the player is using it. I also tested the player sprite as an npc, and it also skips frames 3 and 4 when it's an NPC.
    I checked to make sure it wasn't just my game that was bugging out, because I use v14, so I loaded an unmodified v16 and it does it there as well. I also tested it on Amethyst's Pokemon Reborn, and it's present in that as well, meaning the bug has been present in the system for quite some time now.

    Honestly, for a long time, I've always had issues with the overworld sprite movement, but I could never figure out what it was that was ticking me off. I finally understand now that this is what's been subtly catching my eye, and I can report it, in the hopes that it gets fixed.
     
    Back
    Top