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

[Discussion] The Essentials "To Do" list, part 2

Maruno

Lead Dev of Pokémon Essentials
  • 5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Attached to this post is a To Do list. It contains many, or even most, of the things that need doing or might be done in Essentials.

    It's roughly split up into 3 sections, depending on how important I think each feature is (although that can be arbitrary): "Essential", "Important" and "Whim/Unsure". There is no order to each of the sections. There are also a few other notes at the very end of the document.

    The list is certainly not complete. Even if a feature is listed, there's no guarantee it will be added/done at all. The list is mostly nothing more than me writing down my thoughts, and I'm only posting it for the sake of interest (i.e. rather than claiming it to be a design document of some kind).

    Have a look through the list, and see what you can contribute. If you don't think you can make/fix something mentioned in it, you can at least point out anything in the list that needs changing/adding.



    I thought it would be better to start a new thread, rather than bump the old one. The first thread can be found here.
     
    Still skimming over the list, but I want to get it out there that I'm entirely in support of using only the FR/LG sprites in the base essentials if it's GBA sprites we're going with. The R/S/E sprites are just plain and simple ugly, ans even more to the point, R/S/E sprites really clash next to FR/LG's sprites due to the different perspectives.

    o Bug: The background music should get quieter while the "item get!" SE plays
    Make it an ME instead. Plain and simple.

    o Find out if there's anything different in XD – use that as the basis

    I have played Pokémon XD, and as far as I remeember, the only differences with Shadow Pokémon were just some simple changes, such as Hyper Mode being renamed to Reverse Mode. The battler box was the same. I'm about to play Pokemon XD again to confirm this.

    Here is what I've got so far. The behavior when calling a Pokémon is different from Coloseum:

    If the called Pokémon is not a Shadow Pokemon, or is a Shadow Pokémon not in Reverse mode:
    "Bryan called Jolteon!"
    "Jolteon!"
    If the called Pokémon is awake:
    If the called Pokémon's accuracy is below +6
    "Jolteon eagerly responded to the call!"
    "Jolteon's accuracy rose!"
    +1 Accuracy
    else:
    "Jolteon's stats won't go higher!"
    end
    If the called Pokémon is asleep:
    Wake up
    "Jolteon woke up!"
    else if the Pokémon is in Reverse Mode:
    "Bryan called Jolteon!"
    "Jolteon!"
    "Jolteon came to its senses from the Trainer's call!"
    end

    The message for a Pokémon going into reverse mode is
    "Pokémon's emotions rose to a pitch! It entered Reverse mode!"
    Also:
    · Add a Gen 3-and-later style starter selection screen – can be done in an event

    That will be one less thing for incompetent users to ask about, I say it's a good idea.
     
    Last edited:
    I made a card shop for my game with a fully functioning event system, card vending machine that evey time you used it, it had a randomly genarated list of cards to buy even if you didnt own that pokemon. then the casheir would only sell the cards of the pokemon that you ownd.
    i can upload it for you if you want maruno.
     
    I will make a recordable Hall of Fame script for you, you can change it as you wish.

    Also in storage, the hand also jumps to the other slot rather than using a move animation.

    To Do list said:
    Using a healing item makes the HP bar immediately jump to the new value

    With you skills you can do things like this quick, for you is only a matter of time, isn't?

    To Do list said:
    Stop colouring in the sprites/icons of Shadow Pokémon

    I like the shadow colorization, maybe you can use a flag do detect if a "_shadow" sprite is used, if isn't, them use the colouring. If you won't do this, at least put a setting to enable the colorization.

    To Do list said:
    Bug: Certain methods of moving held items around/consuming them can lead to a Pokémon's item/original item not matching, which could result in unexpected (lack of) ownership changes – can also lead to item duplication when using Recycle

    Won't restore items that are stoled. You can also save in an array all items that the player pokémon have before the battle and cancel the recycle/restore stolen itens when the item type number is above the number at start of battle.

    To Do list said:
    Look at second part of pbSaveTrainerBattles to figure out what it does (is it related to compiled games?)

    I believe that some data, when compiling PBS are salved in separated .dat like eggmoves in eggEmerald.dat

    To Do list said:
    Make sprite in list screen depend on the last-seen form?

    The official games uses the first see, that I agree.

    To Do list said:
    Put the save file in the game's folder, or a "save" folder within it, rather than in C:/Users/<user>/Saved Games/<game name>

    I suggest a Setting, the method to do this I send you before.

    To Do list said:
    Show enemy trainer's party balls when they switch

    My tutorial is a good starter point.

    To Do list said:
    Allow setting/changing the time/speed of time.

    My tutorial does this.

    To Do list said:
    Setting for "use day/night system" (already exists)

    ?

    TO DO list said:
    Number of storage boxes

    I think that this is an important thing and is easy to do, only change the maxBoxes=24 to this setting.
     
    I have played Pokémon XD, and as far as I remeember, the only differences with Shadow Pokémon were just some simple changes, such as Hyper Mode being renamed to Reverse Mode.
    I prefer the term Hyper Mode, actually. It sounds better.


    I made a card shop for my game with a fully functioning event system, card vending machine that evey time you used it, it had a randomly genarated list of cards to buy even if you didnt own that pokemon. then the casheir would only sell the cards of the pokemon that you ownd.
    i can upload it for you if you want maruno.
    I can have a look, sure. The main thing to decide on is how most people would want to use Triple Triad, so that Essentials can then work that way. There are plenty of possibilities for how you can gain cards, and I don't want to try doing them all.


    Also in storage, the hand also jumps to the other slot rather than using a move animation.
    Oh, c'mon. I really don't care about movement being a little jerky like that (not that I'd call it jerky anyway), particularly when it's also quicker.


    To Do list said:
    Using a healing item makes the HP bar immediately jump to the new value
    With you skills you can do things like this quick, for you is only a matter of time, isn't?
    Well, perhaps. Bear in mind that just because something sounds small, doesn't mean it's simple to do.


    To Do list said:
    Stop colouring in the sprites/icons of Shadow Pokémon
    I like the shadow colorization, maybe you can use a flag do detect if a "_shadow" sprite is used, if isn't, them use the colouring. If you won't do this, at least put a setting to enable the colorization.
    The main reason I want to remove the colouring is because there are many places where it doesn't work, and it'd be an utter pain to try to make it work completely. Since you can now easily have Shadow sprites, it's much simpler to just have more sprites rather than me fixing the colouring.

    This is something I will be doing for the next release. I just wanted to hear responses to the suggestion first before I ignored them.


    To Do list said:
    Bug: Certain methods of moving held items around/consuming them can lead to a Pokémon's item/original item not matching, which could result in unexpected (lack of) ownership changes – can also lead to item duplication when using Recycle
    Won't restore items that are stoled. You can also save in an array all items that the player pokémon have before the battle and cancel the recycle/restore stolen itens when the item type number is above the number at start of battle.
    I highly doubt anyone will ever come across a situation where item movement breaks - you need to be really trying. I just mentioned this because it's possible. As far as I can tell from your description, it already does what you suggested, except the items are saved per Pokémon rather than in an array.

    Remember that items are only returned to their rightful owners during trainer battles. If you give your Exp Share to a wild foe and then defeat it, that's your own fault.


    To Do list said:
    Setting for "use day/night system" (already exists)
    ?
    I mentioned it for completeness only, since I was describing everything else in this hypothetical new time system.
     
    Add a Gen 3-and-later style starter selection screen – can be done in an event
    In the files your unsure about this? I would say it's a good idea to add Maruno. Some people (Not talking about me) might not know how to set this up.
    Put the save file in the game's folder, or a "save" folder within it, rather than in C:/Users/<user>/Saved Games/<game name>
    This right here. Should not be in the unsure area. It's something people need to find with out reporting to you they can find it.
    Add Whirlpool and Defog field effects (whirlpool can be mostly done with events)
    Also Rock Climb?
    Figure out how to make/remove fog
    Defog as a move/outside move might be difficult. Rock Climb is another good thing to add for people who have the set's to use it. Some of these idea's are good and should not be in the area at which you put them
    Add a Mystery Gift feature:
    Can distribute items and Pokémon this way (one at a time)
    Can use it to set Global Switches/Variables
    Need to limit the player to 1 of each gift – each gift has an ID code which is saved in the player's game
    Include a brief message with each gift
    Gift Pokémon are generated when received, and can have different pIDs/etc. unless overwritten by the gift
    Alternatively, convert a Pokémon's data to a string and back again (requires the creator to configure a Pokémon in-game via debug options)
    Have a default OT/OT ID/OT gender
    Seems a bit complicated don't it? I think a simpler way to do it is connect a few scripts that involve time in game. And setting it up to connect with the time of day/year.
    Such as setting it up to involve a file at which the pokemon event would be set up.
    Such as this:
    Event Pokemon: Mewtwo
    Event Activation: March 15,2013
    Ev's:
    Iv's:
    Moveset:
    ~Special Rend
    ~Hyperbeam
    ~Psychic
    ~None
    In game event switch:
    Special event switch here=on.
    This has to be a more simpler way to set it up with out involving switches and what not. The rest should be good.

    Use it to make a GTS
    Try a bit more than GTS. How about trying to make, both the GTS and how about another event with it. Such as a internet connection that allows the player to contact others, allowing them to battle,trade, Trade eggs, Swap information. Maybe add a Pal Pad allowing the players to swap FC's. There is more you could do with this idea than just a GTS. I know a scripter like you can make this stuff in almost a instant.

    Allow multiple saves (with limited slots)
    I would say only allow 2 slots for save. More than two could let people get carried away and it would cause lag.


    Add support for registering non-Key Items (e.g. Repel)
    Do something more with this. Maybe allow the quick usage of like opening a box that shows the listed key items when pressing something.

    Hidden Power
    The one thing someone suggested to me. Hidden power should have the effect of showing the type. Some hidden powers are different but I think using something like a script involving the type it should be. Like if you had a Unknown with Hidden power, let's say it was a hidden power Ice it would show the type that the move is.
    Have a variable that affects which trainer card picture is shown (if undefined, defaults to male/female)
    Good idea. There should be something for this. I was thinking about doing that for my game but I think it would be most easy if you do that for essentials.

    That's about all I can think of to suggest that are good idea's.
     
    Last edited:
    What do you think is better defining whirlpool as an event or make it as a tile, and script it?
     
    I know that to make sounds come when your pokemon hp zone is in the red is something like this
    Code:
        if hpzone==2 && (@battler.index&1)==0
            pbSEPlay("expfull")
        end
    but the problem is the sound doesn't loop
     
    In the files your unsure about this? I would say it's a good idea to add Maruno. Some people (Not talking about me) might not know how to set this up.

    This right here. Should not be in the unsure area. It's something people need to find with out reporting to you they can find it.
    I should say that the third section also contains ideas I haven't really thought about, ideas I'm not really interested in, and ideas that are very low priority. The starter scene is entirely unnecessary, and the save file location doesn't really affect anything, which is why they're there.


    Defog as a move/outside move might be difficult. Rock Climb is another good thing to add for people who have the set's to use it. Some of these idea's are good and should not be in the area at which you put them
    I actually had a bit of an idea about fogs, which involved the maps using actual fogs rather than inventing a special animation just for the purpose of Defog. The trick is getting round to it.

    Again, whether an idea is good has no bearing on how important it is.


    Seems a bit complicated don't it? I think a simpler way to do it is connect a few scripts that involve time in game. And setting it up to connect with the time of day/year.
    Such as setting it up to involve a file at which the pokemon event would be set up.
    Such as this:
    Event Pokemon: Mewtwo
    Event Activation: March 15,2013
    Ev's:
    Iv's:
    Moveset:
    ~Special Rend
    ~Hyperbeam
    ~Psychic
    ~None
    In game event switch:
    Special event switch here=on.
    This has to be a more simpler way to set it up with out involving switches and what not. The rest should be good.
    I don't have any experience with the official games' Mystery Gift system, so I don't know exactly how they work (I'm aware in principle, so don't jump in with a "it lets you download Pokémons" babble). What I've written down is just one idea for how it could work, and there are others. As I said regarding the Triple Triad card-gaining, this is something that needs to be decided on before it can be done. It needs to be flexible.


    Try a bit more than GTS. How about trying to make, both the GTS and how about another event with it. Such as a internet connection that allows the player to contact others, allowing them to battle,trade, Trade eggs, Swap information. Maybe add a Pal Pad allowing the players to swap FC's. There is more you could do with this idea than just a GTS. I know a scripter like you can make this stuff in almost a instant.
    Balls I can. I have no idea where to start with online-type code, and it would take a huge investment in time and energy on my part to learn. And there's also the fact that I don't actually know exactly what the GTS does; I don't own any Pokémon games; I'm just assuming it's a trading place. Again, don't give me hand-wavy descriptions which state the smegging obvious.

    Besides, if you actually read the list, you'll see I've also written "battling with other players" as a related idea, which I'm sure is also a massive deal involving a major overhaul of every battle script.


    I would say only allow 2 slots for save. More than two could let people get carried away and it would cause lag.
    You don't know what lag is, then. There's no reason multiple saves would cause lag.


    Do something more with this. Maybe allow the quick usage of like opening a box that shows the listed key items when pressing something.
    I'm leaning towards this kind of idea (which I've also mentioned in my list). It still requires being able to delete a consumed item, which is difficult to determine.
     
    I should say that the third section also contains ideas I haven't really thought about, ideas I'm not really interested in, and ideas that are very low priority. The starter scene is entirely unnecessary, and the save file location doesn't really affect anything, which is why they're there.



    I actually had a bit of an idea about fogs, which involved the maps using actual fogs rather than inventing a special animation just for the purpose of Defog. The trick is getting round to it.

    Again, whether an idea is good has no bearing on how important it is.



    I don't have any experience with the official games' Mystery Gift system, so I don't know exactly how they work (I'm aware in principle, so don't jump in with a "it lets you download Pokémons" babble). What I've written down is just one idea for how it could work, and there are others. As I said regarding the Triple Triad card-gaining, this is something that needs to be decided on before it can be done. It needs to be flexible.



    Balls I can. I have no idea where to start with online-type code, and it would take a huge investment in time and energy on my part to learn. And there's also the fact that I don't actually know exactly what the GTS does; I don't own any Pokémon games; I'm just assuming it's a trading place. Again, don't give me hand-wavy descriptions which state the smegging obvious.

    Besides, if you actually read the list, you'll see I've also written "battling with other players" as a related idea, which I'm sure is also a massive deal involving a major overhaul of every battle script.



    You don't know what lag is, then. There's no reason multiple saves would cause lag.



    I'm leaning towards this kind of idea (which I've also mentioned in my list). It still requires being able to delete a consumed item, which is difficult to determine.
    Ok. I see what your saying.
     
    The FrLg tiles and overworlds can be fond (RPG Maker XP formatted) in the links than I gave you.

    · Add a Gen 3-and-later style starter selection screen – can be done in an event

    That will be one less thing for incompetent users to ask about, I say it's a good idea.
    I agree

    This is very easy to make a scene with this, so someone (not Maruno) can make it. I made a tutorial of how to do simple scenes in Essentials: https://www.pokecommunity.com/threads/286554

    I prefer the term Hyper Mode, actually. It sounds better.
    I think on Reverse Mode a different thing than Hyper Mode. Reverse mode mechanics fill better when you have several Shadow attacks.

    I know that to make sounds come when your pokemon hp zone is in the red is something like this
    Code:
        if hpzone==2 && (@battler.index&1)==0
            pbSEPlay("expfull")
        end
    but the problem is the sound doesn't loop
    Use a ME
     
    I think on Reverse Mode a different thing than Hyper Mode. Reverse mode mechanics fill better when you have several Shadow attacks.

    In Pokemon XD, Reverse Mode replaced Hyper Mode. As far as I can see, there isn't really a difference.
     
    In Pokemon XD, Reverse Mode replaced Hyper Mode. As far as I can see, there isn't really a difference.
    Hyper Mode rises the Shadow moves critical hit, Reverse Mode makes the pokemon lose the HP at the end of the turn, so Reverse Mode is clearly negative (but the shadow moves generally are better than Colosseum Shadow Rush) and the Hyper Mode may be positive.

    A pokémon enters in Hyper Mode before its action (I didn't remember if it skips the pokémon move), A pokémon enters in Reverse Mode at the turn end.

    what I would like is that for example, I put the maximum level is 100 and in debug mode I can be level 200 or something.
    This change isn't beneficial to the vast majority of the Essentials users. I you wish this feature for you, in PokemonParty script section change line 'params.setRange(1,PBExperience::MAXLEVEL)' to 'params.setRange(1,200)'.
     
    Hyper Mode rises the Shadow moves critical hit, Reverse Mode makes the pokemon lose the HP at the end of the turn, so Reverse Mode is clearly negative (but the shadow moves generally are better than Colosseum Shadow Rush) and the Hyper Mode may be positive.

    A pokémon enters in Hyper Mode before its action (I didn't remember if it skips the pokémon move), A pokémon enters in Reverse Mode at the turn end.

    I see. I didn't recall the way Colosseum did it.
    I do like the way calling works in Pokémon XD, and think it should be an option in settings to always display Call instead of Run in Trainer Battles (After all, look at what Run does in Trainer Battles... It trolls you).

    Also, I can confirm this:
    · Bug: (Unconfirmed) pbTrainerBattleEditor will occasionally insert line breaks in the middle of trainer names

    Try giving a trainer a particularly long name, and then look in Trainers.txt after saving, and hit the back arrow key on the line with the trainer name and you'll notice there'll be character(s) that the cursor won't pass in a single press. That's an invisible line break.

    · Change default key controls
    What about the key customization options in the F1 menu? Would it be possible to make those readable?

    · Lots of sound effects are missing:
    o When using a HP-healing item, or EV/PP-manipulating item
    o Buying an item from a Mart
    I thought I gave you these sounds before?
     
    Also, I can confirm this:


    Try giving a trainer a particularly long name, and then look in Trainers.txt after saving, and hit the back arrow key on the line with the trainer name and you'll notice there'll be character(s) that the cursor won't pass in a single press. That's an invisible line break.
    I just tried with a Lass called TestingALongNameHereToSeeWhatHap (32 char limit), and there's no line break in there. Can you test this some more and figure out if there are specific circumstances when it happens?


    What about the key customization options in the F1 menu? Would it be possible to make those readable?
    That's barely useful, and in fact I'd go so far as to say it's useless. It only allows you to define 8 gamepad buttons, and then map those to a predefined set of keys on the keyboard. No mention of F5 in there. Plus, I don't even know if it would actually work, given that the button-to-key maps are in the scripts and look pretty separate to the F1 options.

    F5 is the main problem I have with the controls anyway, maybe along with X also opening the Pause menu in addition to being Cancel. How about A being a run toggle, and S being the new F5?


    I thought I gave you these sounds before?
    Doesn't mean I've added them to Essentials. I've got plenty of bits 'n' bobs lying around, just waiting for me to care and shape them up into a usable fashion.
     
    Back
    Top