• 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

21
Posts
8
Years
    • Seen May 1, 2016
    The player's name isn't visible unless you put it there. It's not there in the example intro that comes with Essentials, so whatever you're doing, you're doing it wrong.
    I confused this with the MMO version some how.. My bad..
    I was confused why you'd work on the single player essentials instead of the MMO version.
    Sorry to go off topic, but just so curious. I'd figure it wouldn't be much more difficult to work with.

    This is a bit vague, and I'm not sure what you mean. When the game starts, it takes the choice of frames from the save file, if it exists. If there's no save file, it'll use the default frames. Maybe that's your problem.
    Again, sorry I was mistaken that this V16.1 was the MMO version. I am pretty sure the problem still persists irregardless though. The speech/menu frames are coded exactly the same in both versions it looks like.

    Here is the problem with how this is done. (As far as I'm aware, please correct me if wrong.)
    -You log in game, open the options menu, set any settings there. Frames/text speed, ect.
    -Yes you're right, the frames do save but there is a big problem with SETTING.
    -The frames do not set to your custom selected frames upon entering the game. (loading map)
    -You must open the options menu then exit. It's the only way your saved options will load/set.
    (Basically the settings do save properly, but they are not set/displayed properly in game.)

    To avoid any confusion here is an example.
    -By default, my speech frame is on Speech 25
    -I go to the options menu, and set it to 20.
    -I log out, log back in, and my speech frame is (Graphically) still displaying "Speech 25"
    -But.. I go in the options menu, and the setting is indeed saved to Speech 20
    -The problem is not saving the options, it's setting them before entering the map (initial login)
    (This problem applies to every setting in the options menu.They are saved, but none are set.)
     
    129
    Posts
    8
    Years
    • Seen Mar 23, 2023
    Here's a fun bug: using the fourth parameter in PokeBattle_Pokemon.new causes an exception when displaying the moves page of the party screen. I saw the "withMoves" option figured "why bother adding the moves in the first place if I'm going to manually define them all anyway?". Except if I do that, the following exception gets thrown from the party summary screen upon displaying the fourth screen.

    Code:
    ---------------------------
    Pokemon Essentials
    ---------------------------
    Exception: RuntimeError
    Message: Script error within event 16, map 3 (Lane's house):
    Exception: NoMethodError
    Message: Section134:585:in `drawPageFour'undefined method `*' for NilClass:Class
    
    ***Full script:
    @mon = PokeBattle_Pokemon.new(:POOCHYENA, 6, $Trainer, [B]false[/B])
    @mon.name=_INTL("Poochy")
    @mon.pbLearnMove(:HOWL)
    @mon.pbLearnMove(:LEER)
    @mon.timeReceived=Time.utc(1995,4,24,15,24)
    @mon.obtainMap=3 #Home
    @mon.obtainLevel=1
    @mon.happiness=205
    @mon.pbRecordFirstMoves
    party = [
      @mon
    ]
    scene=PokemonSummaryScene.new
    screen=PokemonSummary.new(scene)
    screen.pbStartScreen(party,0)
    
    
    Interpreter:243:in `pbExecuteScript'
    PScreen_Summary:582:in `each'
    PScreen_Summary:582:in `drawPageFour'
    PScreen_Summary:978:in `pbScene'
    PScreen_Summary:907:in `loop'
    PScreen_Summary:983:in `pbScene'
    PScreen_Summary:997:in `pbStartScreen'
    (eval):15:in `pbExecuteScript'
    Interpreter:1606:in `eval'
    Interpreter:243:in `pbExecuteScript'
    
    Interpreter:276:in `pbExecuteScript'
    Interpreter:1606:in `command_355'
    Interpreter:494:in `execute_command'
    Interpreter:193:in `update'
    Interpreter:106:in `loop'
    Interpreter:198:in `update'
    Scene_Map:103:in `update'
    Scene_Map:101:in `loop'
    Scene_Map:114:in `update'
    Scene_Map:68:in `main'

    -----

    2) In PokeBattle_ActualScene, after pbConsumeItemInBattle($PokemonBag,ret) if ret>0, add this: && @battle.battlers[index].effects[PBEffects::Embargo]==0

    There is no "PokeBattle_ActualScene" in 16.1... There's only "PokeBattle_Scene" (and I guess "PokeBattle_OtherScenes"). Looks like you guys renamed them? (They're all nicely organized now, which is nice, looking back at a previous version.)
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Again, sorry I was mistaken that this V16.1 was the MMO version. I am pretty sure the problem still persists irregardless though. The speech/menu frames are coded exactly the same in both versions it looks like.

    Here is the problem with how this is done. (As far as I'm aware, please correct me if wrong.)
    -You log in game, open the options menu, set any settings there. Frames/text speed, ect.
    -Yes you're right, the frames do save but there is a big problem with SETTING.
    -The frames do not set to your custom selected frames upon entering the game. (loading map)
    -You must open the options menu then exit. It's the only way your saved options will load/set.
    (Basically the settings do save properly, but they are not set/displayed properly in game.)

    To avoid any confusion here is an example.
    -By default, my speech frame is on Speech 25
    -I go to the options menu, and set it to 20.
    -I log out, log back in, and my speech frame is (Graphically) still displaying "Speech 25"
    -But.. I go in the options menu, and the setting is indeed saved to Speech 20
    -The problem is not saving the options, it's setting them before entering the map (initial login)
    (This problem applies to every setting in the options menu.They are saved, but none are set.)
    I'm sure that's a bug in whatever spin-off version of Essentials you're using. Since this is a thread about bugs in Essentials v16.1, problems with spin-off versions of Essentials are not of interest here. Try replicate this bug in Essentials v16.1, and come back if you're able to.

    irregardless
    Incidentally, this isn't a word. You want "regardless". "Irrespective" means something similar, but you need to say "irrespective of something" or it makes no sense.

    There is no "PokeBattle_ActualScene" in 16.1... There's only "PokeBattle_Scene" (and I guess "PokeBattle_OtherScenes"). Looks like you guys renamed them? (They're all nicely organized now, which is nice, looking back at a previous version.)
    ActualScene was renamed to just Scene, because it made more sense.
     
    296
    Posts
    9
    Years
  • Here's a fun bug: using the fourth parameter in
    There is no "PokeBattle_ActualScene" in 16.1... There's only "PokeBattle_Scene" (and I guess "PokeBattle_OtherScenes"). Looks like you guys renamed them? (They're all nicely organized now, which is nice, looking back at a previous version.)

    Sorry, my mistake. I updated the old post.
     
    129
    Posts
    8
    Years
    • Seen Mar 23, 2023
    I found another couple bugs.

    I think this has been reported already, but I also have a proposed fix for it: If the player character is on a shoreline and faces a rock sitting on the water side of the shore (say, a rock that has been placed along the shoreline to keep the player from going beyond that point), the player can face the rock and talk to it to Surf anyway, and you end up surfing on land easily.

    I played around with the code a bit and came up with this solution, which seems to work pretty well. This code in PField_HiddenMoves (~line 560):
    Code:
    Events.onAction+=proc{|sender,e|
       terrain=Kernel.pbFacingTerrainTag
       notCliff=$game_map.passable?($game_player.x,$game_player.y,$game_player.direction)
       if PBTerrain.isSurfable?(terrain) && !$PokemonGlobal.surfing && 
          !pbGetMetadata($game_map.map_id,MetadataBicycleAlways) && notCliff
         Kernel.pbSurf
         return
       end
    }
    should be changed to the following:
    Code:
    Events.onAction+=proc{|sender,e|
      next if !PBTerrain.isSurfable?(Kernel.pbFacingTerrainTag)
      next if $PokemonGlobal.surfing
      next if pbGetMetadata($game_map.map_id,MetadataBicycleAlways)
      next if !$game_map.passable?($game_player.x,$game_player.y,$game_player.direction,$game_player)
      begin
        $PokemonGlobal.surfing=true
        tile=Kernel.pbFacingTile
        next if !$game_map.passable?(tile[1],tile[2],10-$game_player.direction,$game_player)
      ensure
        $PokemonGlobal.surfing=false
      end
      next if $game_player.pbFacingEvent
      
      Kernel.pbSurf
      return
    }

    The main point there is the begin-ensure block to test if the game_map tile is passable while surfing, and to make sure the code never leaves that block with surfing enabled when it shouldn't be. Also the pbFacingEvent check fixes the "talking to someone swimming" bug reported a bit ago too.

    In theory, those new checks should be added to the CanUseMove block as well, and tested along with the !notCliff check. But...

    Surfing from the Pokemon Menu SOFTLOCKS THE GAME!

    Like, when you choose Gyarados from the demo party and select surf, the player goes into the surfing animation, but he's stuck on the shoreline after failing to jump into the water. Literally, the game is stuck in the while loop in Kernel.pbJumpToward, waiting for $game_player.jumping? to become false, but it never does. And I have no idea what's causing this. I think something is calling Kernel.pbJumpToward with cancelSurf set to true while it's supposed to be going into the surfing animation....?

    (Also the pbCueBGM(surfbgm,0.5) lines need to be moved out of pbSurf and into pbStartSurfing, because using it from the menu never calls pbSurf, and thus the music never gets started. But the softlock is a little more critical.)
     
    21
    Posts
    8
    Years
    • Seen May 1, 2016
    I'm sure that's a bug in whatever spin-off version of Essentials you're using. Since this is a thread about bugs in Essentials v16.1, problems with spin-off versions of Essentials are not of interest here. Try replicate this bug in Essentials v16.1, and come back if you're able to.
    I'm 99% sure I also tested with the v16.1 listed here. I will test again to confirm later.

    Incidentally, this isn't a word. You want "regardless". "Irrespective" means something similar, but you need to say "irrespective of something" or it makes no sense.
    I have no idea why you would point this out. I mean, you clearly understood what I meant because of the way you responded. No complaints though, I actually like to be corrected when I make mistakes, unlike most people who always have to be right, or cannot stand being wrong..
    Just seems like you're trying to prove intelligence or something in this matter, which is is why I found that statement odd.

    Well technically you're right. Irregardless is a term that has been around for a while though. It's technically incorrect by most dictionary standards. It's basically seen as slang. It's obvious what my intention of the word was. I understand the "ir" in irregardless makes the term a double negative in the sense of what the definition is. So that is the only reason it doesn't make sense. If you want to be super technical, irregardless means the opposite of regardless, so technically it makes perfect sense. Obviously I should have said regardless in this case, but irregardless does make sense, just not in the way I used it. Ok, English debate over..
     

    kvagram

    Lead coder, Generation 0
    40
    Posts
    9
    Years
  • Encrypted build of fresh download of essentials 16.1 crash after startscreen.
    Two error-messages.

    Looked into the code. PokeBattle_Trainer line 118, is inside the gender function of the PokeBattle_Trainer class.
    The 5'th line of this snippet:
    Spoiler:

    This is probably a compression error, and might be outside of my field to understand. Can anyone help?

    screenshot:
    https://www.dropbox.com/s/3916ghl5p7torqu/Skjermbilde 2016-04-26 09.41.40.png?dl=0
     
    1,224
    Posts
    10
    Years
  • In Scene_Intro
    Code:
    def closeSplash(scene,args)
        onCTrigger.clear
        onUpdate.clear
        # Play random cry
        cry=pbResolveAudioSE(pbCryFile(1+rand(PBSpecies.maxValue)))
        pbSEPlay(cry,100,100) if cry
    The cry doesn't play here because pbResolveAudioSE returns the full path, not the relative path. Same issue one method down in closeSplashDelete
     
    199
    Posts
    14
    Years
    • Seen Jul 6, 2022
    Meloetta does not change form using Relic Song.
    Message error:
    Exception: NoMethodError
    Message: undefined method `form' for #<PokeBattle_Move_003:0xa17de68>
    PokeBattle_MoveEffects:172:in `pbEffectAfterHit'
    PokeBattle_Battler:2841:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:3149:in `pbUseMove'
    PokeBattle_Battler:3129:in `loop'
    PokeBattle_Battler:3152: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'


    Folle64 said:
    I'm trying to solve every error.
    1) Into class PokeBattle_Move_0EF, replace all pbHasType with pbHasType?

    It worked, but not completely. If the enemy uses Mean Look again to the same Pokemon (already affected for Mean Look), another message error appears.
    Exception: NoMethodError
    Message: undefined method `>' for nil:NilClass
    PokeBattle_Battler:2706:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:2661:in `each'
    PokeBattle_Battler:2661:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:3149:in `pbUseMove'
    PokeBattle_Battler:3129:in `loop'
    PokeBattle_Battler:3152:in `pbUseMove'
    PokeBattle_Battler:3348:in `pbProcessTurn'
    PokeBattle_Battler:3347:in `logonerr'
    PokeBattle_Battler:3347:in `pbProcessTurn'
    PokeBattle_Battle:2944:in `pbAttackPhase'


     
    296
    Posts
    9
    Years
  • Meloetta does not change form using Relic Song.
    Message error:
    Code:
    Exception: NoMethodError
    Message: undefined method `form' for #<PokeBattle_Move_003:0xa17de68>
    PokeBattle_MoveEffects:172:in `pbEffectAfterHit'
    PokeBattle_Battler:2841:in `pbProcessMoveAgainstTarget'
    PokeBattle_Battler:3149:in `pbUseMove'
    PokeBattle_Battler:3129:in `loop'
    PokeBattle_Battler:3152: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'

    To correct it, replace self.form with attacker.form, in PokeBattle_Move_003 script section.

    It worked, but not completely. If the enemy uses Mean Look again to the same Pokemon (already affected for Mean Look), another message error appears.

    To correct it, replace the return ret with -1.
    OLD SECTION:
    Code:
        if opponent.effects[PBEffects::MeanLook]>=0 ||
           (opponent.effects[PBEffects::Substitute]>0 && !ignoresSubstitute?(attacker))
          @battle.pbDisplay(_INTL("But it failed!"))
          return ret
        end
        if opponent.pbHasType?(:GHOST)
          @battle.pbDisplay(_INTL("It doesn't affect {1}...",opponent.pbThis(true)))
          return ret
        end

    NEW SECTION:
    Code:
       if opponent.effects[PBEffects::MeanLook]>=0 ||
           (opponent.effects[PBEffects::Substitute]>0 && !ignoresSubstitute?(attacker))
          @battle.pbDisplay(_INTL("But it failed!"))
          return -1
        end
        if opponent.pbHasType?(:GHOST)
          @battle.pbDisplay(_INTL("It doesn't affect {1}...",opponent.pbThis(true)))
          return -1
        end
     
    Last edited:
    199
    Posts
    14
    Years
    • Seen Jul 6, 2022
    -Riolu ability Prankster with Copycat + Roar bug:
    Turn 1
    Riolu used Copycat (copy Roar)
    Charizard went out of the field (for Roar attack)
    Sealeo entered to the field and used Wing Attack (It was the move that Charizard was going to use in this turn)
    Copycat and Prankster are not the problem.
    Pikachu uses Dragoon Tail or Roar and the same bug happens. (also Circle Throw and Whirlwind?)
     
    296
    Posts
    9
    Years
  • Copycat and Prankster are not the problem.
    Pikachu uses Dragoon Tail or Roar and the same bug happens. (also Circle Throw and Whirlwind?)
    I corrected the error by adding @battle.choices[@battle.battlers.index][0]=-1 after @battle.pbDisplay(_INTL("{1} was dragged out!",@battle.battlers.pbThis))
     
    129
    Posts
    8
    Years
    • Seen Mar 23, 2023
    Bug #1: The pbMoveRoute method in PField_Field has an optional argument waitComplete that does nothing if set to true. (It's never referenced in the method.)

    Bug #2: In the Pokemon_ShadowPokemon section, technically speaking, the mode is not called "Hyper Mode". The way Hyper Mode is implemented in Essentials, it's technically the Pokemon XD "Reverse Mode", rather than the Pokemon Colloseum "Hyper Mode". (Not that I'm complaining, as "Reverse Mode" is a stupid name anyway compared to "Hyper Mode", but it is technically a bug.)
     

    Florio

    Pokemon Crimson Skies Owner
    391
    Posts
    15
    Years
  • When is v16.2 coming out. I have been waiting months now and no signs of it coming anytime soon. How can you release a v16.1 with so many battle errors? Even v15 worked better.
     
    58
    Posts
    8
    Years
    • Seen Oct 6, 2019
    I've a bug to report with Shadow Pokemon. I reloaded clean Essentials V16.1 twice just to be sure.

    What I did:

    Playtest 1:
    - double wild battle (x2 Aggrons, @ level 85)
    - used Lv. 100 Snorlax (w/ Leftovers) & Lv. 100 Marowak (w/ Bone Club)
    - Marowak uses Shadow Sneak against Snorlax
    o immunity, as expected

    Playtest 2:
    - restarted
    - same conditions as Playtest 1, except Snorlax changed to a Shadow 'mon
    o note: This was without adding Shadow to the types.PBS and without adding any of the Shadow moves
    - used Marowak's Shadow Sneak against Shadow Snorlax
    o immunity, as expected

    Playtest 3:
    - restarted
    - again, same conditions
    o note: This time, I added Shadow to types.PBS and Shadow Rush to moves.PBS
    - Marowak uses Shadow Sneak against S. Snorlax
    o NO immunity; does neutral damage to S. Snorlax instead

    Is this a bug, or me being stupid?
     
    129
    Posts
    8
    Years
    • Seen Mar 23, 2023
    Playtest 3:
    - restarted
    - again, same conditions
    o note: This time, I added Shadow to types.PBS and Shadow Rush to moves.PBS
    - Marowak uses Shadow Sneak against S. Snorlax
    o NO immunity; does neutral damage to S. Snorlax instead

    Is this a bug, or me being stupid?

    Shadow Moves in Pokemon XD are of a special "type", in that it does super effective damage against non-shadow pokemon and not-very-effective damage against shadow pokemon. They ignore all the normal typing rules when calculating damage and only focus on shadow or non-shadow.

    So the only bug here is that it's only doing neutral damage instead of NVE damage.

    EDIT: Sorry, I didn't realize Shadow Sneak was an actual move and not a Shadow Move (stupid naming conventions). My mistake.
     
    58
    Posts
    8
    Years
    • Seen Oct 6, 2019
    No prob. I make plenty of oversights too.

    I can't figure out what the problem is. Shadow 'mons seem like a pain to code for. :-/
     
    1,224
    Posts
    10
    Years
  • Natural gift has a slight mistake in
    Code:
    class PokeBattle_Move_096 < PokeBattle_Move
      def pbOnStartUse(attacker)
        if !pbIsBerry?(attacker.item) ||
           [COLOR="Red"]@effects[PBEffects::Embargo]>0 ||[/COLOR]
           @battle.field.effects[PBEffects::MagicRoom]>0 ||
           attacker.hasWorkingAbility(:KLUTZ) ||
           attacker.pbOpposing1.hasWorkingAbility(:UNNERVE) ||
           attacker.pbOpposing2.hasWorkingAbility(:UNNERVE)
          @battle.pbDisplay(_INTL("But it failed!"))
          return false
        end
        @berry=attacker.item
        return true
      end

    The red line should be
    Code:
    attacker.effects[PBEffects::Embargo]>0 ||
     
    21
    Posts
    8
    Years
    • Seen May 13, 2016
    I know the bug was mentioned before of reposition sprites in the external editor deletes your abilities in the pokemon.txt file (specifically page 34), but haven't found anything that seemed to have fixed it in this thread. Was wondering if anyone found a fix yet
     
    Back
    Top