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

Play Discussions: Sp. Attack / Sp. Def split (Gen 1)

1,173
Posts
3
Years
    • Seen today
    I was wondering if anyone has managed to implement this in a Gen 1 rom hack yet, or is currently attempting to do so. I don't mean the Physical/Special split (which I know it's a thing already in some Gen 1/2 rom hacks), I mean if it's possible to split Gen 1's Special stat into two different stats.
     
    200
    Posts
    10
    Years
    • He or They
    • Seen Jun 19, 2022
    So I've played around a little with this in Gen I. It's a giant pain in the butt and I'm not sure if the end result would be stable. The easiest way would prooobably be altering the catch rate to be a phys/special state, because that's located close to the stats and the way the game likes to access them is by starting with one stat and then physically incrementing. Ideally, you'd just increment one more time to make it access the next stat over, and then when attack situations with special occur, call the special att; when it's defensive, call the special def you previously loaded into something like [wSpecialDef]. Make sure that the stat is accurately transformed for the pokemon's appropriate STAT EXP values; I remember this being another pain in the butt thing, but again, would probably be possible by incrementing until you get to the catch stats position just like the game increments to other stat positions. So there are at least four different places that would need to be altered. (Technically hundreds, since you'd want to go through each pokemon individually and actually add the special def. stat for them of course - keep in mind this would mess with the catch rate and make stronger pokemon easier to catch; that could probably be fixed by simply changing how catch rate is calculated by making the true catch rate a subtraction of that value from some higher value so stronger are harder to catch again, idk.)

    Unfortunately, I use that stat for held items as is done in the later gens, so I can't really use it on my own hack (maybe someday later if I'm feeling really generous) and double check this works and is stable. I think it should be stable if done this way, but actually implementing it might be a bit annoying.

    I know Red++ experimented with actually changing the number of stats so you could have both held items and phys/special, abilities, etc, but like changing the number of pokemon beyond 255, I believe this was extremely buggy and unstable so they switched to working in Crystal. I don't know if the Crystal version ever completed those changes, but I'd recommend looking up Red++ and its latest version to find out.
     
    536
    Posts
    4
    Years
    • Seen May 13, 2024
    It's possible, and not too terribly difficult, but the reality is that it doesn't really do all that much for you unless you drastically expand the number of moves in the game.

    Doing the split and nothing else has the following effects:
    -Thunder punch, unique to electabuzz and hitmonchan, becomes the only physical electric move
    -Fire punch, unique to magmar and hitmonchan, becomes the only physical fire move
    -Ice punch, unique to jynx and hitmonchan, becomes the only physical ice move
    -Grass makes out pretty good with vine whip and razor leaf becoming physical
    -Normal makes out pretty good with gust, razor wind, hyper beam, and tri attack becoming special
    -The entire poison type becomes special except for poison sting
    -Clamp (unique to shellder line), crabhammer (unique to krabby line), and waterfall (unique to goldeen line) become physical
     
    1,173
    Posts
    3
    Years
    • Seen today
    ...
    I know Red++ experimented with actually changing the number of stats so you could have both held items and phys/special, abilities, etc, but like changing the number of pokemon beyond 255, I believe this was extremely buggy and unstable so they switched to working in Crystal. I don't know if the Crystal version ever completed those changes, but I'd recommend looking up Red++ and its latest version to find out.

    Thank you very much for the info. Indeed it sounds very complicated, and probably not worth it if it ends up breaking other functionalities. I'm already impressed to see someone managed to implement held items in a Gen 1 rom hack.

    It's possible, and not too terribly difficult, but the reality is that it doesn't really do all that much for you unless you drastically expand the number of moves in the game.

    Yeah, it would be rather pointless without adding moves like Dark Pulse, Flare Blitz, Poison Jab, Aura Sphere, Zen Headbutt, the elemental Fangs, etc.

    But I wasn't talking about the Physical/Special move split, just asking about Gen 1's Special stat, which ruins certain Pokémon (Hitmonlee/Hitmonchan with only 35 Sp. Def, Kangaskhan with 40) and makes certain others broken (like Gyarados with 100 Sp. Attack or Chansey with 105)
     
    536
    Posts
    4
    Years
    • Seen May 13, 2024
    But I wasn't talking about the Physical/Special move split, just asking about Gen 1's Special stat, which ruins certain Pokémon (Hitmonlee/Hitmonchan with only 35 Sp. Def, Kangaskhan with 40) and makes certain others broken (like Gyarados with 100 Sp. Attack or Chansey with 105)

    Oh...well...that would take some doing.

    If you want to implement special defense, then you need to free up a byte within the pokemon structs. One way to do this would be to eliminate the BoxLevel byte. Pokemon stored in a box would not have their level saved, and you would instead have to calculate it on the fly from the stored EXP anywhere BoxLevel would be referenced. The regular Level byte would be used for structs in party and in battle.

    It's quite a bit of work from there since you have to patch the new stat into all the calculation formulas. It's why Gen 2 went an re-wrote most of the engine.
     
    200
    Posts
    10
    Years
    • He or They
    • Seen Jun 19, 2022
    Thank you very much for the info. Indeed it sounds very complicated, and probably not worth it if it ends up breaking other functionalities. I'm already impressed to see someone managed to implement held items in a Gen 1 rom hack.



    quote:Yeah, it would be rather pointless without adding moves like Dark Pulse, Flare Blitz, Poison Jab, Aura Sphere, Zen Headbutt, the elemental Fangs, etc.

    But I wasn't talking about the Physical/Special move split, just asking about Gen 1's Special stat, which ruins certain Pokémon (Hitmonlee/Hitmonchan with only 35 Sp. Def, Kangaskhan with 40) and makes certain others broken (like Gyarados with 100 Sp. Attack or Chansey with 105)


    That was me! I implemented Held Items, although definitely not as good as the future gen held items.
    Well, me and another person independently, I think someone did a rocket hack also, but unlike me they didn't make their code publically available so I had to re-do from scratch.

    I think the simplest byte to use would be the catch rate byte rather than the Box Level byte, since that way you wouldn't have to mess with the box as well. But then, like I said, you wouldn't be able to implement held items which may or may not be a game breaker. And of course all those other changes are a pain in the ass.

    EDIT:

    WAIT! I think I thought of a way this could actually work!

    Just don't store a Special Def. stat at all! Generate it automatically once at the start of every battle, based on a pokemon's other stats using a 'balancing' formula of some kind!
    Figuring out how to write the balance formula would be a pain, and this would have the downside of sharing stat exp with the other special stat, buuuut, it massively beats making hundreds of changes through the game. You would literately just call this, then alter the damage formula so that the attack special is now the 'Special Att.' normal version, and the Defense Special is an altered version of this. Basically, it would be like starting every battle with your special stat either boosted one or two stages or lowered stages depending on how your other stats are, but only for the defense (or alternatively, you could do this with the attack stat). There would be a few other places to consider, like how you want to handle growl and amnesia and so forth that lower defense or alter special, but once you've loaded a [wSpecialDef] for a given battle you can alter it as you like.
     
    Last edited:
    Back
    Top