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

Code: ASM Resource Thread

Blah

Free supporter
1,924
Posts
11
Years
  • Does the party stat checker just check the stats of pokemon or can it actually alter them? Because I think something that can change the base stats of a pokemon (like add or subtract from the original value) would be pretty neat. :P
    It just retrieves. There's a function in the game already at 0804037C which does what you want.

    I can't get the Change OW thing to work. It always crashes after the intro. Btw, I tried it out several times.

    I'll do some more testing regarding this routine. I don't get the crashing on my end though, I think I may have forgotten about something in my post.

    I have a question regarding this routine. If the pokemon has two types, how or what will the game store it to 0x8000? I'm sorry, I'm new to this asm thing. :(
    This one looks like it just returns the first type, which is actually kinda bad. I've edited it below to give the first type in 0x8000 and the second one in 0x8001. If the Pokemon is single typed, the value in 0x8001 will match 0x8000.

    Spoiler:



    TM deletion fix (another one):
    This one is for if you try and teach a Pokemon with less than 4 moves a TM. Apparently it does the deletion else where. To fix this insert the following byte changes:
    @ 0x124EAC: 00 00 00 00
     

    kearnseyboy6

    Aussie's Toughest Mudder
    300
    Posts
    15
    Years
    • Seen Jun 22, 2019
    Since TM's are re usable with this hack, is there a way to not reset the PP back to maximum? Otherwise this makes PP easy to restore in game.
     

    BLAx501!

    Pokemon Flux
    80
    Posts
    10
    Years
  • I don't know if you have got anything new with the routine I suggested you about keeping the previous track along different maps that have associated different tracks, but I have a new suggestion ;)

    I was wondering if it is possible to have two working textboxes. Like for a dialogue or something ;)
     

    Kenny1

    On a break from Rom hacking, to improve other skil
    86
    Posts
    10
    Years
    • Seen Nov 6, 2017
    Fire Red gives you one trainer card with 8 gym badges, but some hacks have more than 8 gyms/travels to different regions. Is it possible to create more than one sets of badges? and maybe changing the trainer card backdrop/tileset with it. playing as a different person, stealing badges, there are many possibilities of events with it. It can be easily done with key-items, but come on, it's not the same thing. Well, just an idea. ^_^
    All badges are only in one image, so a swapping routine would deal with that, I suppose. The rest of it can be handled via scripts

    This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.
     

    Chronosplit

    I play for keeps!
    492
    Posts
    13
    Years
    • Seen May 1, 2024
    Question: would it be possible to enable the Delete Fainted Pokemon mode throughout the entire game? Not just in trainer battles I mean, wilds too.
     

    Joexv

    ManMadeOfGouda joexv.github.io
    1,037
    Posts
    11
    Years
  • Question: would it be possible to enable the Delete Fainted Pokemon mode throughout the entire game? Not just in trainer battles I mean, wilds too.
    Yea, thats how Fbi agent set it up. Just use the routines hes posted on battle by move and deleting pokemon upon faint. It doesnt only do trainers.(or at least the older versions didnt idk if they were changed)
     

    InfiniteZero

    I never change my Avatar. D=
    61
    Posts
    17
    Years
    • Seen Oct 18, 2016
    Small request that I haven't seen around:

    One of the newer features in Gen VI is the add-on to Pokemon in the Undiscovered Egg Group: All members of this egg group will have 3 31 IVs upon being captured or what have you.

    Would be nice to see someone whip this feature up!
     

    Chronosplit

    I play for keeps!
    492
    Posts
    13
    Years
    • Seen May 1, 2024
    Yea, thats how Fbi agent set it up. Just use the routines hes posted on battle by move and deleting pokemon upon faint. It doesnt only do trainers.(or at least the older versions didnt idk if they were changed)
    Thanks for that notion. It's working perfectly.
     
    Last edited:
    534
    Posts
    11
    Years
    • Age 26
    • Seen Jul 24, 2023
    Hello guys! :D We can request here, right? I'm here to request something that I'm pretty sure is a work for ASM. A routine that makes all Pokemon automatically regenerate 5HP every other turn in a battle AND a routine for making all Pokemon regenerate 3HP for every step in the overworld. Is that even possible? And if it is, can you make it both in one routine? Anyways, I'm requesting this for Fire Red (BPRE). :D Thank you!

    P.S. I love everyone's routine here! Keep it up!
     
    Last edited:

    Dionen

    deprived of sleep
    295
    Posts
    12
    Years
  • This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.
    Please do it! If possible, swapping graphics in general, not only badges
     

    Joexv

    ManMadeOfGouda joexv.github.io
    1,037
    Posts
    11
    Years
  • Well I'm gonna try my request here again, I would like a dynamic wild battle asm script for Emerald please.
    Pretty much the same as jpans where you set some variables and it allows you to switch around the wild pokemon.
     

    Kenny1

    On a break from Rom hacking, to improve other skil
    86
    Posts
    10
    Years
    • Seen Nov 6, 2017
    Please do it! If possible, swapping graphics in general, not only badges

    Swapping images isn't normally hard, or the palette's, its just it has to be hooked differently each time.

    So you want me to switch the badge images? Or the Trainer case thing?
    Or both?

    Also, I'm not to active in hacking any more, but I can try this because it is quite easy.
     

    Dionen

    deprived of sleep
    295
    Posts
    12
    Years
  • Swapping images isn't normally hard, or the palette's, its just it has to be hooked differently each time.
    So you want me to switch the badge images? Or the Trainer case thing?
    Or both?
    Also, I'm not to active in hacking any more, but I can try this because it is quite easy.
    Badge images are priority, but both would be awesome!
     

    PokéMew1

    Pokémon Fuchsia
    484
    Posts
    10
    Years
  • One thing I would REALLY love, that I very much need for my hack, would be making the FireRed bicycle go the same speed as your overworld. I would think that ASM could achieve this.

    Thanks :)

    -PokéMew
     

    Chronosplit

    I play for keeps!
    492
    Posts
    13
    Years
    • Seen May 1, 2024
    Request, I'm hoping this isn't too much trouble.

    The Light Ball Update, how possible is this to port over to Emerald?
     

    Blah

    Free supporter
    1,924
    Posts
    11
    Years
  • Since TM's are re usable with this hack, is there a way to not reset the PP back to maximum? Otherwise this makes PP easy to restore in game.
    Hmm, this is actually hard because of the nature of how the PP exploit works. We would need to know the PP of the TM Move he had 2 TM moves ago. Picture this:

    Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 (iirc) --> Learn Shockwave 20/20

    How do we know to store the initial TM's PP? Also a 50% move losing 5 PP to learn Hyper beam is also a little weird. If you can come up with a solution for this problem, or tell me what GameFreak's solution is, I can help implement. In my eyes you'd store every Pokemon in party's moves learned. To achieve this, you would need 48 bytes of Save-block RAM space, and to update the values when Pokemon are swapped around, moves are learned via lvl/TM/Tutor. I'm curious about GF's solution to this problem.


    I don't know if you have got anything new with the routine I suggested you about keeping the previous track along different maps that have associated different tracks, but I have a new suggestion ;)

    I was wondering if it is possible to have two working textboxes. Like for a dialogue or something ;)

    Sorry, I haven't worked on anything on this thread recently. I've unfortunately been caught by surprise at the workload the community hack off has put on me. Once that's out of the way I'll more clearly solve the music one. As for the textbox one, you can use a showmsg (the one that doesn't close on A-B press) and change it's coordinates (Shinyquagsire found some coordinates in RAM to do this) then open a normal text box. It should hopefully make 2 text boxes on the screen at once.

    This is actually not that difficult to swap the images, idk if anyone's made it for you yet, so let me know, I might just make one more routine.

    This is very dependent on what you're swapping. The solution is probably going to be a rewrite using the same skeleton. Also iirc, the badges are OAMs, not tile/bg graphics. You will need to generate/hide/show these extra OAMs on top of the BG overlay depending on the extra badge flags that have been implemented.

    Small request that I haven't seen around:

    One of the newer features in Gen VI is the add-on to Pokemon in the Undiscovered Egg Group: All members of this egg group will have 3 31 IVs upon being captured or what have you.

    Would be nice to see someone whip this feature up!

    I actually already did this for someone, but haven't released the code it would seem! Let me find it/redo it and then I can post back with a resource.

    Hello guys! :D We can request here, right? I'm here to request something that I'm pretty sure is a work for ASM. A routine that makes all Pokemon automatically regenerate 5HP every other turn in a battle AND a routine for making all Pokemon regenerate 3HP for every step in the overworld. Is that even possible? And if it is, can you make it both in one routine? Anyways, I'm requesting this for Fire Red (BPRE). :D Thank you!

    P.S. I love everyone's routine here! Keep it up!

    Wow. I'm genuinely happy someone requested this. Believe it or not, this exact routine was my first ever routine. Darthatron held my hand through the process, and it's been years since I've done it. I'd be happy to redo it just for the nostalgia :)

    However, I should warn you that fitting it all into one routine is not possible.

    One thing I would REALLY love, that I very much need for my hack, would be making the FireRed bicycle go the same speed as your overworld. I would think that ASM could achieve this.

    Thanks :)

    -PokéMew

    If I'm understanding correctly, you want to make the FR Bike the same speed as the walking overworld? Why is that? That would defeat the whole purpose of the bike. I hope you're not requesting this because you wanted an easy way of swapping the player's OW between two sets. If that's the case, you mustn't forget running shoes on/off. While I doubt something that stupid is your motive, I'm very curious what you'd use it for. Perhaps it's something I'm just not seeing.

    Request, I'm hoping this isn't too much trouble.

    The Light Ball Update, how possible is this to port over to Emerald?

    As a FR hacker, I have no clue. I do think it's just a matter of pointer changing.



    Small update
    You may have noticed that I'm not very much frequenting around this thread anymore. It's because I'm busy with the community hack-off. Once that's done, I have a few pretty useful routines which most people will probably appreciate.

    Currently I have done, and have yet to release:
    - Frontier Battle Routines
    - Party/Opponent randomizer
    - Automatic level curve/difficulty setting
    - Field Moves
    - OAM generation/manipulation routines
    - Naming routines
    - Button detection routines (for mini games!)

    My main issue is my lack of motivation to write out explanation posts. I'm a little lazy to write out the specifications needed :x
     

    PokéMew1

    Pokémon Fuchsia
    484
    Posts
    10
    Years
  • If I'm understanding correctly, you want to make the FR Bike the same speed as the walking overworld? Why is that? That would defeat the whole purpose of the bike. I hope you're not requesting this because you wanted an easy way of swapping the player's OW between two sets. If that's the case, you mustn't forget running shoes on/off. While I doubt something that stupid is your motive, I'm very curious what you'd use it for. Perhaps it's something I'm just not seeing.

    Well, my intent was to use the bike as, well, a key item called the dive suit. Its an item needed to access a certain place in the game (underwater as you may guess). The bicycle has a number of features that the running shoes do not to make things a hell of a ton simpler. For one, it is an actual item, rather than a flag. Also, the bike has its own soundtrack, where as the running shoes simply stick with the current sound track playing. That was one thing I felt this suit must need, a custom track (which I already inserted in sappy.) Now, if these things could be done to the running shoes using ASM (But I'd imagine that making the shoes an actual item and have its own sound track would be awfully complicated) thats another story, but for now I've just decided to use the bicycle as the thing to replace, I didn't find myself using the bike in the games anyways, mainly the shoes. It only has a tiny bit of a speed difference anyway.

    That was my motive :)

    So, possible?
     

    destinedjagold

    You can contact me in PC's discord server...
    8,593
    Posts
    16
    Years
    • Seen Dec 23, 2023
    Hmm, this is actually hard because of the nature of how the PP exploit works. We would need to know the PP of the TM Move he had 2 TM moves ago. Picture this:

    Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 (iirc) --> Learn Shockwave 20/20

    How do we know to store the initial TM's PP? Also a 50% move losing 5 PP to learn Hyper beam is also a little weird. If you can come up with a solution for this problem, or tell me what GameFreak's solution is, I can help implement. In my eyes you'd store every Pokemon in party's moves learned. To achieve this, you would need 48 bytes of Save-block RAM space, and to update the values when Pokemon are swapped around, moves are learned via lvl/TM/Tutor. I'm curious about GF's solution to this problem.

    Hm... How about a lazy method of doing this?
    Like this...

    Have 10/20 Shockwave -> Learn TM Hyperbeam 5/5 --> Learn Shockwave 5/20

    Simply keep the numerator and only run a check if it's greater than the denominator. If the numerator's greater than the denominator, then make both values equal. :3
     
    3,044
    Posts
    9
    Years
  • Small update
    You may have noticed that I'm not very much frequenting around this thread anymore. It's because I'm busy with the community hack-off. Once that's done, I have a few pretty useful routines which most people will probably appreciate.

    Currently I have done, and have yet to release:
    - Frontier Battle Routines
    - Party/Opponent randomizer
    - Automatic level curve/difficulty setting
    - Field Moves
    - OAM generation/manipulation routines
    - Naming routines
    - Button detection routines (for mini games!)

    My main issue is my lack of motivation to write out explanation posts. I'm a little lazy to write out the specifications needed :x

    Can you be a more specific with the naming routines? Seems interesting :D
     
    457
    Posts
    10
    Years
    • Seen Apr 9, 2024
    Can I request to have this thread to have examples of scripts (I mean the scripts which are XSE based)? Since a lot of people ask those here while checking ASMs. I think this should be started in the future posts of new ASMs (well, if you have effort enough to edit every single ASMs posted, then do so).
     
    Back
    Top