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

Setting Giratina's form through an event encounter

  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    THIS HAS BEEN SOLVED! PLEASE LOOK BELOW FOR THE ANSWERS IF YOU ARE HAVING THESE ISSUES, TOO!

    So I need to have an Origin Form Giratina for an event Pokémon, which I've gotten to work, but only if I use a switch to give him the Griseous Orb. However, I want to place Giratina in a map that acts like the Distortion World (so he is in Origin form upon encounter w/o needing to hold an item), but I don't know how.

    Another question, can you give Giratina a new ability or do you have to delete his current ones? I'm making a Delta Stream-esque ability, but it's not showing up in Debug > Ability.

    For my first question: Around line 571 or so, at "getForm", you have to put this in:
    Spoiler:

    In the "$game_switches[A SWITCH ID TO TURN ON]" portion, you replace the part in the brackets with a switch ID. This will allow Giratina to be in Origin Form without an item whenever the switch is on.

    For my second question: I made Giratina's ability in Pokemon_MultipleForms set to "SOULDUST" (the internal name of my new ability) around its entry. Its Altered Form was getting the Ability because it read from the pokemon.txt, but in Pokemon_MultipleForms, it sets its possible Abilities to what it would normally have before editing.
     
    Last edited:
  • 13
    Posts
    10
    Years
    • Seen Nov 17, 2023
    You could add a new Giratina to the Pokemon PBS that acts just like a regular Giratina except with the origin sprite.
     
  • 1,224
    Posts
    10
    Years
    So I need to have an Origin Form Giratina for an event Pokémon, which I've gotten to work, but only if I use a switch to give him the Griseous Orb. However, I want to place Giratina in a map that acts like the Distortion World (so he is in Origin form upon encounter w/o needing to hold an item), but I don't know how.

    Another question, can you give Giratina a new ability or do you have to delete his current ones? I'm making a Delta Stream-esque ability, but it's not showing up in Debug > Ability.

    Look at how it's multiple forms are defined
    Code:
    MultipleForms.register(:GIRATINA,{
    "getAbilityList"=>proc{|pokemon|
       next if pokemon.form==0                  # Altered Forme
       next [[getID(PBAbilities,:LEVITATE),0],
             [getID(PBAbilities,:TELEPATHY),2]] # Origin Forme
    },
    "height"=>proc{|pokemon|
       next if pokemon.form==0 # Altered Forme
       next 69                 # Origin Forme
    },
    "weight"=>proc{|pokemon|
       next if pokemon.form==0 # Altered Forme
       next 6500               # Origin Forme
    },
    "getBaseStats"=>proc{|pokemon|
       next if pokemon.form==0       # Altered Forme
       next [150,120,100,90,120,100] # Origin Forme
    },
    "getForm"=>proc{|pokemon|
       [COLOR="Red"]maps=[49,50,51,72,73]   # Map IDs for Origin Forme[/COLOR]
       if isConst?(pokemon.item,PBItems,:GRISEOUSORB) ||
          ($game_map && maps.include?($game_map.map_id))
         next 1
       end
       next 0
    }
    })

    Just have this array contain your desired map ids and it should work without any switches.
    To give a pokemon a different ability, you have to define it as such in pokemon.txt, you can't force an ability like that in Essentials.
     
  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    Look at how it's multiple forms are defined
    Code:
    MultipleForms.register(:GIRATINA,{
    "getAbilityList"=>proc{|pokemon|
       next if pokemon.form==0                  # Altered Forme
       next [[getID(PBAbilities,:LEVITATE),0],
             [getID(PBAbilities,:TELEPATHY),2]] # Origin Forme
    },
    "height"=>proc{|pokemon|
       next if pokemon.form==0 # Altered Forme
       next 69                 # Origin Forme
    },
    "weight"=>proc{|pokemon|
       next if pokemon.form==0 # Altered Forme
       next 6500               # Origin Forme
    },
    "getBaseStats"=>proc{|pokemon|
       next if pokemon.form==0       # Altered Forme
       next [150,120,100,90,120,100] # Origin Forme
    },
    "getForm"=>proc{|pokemon|
       [COLOR="Red"]maps=[49,50,51,72,73]   # Map IDs for Origin Forme[/COLOR]
       if isConst?(pokemon.item,PBItems,:GRISEOUSORB) ||
          ($game_map && maps.include?($game_map.map_id))
         next 1
       end
       next 0
    }
    })

    Just have this array contain your desired map ids and it should work without any switches.
    To give a pokemon a different ability, you have to define it as such in pokemon.txt, you can't force an ability like that in Essentials.
    Well, I found this out through Relic Castle almost a week ago, but thank you~
    I still have one other error, though. How do I make the title cry match Giratina's? I followed the instructions on the Wiki, but they must be outdated, because all I get when I hit enter is silence.
     
    Last edited:
  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    If you find the answer to your question on your own or elsewhere, you should edit your post with that answer, for anyone with a similar question in the future.
    I just decided to check Pokécommunity now (busy week), and I simply wasn't thinking. Could you help with the second problem, though? No one's been able to answer it.
     
  • 1,224
    Posts
    10
    Years
    I just decided to check Pokécommunity now (busy week), and I simply wasn't thinking. Could you help with the second problem, though? No one's been able to answer it.

    Code:
    pbSEPlay("487Cry.wav",100,100) if cry
    You have to specify the filetype. Incidentally, I've noticed that the current cry doesn't play at all, since pbResolveAudioSE returns the full path, not the relative path.
     
  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    Code:
    pbSEPlay("487Cry.wav",100,100) if cry
    You have to specify the filetype. Incidentally, I've noticed that the current cry doesn't play at all, since pbResolveAudioSE returns the full path, not the relative path.
    A few minutes later and it's still not working. Here's my code for it...
    Code:
    cry=pbResolveAudioSE(pbCryFile(PBSpecies::GIRATINA))
    pbSEPlay("487Cry.wav",100,100) if cry
     
  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    Yes. Because when you're having issues with your audio functions, blame the battle system mod. Makes sense.

    Okay, I know where you're coming from, but EBS is the only thing that I've added to this project, other than Gen 6 Project and I doubt that the PBS files screw with audio. I haven't edited ANYTHING involving sound at all. ANYTHING.
     

    Maruno

    Lead Dev of Pokémon Essentials
  • 5,286
    Posts
    16
    Years
    • Seen May 3, 2024
    Don't be so snarky, Luka. And people say I'm harsh...

    You're just not using the correct code. Use this:

    Code:
        cry=pbCryFile(487)
        pbSEPlay(cry,100,100) if cry
    You didn't say which version of Essentials you were using (big mistake - you should always give us that information if you want our help), but I assume it's v16 or v16.1 because v16 moved where the cry files are kept so your code wouldn't work. I'm assuming that Giratina is still species number 487 in your game; if not, change it.
     
  • 19
    Posts
    8
    Years
    • Seen May 13, 2020
    Don't be so snarky, Luka. And people say I'm harsh...

    You're just not using the correct code. Use this:

    Code:
        cry=pbCryFile(487)
        pbSEPlay(cry,100,100) if cry
    You didn't say which version of Essentials you were using (big mistake - you should always give us that information if you want our help), but I assume it's v16 or v16.1 because v16 moved where the cry files are kept so your code wouldn't work. I'm assuming that Giratina is still species number 487 in your game; if not, change it.

    Thank you, sorry for all the trouble I've caused... I'll keep the version tip in mind for the future.
     
    Back
    Top