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

Project: Generation 6 for Pokémon Essentials (Pokémon sprites and PBS files)

Icalasari

The Icy Basilisk
23
Posts
16
Years
    • Age 32
    • Seen Jun 20, 2015
    Find this
    Code:
    for i in $Trainer.party; (i.makeUnmega rescue nil); end
    add
    Code:
    for i in $Trainer.party; (i.makeUnprimal rescue nil); end
    too lazy to update this anymore

    Yep, that did the trick, thanks. Mind if I ask how that works exactly? Is it just a case of (i.makeUnx rescue nil) where x = the name of the form in the code?
     
    1,224
    Posts
    10
    Years
  • Yep, that did the trick, thanks. Mind if I ask how that works exactly? Is it just a case of (i.makeUnx rescue nil) where x = the name of the form in the code?
    makeUnprimal is a method that uses getUnprimalForm for a pokemon
    getUnprimalForm does not exist for all pokemon, only ones with primal evos, so the rescue just makes it not crash the game when it calls it for pokemon without defined primals. I'd suggest looking into the multiple forms sections to learn more.
     

    Maruno

    Lead Dev of Pokémon Essentials
    5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    getUnprimalForm does not exist for all pokemon, only ones with primal evos, so the rescue just makes it not crash the game when it calls it for pokemon without defined primals.
    Not really. The rescue is pretty redundant, as it'd only be useful if the entire multiple forms script section is deleted, which no one will ever do. The method makeUnprimal exists for all Pokémon, but it does nothing for species that don't have the "getUnprimalForm" procedure defined (which is all but two of them).

    I'm just speaking technically here.
     
    824
    Posts
    8
    Years
  • I'm back. I'm working on my own game, and I found the answer to my other question no one answered.

    But I have a new question. I have made an ability called Antimatter Vortex, that makes the battle act like an inverse battle as well as acting as if every pokemon on the field has Contrary, and stacks with Contrary to cause moves to behave normally on them. I've got the Inverse Battle part working, as well as the stat reversal portion - but only for moves that ONLY change stats. For moves like Powerup Punch that do damage and change stats, it still behaves the way it would outside of Antimatter Vortex, be that increasing for any pokemon or decreasing for someone with Contrary.

    Thing is, I'm seeing no code calling for Contrary outside of pbIncreaseStatBasic, pbIncreaseStat, the decrease counterparts, and the code for Intimidate. I've changed all of those to also check for the global ability Antimatter Vortex and to behave in reverse only if it's there OR the pokemon has Contrary (not both).

    So what code changes am I missing?
     
    21
    Posts
    11
    Years
    • Seen Oct 25, 2021
    The game refuses to show the back sprites for Pokemon properly with this in. I'm using normal sprites and all I'm seeing is the top of the sprite (eg. Leafeon's ears and nothing else) even though the editor shows them fine. What do I need to change to fix them?
     
    Last edited:
    8
    Posts
    9
    Years
    • Seen Sep 18, 2023
    hi everyone, i had a little issue when i select the option "Extract Text" on the editor and/or debug mode. maybe is not a big error but its an error that prevents to localize the game to a respective languaje.

    Project: Generation 6 for Pokémon Essentials (Pokémon sprites and PBS files)
     
    4
    Posts
    9
    Years
    • Seen Jul 17, 2017
    it saids "---------------------------
    Pokemon Essentials
    ---------------------------
    Exception: RuntimeError

    Message: Undefined value FAINTATTACK in PBMoves

    File PBS/pokemon.txt, section 17, key EggMoves

    AIRCUTTER,AIRSLASH,BRAVEBIRD,DEFOG,FAINTATTACK,FORESIGHT,PURSUIT,STEELWING,UPROAR



    Compiler:1605:in `checkEnumField'

    Compiler:1639:in `csvEnumField!'

    Compiler:2325:in `pbCompilePokemonData'

    Compiler:2314:in `each'

    Compiler:2314:in `pbCompilePokemonData'

    Compiler:2312:in `loop'

    Compiler:2390:in `pbCompilePokemonData'

    Compiler:2296:in `each'

    Compiler:2296:in `pbCompilePokemonData'

    Compiler:2295:in `each'



    This exception was logged in

    C:\Users\Pierce\Saved Games/Pokemon Essentials/errorlog.txt.

    Press Ctrl+C to copy this message to the clipboard.
    ---------------------------
    OK
    --------------------------- "
    Project: Generation 6 for Pokémon Essentials (Pokémon sprites and PBS files)
     

    Diverscope

    Pardon me
    152
    Posts
    11
    Years
  • The egg move of Pidgey is "Feint Attack", not "Faint Attack". That's the reason. Anyway in my pokemon.txt it's correct.

    But I discovered some other bugs in pokemon.txt:
    - The rareness of some legendaries are not ORAS-conform (Rayquazza has the rareness 45 instead of 3, Reshiram and Zekrom each has the rareness of 3 instead of 45)
    - Many Pokémon of the 6th generation don't have their hidden ability defined: The starter Pokémon, Carbink, Klefki & the evolution line of Flabébé, Skiddo, Spritzee, Swirlix, Tyrunt & Amaura. Instead, their hidden ability is defined as the second regular ability.
    - There is no evolution for Fletchinder defined.
    - Flabébé has the wrong name (Flabebe).
    - Eevee doesn't have a evolution method for Sylveon defined.
    - Sylveon has the same ability twice.
     
    Last edited:

    Wootius

    Glah
    300
    Posts
    11
    Years
    • Seen May 31, 2022
    Is Sleep Talk working for everyone else? I can use the move and no error happens, but it won't use a valid move.

    I just tested in a base install, it did not work.
     
    2
    Posts
    8
    Years
    • Seen Jun 10, 2015
    Hello guys, I am new to Essentials and all that stuff. I got a question, maybe a dumb one. I downloaded essentials 15 and 15.1 and i wanna import gen 6. Do i need to replace some project files from essentials or i have to use gen 6 project as it is for me to get the new sprites, moves etc? My main concern is that in the description of the gen 6 project you say
    "This is not a single plug and play script, so please don't try to use it as one. Many sections have been changed, so treat this as if it were an Essentials update and port your changes into it, not the other way around. This is not a graphical overhaul, so don't expect that. "
    and that made me wonder the previous question.
     
    824
    Posts
    8
    Years
  • Hello guys, I am new to Essentials and all that stuff. I got a question, maybe a dumb one. I downloaded essentials 15 and 15.1 and i wanna import gen 6. Do i need to replace some project files from essentials or i have to use gen 6 project as it is for me to get the new sprites, moves etc? My main concern is that in the description of the gen 6 project you say
    "This is not a single plug and play script, so please don't try to use it as one. Many sections have been changed, so treat this as if it were an Essentials update and port your changes into it, not the other way around. This is not a graphical overhaul, so don't expect that. "
    and that made me wonder the previous question.

    The Gen VI pack is a complete copy of Essentials with all the changes they've made. If you haven't made a game yet, download the Gen VI Pack instead of Essentials v15/15.1.
     
    12
    Posts
    8
    Years
  • Hello, I've a question D:

    If the only featuers I wanted to use were
    • All missing/incorrectly functioning moves and abilities in Essentials that have been added/fixed
    • All moves and abilities from Generation 6
    • The various battle mechanics that were updated to those of Generation 6 (Electric types can't be paralyzed, etc)
    erse Battles
    • Ability to use the PC in trading
    • Pokecenter improvement (the ball graphics reflect the ball types used in the party, and are displayed one at a time)
    • Use items from party screen
    • Switch items between pokemon in party screen
    • Primal Evolutions
    • Define y-position alterations for pokemon upon changing forms
    • Effect Messages
    • Most Gen 6 items
    • And If adding more TM items, it automatically assigns an icon to it based on type

    Without adding anything else, would that give me any kind of error? I basically want to make a gen 5 style game with the updates from gen 6, which this pack has D:
     
    824
    Posts
    8
    Years
  • It looks to me like you want everything this pack has except
    - Sky/Inverse battles. As long as you don't make an NPC that wants to Sky/Inverse battle, it shouldn't be a problem. I know Inverse Battles are run by these lines of code:
    Code:
      def PBTypes.getEffectiveness(attackType,opponentType,inverse=false)
        ret=PBTypes.loadTypeData()[2][attackType*(PBTypes.maxValue+1)+opponentType]
        [COLOR="Red"]if inverse
          if ret==0 || ret==1
            ret=4
          elsif ret==4
            ret=1
          end
        end[/COLOR]
        return ret
      end
    in PBTypes_Extra. Sadly, I don't know they made Sky Battles work.

    - Animated Sprites Just copy the sprites from generic Essentials and you should be good, the sprites will no longer be animated.

    - Gen VI Battle Mechanics This one's tricky, but doable. In PokeBattle_BattlerEffects, you need to make the following changes:

    Remove lines 190-193 (In the function pbCanPoison?), which read
    Code:
        if (pbHasType?(:POISON) || pbHasType?(:STEEL)) && !hasWorkingItem(:RINGTARGET)
          @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis(true))) if showMessages
          return false
        end
    This allows Poison and Steel types to be poisoned again.

    Remove lines 220-228 (in pbCanPoisonSynchronize?), which will now be 216-224.
    Code:
        if (pbHasType?(:POISON) || pbHasType?(:STEEL)) && !hasWorkingItem(:RINGTARGET)
          if EFFECTMESSAGES
            @battle.pbDisplay(_INTL("It doesn't affect {1}..",pbThis(true)))
          else
            @battle.pbDisplay(_INTL("{1}'s {2} had no effect on {3}!",
              opponent.pbThis,PBAbilities.getName(opponent.ability),pbThis(true)))
          end
          return false
        end
    This allows Poison and Steel types to be poisoned by Synchronize.

    Remove line 249 (in pbCanPoisonSpikes?), now line 236
    Code:
        return false if pbHasType?(:POISON) || pbHasType?(:STEEL)
    this allows Poison and Steel types to be hit by Toxic Spikes. I think Poison types will still absorb them and therefore be immune that way, I'm not sure.

    Remove lines 310-313 (in pbCanBurn?), now lines 296-299
    Code:
        if pbHasType?(:FIRE) && !hasWorkingItem(:RINGTARGET)
           @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis(true))) if showMessages
           return false
        end
    Fire types can now be burned

    Remove lines 349-352 (in pbCanBurnFromFireMove?), now lines 331-334
    Code:
        if pbHasType?(:FIRE) && !hasWorkingItem(:RINGTARGET)
          @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis(true))) if showMessages
          return false
        end
    Fire types can now be burned as a side effect of a Fire type move.

    Remove lines 422-430 (I've lost track of my mental math of where these lines would be after all the above deletions, it's in pbCanBurnSynchronize?)
    Code:
        if pbHasType?(:FIRE) && !hasWorkingItem(:RINGTARGET)
           if EFFECTMESSAGES
            @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis(true)))
           else
             @battle.pbDisplay(_INTL("{1}'s {2} had no effect on {3}!",
               opponent.pbThis,PBAbilities.getName(opponent.ability),pbThis(true)))
           end
           return false
        end
    Fire types can now be burned from Synchronize

    From here on out the numbers I would give would be wrong because I've added functions to allow for new entry hazards.

    In pbCanParalyze?, remove the lines
    Code:
        if pbHasType?(:ELECTRIC) && !self.hasWorkingItem(:RINGTARGET)
          @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis))  if showMessages
          return false
        end
    This will allow Electric types to be paralyzed.

    In pbCanParalyzeSynchronize?, remove these lines
    Code:
        if pbHasType?(:ELECTRIC) && !self.hasWorkingItem(:RINGTARGET)
          if EFFECTMESSAGES
            @battle.pbDisplay(_INTL("It doesn't affect {1}...",pbThis(true)))
          else
            @battle.pbDisplay(_INTL("{1}'s {2} had no effect on {3}!",
              opponent.pbThis,PBAbilities.getName(opponent.ability),pbThis(true)))
          end
          return false
        end
    This will allow Electric types to be paralyzed through Synchronize.


    In PokeBattle_Move, lines 220-225 read as follows:
    Code:
      def effectsGrass?
        powdermoves=[getID(PBMoves,:RAGEPOWDER),getID(PBMoves,:COTTONSPORE),
        getID(PBMoves,:SLEEPPOWDER),getID(PBMoves,:SPORE),getID(PBMoves,:STUNSPORE),
        getID(PBMoves,:POISONPOWDER),getID(PBMoves,:POWDER)]  #the id#s of moves considered to be powder moves
        return !(powdermoves.include?(@id))
      end

    Change it to
    Code:
      def effectsGrass?
        return true
      end
    and Grass types can be hit by Powder moves again.

    I think that's all the Gen VI battle mechanics.
     
    12
    Posts
    8
    Years
  • Actually I wanted everything except for the animated battlers and, if there's one, the battle introduction for opponent trainers and battle hud.
    I expressed myself wrong tho, sorry >_<

    So basically all I have to do is just change the icons and voilá, right? Thanks a bunch :D
     
    824
    Posts
    8
    Years
  • Actually I wanted everything except for the animated battlers and, if there's one, the battle introduction for opponent trainers and battle hud.
    I expressed myself wrong tho, sorry >_<

    So basically all I have to do is just change the icons and voilá, right? Thanks a bunch :D

    The battle HUD isn't animated here. So just the battlers need changing.
     
    12
    Posts
    8
    Years
  • I exported all the graphics and it's ok for every single pokémon, the only thing i'm afraid is i don't know what to bring from the old PBS folder, as well as from the data folder. I was kinda advanced in my project and I don't want to lose anything ):

    Also, is there a away to resize the external editor? I want to re-position the graphics for the pokemon battlers and since it's small i can't replace them properly x.x
     
    12
    Posts
    8
    Years
  • I was able to re-position all the sprites for the battle, since I didn't want to use the 6th Gen ones, however when I start a double battle I get this error:

    Code:
    Exception: NameError
    Message: uninitialized constant PokeBattle_SceneConstants::FOEBASED1_Y
    PokeBattle_Scene:1026:in `initialize'
    PokeBattle_Scene:2391:in `new'
    PokeBattle_Scene:2391:in `pbTrainerSendOut'
    PokeBattle_Battle:1605:in `pbSendOut'
    PokeBattle_Battle:2678:in `pbStartBattleCore'
    PokeBattle_Battle:2603:in `pbStartBattle'
    PTrainer_NPCTrainers:312:in `pbDoubleTrainerBattle'
    PTrainer_NPCTrainers:311:in `pbSceneStandby'
    PTrainer_NPCTrainers:313:in `pbDoubleTrainerBattle'
    PTrainer_NPCTrainers:310:in `pbBattleAnimation'

    Edit [14/06/2015]: I was able to solve this problem.
     
    Last edited:
    3
    Posts
    8
    Years
    • Seen Oct 15, 2015
    I'm having a problem with Rototiller that I haven't quite wrapped my head around. I get this error when I attempt to use the move (in a single battle, at least).

    Spoiler:


    Looking at the PBS file and the script designed to handle the move aren't really cluing me in. Is it throwing a fit over targeting nothing? Is something wrong with the function code or flag (I've never seen either)? Maybe the problem lies with a type definition somewhere?
     
    Last edited:
    21
    Posts
    8
    Years
    • Seen May 13, 2016
    Still new to Pokemon Essentials so have a few questions:
    When downloading the gen 6 pack whenever I try to look at a gen 6 mon in game it says PSystem_Utilities line 1116: error occurred can not convert nil to string.
    Also since in the middle of doing a project already, how would you add all these editions into the v15 of Pokemon Essentials
     
    Back
    Top