Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2018-09-30 19:01:52

rbroab
Member
Registered: 2017-06-13
Post 78/86

HM Moves Without Teaching

How difficult would it be to implement a system where you no longer need to teach HM moves to Pokémon, but instead the game checks if the move is in the Pokémon’s learnset and the matching HM is in the player inventory?

I don’t like using moveslots on HM moves such as whirlpool and cut, but I don’t want to have to keep traveling back to the PC just to progress through the game.

Offline

#2 2018-10-01 17:43:01

Miksy91
Member
Registered: 2010-10-16
Post 2,338/2,339

Re: HM Moves Without Teaching

If you're okay with just checking that the player has the required HM in TM/HM pocket, this would be fairly easy. In case you also need to make sure that the player has a pokemon that can learn the HM move, the task is a bit more difficult yet very doable. But implementing it is all about understanding z80 asm, and being able to find the asm routines related to for example the badge checks of the HMs.
You could do this on top of pokecrystal, or straight in a G/S/C rom file.

In case you're thinking about hacking R/B/Y or disassemblies of red/yellow, achieving this might be harder, but probably not so much.

Edit:
HM Fly would be more difficult to implement than the others because it's unusable outside menu.

Last edited by Miksy91 (2018-10-01 17:44:50)

Offline

#3 2018-10-01 19:06:58

glodfinch
Member
Registered: 2018-09-10
Post 10/11

Re: HM Moves Without Teaching

Miksy91 wrote:

If you're okay with just checking that the player has the required HM in TM/HM pocket, this would be fairly easy. In case you also need to make sure that the player has a pokemon that can learn the HM move, the task is a bit more difficult yet very doable. But implementing it is all about understanding z80 asm, and being able to find the asm routines related to for example the badge checks of the HMs.
You could do this on top of pokecrystal, or straight in a G/S/C rom file.

In case you're thinking about hacking R/B/Y or disassemblies of red/yellow, achieving this might be harder, but probably not so much.

Edit:
HM Fly would be more difficult to implement than the others because it's unusable outside menu.

This is a pretty cool idea - I think you could use CanLearnTMHMMove in /engine/items/tmhm2.asm (pokecrystal). Looks like you could loop over the party and call it repeatedly with the HM in wPutativeTMHMMove. The only solution for Fly I can think of would be to activate it when the HM is used in the pack. I might take a closer look at implementing this in a few days.

Offline

#4 2018-10-01 19:20:08

rbroab
Member
Registered: 2017-06-13
Post 79/86

Re: HM Moves Without Teaching

Fly and Flash are moves I already anticipated having a problem with. For now I was going to leave them out of the equation simply because they’re moves you’d need to activate directly through the menu. This isn’t a permanent solution, but something I’d just come back to later.

This is something I only intended to implement in Pokémon Crystal. Unfortunately I’m not at my computer right now, so I’m not sure what the z80 asm you’re referring to is. As far as gym badges, wouldn’t it only need to check if the flag has been set?

Last edited by rbroab (2018-10-01 19:24:32)

Offline

#5 2018-10-01 21:08:29

rbroab
Member
Registered: 2017-06-13
Post 80/86

Re: HM Moves Without Teaching

Apparently there was already another thread here that covered this topic. Haven’t taken an in-depth look at it yet, but it should achieve the desired effect.

https://hax.iimarckus.org/topic/7166/

Offline

#6 2018-10-01 22:19:40

glodfinch
Member
Registered: 2018-09-10
Post 11/11

Re: HM Moves Without Teaching

Great find! Rangi is always one step ahead :)

Offline

Board footer

Powered by FluxBB