• Hi, Guest!
    Some images might be missing as we move away from using embedded images, sorry for the mess!
    From now on, you'll be required to use a third party to host images. You can learn how to add images here, and if your thread is missing images you can request them here.
    Do not use Discord to host any images you post, these links expire quickly!
Ultimate Move Tutor

v21.1 Ultimate Move Tutor 1.0

This resource pertains to version 21.1 of Pokémon Essentials.
Pokémon Essentials Version
v21.1 ✅
This scripts is using the move relearner as a base, to add eggmoves and every move learned by a pokémon by TM or by Tutor (thanks v19and v20 ).
If you have ideas you want to share about this script, feel free to leave a comment!
Move_tutor_menu.PNG


Installation

Unzip the file in the plugin folder.

How to use the script

Several variables are used by this script. You can define them at the beginning of the move_tutor file.

By default variable 34 is used to control the type of moves you can learn.
You can make distinct NPCs for each function (comments are written in the script to help you).
0 is the good old move relearner.

1 adds eggmoves to the list.
By default, it also returns the baby species moves (hello Spore Breloom) if they have the level.

2 adds tutormoves and TMs.

3 is the Hackmon mode, making every move in your game available for any Pokémon.

4 is the Stabmon mode, allowing your pokemon to learn every move of their types. If you are using this script with v19, in both scripts, replace types[0] by type1 and types[1] by type2.

5 is the Alphabetmon mode, where a pokémon can learn every mode that share the same first letter with their name.

6 is the universal move tutor who gives the moves defined at the beginning of the move_check.rb script

7 is a classic move tutor for those who want to unlock more moves during the game. Just make a list of moves for every pokémon you want to give more moves as the example in the scripts. Don't forget to modify both scripts if you are using this option.

1623862008187.png

When this variable is setup to what you want, take the normal move relearner event.

change this first script section to this one:

pbChoosePokemon(1, 3, proc{ |pkmn|
can_learn_move(pkmn)
}, true
)

then find this conditional branch below
1623862450694.png


Replace the script in the condition by this one:
can_learn_move(pbGetPokemon(1))==false

How to use the banlists?

Go to the settings of the scripts at the beginning of the movetutor file
First, the BORW switch (switch 59 by default) tells if you are using a blacklist (false) or a whitelist (true).

As you can see in the script, the banlists are a list of lists.
The Banvar variable (variable 35 by default) tells you which list in the script you are using. This way you can change your banlist as your player progress in the game. The first list is empty so if you are not using the banlist, don't touch the BORW and Banvar switch.

If you are not familiar with the code,
here is a detailed example:

If you don't want powerful moves at the begining of your game you can use something like this:
Blacklist=[[],[:TOXIC,70],[90],[]]
here if the banvar is equal to 1, the move relearner cannot teach toxic of moves with power>70.


The first page of my move tutor have these parameters:
1658402101093.png


This means I'm using the second list(banvar=1) of the blacklist(BORW=false), in the standard move tutor mode (movetutor=2)

Then later in my game, whenever I want, I can unlock more moves by making a second page in my movetutor event, changing only banvar to 2 instead of 1.

Then in late game, you make a third page with everything available(banvar=0 or 3 here)

You can make as many lists as you need, and you could unlock new moves after every gym battle for example.

Last small example,
I want to make a movetutor teaching those moves specifically and not something else, as soon as I unlock them.
This time I will use a whitelist like this one:
Whitelist=[[],[:OUTRAGE],[:OUTRAGE,:DRAGONASCENT]]

This time, in my NPC, I set BORW switch to true, and, on the first usefull page, banvar=1 to make them teach only Outrage. Then, later on a second page, I keep the same setup with banvar=2.

Imagine I'm totally crazy and want every Pokémon to learn Outrage with this NPC, I could set the movetutor variable to 3 (hackmode mode), with the same other variable setup than before.
Credits
Grogro
  • Move_tutor_menu.PNG
    Move_tutor_menu.PNG
    80.7 KB · Views: 4,904
  • 1623862008187.png
    1623862008187.png
    14.7 KB · Views: 4,544
  • 1623862450694.png
    1623862450694.png
    8.1 KB · Views: 4,289
  • 1658402101093.png
    1658402101093.png
    47.8 KB · Views: 2,789
Author
grogro
Downloads
1,453
Views
7,726
First release
Last update
Rating
5.00 star(s) 4 ratings

More resources from grogro

Latest updates

  1. power cap update

    numbers in banlist are now treated as the maximum power of relearnable moves
  2. v21 cleaning

    it was already v21 compatible , so not to many changes here! cleaned some useless parts of the...
  3. bye illegal moves

    -Gmax and Zmoves are now excluded from stabmon and alphabetmon move tutor by default

Latest reviews

Took me a moment to understand how it works, but after getting it it's not that difficult to set up and greatly enhances any game in my opinion!
Brilliant file! Can you add a "STABmons" mode, where any Pokemon can learn any move from this tutor that matches a type the Pokemon has?
Very nice to finally see something like this! My only question is: would this work for 18.1 (I know it says 19.1, I'm asking anyways) or if there would be a way to get something like this on 18.1?
grogro
grogro
Creating an egg move tutor is possible, but unfortunately, v19 changes are what made this script possible (or atleast easy to make). in v19, for every pokemon there is the list of the TMs and tutor moves it can learn. In v18 everything was spread out.
Back
Top