• 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

Other bug:

Only if USENEWBATTLEMECHANICS = true

Hoopa used Nature Power
Nature Power turned in to Tri Attack, and appears error message:

Exception: NoMethodError
Message: undefined method `index' for nil:NilClass
PokeBattle_MoveEffects:4741:in `pbEffect'
PokeBattle_Battler:3118:in `pbUseMove'
PokeBattle_Battler:3117:in `logonerr'
PokeBattle_Battler:3117:in `pbUseMove'
PokeBattle_Battler:3348:in `pbProcessTurn'
PokeBattle_Battler:3347:in `logonerr'
PokeBattle_Battler:3347:in `pbProcessTurn'
PokeBattle_Battle:2944:in `pbAttackPhase'
PokeBattle_Battle:2941:in `each'
PokeBattle_Battle:2941:in `pbAttackPhase'

If you use Tri-Attack without being called by Nature Power, it works well and no error message appears.
 
I found a minor error the other day with the move Spiky Shield. It deals damage to the Pokemon using the move, instead of the attacker. I was able to fix it by replacing some of the instances of the word "target" with "user" in the appropriate areas in PokeBattle_Battler. I don't have the project in front of me right now, though.
 
Hi, while investigating the Hoopa/Forfrou SystemStackError, I decided to add Hoopa and only hoopa (nothing else) to essentials. To add it I used Alakazam's Moveset to avoid compatibility with the other PBS files as shown below:
Spoiler:

So I decided to Fill the Storage the check if it was Project Gen 6 or not. I got the error and the error log:
Spoiler:

With the help of a friend, I'm trying to find the bug and fix it.
 
In reference to the above comment:

EDIT: I've checked all Pokémon with Multiple forms in Gen 6, it appears that only Hoopa and Forfrou crash the game.

Which means it likely has to do with the "change back after a certain amount of time" code.

EDIT: Yep, I was right.

Code:
MultipleForms.register(:HOOPA,{
[COLOR="red"]"getForm"[/COLOR]=>proc{|pokemon|
   timenow=pbGetTimeNow
   if [COLOR="Red"]pokemon.form[/COLOR]>0 && (!pokemon.formTime ||
                         timenow.to_i>pokemon.formTime.to_i+60*60*24*3) # 3 days
     next 0
   end
   next
},

If the getForm function exists, the game will run that every time the you check the Pokemon's form. Including...in the getForm function.
 
Original Post
If you are looking for the final fix, it isn't. Don't use this code!!!!!
Also it would be great if someone give us feedback and some suggestions to try, and finnally manage this error.
Spoiler:

My friend decided to do it by a different way. Now Furfrou and Hoopa change forms, but in battle they return to form 0.

So ignoring what I've done before, my friend did this instead

Hoopa's Section
Spoiler:

Furfrou Section
Spoiler:
 
Hi guys! I found a working solution.

First of all, in PRISONBOTTLE ItemEffects script section, after scene.pbRefresh line, add this:

timenow=pbGetTimeNow.to_i
pokemon.formTime=(timenow+(60*60*24*3)).to_i

After this, in MultipleForms script section, replace the old HOOPA and FURFROU "getForm" with this code:

"getForm"=>proc{|pokemon|
next 1 if (pbGetTimeNow.to_i)<(pokemon.formTime.to_i)
next 0 if ((pokemon.formTime.to_i==0) || ((pbGetTimeNow.to_i)>=(pokemon.formTime.to_i)))
},

Don't forget to set this:

timenow=pbGetTimeNow.to_i
pokemon.formTime=(timenow+(60*60*24*5)).to_i

for Furfrou's grooming.
 
Last edited:
Hi guys! I found a working solution.

First of all, in PRISONBOTTLE ItemEffects script section, after scene.pbRefresh line, add this:

timenow=pbGetTimeNow.to_i
pokemon.formTime=(timenow+(60*60*24*3)).to_i

After this, in MultipleForms script section, replace the old HOOPA and FURFROU "getForm" with this code:

"getForm"=>proc{|pokemon|
next 1 if (pbGetTimeNow.to_i)<(pokemon.formTime.to_i)
next 0 if ((pokemon.formTime.to_i==0) || ((pbGetTimeNow.to_i)>=(pokemon.formTime.to_i)))
},

Don't forget to set this:

timenow=pbGetTimeNow.to_i
pokemon.formTime=(timenow+(60*60*24*5)).to_i

for Furfrou's grooming.

It is forcing Hoopa to stay in form 1, even debugging. Also if test a battle, the opponent Hoopa is in form 1
 
Last edited:
It is forcing Hoopa to stay in form 1, even debugging. Also if test a battle, the opponent Hoopa is in form 1

It's strange, because this never happened to me. However, there is another bug and i'm working hard so that it's solved.


[EDIT]: The previous code is wrong. I'm working to fix it.
 
Last edited:
Here's how the Gen VI Pack for v15.1 did it

Code:
"getForm"=>proc{|pokemon|
   next 0 if ((pbGetTimeNow-pokemon.form_change_time)/60/60/24)>3 || 
       !($Trainer.party).include?(pokemon)
   next
},
 
Bug: Deoxys-Attack (and other Deoxys forms), returns to his Normal Form at the end of a battle.
How do I fix it?
 
Just to shut you lot up about this, here's the solution to Furfrou/Hoopa's form thing that will be in the next version of Essentials. All three of these things are in the script section Pokemon_MultipleForms.

Instructions can be found here, because this forum doesn't display code properly: https://pastebin.com/LFrSymPD
 
Last edited:
I found a minor error the other day with the move Spiky Shield. It deals damage to the Pokemon using the move, instead of the attacker. I was able to fix it by replacing some of the instances of the word "target" with "user" in the appropriate areas in PokeBattle_Battler. I don't have the project in front of me right now, though.
Also Spiky Shield always protect. I protected 8 times in two battles
 
Sounds like you were lucky. It's entirely possible to do that, you know. My Spiky Shield tests failed in succession about half the time, as it should.

if USENEWBATTLEMECHANICS = true SpikyShield never fail (I've done more than 30 times and never fail)

if USENEWBATTLEMECHANICS = false Spiky Shield sometimes fails (one battle)
 
Back
Top