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

[Scripting Question] Are these things possible?

  • 41
    Posts
    3
    Years
    • Seen Sep 19, 2023
    I've recently gone back to the drawing board on part of a game and I have several ideas that I need to see if they are possible (and possibly how to achieve that result. I also apologize if this seems dumb or pointless but

    1. Gimmick Pokemon Idea - A protean-like pokemon however only its secondary type changes when it uses a move of that type. However it also changes forms based on which type it is. For Example: PokemonA is Normal type. It uses Fire Punch and now it's Nomal/Fire and its sprite has changed to the Normal/Fire form. Bonus points if it can stay as that form after leaving battle until it changes again.

    2. A way to make sure certain overworld encounters can ONLY be caught with a particular pokeball. Wanting to make a sort of "Soul Ball" that acts as a sort of "I have access to this legend but he can still do stuff on his own" Example: PokemonB is a legendary guardian of a location. I want to allow you to capture PokemonB and use it in battle but still allow it to be the guardian of that location....so PokemonB can ONLY be "caught" with a Soul Ball. Just the act of restricting the ball is all i'd need as in practice they'll still be in your party. It's more of a story thing.

    3. A way to unlock permanent or temporary boosts. Something like getting the "blessings of a deity" and because of that your defense of all pokemon in your party are boosted .25 in battle or something. Or something like increasing the running speed a little bit. A specific example I'm curious about is unlocking the ability to toggle wild encounters on and off (endgame bonus stuff and rewards for long questlines)

    4. Story Reasons may make it possible to "3D Print" a pokemon if i continue down this train of thought. Is there a way to have a notepad document in the game files where people can input pokemon data and then have a script read the data they input to generate a pokemon in-game?
     
  • 188
    Posts
    9
    Years
    • Seen yesterday
    Regarding #1: what would happen if Pokémon A uses a move the same type as its first type? Current logic denotes that it would behave like a mono-type Pokémon. That may not be a bad thing if the static type would more often than not be negatively affected by a second type.

    For #2: do some research on how the ghost of Cubone's mother (from Gen-I including its remakes) would behave and adapt it to your lore.

    With #3: you can use a game switch that will have all of your Pokémon's defensive stats start at +1 if true. Other switches can boost some of the other stats to +1 so feel free to experiment. As for toggling wild encounters, start with researching the effects of Repel items.

    When it comes to #4: look at how data is read from the PBS files and I suggest you have an NPC ask for something valuable (Heart Scale or something equivalent in rarity) in exchange for use of the Pokémon generator machine.
     

    Frost the Fox

    FroststormFrenzy
  • 16
    Posts
    2
    Years
    • Seen Jun 14, 2023
    The version of Essentials isn't listed here, so I'll go with what I know from v19. v19 and v20 code is mostly compatible with minor changes, so if you use v20 keep this in mind; v18, from what I've seen of it, works pretty differently

    #1: For what you're wanting, It'd require assigning a form for every type, and changing the Pokemon's form on use. I would recommend basing this off of Aegislash's Stance Change, if you want this to be before the Pokemon acts. Assign each of the Pokemon's forms to be the same ID as the type it becomes, and right around where Stance Change is, insert this code:
    Code:
    if isSpecies?(:(Pokemon's internal name)) && self.ability == :(Ability internal name)
    pbChangeForm(GameData::Type.get(move.calcType).id_number,_INTL(Transformation message goes here))
    End

    #2: If you want every instance of the respective species to be a guardian, just replicate Beast Ball code, and swap the Ultra Beasts for an array of your guardians. The difference is that, instead of dividing by 10, you just set it to 0. If you want to have multiple, but only one is a guardian, then replicate the data that the "Brilliant" boolean uses in the 'Pokemon' script, excluding "generateBrilliant".

    #3: As mentioned above, you can use stat boosts at the start of the battle, or if you're more advanced you can try editing the damage formula directly. The place to go is pbCalcDamageMultipliers, and you can use the Badge Boost code as a reference for these multipliers

    #4: As mentioned above, your best bet is to go based on the PBS files, this is something I haven't messed with before
     
    Last edited:
    Back
    Top