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

Move Tutor Expansion

1,591
Posts
10
Years
  • Age 30
  • Seen Mar 20, 2024
pIT3aHl.gif
Expanding the number of move tutors is surprisingly simple, but as there are a few ways it can be done I figured it'd be best as its own thread so that people can share their alternatives. This hasn't been made into a separate repository for a number of reasons, but I'll share the method here.

Step One: Define more Tutor moves
Spoiler:

Step Two: Edit/create a compatibility table
Spoiler:

Step Three: Update the compatibility check code
Spoiler:


And that's it! To see how to use a new tutor in a script, take a look at one of the existing ones in data/event_scripts.s (hint: change the setvar VAR_0x8005, <number> to the number of your newly defined tutor)

Also, thanks to Dizzy Egg for the awesome scrolling multichoice code used in the gif above!
 
Last edited:

BluRose

blu rass
811
Posts
10
Years
hey, nice work as always~ awesome to see people doing things with the decomps, & i can't wait to see a good project come out of these

but why do the check if tutor is greater than anything when the else handles that for you?
Spoiler:
 
19
Posts
7
Years
  • Age 23
  • Seen Mar 29, 2024
Hey!

That's a great work, I was talking about do something similar with BluRose before. Anyway I have to say that this is a weird way of lose a lot of space, because you're using a lot of data for each mon. Think that with the original way, you just need a couple bytes for each pokemon. But that's also functional, so, it's perfect like that.

I hope to see more of your work here :D
 
1,591
Posts
10
Years
  • Age 30
  • Seen Mar 20, 2024
hey, nice work as always~ awesome to see people doing things with the decomps, & i can't wait to see a good project come out of these

but why do the check if tutor is greater than anything when the else handles that for you?
Spoiler:
Thanks! I'm definitely looking forward to seeing a full game made with the decomps too, there's so much impressive stuff being done for them already.

Yeah that's much better code, I'll update the OP to include it. Thanks for the constructive criticism!

Hey!

That's a great work, I was talking about do something similar with BluRose before. Anyway I have to say that this is a weird way of lose a lot of space, because you're using a lot of data for each mon. Think that with the original way, you just need a couple bytes for each pokemon. But that's also functional, so, it's perfect like that.

I hope to see more of your work here :D
Thanks! The only reason I went with this method was that I'd already made the spreadsheet for an old binary project, and didn't want to spend more time on the tutor compatibility part, so this was just the easiest solution. As you say it's definitely not the most efficient way to do it, but it works 😅. Could save some space using five 16-bit bitfields instead of three 32-bit ones, but I do plan to add a few more tutor moves later on so some of that wasted space will eventually be used.
 
Back
Top