User avatar
By Novoro
#214117 Problem:
The current HM/TM/TR System is very daunting and contains many issues that aren't seen in the main games, such as Pokemon only being able to learn Kanto TMs instead of Galar TMs, or not being able to learn the HM Waterfall, only the TR Waterfall. Generation 9 doesn't make this any better, since they completely scrapped TRs and Infinite use TMs, and went back to Single-Use. It also boasts an insane 171 TMs, much more than any previous generation of Pokemon. I feel that the current system isn't the most effective and future-proof, so I have the following proposition:

Suggestion:
1. Combine all of the HMs/TMs/TRs into a single system instead of sorting by generation.
2. Create 19 different types of TMs which can have their NBTs edited. 18 of these would represent each type, and one would represent the Blank TM.
3. Number all of them based on their appearances throughout the Generations.
4. Make them “data-packable”, which will allow individuals to select what TMs they wish to use and add TMs that don’t currently exist.
5. Have a config option for whether or not TMs are infinite-use or one-time-use.

Examples:
By #3, an example is the following:
Currently, Bubble Beam's ID is pixelmon:tm_gen1{tms:11s}. With a Type-Based System, Bubble Beam would be:
pixelmon:tm_water{tms:1s} since it was the first ever Water-type TM introduced way back in Gen 1.
Following this format, Hydro Cannon would be:
pixelmon:tm_water{tms:Xs} since it was the most recent Water-type TM introduced to Pokemon in Generation 9. I didn't count how many Water-type TMs there are, so X is a placeholder.

Reasonings:
Having a single system would massively reduce the amount of TM items that exist, and would reduce confusion on usage. There really is no need for there to be 7 versions of Sludge Bomb in Pixelmon!
Having the TMs be organized by type can help future-proof the TM System, since all that would have to be done is keep adding to the type list in chronological order, and if a new type is introduced, the new type could be easily accommodated for.
It wouldn’t be ideal to try to follow the numbering that the Games have, since many TMs have had their numbers changed throughout the generations. An example of this is Thunder Wave, which had its number changed five times!
Generation 1: TM 45
Generation 4: TM 73
Generation 7: TM 16
Generation 8: TM 14
Generation 9: TM 082
The “blankimprintrate.json” already exists, and I feel it would fit perfectly in a TMs data folder. It also allows for more customization, similar to how Poke Balls were updated.

User avatar
By SKyTheThunder
#214139 The current system was implemented precisely because the hybrid system we had was way too confusing and inconsistent. It was easy to lose the overview over what TMs we already had, were still missing and what Pokémon could ever and can currently learn which...

With the generational system we can follow the original games 1:1, with each set of TMs containing the TMs available in the games and each Pokémon having its respective TM moves defined per generation. It's infinitely easier to work with.
Technically the feature is set up so Pokémon can be restricted to learning moves from the TMs of generations where that move was in their TM learn set, yes. However, the "universal-tms" config setting is active by default, making it so Pokémon can learn moves from TMs/TRs of any generation, provided it was in their TM learn pool at any point. So unless you deactivate that, the mentioned restrictions to certain TM sets should not be a thing...

With the switch to that system, HMs were left out and are currently not functional. They're also unobtainable by default though, and with the original games switching away from them, their role is currently up in the air.
JOIN THE TEAM