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

[Release] Pokémon Essentials, version 4 - 24th December 2011

Status
Not open for further replies.

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Pokémon Essentials, version 4 - 24th December 2011
Download

This new version of Essentials was released just in time for Christmas, and I'm sure it'll be your favourite present! Maybe I'm exaggerating, but not by much - it's still a great release!

So what's new?

Pokédex
The Pokédex has had a facelift, and now looks a lot better. It also works a lot better too: multiple regions now have support, and you have the option to freely switch from one regional Dex to another. Only Dex lists that have contents can be viewed, and you can lock a particular list so that the player can't see it before they're supposed to. I think these changes will suit just about anyone wanting to use multiple Dexes.

Hidden abilities and multiple forms
Pokémon can now be given hidden abilities, which are abilities they will never have in the wild unless you say otherwise. And as for Pokémon that have multiple forms, each form can have a different moveset! Both very welcome additions, I'm sure. Spinda is also pleased that its spots are now the same colour as its fur.

Move animations
I've had a look at how these work, and I've improved them. You can now have different animations for a move depending on which side the user is on, and the way it is displayed has also been changed slightly to make them easier to draw (i.e. they don't rotate any more). A few new animations have been added to give you examples of how they can work. My favourites are Leech Seed and Sand-Attack.

Berry planting
This is another system that has been overhauled. Berry planting now works just as it does in Gen 3, and the growth times and yields depend on what kind of berry is planted. Oh, and the berry plant graphics have been included. That was important, wasn't it?

Soot grass
Imagine walking over a patch of grass covered in soot, and the soot disappears! Well, that happens now. There's no example of this in Essentials, because it would need some new graphics to look nice, but it's possible nonetheless. An interesting fact is that the same mechanisms can be used to make ice that cracks as you walk over it, which will be added soon.

Phone
Trainers used to insist that you add them to your phonebook. Not any more. They'll ask now, and you have the opportunity to tell them what they can do with their number. They'll only ask if you have a phone, which seems to make sense.

Abilities and items
Some new effects have been added, mostly courtesy of IceGod64. There will be more to come in future.

Bug fixes
Well, obviously. There are always things that don't work as expected, and some more of those things have now been fixed. Trainers now vanish when told to, the move Struggle now works (how wasn't this spotted before?!), the game no longer crashes when you ask it what time of day it is, moving fog doesn't suddenly run out, and you can no longer surf off cliffs. There are plenty more fixes too.

And more...
There are plenty of other new and tweaked things in this release too. A full list can be found on the wiki's Download page.



This thread is only for discussion about the latest release. General Essentials talk still belongs in the other thread, and questions in the other other thread.

Merry Christmas!
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
Best. Present. Ever. Fedora's are cool too.

Downloading this now - I look forward to checking out everything you've done!

Right off the bat I see you've made some more additions to Settings, and reorganized that too. Thanks for another great release of essentials!

I found a bug already however, and a pretty important one. Most importantly, the option(And ability to) toss Key Items.
 
Last edited:
302
Posts
13
Years
  • Seen Aug 25, 2014
Thank you Maruno. this is a great present!

Very much this.

I've been highly anticipating this new release. Thanks a lot and good job on your hard work. :)

EDIT: I just encountered a bug with this release. In double battles, if a pokemon on YOUR PARTY faints, and you still have one other pokemon alive, that pokemon in your party will gain experience from your fainted pokemon. It's strange, I think it's only happened with this release so far.
 
Last edited:

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
Best. Present. Ever. Fedora's are cool too.

Downloading this now - I look forward to checking out everything you've done!

Right off the bat I see you've made some more additions to Settings, and reorganized that too. Thanks for another great release of essentials!

I found a bug already however, and a pretty important one. Most importantly, the option(And ability to) toss Key Items.
I think fezes are cool, myself. If you get the reference, you're all right by me.

The tossing of Key Items is intentional, as it's a debug feature. You won't be able to toss important items in the game proper.


Very much this.

I've been highly anticipating this new release. Thanks a lot and good job on your hard work. :)

EDIT: I just encountered a bug with this release. In double battles, if a pokemon on YOUR PARTY faints, and you still have one other pokemon alive, that pokemon in your party will gain experience from your fainted pokemon. It's strange, I think it's only happened with this release so far.
An interesting scenario. I've not touched the experience-related code this time, so the feature should have been in previous versions too.

I've tried reproducing the bug, but can't. My Pikachu (L70) and Squirtle (L2) face off against a Magnemite (L16) and Geodude (L16), and Squirtle gets OHKO'd by a SonicBoom. Pikachu gets no experience. The same happened with the Charmander (L2) I then switched in. Can you get some kind of screenshot showing your Pokémon gaining Exp from a fainting partner?
 
302
Posts
13
Years
  • Seen Aug 25, 2014
I don't have a screenshot, but I do have a video (sorry for the bad quality)


To be more specific, I've found that your battle partner gains EXP every time it makes a move, as this video illustrates. It seems to also be triggered with dreamworld bulbasaur, though I haven't really tested it with the others.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I don't have a screenshot, but I do have a video (sorry for the bad quality)


To be more specific, I've found that your battle partner gains EXP every time it makes a move, as this video illustrates. It seems to also be triggered with dreamworld bulbasaur, though I haven't really tested it with the others.
Thanks for that. I've now managed to reproduce the error.

The cause is a bit of unstable code when a Pokémon levels up in battle, which causes the whole of pbGainExp to be exited immediately (more specifically, the wobbly is thrown immediately after the levelling up/learning new moves). This means the second battler doesn't gain Exp at all if the first one levelled up, and the list of participants who should gain Exp from defeating that foe Pokémon isn't wiped as it should be. Because the list isn't wiped, the participants gain Exp again after the next event (a move, or after the end of the round).

This repeat Exp-gaining only occurs during double battles when the fainted foe isn't replaced (the list of participants is still available in this case). The code throwing a wobbly occurs any time a Pokémon finishes levelling up, and can mean the second of your battlers doesn't gain Exp if your first battler levelled up, regardless of what foes there are (again, this only affects double battles). Two separate bugs with a common cause and solution.

I don't have a solution yet, but that's the problem. I'll look into it some more tomorrow (it's 2am for me right now).

The reason the foreign Bulbasaur was showing this bug is because it managed to gain enough Exp to level up. It has nothing to do with it being foreign.


You're all right by me. :D


EDIT: Fixed it. Find the following code towards the end of pbGainEXP, and change the red letters to a k:
Code:
# Finding all moves learned at this level
movelist=thispoke.getMoveList
for [COLOR=Red]i[/COLOR] in movelist
  if [COLOR=Red]i[/COLOR][0]==thispoke.level   # Learned a new move
    pbLearnMove(j,[COLOR=Red]i[/COLOR][1])
  end
end
It's entirely my fault; i is already being used there to mean something else, and having it be used to look through the Pokémon's movelist as well messes things up.

Enjoy the fix!
 
Last edited:

Pharetra

zzzz
451
Posts
12
Years
  • Age 27
  • Seen Apr 22, 2024
I must say that this is a great release. I haven't played around with the berry trees yet, but I really like the Pokedex. Time to update my fangame to this new version.
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
EDIT: Fixed it. Find the following code towards the end of pbGainEXP, and change the red letters to a k:
Code:
# Finding all moves learned at this level
movelist=thispoke.getMoveList
for [COLOR=Red]i[/COLOR] in movelist
  if [COLOR=Red]i[/COLOR][0]==thispoke.level   # Learned a new move
    pbLearnMove(j,[COLOR=Red]i[/COLOR][1])
  end
end
It's entirely my fault; i is already being used there to mean something else, and having it be used to look through the Pokémon's movelist as well messes things up.

Enjoy the fix!

I just now implemented this fix into my copy of essentials, haven't tested it yet though. I'm still working on the Gen V TM list for you and I'm nearly done; all the new moves up to and including TM55(Scald) have their compatibility lists implemented, and the other new moves are in place.

Also, I'm leaving the unused moves in the tm.txt file anyway since there's no point in removing them(Especially since someone might want these to be tutor moves, etc.). It might be a few KB larger, but that shouldn't be a problem.
 
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
errr just tried the example maps and i can not get the pokédex to work (menu item wont show) any suggestions?
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
Try getting into a battle. It seems to work a bit oddly at the moment, as you have to actually encounter pokémon after obtaining it.
 
423
Posts
13
Years
  • Age 37
  • Seen Aug 31, 2023
yh still did not show :s i've tried gaining pokémon before and afta obtaining and having a battle before and after obtaining
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
yh still did not show :s i've tried gaining pokémon before and afta obtaining and having a battle before and after obtaining

It worked for me before, but I just tried again, it isn't now. Very odd...

Well, one fix is go to the script section PokemonPauseMenu and find this line:
Code:
commands[cmdPokedex=commands.length]=_INTL("Pokédex") if $Trainer.pokedex && $PokemonGlobal.pokedexViable.length>0
Change it to:

Code:
commands[cmdPokedex=commands.length]=_INTL("Pokédex") if $Trainer.pokedex
 
302
Posts
13
Years
  • Seen Aug 25, 2014
I was about to mention the pokedex error. I'll test the fix.

Oh, and Maruno's fix seems to work. It actually didn't just apply to double battles, but singles as well, where if a pokemon that was switched out and replaced, and the replaced pokemon KOs an opponent's mon, AND the Poke that was switched out gains EXP, it created a similar glitch where only the switched out pokemon gains EXP, and even created a new problem where if the opponent that was KO'd was the last pokemon, the battle will create a "blank turn" instead of ending. Basically, it forced you to use a turn (either attacking, using an item, etc.) when there is no target pokemon in the playfield, and the switched out pokemon will still gain EXP. With the fix, however, this doesn't seem to happen anymore.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
I just now implemented this fix into my copy of essentials, haven't tested it yet though. I'm still working on the Gen V TM list for you and I'm nearly done; all the new moves up to and including TM55(Scald) have their compatibility lists implemented, and the other new moves are in place.

Also, I'm leaving the unused moves in the tm.txt file anyway since there's no point in removing them(Especially since someone might want these to be tutor moves, etc.). It might be a few KB larger, but that shouldn't be a problem.
That'll be fine. It's much more work than you were hoping, isn't it?

Can you also possibly provide replacement icons for the TM items, which reflect the new moves?


errr just tried the example maps and i can not get the pokédex to work (menu item wont show) any suggestions?
That's another bug I discovered just after fixing the first one. The reason is that the game is looking for a non-existent Dex list to see if you've seen any Pokémon in it (because the Pokédex only appears in the pause menu if it isn't empty, and if the required Dex list doesn't exist, it's always going to be empty).

The workaround IceGod64 mentioned will, um, work around it, but that's not how I intended it. The actual fix is to go into PokemonUtilities and find def pbSetViableDexes. Change the top bit to look like the following:

Code:
  if DEXDEPENDSONLOCATION
    region=pbGetCurrentRegion
    region=-1 if region>=$PokemonGlobal.pokedexUnlocked.length-1
    if $Trainer.pokedexSeen(region)>0
      $PokemonGlobal.pokedexViable[0]=region
    end
  else
Once you get into the Pokédex, you'll find another problem wherein the seen/owned numbers don't work (for the same reason), so in PokemonPokedex find the def pbGetPokedexRegion and change the first part to the following:

Code:
    if DEXDEPENDSONLOCATION
      region=pbGetCurrentRegion
      region=-1 if region>=$PokemonGlobal.pokedexUnlocked.length-1
      return region
    else
Problems solved, hopefully. I may yet make it work more consistently in future (i.e. the same way for both location-based and manual-choice Dexes).

I don't actually test most of the things I do, you know. :cheeky:


I was about to mention the pokedex error. I'll test the fix.

Oh, and Maruno's fix seems to work. It actually didn't just apply to double battles, but singles as well, where if a pokemon that was switched out and replaced, and the replaced pokemon KOs an opponent's mon, AND the Poke that was switched out gains EXP, it created a similar glitch where only the switched out pokemon gains EXP, and even created a new problem where if the opponent that was KO'd was the last pokemon, the battle will create a "blank turn" instead of ending. Basically, it forced you to use a turn (either attacking, using an item, etc.) when there is no target pokemon in the playfield, and the switched out pokemon will still gain EXP. With the fix, however, this doesn't seem to happen anymore.
I assume that complicated-looking jumble was another bug that appeared in the latest version too, and is now also fixed. Good stuff.
 
302
Posts
13
Years
  • Seen Aug 25, 2014
One more thing, is there a way to prevent the player from registering every trainer he/she battles into the pokegear?

Within the trainer events, I tried deleting the line that appears on the second page to prevent those trainers from being registered for rematches, but every time the game compiles and runs, it comes back.
 

IceGod64

In the Lost & Found bin!
624
Posts
15
Years
That'll be fine. It's much more work than you were hoping, isn't it?

Can you also possibly provide replacement icons for the TM items, which reflect the new moves?
Actually, it's not that bad. I've messed with the TM's list for my own project before, so I knew I was getting into some messy work. Luckily, it's only the 1st-4th gens, so that saves me a little time.

As for your second statement, I've done that already. all 101 TM's have changed icons to match.

The workaround IceGod64 mentioned will, um, work around it,
lol, it was just one method I was throwing out there until you came through with something better.
 

Maruno

Lead Dev of Pokémon Essentials
5,285
Posts
16
Years
One more thing, is there a way to prevent the player from registering every trainer he/she battles into the pokegear?

Within the trainer events, I tried deleting the line that appears on the second page to prevent those trainers from being registered for rematches, but every time the game compiles and runs, it comes back.
Ah, another bug.

In the script section Compiler, search for the phrase pbPhoneRegisterBattle. There will be 3 instances of it. Find the third instance (line 3879), and put if battles.length>1 and end around that line.

I told you I don't test these things. :cheeky: It may be worthwhile releasing version 4.1 with these things fixed.
 
Status
Not open for further replies.
Back
Top