• 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
I have a request. I am working on a *cough, cough*secret Christmas hack.*cough, cough* And the main character is a pokemon. So obviously I would like to be able to use him in fight but something that is pushing me away from that is when you send out a pokemon the trainer flys off the edge throwing a pokeball. Hopefully this sint too much graphical since its not adding any graphics. But could you make a routine that if a certain pokemon is in the front of your party and not fainted it doesnt slide the backsprite out, and doesnt say soandso sent out Arceus?

This is actually the same problem as trainer sliding. From what I've investigated, the slide in routine for the player sprite is recycled by the Pokemon sprites you send out as well. It's a dual purpose bit of code, if you will. So it's not as simple as just removing it, I'll try to find where the player part is actually generated later.

Party Stat Checker


I promised someone that I'd post this once I found it. Well, I found it :P

How to insert:
Compile the following routine into free space:

Spoiler:


Usage:
setvar 0x8001 0x[stat you want to retreive]
setvar 0x8000 0x[value you want stat to match]
callasm 0x[routine +1]

The return value will be stored in var 0x8000

Here's a brief list of useful stats you may be interested in checking:
Spoiler:
 
Last edited:

Akiba

[img]http://i.imgur.com/o3RYT4v.png[/img]
4,262
Posts
13
Years
Just a warning. I'm going to use the snot out of this thread once rhdp is ready.
 

Turtl3Skulll

Blue Turtl3
76
Posts
10
Years

Pokemon Storage Addon: Full Party Swap


So last time I did just a quick swap one Pokemon at a time. Here I made some code basically "mass-swap" the storage and the current Player's party all at the same time

Usage:
Just callasm to the routine +1. Be careful though, always check that the storage isn't empy. You can swap out your entire party for no Pokemon and create a nice little bugged questionmark when you open the Pokemon menu (the one in my avatar :3).

So is there a way you can trade back the pokemon, for example in your video would you be able to get the ditto back from the same guy or would a new script or routine need to be added to do this??

Also when they are in "storage" are you referring to the pokemon storage system or your storage??

How do you select the pokemon that will be traded in??
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
You had the right thread before, lol. It goes in the ASM help thread. This is my resource thread :P
1. A registers data depends on what's been put into it, and how the things inside it have been manipulated. There's a lot of ways to manipulate the contents of registers too. Pushing doesn't set value to a register, no.
2. .VAR is a label. Normally, you use it as a replacement for typing out the entire address. Technically you can just do ldr rx =(address), it's the same as ldr rx, .VAR
3. An ASM routine can do that, but ASM is mainly used to manipulate game mechanics via game code. You can manipulate the RAM in scripts, though much less efficiently and much slower.
4. Once the data is popped, the routine goes back to the pointer in the link register. Though for scripts and such, once the routine which you call via callasm pops the pc (program counter) it's generally done (unless you pushed it again prior).



Pokemon Storage Addon: Full Party Swap


So last time I did just a quick swap one Pokemon at a time. Here I made some code basically "mass-swap" the storage and the current Player's party all at the same time.

How to insert:

Compile and insert into free space the following routine:
Spoiler:


Here is a compiled version:
Code:
3F B5 00 23 06 2B 0F D0 20 48 50 21 59 43 40 18 20 4A 64 21 59 43 89 18 50 22 08 B4 1E 4C 00 F0 34 F8 08 BC 01 33 ED E7 00 23 06 2B 18 D0 19 48 64 21 59 43 40 18 16 4A 50 21 59 43 89 18 50 22 08 B4 15 4C 00 F0 21 F8 08 BC 12 48 64 21 59 43 40 18 08 B4 11 4C 00 F0 18 F8 08 BC 01 33 E4 E7 0B 48 0A 49 F0 22 52 00 0B 4C 00 F0 0E F8 08 48 01 38 00 78 0A 49 08 70 0A 48 00 78 04 4A 01 3A 10 70 08 48 09 78 01 70 3F BD 20 47 2C 40 02 02 01 C0 03 02 84 42 02 02 09 0B 04 08 7D E4 03 08 B8 70 03 02 29 40 02 02

Usage:
Just callasm to the routine +1. Be careful though, always check that the storage isn't empy. You can swap out your entire party for no Pokemon and create a nice little bugged questionmark when you open the Pokemon menu (the one in my avatar :3).

This time instead of a script I present to you a video :D

Link in case embedded fails: https://www.youtube.com/watch?v=haPE6iohJMY

OH! MY! GOD!
So this routine will work like PC Boxes? The limitation is six Pokemon,
Does the script you gave in your previous work of POKEMON STORAGE?
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
My Suggestions
SetFlag Evolution Item effect
So this kind of routine is not similar in Evolutionary stones...
It will check if Flag/Var is set,
if it has been set, it will go to evoultion method.
My aim for this routine is, this item will be used once, so that it will not be abused because the item was really special, by the way, You linked somewhere in this thread about the thread that calls a script in an item effect, but it will be done only in JPAN hacked engine, Im not using JPAN hacked engine, in Darthartron thread, Instead of generating script, the game restarts, have you tried his code? or do you have an alternate routine that really works?
I also saw your post in Karatekid ASM tool, do you have that tool? In his thread, the download link is broken.

Naming the Player from the overworld
Well, this is an optional request, but Ill try, After Oaks Welcome message, instead of asking if you are Boy or Girl, it will automatically warp in the players room, when pressing "Start" either ????? will appear instead your name or Your name will not appear until you set a var.

Routine for Kanto Dex Limiter
You will just overwrite some data's, afaik, so that we are able to add more than 255 Pokemon in Kanto Dex.

Expanding Pokemon Habitat pages
Forgive me if this involves Graphics, I really dont know if it requires graphic editing. In Mountain, there are 16 Pages, since every habitat composed of 4 pokemon entries, we are limited to put in habitat pages are newly expanded pokemon. So my request is to let it or other pages to expand its maximum. or...

Deleting the habitat portion
Instead of Expanding, youll delete this feature so that it will now look like RSE. Because I dont even know why the game inserted that feature.

My Question
About your Pokemon Storage routine, Is it possible to swap pokemon although that is not yours? or you didnt caught it?
 
Last edited:

MrDollSteak

Formerly known as 11bayerf1
858
Posts
15
Years

Pokemon Storage Addon: Full Party Swap


So last time I did just a quick swap one Pokemon at a time. Here I made some code basically "mass-swap" the storage and the current Player's party all at the same time.

This along with the other code is a great addition. A sort of Battle Box if you will!

So when you put a Pokemon that evolves by trade in there, when it comes out it will evolve?
Is that done through using your other unseen evolution hack, or is it treated as a trade?
 

kearnseyboy6

Aussie's Toughest Mudder
300
Posts
15
Years
  • Seen Jun 22, 2019
My Suggestions
SetFlag Evolution Item effect
So this kind of routine is not similar in Evolutionary stones...
It will check if Flag/Var is set,
if it has been set, it will go to evoultion method.
My aim for this routine is, this item will be used once, so that it will not be abused because the item was really special, by the way, You linked somewhere in this thread about the thread that calls a script in an item effect, but it will be done only in JPAN hacked engine, Im not using JPAN hacked engine, in Darthartron thread, Instead of generating script, the game restarts, have you tried his code? or do you have an alternate routine that really works?
I also saw your post in Karatekid ASM tool, do you have that tool? In his thread, the download link is broken.

Naming the Player from the overworld
Well, this is an optional request, but Ill try, After Oaks Welcome message, instead of asking if you are Boy or Girl, it will automatically warp in the players room, when pressing "Start" either ????? will appear instead your name or Your name will not appear until you set a var.

Routine for Kanto Dex Limiter
You will just overwrite some data's, afaik, so that we are able to add more than 255 Pokemon in Kanto Dex.

Expanding Pokemon Habitat pages
Forgive me if this involves Graphics, I really dont know if it requires graphic editing. In Mountain, there are 16 Pages, since every habitat composed of 4 pokemon entries, we are limited to put in habitat pages are newly expanded pokemon. So my request is to let it or other pages to expand its maximum. or...

Deleting the habitat portion
Instead of Expanding, youll delete this feature so that it will now look like RSE. Because I dont even know why the game inserted that feature.

My Question
About your Pokemon Storage routine, Is it possible to swap pokemon although that is not yours? or you didnt caught it?


2 - http://www.romhack.me/database/12/pokémon-firered-v1-0-player-rival-name-data/

3 & 4 - http://www.pokecommunity.com/showthread.php?t=205158&page=3

Please do some research yourself before requesting hacks.
 
35
Posts
10
Years
  • Age 37
  • Seen Jul 27, 2016
This along with the other code is a great addition. A sort of Battle Box if you will!

So when you put a Pokemon that evolves by trade in there, when it comes out it will evolve?
Is that done through using your other unseen evolution hack, or is it treated as a trade?


i guess is using his silent evolution metod.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years

Blah

Free supporter
1,924
Posts
11
Years
So is there a way you can trade back the pokemon, for example in your video would you be able to get the ditto back from the same guy or would a new script or routine need to be added to do this??

Also when they are in "storage" are you referring to the pokemon storage system or your storage??

How do you select the pokemon that will be traded in??

Hi, it's a party swap. I'm able to take, trade back as many times as I want. This is an add-on if you will to the Pokemon storage routine from before (this one swaps the entire party). The last one is used to swap 1 at a time :)

I'm in the works of making a "switch" routine for this, which will allow you to do the common "PC-Party" swap for when both the storage and your party are full. That should allow you to swap x amount of Pokemon at a time.


OH! MY! GOD!
So this routine will work like PC Boxes? The limitation is six Pokemon,
Does the script you gave in your previous work of POKEMON STORAGE?

As I stated before the limitations are actually just over 48. If you don't use JPAN's FR engine you can get 65 slots (which I really don't recommend using THAT much space for just Pokemon storage).

The script from last time is a means to swap 1 Pokemon at a time.

My Suggestions
SetFlag Evolution Item effect
So this kind of routine is not similar in Evolutionary stones...
It will check if Flag/Var is set,
if it has been set, it will go to evoultion method.
My aim for this routine is, this item will be used once, so that it will not be abused because the item was really special, by the way, You linked somewhere in this thread about the thread that calls a script in an item effect, but it will be done only in JPAN hacked engine, Im not using JPAN hacked engine, in Darthartron thread, Instead of generating script, the game restarts, have you tried his code? or do you have an alternate routine that really works?
I also saw your post in Karatekid ASM tool, do you have that tool? In his thread, the download link is broken.
No, I don't have his tool. If you're having troubles with assembling routines, ask in the Assembly help thread. Most of these things I don't know. What I do know, is that you can just activate the evolution routine in the same script you set the flag, and it will create that effect, lol.

Naming the Player from the overworld
Well, this is an optional request, but Ill try, After Oaks Welcome message, instead of asking if you are Boy or Girl, it will automatically warp in the players room, when pressing "Start" either ????? will appear instead your name or Your name will not appear until you set a var.

Routine for Kanto Dex Limiter
You will just overwrite some data's, afaik, so that we are able to add more than 255 Pokemon in Kanto Dex.

Expanding Pokemon Habitat pages
Forgive me if this involves Graphics, I really dont know if it requires graphic editing. In Mountain, there are 16 Pages, since every habitat composed of 4 pokemon entries, we are limited to put in habitat pages are newly expanded pokemon. So my request is to let it or other pages to expand its maximum. or...

Deleting the habitat portion
Instead of Expanding, youll delete this feature so that it will now look like RSE. Because I dont even know why the game inserted that feature.
All of these have been done before. Look around in the quick research thread. However, I'm not sure about the habitat deletion. I don't see the harm in keeping it :x

My Question
About your Pokemon Storage routine, Is it possible to swap pokemon although that is not yours? or you didnt caught it?
Hi, yes it is, with cleaver use. The algorithm is this:
1) Call routine to swap party and storage.
2) Use the addpokemon script command to add pokemon to the party (without buffering to chat - keep it silent)
3) Once the party you want is formed, call the swap party routine again.
That will put into the party a team the player hasn't caught before.

This along with the other code is a great addition. A sort of Battle Box if you will!

So when you put a Pokemon that evolves by trade in there, when it comes out it will evolve?
Is that done through using your other unseen evolution hack, or is it treated as a trade?
You will need to have a script that calls a routine to read species. Depending on the return you'll want to call the evolution routine the specific slot of the Pokemon you're evolving (I made a party stat checker routine above that can give you the slot of a particular species.)
The potential is definitely there. You can use this for other things like, Pokemon renting for either battling events or perhaps other events.


lol. Thanks.

i guess is using his silent evolution metod.
Yup, thanks.

PPS Addon: Slot purger


PPS = Pokemon Storage System. I made a routine to purge a slot, maybe if you wanted to wipe previous storage contents and fill it in with your custom content, this will help.

How to insert:

Spoiler:


Here is a compiled version.
Code:
0F B5 18 48 00 78 05 28 0D D0 05 28 1A D8 05 22 12 1A 50 23 5A 43 12 49 58 43 40 18 1B 18 19 1C 11 4B 00 F0 1B F8 0E 48 C8 21 49 00 40 18 00 21 50 22 0E 4B 00 F0 12 F8 09 48 01 38 02 78 01 3A 02 70 0F BD 06 48 F0 22 52 00 00 21 07 4B 00 F0 05 F8 03 48 01 38 00 21 01 70 0F BD 18 47 C0 46 01 C0 03 02 C0 70 03 02 09 0B 04 08 D9 5E 1E 08

Usage:
setvar 0x8004 0x[slot you want to purge]
To purge the whole storage set it higher than 0x5.

That's it :D
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
Hi, it's a party swap. I'm able to take, trade back as many times as I want. This is an add-on if you will to the Pokemon storage routine from before (this one swaps the entire party). The last one is used to swap 1 at a time :)

I'm in the works of making a "switch" routine for this, which will allow you to do the common "PC-Party" swap for when both the storage and your party are full. That should allow you to swap x amount of Pokemon at a time.




As I stated before the limitations are actually just over 48. If you don't use JPAN's FR engine you can get 65 slots (which I really don't recommend using THAT much space for just Pokemon storage).

The script from last time is a means to swap 1 Pokemon at a time.


No, I don't have his tool. If you're having troubles with assembling routines, ask in the Assembly help thread. Most of these things I don't know. What I do know, is that you can just activate the evolution routine in the same script you set the flag, and it will create that effect, lol.


All of these have been done before. Look around in the quick research thread. However, I'm not sure about the habitat deletion. I don't see the harm in keeping it :x


Hi, yes it is, with cleaver use. The algorithm is this:
1) Call routine to swap party and storage.
2) Use the addpokemon script command to add pokemon to the party (without buffering to chat - keep it silent)
3) Once the party you want is formed, call the swap party routine again.
That will put into the party a team the player hasn't caught before.


You will need to have a script that calls a routine to read species. Depending on the return you'll want to call the evolution routine the specific slot of the Pokemon you're evolving (I made a party stat checker routine above that can give you the slot of a particular species.)
The potential is definitely there. You can use this for other things like, Pokemon renting for either battling events or perhaps other events.



lol. Thanks.


Yup, thanks.

PPS Addon: Slot purger


PPS = Pokemon Storage System. I made a routine to purge a slot, maybe if you wanted to wipe previous storage contents and fill it in with your custom content, this will help.

How to insert:

Spoiler:


Here is a compiled version.
Code:
0F B5 18 48 00 78 05 28 0D D0 05 28 1A D8 05 22 12 1A 50 23 5A 43 12 49 58 43 40 18 1B 18 19 1C 11 4B 00 F0 1B F8 0E 48 C8 21 49 00 40 18 00 21 50 22 0E 4B 00 F0 12 F8 09 48 01 38 02 78 01 3A 02 70 0F BD 06 48 F0 22 52 00 00 21 07 4B 00 F0 05 F8 03 48 01 38 00 21 01 70 0F BD 18 47 C0 46 01 C0 03 02 C0 70 03 02 09 0B 04 08 D9 5E 1E 08

Usage:
setvar 0x8004 0x[slot you want to purge]
To purge the whole storage set it higher than 0x5.

That's it :D

Hi FBI, sorry uhh, What will be the entire script?
When Im trying to implement your Pokemon Pc routine I stucked, I dont know how to make it start..

and my Request #1
Is that acceptable?
 

Blah

Free supporter
1,924
Posts
11
Years
Hi FBI, sorry uhh, What will be the entire script?
When Im trying to implement your Pokemon Pc routine I stucked, I dont know how to make it start..

and my Request #1
Is that acceptable?

You would need to edit the item script to have the evolution routine call. Checking a flag often enough to evolve in realtime for a possible evolution would be painful on the system. Just edit the item's use like in Darth's thread. Also, I'm not sure why it doesn't work, ask in the assembly help thread (this is a resource thread).


PSS Experience gains:

(Pokemon storage system =PSS - it's a thing now)
So it's quite possible that you want to somehow implement experience gains to these stored Pokemon. Maybe for a daycare-like feature or something similar. Well this routine is for you :P

How to insert:
This is actually a little complicated to insert in comparison to the recent routines I've been pumping out. The reason is because it works exactly the same as FR's daycare, step based experience.

Part 1)
First of all compile into free space the following routine:
Spoiler:


Now in a hex editor navigate to 0x6D5F6. There you will need to insert the following byte changes:
Code:
 01 4A 10 47 00 00 XX XX XX 08
Where XX XX XX is the pointer to where you inserted the above routine +1.

The above was to implement the experience counter. Now we need to implement a routine which will convert the counter into exp, reset the counter, and add the exp to our party Pokemon.

Part 2)
Compile the following routine and insert into free space
Spoiler:


Usage:
The usage for this is derived from clever use of the full party swap routine.
You need to use partyswap to put into your party the storage pokemon. Then you need to callasm to the second routine in this post (Part 2) to apply the exp changes to the stored Pokemon, and finally end off without another partyswap call to revert the earlier swap.

You should only apply this routine when the player is attempting to retrieve their Pokemon. Otherwise the counter is designed to store 0xFF + 0xFFFF * 0xFF experience points.
That's 16, 711, 680, which is enough to level a Pokemon almost from 1-100.
 
Last edited:
33
Posts
10
Years
  • Age 28
  • Seen Sep 23, 2022
I'll start by answering your last question. Read HackMew's tutorial on ASM, he explains how to compile and the execution for this first tutorial is quite easy. I personally wouldn't bother with his part two, that was a rather large step between part one and two. If you have questions, there's an Assembly help thread in the beginner's lounge.

For your suggestions:
- Make gym leader decline if you have less/more Pokemon. Use "countpokemon" it's a scripting command and checks how many Pokemon you have returning 0-6 in variable 0x800D (Lastresult)

- Level checker. I made a more powerful version of a "party checker" it's lying around in my research folders. I'll post it as soon as I find it!

- I will do your optional request as well, simply because I already have code that's of similar structure :D

-Experience share, I took a look at it now and, this is quite the request. I will try to give it a shot, but I'm not sure if I can do it easily without a lot of time.

daniilS has not made a thread, as far as I know. I think he's going to complete it first, you can talk to him about that I suppose.

1 - Thanks, I'll definitely take a look at it.

2 - Is that basic scripting? Never thought it would be that simple.

3 and 4 - Great job, that's perfect, can't wait to see that in action.

5 - Sorry, I thought it would be simpler.
I'm actually surprised no one even mentioned it before, it was something that easily changed Gen VI grinding so I expected people to already have reverse engineered that before.
No rush though, I know that trying to bite off a lot at once always winds up badly for everyone.

6 - I see, thanks for the heads-up.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
usage for this is derived from clever use of the full party swap routine.
You need to use partyswap to put into your party the storage pokemon. Then you need to callasm to the second routine in this post (Part 2) to apply the exp changes to the stored Pokemon, and finally end off without another partyswap call to revert the earlier swap.

You should only apply this routine when the player is attempting to retrieve their Pokemon. Otherwise the counter is designed to store 0xFF + 0xFFFF * 0xFF experience points.
That's 16, 711, 680, which is enough to level a Pokemon almost from 1-100.

So this routine works like Day Care routine but more than 2 Pokemon? They will get also Experience...
Then the entire script I was asking for is your 2nd and 3rd(now) implementation of Pokemon PC boxes
and how to swap party athough the Pokemon in the party are not yours..
and another one, do you have karatekids tool? the ASM THUMB COMPILER?
 

Blah

Free supporter
1,924
Posts
11
Years
1 - Thanks, I'll definitely take a look at it.

2 - Is that basic scripting? Never thought it would be that simple.

3 and 4 - Great job, that's perfect, can't wait to see that in action.

5 - Sorry, I thought it would be simpler.
I'm actually surprised no one even mentioned it before, it was something that easily changed Gen VI grinding so I expected people to already have reverse engineered that before.
No rush though, I know that trying to bite off a lot at once always winds up badly for everyone.

6 - I see, thanks for the heads-up.

I posted the party checker a few posts back, look for it! (or see first post)
The Average level checker is at the end of this post.

So this routine works like Day Care routine but more than 2 Pokemon? They will get also Experience...
Then the entire script I was asking for is your 2nd and 3rd(now) implementation of Pokemon PC boxes
and how to swap party athough the Pokemon in the party are not yours..
and another one, do you have karatekids tool? the ASM THUMB COMPILER?
Yes, the routine will give exp to all the Pokemon you put into the storage system. You want the scripts that I used for the routines? Umm, ok...they're very rough and pretty unusable though.
Spoiler:


Spoiler:


Spoiler:

No more script requests. This is not a script thread, and as such I won't be posting more scripts unless I feel it's essential to understanding the routines. These recent routines have been rather simple in the sense of how to use them, I don't think they require further instruction. If you're having troubles using/assembling them you are welcome to ask at the appropriate threads. However, unless it's directly relevant to functionality I don't want to answer simple questions here (even though I'm nice, so I end up answering).

Average level of party


Quite like the title, all it does it retrieve the average level of the Pokemon in your party.

How to insert:

Compile into free space the following routine:
Spoiler:


Usage:
callasm 0x[this routine +1]

Lastresult holds the average level of your team.

I haven't tested but should work. If you find bugs ask me.
 
Last edited:

Xela

Do you believe in yourself?
349
Posts
16
Years
  • Age 27
  • Seen Feb 18, 2024
I just wanted to pop in and say that you're doing amazing work, FBI. I'm glad we've got somebody as talented as you to share your knowledge and routines with us. I'm certain this will help a lot of the hackers out.

Now if you would only learn to deal with the graphics.
 

Lance32497

LanceKoijer of Pokemon_Addicts
792
Posts
9
Years
Yes, the routine will give exp to all the Pokemon you put into the storage system. You want the scripts that I used for the routines? Umm, ok...they're very rough and pretty unusable though.
Spoiler:

The highlighted Commands are the same? What I mean, Ill use the same routine for that?
lets say I compiled it in 0x800000 so all the callasm offsets are "0x800001"?
Sorry, I am just confused.

Spoiler:


Spoiler:
Why did you created 3 scripts for that hack?
No more script requests. This is not a script thread, and as such I won't be posting more scripts unless I feel it's essential to understanding the routines. These recent routines have been rather simple in the sense of how to use them, I don't think they require further instruction. If you're having troubles using/assembling them you are welcome to ask at the appropriate threads. However, unless it's directly relevant to functionality I don't want to answer simple questions here (even though I'm nice, so I end up answering).
Sorry, It wont happen again, I just dont know what will be the entire script...

Average level of party


Quite like the title, all it does it retrieve the average level of the Pokemon in your party.

How to insert:

Compile into free space the following routine:
Spoiler:

PSS Experience gains:

(Pokemon storage system =PSS - it's a thing now)
So it's quite possible that you want to somehow implement experience gains to these stored Pokemon. Maybe for a daycare-like feature or something similar. Well this routine is for you :P


Part 1)
First of all compile into free space the following routine:
Spoiler:


Part 2)
Compile the following routine and insert into free space
Spoiler:


Usage:

Im hoping for a compiled version of these ahahahaha

My REQUESTS:

Advancing your Pokemon PC Routine
It would be great if the 2 Pokemon in party slot you handed over to the NPC that has the routine will be able to produce eggs if they are capable of.

Trainers Pokemon with custom Stats
This routine will let you, hacker, customize the opponents Stats, such as HP, ATK and all other stats, It would be great that the player will be surprised for the stats of the opponents pokemon.
 
Last edited by a moderator:

Blah

Free supporter
1,924
Posts
11
Years
I just wanted to pop in and say that you're doing amazing work, FBI. I'm glad we've got somebody as talented as you to share your knowledge and routines with us. I'm certain this will help a lot of the hackers out.

Now if you would only learn to deal with the graphics.
I love you Alex :3

Why did you created 3 scripts for that hack?

Sorry, It wont happen again, I just dont know what will be the entire script...
No, those three scripts do different things.
1) The script in the first PSS post does 1 Pokemon at a time storage and withdrawing from storage
2) the first script from 3 I posted does the stuff from the video
3) the second one from the 3 I posted adjusts EXP
4) The fourth one adds a Pokemon not owned by the player into storage (in that case bulbasaur)

Im hoping for a compiled version of these ahahahaha
Sorry, soon I will make compilations of all the routines in the thread. A lot of people have been requesting this, so I'll get to it next time I have some time on my hands

My REQUESTS:

Advancing your Pokemon PC Routine
It would be great if the 2 Pokemon in party slot you handed over to the NPC that has the routine will be able to produce eggs if they are capable of.

Trainers Pokemon with custom Stats
This routine will let you, hacker, customize the opponents Stats, such as HP, ATK and all other stats, It would be great that the player will be surprised for the stats of the opponents pokemon.

I'm already working on breeding inside storage, and trainers with custom stats have been done by Doesntknowhowtoplay iirc. Ask him about it :P

EDIT: Updating my routine posts with compiled versions. Take a look at the first post for a poorly organised index
 
Last edited:

Blah

Free supporter
1,924
Posts
11
Years

Reset game after loss of a battle

So, wanting to do something similar to older Final Fantasy games, in which the game goes back to the title screen after your party falls, I dove into knizz's IDB and used a lot of trial and error to create this little feature. Let it be my first contribution to ASM hacking.

Use the following ASM:
Code:
.text
.align 2
.thumb
.thumb_func

main:
	SWI 0;

.align 2

Compiled for your pleasure:
Code:
00 DF 00 00

at offsets 0x7F5B6 and 0x7F5D0 to reset the game after displaying the "...player scurried <home/PC>" text.

Credits to FBI for the ASM, shinyquagsire for explaining what this is to me in layman's terms, as well as an improvement, and to knizz for his amazing IDB that helped me find these offsets.

This can be useful for nuzlocke hackers that wish to implement a Savegame delete function when a battle is lost, by simply making a different function, namely, a delete savefile function, and putting a pointer at those offsets instead of my reset code. It can also be useful as a way to create a "GAME OVER" screen of sorts (Just edit the text as necessary). I put those offsets as is because there's enough room for either a very small ASM routine, or a pointer to a location for a different routine in case you want to do more things.

Also, the reason there's two pointers for this is because there's two different cases I have to handle: One for heading back home after losing, and one for heading to the Pokémon Center. That should cover virtually all cases of loss, but I might have missed a few. If I did, let me know, and I'll find and edit in the additional offsets to modify.
Credits to FBI? I didn't do anything, lol. Anyways, I'm glad to see you were able to finish it :)
At least you put up a compiled version :3

Can you create a routine to search for a pokemon and then place its party position in the var 8001
I already made something more powerful than this, it was called "party checker". Check the first post!
 
Back
Top