Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2020-06-18 03:49:49

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 1/11

Changing Trainer Movesets

Hello,

I'm new to this ROM hacking scene. I just downloaded Pokered Disassembly and installed Cygwin64, and have started figuring out a few basic things. For example, I'm able to add Pokemon to trainer teams and alter their levels by tinkering with the trainer_parties.asm

However, for the life of me, I can't figure out how to change the movesets of their Pokemon. I've tried messing around with the "trainer_moves.asm" but I just don't get it. Can somebody please explain this to me?

I just want to make a simple hack of Pokemon Red/Blue to make the main Rival/Gym/Elite 4 battles tougher.

Also, one other thing I'd like to do if possible is trigger re-battles with the Elite 4 and Champion, with higher leveled Pokemon the 2nd, 3rd, 4th time around etc. But we can get to that later, for now I just want to learn how to change trainer movesets.

Thanks in advance!

Last edited by ILuvChinPokomon (2020-06-18 03:52:41)

Offline

#2 2020-06-18 05:02:36

Mateo
Member
Registered: 2009-11-25
Post 3,647/3,654

Re: Changing Trainer Movesets

By default, Pokemon Red was not designed with fully custom movesets on trainer Pokemon in mind. It is not possible to fully customize them with the vanilla setup, since the vanilla code only accounts for changing a single move. If you want full customization of their movesets, I would recommend doing something like this, where I made it read trainers in Pokecrystal's format (leaving out trainer types involving held items, which did not exist in Gen 1, and leaving out unique names). Of course, that involved rewriting all of the trainer data to be in the new format, but if you haven't started editing trainers yet you could just copy the trainer parties file from that commit to get you started. Also, if you do use that, keep in mind that there is a typo with an extra comma at the end of a line that you would need to fix. Search for "BEEDRILL," and you can find it pretty quickly. I fixed that typo in a later commit.


I am not very active on this forum. I only pop in from time to time.

Offline

#3 2020-06-18 16:36:01

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 2/11

Re: Changing Trainer Movesets

Wow! Thank you so much! Also, from what I understand, while Red did not have customization of movesets with the vanilla code, Yellow did, is that correct?

Would the trainer party file you've linked worked for Yellow dissassembly too?

Btw, would you know how to trigger re-battles with the Elite 4 and set the teams at higher levels each time?

I really appreciate your help!

Last edited by ILuvChinPokomon (2020-06-18 17:25:25)

Offline

#4 2020-06-19 01:14:20

Mateo
Member
Registered: 2009-11-25
Post 3,648/3,654

Re: Changing Trainer Movesets

Wow! Thank you so much! Also, from what I understand, while Red did not have customization of movesets with the vanilla code, Yellow did, is that correct?

Would the trainer party file you've linked worked for Yellow dissassembly too?

The trainer parties file that I sent would not work as-is with yellow. Yellow had a different system for custom moves than this. It was more flexible than the one that Red used, but not the same as Crystal (the commit that I linked to was a trainer party file and some code changes to let it use Crystal's system for custom moves). You could do something like that with yellow, but the code changes would probably be a little different since the code it is replacing was different in Yellow. I have not attempted to do that in Yellow though, so I don't have a handy commit to just link you to like I did with Red, sorry.


Btw, would you know how to trigger re-battles with the Elite 4 and set the teams at higher levels each time?

I really appreciate your help!

Not off the top of my head, but it would be an interesting thing to figure out. I'll try to remember to research it this weekend.


I am not very active on this forum. I only pop in from time to time.

Offline

#5 2020-06-19 03:01:28

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 3/11

Re: Changing Trainer Movesets

The trainer parties file that I sent would not work as-is with yellow. Yellow had a different system for custom moves than this. It was more flexible than the one that Red used, but not the same as Crystal (the commit that I linked to was a trainer party file and some code changes to let it use Crystal's system for custom moves). You could do something like that with yellow, but the code changes would probably be a little different since the code it is replacing was different in Yellow. I have not attempted to do that in Yellow though, so I don't have a handy commit to just link you to like I did with Red, sorry

Gotcha! Hm....that would be tough for me I'm a noob lol I don't know how to make the coding changes so Yellow would use the Crystal format. I'll have to search for something online. But thank you so much for the red clean version!

Not off the top of my head, but it would be an interesting thing to figure out. I'll try to remember to research it this weekend

Thanks a lot! I'd really appreciate that. I'm basically trying to make my first ROM hack one that is not too different from the original. Same story, no text or map changes, I just want harder battles and re-battles with an Elite 4 that progresses in levels.

EDIT: Sorry, one more question. Do you know how to make it so that Pokemon which normally can't learn certain HM's could do so? I see we can alter TM learnsets in a file, but what about HM's? I want Gyarados to be able to learn FLY in my ROM Hack.

Last edited by ILuvChinPokomon (2020-06-19 03:23:42)

Offline

#6 2020-06-19 03:36:59

Mateo
Member
Registered: 2009-11-25
Post 3,649/3,654

Re: Changing Trainer Movesets

Yeah, which TMs and HMs they can learn are edited in the same place. Like, if you'll look at Abra's base stats, for example, you'll see his marked as learning TM "55" (but there are only 50 TMs). 51 through 55 are HM01 through HM05. So to make Gyarados able to learn Fly, just look at the last line of his "tmlearn" data and put "52" on that line. It should look like

tmlearn 50,52,53,54

Because he already could learn HM03 and HM04. So you just add the "52" for HM02 in numerical order to make him compatible with the HM for Fly.

Last edited by Mateo (2020-06-19 03:38:19)


I am not very active on this forum. I only pop in from time to time.

Offline

#7 2020-06-19 05:04:40

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 4/11

Re: Changing Trainer Movesets

Awesome! Thanks! And in that vein, do you also know how to create new moves and TM's? Is that a complicated process or fairly simple?

Also, sorry to be a pain, but I'm using your version of Trainer_party.asm now and made the modifications I wanted, but whenever I try to make the ROM now it gives me this error:

ERROR: main.asm(916) -> engine/battle/moveEffects/reflect_light_screen_effect.asm(6):
    Section 'bankE' is too big (max size = 0x4000 bytes, reached 0x4001).

Do you know why that is? I never even touched the file reflect_light_screen_effect.asm. It's exactly as it is in the vanilla pokered-master dissassembly.

Last edited by ILuvChinPokomon (2020-06-19 08:29:47)

Offline

#8 2020-06-20 01:29:44

Mateo
Member
Registered: 2009-11-25
Post 3,650/3,654

Re: Changing Trainer Movesets

I'm guessing you only copied over the trainer_parties.asm file and not the rest of the changes. You need the rest of the changes. One of those changes was moving that file into another bank where there was actually space for it, and the rest were making it so the game can actually read trainer parties in that new format.


EDIT: Alternately, you can just use pokered-clean as a base, and it would already have that trainer party overhaul in place. It was a little behind vanilla pokered, but I brought it up to date tonight. So feel free to download pokered-clean and play around with it instead if you want.

Last edited by Mateo (2020-06-20 01:57:15)


I am not very active on this forum. I only pop in from time to time.

Offline

#9 2020-06-20 03:51:49

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 5/11

Re: Changing Trainer Movesets

It worked! You're right, I just had to use your whole version as the base, and now it's so much easier to edit trainer teams and Pokemon! Thanks so much!

On a related note, do you know why the Pokemon Yellow disassembly doesn't work? I get similar errors using the vanilla disassembly and also TRIFORCE89's modified commit (he did a trainer party modification like yourself).

The errors I get are in relation to pikachu audios.psm or something like that. I can't build even the vanilla rom without any additions.

This is one error I get:
  Error opening INCBIN file 'gfx/surfing_pikachu_1a.2bpp': No such file or directory
make: *** [Makefile:42: audio.o] Error 1

Last edited by ILuvChinPokomon (2020-06-20 04:50:53)

Offline

#10 2020-06-20 05:31:14

Mateo
Member
Registered: 2009-11-25
Post 3,651/3,654

Re: Changing Trainer Movesets

Glad my base was able to help.

As for pokeyellow, I'm not sure why you're getting errors trying to build the vanilla repo.


I am not very active on this forum. I only pop in from time to time.

Offline

#11 2020-06-20 19:33:43

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 6/11

Re: Changing Trainer Movesets

I'll have to do some more research into why Yellow disassembly isn't working for me, maybe it's a problem with the latest commit and I just need to wait it out till it's updated again.

Anyway, thanks so much for all your help!

Offline

#12 2020-06-23 04:24:48

Mateo
Member
Registered: 2009-11-25
Post 3,652/3,654

Re: Changing Trainer Movesets

You're welcome, and I hope you can get the issues with pokeyellow sorted out as well.


I am not very active on this forum. I only pop in from time to time.

Offline

#13 2020-07-01 20:13:09

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 7/11

Re: Changing Trainer Movesets

Thanks man, take care!

Offline

#14 2020-07-23 05:52:54

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 9/11

Re: Changing Trainer Movesets

Hey Mateo, sorry for being a pain in the ass again, I was wondering if you could help me implement the physical/special split? Do you have a script for this?

Also I've been looking into ShinPokemon Red which fixes a lot of bugs, is there anyway to combine that with your pokered clean version? I'd like to have a code base from which to work that has both the improved AI and bug fixes along with your easy to edit trainer data.

Offline

#15 2020-07-24 02:48:28

Mateo
Member
Registered: 2009-11-25
Post 3,654/3,654

Re: Changing Trainer Movesets

I am not familiar at all with Shin Pokemon Red, so I have no idea how easy or difficult it would be to merge that with pokered-clean. I already answered this in the other thread about Physical/Special Split, but I'll be writing up a tutorial for it soon, along with other features and explaining how various things work in pokered, to help share some of the stuff I've learned while working on Red++ over the years.


I am not very active on this forum. I only pop in from time to time.

Offline

#16 2020-07-24 09:06:19

ILuvChinPokomon
Member
Registered: 2020-06-18
Post 11/11

Re: Changing Trainer Movesets

Mateo wrote:

I am not familiar at all with Shin Pokemon Red, so I have no idea how easy or difficult it would be to merge that with pokered-clean. I already answered this in the other thread about Physical/Special Split, but I'll be writing up a tutorial for it soon, along with other features and explaining how various things work in pokered, to help share some of the stuff I've learned while working on Red++ over the years.


Thanks man, I'd really appreciate it! As for Shin Pokemon Red (specifically Shin Pokemon Red LITE) it's a disassembly that fixes AI errors and corrects mistakes/bugs from the original game. It's meant to serve as a code base for people to make their own ROM hacks. Only problem is it still has that inconvenient trainer data format that makes it hard to edit trainer teams/movesets.

Offline

Board footer

Powered by FluxBB