• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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

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.
 
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:
Has this happened with anyone else? Whenever I get poisoned, this error pops up:
Spoiler:
 
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:
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?
 
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.

[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21


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

Code:
opponent.pbPoison(attacker,nil,true)
 
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.
 
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
 
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.
[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21

[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21
 
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!
 
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.
 
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:

[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21


and then

[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21


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?
 
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!
 
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.
 
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.
[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21

And here's what the spritesheet looks like.
[PokeCommunity.com] Report bugs and errors in unmodified Essentials version 21

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