• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • 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.

Pokémon Essentials Add-ons

Status
Not open for further replies.
  • 2,048
    Posts
    17
    Years
    • Seen Sep 7, 2023
    As I promised, here are a couple of add-ons I made for poccil's Pokémon Essentials.
    Poccil, if you want, add them to Essentials, but let me know when, and what ones, you add, so I can edit this to say which ones are included in the newest version.
    Hopefully, these should come in useful in your games, but please give credit if used!

    Day/Night Music Change - Included in Essentials
    Spoiler:


    Map Details on Region Map - Included in Essentials
    Spoiler:


    Sunlight Weather Effect - Partly Included in Essentials
    Spoiler:


    Random Name Generator (by Poccil and Myself)
    Spoiler:


    Change Map View Type in an Event (by Poccil)
    Spoiler:



    That's all the scripts for now. If you get a problem with one of these, tell me and I'll try to fix it. I'm also open to ideas for new add-ons - the night BGM one was a request.

    BTW, think of these as teasers for the game I'm making :P.
     
    Last edited:
    Of course you can use them, but please give credit, not only to me, but mainly to poccil. The amount of work put into Essentials dwarfs my add-ons.

    Anyway, Coming Soon:
    A fix for the script that turns off sunlight at night, and:
    A random name generator. Now you, too, can name all the [insert evil team here] Grunts (and others) with crazy names, like in Colosseum and XD, without much effort!
     
    Thanks for the new additions. However, I already have a random name generator in PokemonUtilities -- it's called getRandomName .
    I wish I'd known that earlier -_-.
    And also, setMapView on the script should be called pbSetMapView .
    Oh whoops, I'll change it now. Thanks for pointing it out.
     
    It works for me, except for the alternative map view.
     
    I can suggest another add-on I created today. It allows the creation of "move tutor" events, like in Pokemon FireRed and LeafGreen. To use it, call the script function pbMoveTutorChoose(PBMoves::X, Y) where X is the name of a move, and Y is a list of species that can use that move. An example of its use follows. The move tutor here teaches the move Softboiled.

    Code:
    @>[COLOR="#0000FF"]Conditional Branch: Script: pbMoveTutorChoose(PBMoves::SOFTBOILED,::SOFTBOILEDLIST)[/COLOR]
      @>[COLOR="#000000"]Text: Move learned.[/COLOR]
      @>
     : [COLOR="#0000FF"]Else[/COLOR]
      @>[COLOR="#000000"]Text: Move not learned.[/COLOR]
      @>
     : [COLOR="#0000FF"]Branch End[/COLOR]

    The script code in the conditional branch refers to the array called "::SOFTBOILEDLIST", which is a list of species that can learn Softboiled. It can appear in a new script section like this:

    Code:
    ::SOFTBOILEDLIST=[
    PBSpecies::CHANSEY,
    PBSpecies::HAPPINY,
    PBSpecies::BLISSEY,
    PBSpecies::TOGEPI,
    PBSpecies::TOGETIC,
    PBSpecies::TOGEKISS
    ]

    The script code for move tutors follows.

    Code:
    def pbMoveTutorAnnotations(move,movelist)
     ret=[]
     for i in 0...6
      ret[i]=nil
      next if i>=$Trainer.party.length
      found=false
      for j in 0...4
       if !$Trainer.party[i].egg? && $Trainer.party[i].moves[j].id==move
        ret[i]=_INTL("LEARNED")
        found=true
       end
      end
      next if found
      species=$Trainer.party[i].species
      if !$Trainer.party[i].egg? && movelist.any?{|j| j==species }
       ret[i]=_INTL("ABLE")
      else
       ret[i]=_INTL("NOT ABLE")
      end
     end
     return ret
    end
    
    def pbMoveTutorChoose(move,movelist)
      ret=false
      pbFadeOutIn(99999){
      scene=PokemonScreen_Scene.new
      movename=PBMoves.getName(move)
      screen=PokemonScreen.new(scene,$Trainer.party)
      annot=pbMoveTutorAnnotations(move,movelist)
      screen.pbStartScene(_INTL("Teach which Pokemon?"),false,annot)
      chosen=screen.pbChoosePokemon
      if chosen>=0
       pokemon=$Trainer.party[chosen]
       if pokemon.egg?
        Kernel.pbMessage(_INTL("{1} can't be taught to an Egg.",movename))
       elsif !movelist.any?{|j| j==pokemon.species }
        Kernel.pbMessage(_INTL("{1} is not compatible with {2}.",pokemon.name,movename))
        Kernel.pbMessage(_INTL("{1} can't be learned.",movename))
       else
        if pbLearnMove(pokemon,move)
          ret=true
        end
       end
      end  
      screen.pbEndScene
      }
      return ret
    end
     
    Last edited:
    For the move tutors, I was thinking of having extra, unobtainable, TMs for each move tutor move.
    Then I'd make the game check whether the TM was learnable, and teach the move to the Pokémon.
    Your way is probably easier, though.

    Devil_Silver: It might be because I accidentally wrote the wrong event command - use setMapView instead of pbSetMapView. I've corrected it now.
    You probably won't be using setMapView(1) - use setMapView(2) to change to perspective, and setMapView(0) to change back.

    EDIT: I've combined mine and poccil's name generators, and added the edited getRandomName to the first post.

    EDIT 2: I fixed a bug in the random name generator - it was missing a line under "when v". The correct section is:
    Code:
      when "v"
       set=%w( a a a e e e i i i o o o u u u y )
       name+=set[rand(set.length)]
     
    Last edited:
    The game is still a long way from a demo - I'm still working on adding DP moves, abilities and items. If you want, I could PM you when the demo comes out.
     
    they look good ill try them in my game after i format my hard drive. Keep up the good work.
     
    The map view changer come up with an error.

    EDIT: nvm, I accidentally copied the "Script" part too.

    EDIT2: nvm again, the error still comes up. Here it is.
    Spoiler:
     
    Last edited:
    The map view changer come up with an error.

    EDIT: nvm, I accidentally copied the "Script" part too.

    EDIT2: nvm again, the error still comes up. Here it is.
    Spoiler:
    Woah. Massive necropost.

    Maybe its not working because you are using a 2 year old script designed for a version of essentials from two years ago...
     
    That might be because the scripts are two and a half years old.

    EDIT: Ninja'd :(
     
    Status
    Not open for further replies.
    Back
    Top