![]() |
Quote:
|
[FR] Fully Flag-Dependent Start Menu
It's nothing fancy, but this code expands on FBI's routine to swap between start menus, shown here. It also keeps the safari zone start menu intact. Every single start menu option (except Exit) is flag-dependent, so you can add or remove start menu options with simple flag setting/clearing. Spoiler:
for example, with the current definitions, setting flags 0x251, 0x253 would make the start menu be composed of only "Pokemon","[player]", and "Exit". |
Quote:
Code:
|
Since it got mentioned above, I figured I'd post this here.
It's been tweaked slightly so that it only uses armips, rather than the build system I use for my C stuff. All it really did for it was find free space automatically, and, while that's kind of useful, I feel it unnecessarily overcomplicated it. In any case: Clear JPAN Save Block During New Game [FR] Fixes an oddity with JPAN's Save Block Recycle where the saved memory doesn't get zeroed upon starting a new game. Instead, it'll retain whatever it happened to be in the previous save file. To be clear, this does not actually include JPAN's Save Block Recycle itself. |
Unhidden Power [FR]
This routine makes the game calculate and display the actual type of Hidden Power in battle and in status screens. If, for example, a Pokémon's Hidden Power type is Water, it will display as a Water-type move, just like Surf or any other Water-type move. https://github.com/Sagiri/unhidden-power/blob/master/in-battle.png?raw=true https://github.com/Sagiri/unhidden-power/blob/master/status-screen.png?raw=true Note that this only calculates and displays the type, not the base power. |
Evolve by Leveling Up While Holding An Item [FR]
Adds evolution methods to allow Pokémon to evolve by leveling up while holding a particular item. Also included are day and night variations for use with Happiny, Gligar, and Sneasel. Other implementations of this evolution method have a subtle bug - they remove the item even if the player hits B to cancel the evolution. This avoids that. |
Summary Screen Wraps Around [FR]
Allows you to hit Up on the summary screen of the first Pokémon in the party to move to the last Pokémon in your party, and likewise hit Down on the last to move to the first. This change originated in XY and has become standard in all later games. |
Are there news about this feature? (Trainer's Interrupting battles)
I see that Chacha Dinosaur imported it in Emerald, but for Fire Red? |
Did someone ever make a Pixie plate item effect?
|
Hall of Fame Expanded Pokémon Fix [FR]
Fixes an issue where expanded Pokémon above index 0x1FF do not show up correctly in the Hall of Fame. For example, 0x201 would normally show up as 0x1 (Bulbasaur). This is because the Hall of Fame data only allocated 9 bits to the species number, and 0x1FF is the largest number that can be stored in that space; larger numbers only have their lowest 9 bits stored. |
I literally no nothing about Assembly in fire red, but is the limited number of flags in fire red really a problem? Is it not possible to make an ASM routine that can check the value of some offset after 800000 and return a pseudo Boolean value to the last result variable 0x800D (or any other for that matter)? This will probably be an easy yes or no for a lot of you, I was just curious.
|
Quote:
I tried to apply this rutine but i got errors: The change of the OW is lost after the player enter in a menu or enter in a battle. I also inserted the rutine of swap BS, in that i get a problem with the change of the OW after a warp (the OW change to the Hero surfing or the hero in bike) https://i.postimg.cc/1XDTPSvf/Error-OWGIF.gif What can I do? |
Quote:
|
how about in game rival naming
|
Does anyone know if this function (Steven battle for fire red) has been completed? They wrote that it would be enough to insert a line of code to make it complete, but unfortunately it seems that no one has chosen how to insert it.
|
Quote:
|
Quote:
|
Quote:
If I can help, I'll get along well with the fire red scripting :) |
Quote:
Surprisingly though, I noticed just now that it seems to glitch the blue bar containing the different HMs descriptions inside the Pokémon Party menu. Could anyone confirm? https://i.imgur.com/pdFcrC7.png Steps that I did: 1) Inserted the text string in 0x456734 Code:
The result was: Code:
4) Went to 0x9BF64 and wrote: 5D 67 45 08 5) Saved and tested. I'm certainly getting the extra Premier Ball if I purchase 10 Poké Balls. No issues there. The thing is that if I grab a clean ROM and this is the only thing that I add to it, the issue with the blue bar happens :/ |
Quote:
|
Quote:
Anyway, thank you :D! EDIT: Quote:
It looks to me like the Eggs are inheriting 3 stats alone, when they should always inherit 5 stats :/ I've been doing tests using this routine and Jiangzhengwenjz's EV-IV Screen. In my last attempt for example, the results of the Egg were: -03 HP IVs. Charmander has 30 and Ditto 26. -03 Atk IVs inherited from Charmander. -22 Def IVs inherited from Charmander or Ditto (both have 22 Def IVs.) -23 Spd IVs. Charmander has 31 and Ditto 25. -19 SpAtk IVs. Charmander has 31 and Ditto 10. -31 SpDef IVs inherited from Ditto. If we assume that HP is the random stat in this spread, Spd and SpAtk are the issue here. The Egg should have inherited Charmander's or Ditto's values in those stats after all, right? Has anyone tested this yet? |
[FR] Selection from PC Box
This hack allows the player to directly select a pokemon from the pc boxes by modifying the tasks associated with the withdraw function. It doesn't actually do anything with the selection except store relevant data, but this data can then be used in subsequent functions to modify relevant data. Fortunately, I added in some new/updated specials to allow the user to swap pokemon between box and party for things like trading, nicknaming, and checking/setting pokeball types. Adding new specials for other data manipulation is easy enough, and I would be happy to add more if more ideas come to me. Current Special Fixes Include: Spoiler:
Here is the repository. The readme should do an adequate job of detailing the usage. Here is a GIF of using this function with a wonder trade. (credit to sagiri for the dtan system) https://i.imgur.com/zq6pr9c.gif |
Quote:
|
Hello, I am interested in hacking the wild pokemon generator of Fire Red to influence the species in a similar manner as Static and Magnet Pull do in later games. I've searched many places, including this thread, but I have not found a routine for this. Does anyone know if this has been done before? If not, could you kindly give me advice on how to approach this problem? I am new to ASM but I have experience from other languages so I'm not a total beginner. I know how to compile and insert routines.
|
It doesn't break flashcart compatibility if you're using the newest version, but it does mean you can't use Save Editors anymore, and you have to start a new save file. This may not be ideal for everyone (it wasn't for me), so here is the way to free up some RAM that gets saved.
To free up the RAM just do the following: 1. Put 28 E0 at 0x110F24 2. Put 04 20 at 0x11192A 3. Put 70 47 at 0x110AEC 4. Put 70 47 at 0x1123BC This will free up about 8000 flags and 2900 vars (numbers are approximate). Full details are in this post below (ORIGINALLY BY JPAN SO THANK HIM) https://www.pokecommunity.com/showpost.php?p=8795370&postcount=4 The RAM that I used to free up item space started at 0x2026840 and believe me it is plenty of space. What will happen is that you will lose any items currently in your bag after you switch over. So you'll need to deposit them/give them to PC Pokemon if you want to keep them (alternatively you can write a routine to move the data at the original item RAM over to the new one). If you have a previous save file, your bag will be a bunch of junk because the save file wrote stuff in the RAM from the Previously On Your Quest thing. To fix that use this routine: Spoiler:
This routine just makes everything in the RAM range go to zero (so your bag will then be empty and you can put all your items back in). To use the above routine just insert it and then write an NPC using callasm and call the routine. Then just talk to the NPC you gave it to in-game, save and you'll be done. You can delete the routine and the script afterwards if you want to. |
Quote:
|
I've been working on a FR hack for a few months recreating Pokémon Colosseum/Gale of Darkness. About 95% done with the trainer editing (The shadow pokemon concept wasn't really working out as I was having trouble catching a specific pokemon from a trainer's party, so I've just been using the givepokemon command after the battle and using the flags from various overworld item sprites).
I'd really like to add a function where an opponents party level matches the highest in your party, like in the Mt Battle area in those games. Is there a way to set that up in a specific area of the game? Like to pull a certain trainer hex ID into the trainerbattle command and temporarily adjust the levels from their original setting to the highest in your party? Or would entirely new trainers have to be made? I'm leaning toward that because I've tried to find the trainers in the Trainer Tower in FR but they don't seem to be available to edit in trainer editing programs. I've been scouring threads looking for info on this, but haven't had much luck. If anyone is able to help, wants to take a crack at it, or point me in the right direction I'd greatly appreciate it. EDIT I've come across how to get the highest level in my party, but I'm unsure how to have the game temporarily overwrite the trainer's pokemon level with a script, so I was thinking an ASM routine might be the way to go. |
Quote:
Can u make a example script please? I don't understand how to make it (I just read the README text in the repository). Thank you :) |
im using emerald
Hello I wanted to know if there Is a way to make a asm routine that I can call in a script Wich shows a trainer battle sprite anywhere on screen Like a modified showpokepic or something (P.s. i’m Not good at making asm myself so pls design the routine for me) |
Quote:
The usage is essentially: Code:
|
Ok. But how can insert 2 Pokémon in the box? For example bulbasaur e squirtle?
|
Quote:
|
Quote:
|
Quote:
I also posted a script to get the routine working there, but instead of carelessly pasting it in Hastebin like I did here, I've put it in Pastebin. Soo... yeah, here it is. https://pastebin.com/2tv2QX18 |
So because I have a life, I spent way too long yesterday writing a routine to change the measurements for the height and weight in the PokeDex to be in metric (for those who eschew the imperial system).
EDIT: I neglected to have this change the units for SEEN entries as well as CAUGHT entries. I fixed that now. Height (Feet to Metres - (Uncaught Pokemon)): Spoiler:
Height (Feet to Metres): Spoiler:
Weight (Pounds to Kilograms): Spoiler:
|
>Ruby/Saphhire
>nothing to see here Real disappointing considering I'm stuck with a ruby base for certain reasons. |
Quote:
|
Quote:
|
Hello, I am looking to add battle items X Sp Def and X Evasion to the game (And perhaps, if it's workable, X HP)
I do not own IDA Pro, so it's going to be a real challenge trying to locate the correct offsets for the Battle Items. I don't know how it's done, but I guess I can request a tutorial here. I will give credit when requested! This is the location of the battle effect: 0FE4B9 |
I have a great idea for fire red I was thinking of in game player name change like to set the player name to a predefined name.
For example if the player name is David by setflag or setvar it could be changed to Mike I.e.,name decided by the hacker. Sorry if this is too complicated and thanks in advance. |
Quote:
I have a pretty old routine I wrote to change the OT name of your pokemon to the new name based on matching OTIDs, so traded pokemon will retain their OT names. Note that I wrote it a while ago so there may be bugs Spoiler:
|
Does anyone know of a routine that blocks the user from releasing certain species of pokemon?
|
Quote:
Spoiler:
|
Quote:
But thanks anyways. By the way can you help me I'm stuck with the random trainer id and secret id generator routine it won't compile for me please help. |
Quote:
Also for some reasons, sometimes if I give the destiny knot to the other parent or to both it crash when I talk to get the eggs. Did you figure it out? |
Quote:
Spoiler:
eg. if I insert the above at 0x990000, then in XSE I could do the following to force the player's name to be Fred. Code:
Quote:
|
Quote:
The routine I was talking about is this http://www.pokecommunity.com/showpost.php?p=8536952&postcount=333 |
Quote:
|
Someone help like all the asm routine I compile won't work for some god damn reason someone reply if you know how to fix this and if you post a compiler which works for you it would be more helpful.
|
Quote:
Code:
EDIT: Ok, forgot it. It was a typing mistake on my system path to the DevkitARM bin folder. |
I'm searching for a routine that opens the bag to select an item (like when you give some item to a pokemon from the pokemon menu) and it saves the item ID into a variable. Does anyone know something about it or how to do it?
|
Quote:
|
Quote:
|
Would it be possible to remove the character and rival naming process and make them both a set name in FireRed?
|
[FR] Switch the title screen's "Charizard" tilemap based on a flagCode:
|
Quote:
Also, I noticed that when you change forms it changes the pokemon's level to be one less than it was before. |
Quote:
|
Quote:
|
Quote:
If you still want to use my routine: Spoiler:
(I posted detailed explanation because several people asked me about that routine. ) |
Quote:
The second code works for my expanded mons, but for some reason, when I use it on expanded pokemon it changes the pokemon's name. For example I evolved clefairy into Ribombee and its name turned into SHADOW PU lol what is going on here? |
Hi, I'm new here, don't know if this has been said already, but I've been working on my own hack for a while, I've been stuck at this one thing, i made the evolution stones like water stone, etc, cost like 20,000 pokedollars, but when i go to buy them, i see they cost ?000...when i select it, it shows it's 20,000, i just would like to increase the length of the prices to show 5 digits, i followed the advice of a person named Touched, he said to change 04 to 05 at some offset i cant remeber right now...i changed it to 05 but the game froze, changed it back to 04 and the game went back to normal. Please help me, anyone, I'm doing fire red
|
Quote:
Your answer seems to be there, too! Try following this post and see if it fixes your problems. |
Thanks Ritcher! I thought I could ask here because I thought I needed an ASM code or something, but now I see I just needed to change 3 different value not just two. Thanks I did get the result I needed. And thanks to all you guys being so great at all this ASM coding and being so helpful with your great skill of programming!
|
Quote:
Anyways, I've got my own idea. I don't know how much anyone cares to implement something like this, or if it's even possible. It's a pretty crazy thing to begin with. I'll still ask nonetheless. Would it be possible to modify the GBA games to have two dedicated save files for two different people? The games already use all the space for a second save file to store a backup save. If possible, why not make a more practical use for it? I know that this would cause problems with functions that don't require you to load up a save first, such as New Game, Options, Mystery Gift, GameCube to Game Boy Advance linking, migrating Pokémon to the Gen IV games, and save editing. My idea would be to make it so the most recently used save is the "active" save file. This way these functions interface with the active save, the Options menu reflects the settings of the active user, and New Game will save over the active save. Or, alternatively, change the New Game saving situation to be like the later games where you have to delete a save first. Then you can change the active save by loading up the "secondary" save file, which would now push the other save into secondary status. I've always loved the idea of having multiple save files on one Pokémon cartridge. I know that it'll never be a feature in the official games, early on because of technical reasons (the first couple of generations couldn't handle it) and later on strictly for monetary reasons (buy more copies of the games!). But it'd still be a watershed moment in my eyes for it to become a reality. |
Quote:
|
I'm going to go ahead and feel free to request something. So a while back i wanted to edit emerald to force only super effective moves to deal damage, and i figured the best way to do this was to edit the type chart. After doing that and playing the game, i quickly realized that editing the type chart also applies to status moves (e.g. Toxic, Growl, etc.) which is undesirable. I could have also edited the abilities for every Pokémon to have Wonder guard instead, but i feel like that's taking a lazy approach, and in that situation Slaking not having truant would make it even more over powered. So now that i have free time again i decided to come back to this project, and see if i can finally make this come to fruition. I would do this myself, but i don't understand ASM at all, and through my searching i haven't come up with any info about how i would even go about adding this rule in (I'm guessing it needs to be added to the damage calculation?).
TL;DR Wonder Guard at all times while keeping abilities and status moves in tact. |
i have same issues in pokemon stadium i cant add new types due to next addresses being for moves animations , accuracy and evasion i dont know how to reallocate the chart
|
Can someone please help me with the Sitrus Berry Updates for Pokemon Emerald? I'm a bit new to ASM and not sure if I should run an overworld script with callasm command in game somewhere to change the effect the Sitrus Berry has or if I insert the pointer somewhere else in the Rom to get the desired effect out of the ASM in the First Post.
Diluting the process down to Hex and Free Space finding would be appreciated too! Right now I've got an ASM folder with the thumb compiler. What all would I then need to copy/paste save and convert to HEX? With such a HEX code I'd insert it into freespace ending in 0 and then where do I go from here? |
After spending way too much time tinkering with the build system and README, I can finally present:
Move Item [FR] Black and White 2 introduced a feature where you can move items directly between two Pokémon in your party from within the party menu, rather than having to use the bag as middle man. This ports that feature to FR ROMs. https://github.com/Zeturic/bpre-move-item/blob/master/bpre-move-item.gif?raw=true |
I would like to ask if anyone can do a routine wich maximizes the IV's/EV's stats of my team's first pokemon
|
Having some issues with Spherical Ice's Dive ASM here in this thread: https://www.pokecommunity.com/showthread.php?t=257723
This is the ASM as I inserted it: Spoiler:
I had asked about this in Rom Hacking Help with no luck, since this is an ASM specific thread maybe this is a better place to ask. Basically, it functions but has problems with female players. Firstly, the Dive sprite uses the Dive overworld sprites but with the palette of the normal walking overworld sprites. It does this for both genders, but upon entering and exiting a menu or battle, the palette is corrected to the dive sprite palette. This in itself can be a non-issue if both sprites share palettes. For male players, this is the only issue. The main problem is with female players upon entering a menu/battle, the dive sprite is reverted to the normal walking sprite. This includes behavior as well, no longer bobbing and is now able to run. There's an additional oddity if the dive and walk sprites are different sizes. The reverted sprite appears glitched, but upon another menu/battle, fully reverts to a normal looking walk state. So what's causing female players to undo the dive state like that, and not males? One other thing I noticed is that the underwater fog still appears but the bubbles only appear after entering and exiting a menu. I tried implementing this in both my ongoing project and in vanilla Firered, no change in results. Then I checked diving in Pokemon Gaia, and found that the sprites function perfectly well for both genders, no palette issue, no reversion issue. But that the bubbles not appearing until after a menu thing is there. My main concern is just the female players breaking. The palette and bubbles issue isn't important, I can live with that, but I can't have players walking underwater. |
Quote:
It works completely fine, other than the fact that when I run it, it sets all 6 variables to the IV of the pokemon I specified in the scripts HP IV Spoiler:
I've taken the code and put in comments on each line summarizing what I understand each line to do. Am I mistaken? Am I completely wrong? Spoiler:
with the compiled thing ending up as Code:
Code:
|
Quote:
It works completely fine, other than the fact that when I run it, it sets all 6 variables to the IV of the pokemon I specified in the scripts HP IV Spoiler:
with the compiled thing ending up as Code:
Spoiler:
Everything I have there follows the implementation instructions to a T, yet the memory still shows Code:
|
Hi, first of all I'd like to apologize for the mistake. I haven't tested that code, and it's in assembly so a semantic error here and there tend to be around for some of them. A quick skim through it, it does seem like there is a minor error.
Quote:
That line should be replaced by: Quote:
Quote:
|
Quote:
Code:
|
I'm having a problem with shiny odds, compiled all three parts but when I clear the textbox after receiving my starter the game resets, any idea what I did wrong?
|
[FR] Map Music Loader
This small hack loads map music by a variable rather than the map header (if the variable is set to a non-zero value). just set MUSIC_VAR to some variable value and compile, insert into free space, and overwrite the corresponding bytes at 0x55D70 (found at top of routine). In a script, set the variable to a specific song ID, and the game will play that song ID after trainerbattles and warps (perhaps others that I have not thought of or tested). Spoiler:
Enjoy! |
Quote:
|
headbutt trees (fire red) https://i.imgur.com/OOQuzFF.png so basically i was talking with petuh 2 days ago about how rusty i probably am at strict assembly so here i am! i made a thing Spoiler:
this implements a modified jpan's behavior byte hack so that it takes up far less space (only affects the behavior byte entries it governs). it then adds a new entry, a pointer to the script that's also dynamically compiled. by default, this new one is behavior byte 0xA4! in its purest form, you need to configure the tables and then compile it using your favorite asm compiling software. go to 0x806D1F0 and copy it until the zeros are reached. note that you will need to edit the tables in there as you so desire. each new table needs to be referenced in tableoftables so that the code will read it. copy that over to 0x6D1F0 in your fire red v1.0 rom. that's it! all you have to do. tables are split into entries for each pokemon, each 7 bytes: [2 bytes] - species [1 byte] - lower level [1 byte] - higher level [2 bytes] - item [1 byte] - chance of appearing (when subtracted from the previous entry's chance entry, it gives the specific entry's chance of appearing this will generate a pokemon of the defined species with a random level between lower level and higher level with the item in the table. in editing the tables, there's an .equ for table_amount. edit that to accomodate the new tables; it's currently at 3. now, i tried to label it as well as i could. ask me any questions you have on the code ahaha this system works by loading separate tables based on the second byte in advancemap labeled "behavior byte" when given a certain behavior byte. you know, this one: https://i.imgur.com/iJTYSBk.png in classic amap fashion, this is rather wrong what happens in the code is that all 4 of those are considered one 4-byte word and the game retrieves the values it wants in various fields everything that wants to retrieve a value from this area eventually references 0x8058F1C, or blockinfo_get_field in knizz's idb. it takes the blockinfo and a field value and returns the value of that field. blockinfo_get_field uses the words at 352EF0, or's it w the blockinfo (the 4 bytes from the block editor in amap), and returns the result shifted right by the corresponding entry in the byte array at 352F10. this results in a neat return value. field 0 is the behavior byte field, like the main one, but is also 1 bit from the second byte (it's 9 bits long) the one that is kind of labeled in amap field 1 is then part of the second byte labeled as a behavior byte. this is the field i used in this to try not to rewrite anything too extensively within the second byte, we split it down into bits: [7] [6] [5] [4] [3] [2] [1] [0] field 1 is bits 1-5 (NOT zero!). they are bold in the above example. this is why the grass is 2, and the water is 4; the values for field 1 for these respective values are actually 1 and 2! what this practically means? the second byte is the table number * 2. so if i wanted to use table 3 (the 4th table because of 0-indexing), then i would put 6 in that second field. for ease of editing, a bunch of equ's for various bug pokemon are included in the file. brightpowder is also the only defined item, but that can be changed if you so desire. so that tree in the amap screen up there? it's a headbutt tree (behavior byte 0xA4) that accesses table 2. ONE NOTE ON THIS you have 0x358 bytes to work with here. if you go to 0x806D1F0 in the compiled binary and select all those bytes and the size is over 0x358, then you will be overwriting surfing code. you have up to 0x6D548. this supports easy repointing, be it the tree tables or the script. either way, just uncomment one of the org's and change it to the place where free space is. with all that done, you should have a new headbutt tree system in your game! see you next time~ EDIT: also i have half a mind to take thread ownership. i'll start compiling a list of everything here and links to them w descriptions when i have free time tomorrow and then ask if i can take over after everything is compiled |
Colored Stats based on Nature[RUBY] To implement this feature, only one routine is needed:https://i.imgur.com/sNVysl4.png Spoiler:
After compiling the routine in a free offset, go to 0x09FFBC and overwrite the bytes with 00480047xxxxxx08. Instead of the XX, will be entered the offset of previous routine + 1 and in Little Endian format (example: 08123456 -> 57 34 12 08). |
Quote:
Item Menu doesn't show the item name https://i.imgur.com/6jrzJI6.png Item menu without item show ?????? 0x0 item https://i.imgur.com/qsOA0SB.png Quest Menu doesn't show quest name with activate flag ON https://i.imgur.com/qwwcQAx.png |
This is the code to show icon on pause menu for Ruby by Andrea.. I need help to insert it on emerlad
.THUMB .ALIGN 2 @08071174 00490847XXXXXX08 @080711C8 MOVS R0, #0x16 @coordinata x @08071208 lunghezza cursore @0807120E posizione X cursore PUSH {R0-R7} LDR R1, = 0x06008020 LDR R0, = 0x087200D0 MOV R2, #0x15 LSL R2, #4 SWI 0xC LSL R2, #2 ADD R0, R2 MOV R3, #1 LSL R3, #10 LDR R1, = 0x0202EC48 MOV R2, #8 SWI 0xC LDR R4, = 0x0202FEB3 LDRB R4, [R4] CMP R4, #0x16 BNE ICONE ADD R1, R1, R3 SWI 0xC ICONE: MOV R6, #0 MOV R0, #1 LSL R0, #11 ADD R0, #1 BL CHECKFLAG CMP R0, #0 BEQ PARTY ADD R6, #1 MOV R0, #0 MOV R1, #0 BL SPAWN PARTY: MOV R0, #1 LSL R0, #11 BL CHECKFLAG CMP R0, #0 BEQ ALTRO MOV R0, #1 ADD R6, #1 CMP R6, #2 BEQ CONTROLLO MOV R0, #0 CONTROLLO: MOV R1, #1 BL SPAWN ALTRO: LDR R5, = 0x0202E8FD LDRB R5, [R5] MOV R7, #2 LOOP2: MOV R0, R6 MOV R1, R7 BL SPAWN ADD R6, #1 ADD R7, #1 CMP R6, R5 BNE LOOP2 FINE: POP {R0-R7} POP {R4-R7,PC} SPAWN: LSL R0, #7 LDR R2, = 0x0600F8A8 ADD R0, R2 MOV R3, #6 MUL R1, R3 ADD R1, #1 MOV R2, #0xC0 LSL R2, #8 ADD R1, R2 MOV R2, #0 MOV R3, #0 LOOP: STRH R1, [R0] ADD R0, #2 ADD R1, #1 ADD R2, #1 CMP R2, #3 BNE LOOP ADD R0, #0x3A MOV R2, #0 ADD R3, #1 CMP R3, #2 BNE LOOP BX LR CHECKFLAG: PUSH {R0} LDR R0, = 0x08069341 MOV R10, R0 POP {R0} BX R10 |
I want to change the amount of experience given by pokemon in Fire Red. I could go through and manually update the values of each pokemon, but I'm just wondering if anybody knows where to find the offset where the experience formula is.
|
Quote:
I have tried to amend the routine by simply changing the memory location in the routine under .STORAGE. However, unfortunately the game freezes when the ASM routine is called. What is the best way to relocate the storage system to free memory space? Am I missing something obvious? Thanks in advance for any help! |
Functional Pokérus [FR]
This allows Pokérus to be caught randomly, spread between Pokémon, and (optionally) cured. It also includes a specialfor checking if a Pokémon in the player's party has Pokérus, for use in a Nurse Joy script. Curing Pokérus is based on walking around, not on an RTC. Several of the Pokérus related functions included here were lifted directly (or with small modifications) from pokeemerald. Let me know if you have issues. |
More Options For In-Game Trades [FR]
It allows you to have In-Game Trades that come with/at/in:
You can also use it as a sort of trade editor, because it extracts the in-game trade data from your ROM in a compilable form you can modify. Let me know if you run into issues. Spoiler:
|
Quote:
|
Is it possible to make gym leaders have Pokemon based on your average party level ?
|
Quote:
I need help for pokemon ruby routine: Spoiler:
|
Quote:
|
Shiny ShowPokePic (For FireRed)
If you use these two routines, then if you set Var 0x8003 to 0x1, before using the showpokepic command in an NPC script, then the Pokemon in the resulting picture will appear Shiny! Spoiler:
Spoiler:
https://i.imgur.com/e8dsgRM.pnghttps://i.imgur.com/KRqGbo2.png (First picture is with 0x8003 = 0x1, second is without). |
Quote:
|
Quote:
EDIT: It works if you change the Pokemon data location. |
Greetings, everybody.
Question: Has anybody got the Rival Naming Routine by Jambo51? I believe the post [link] has died. Any help would be appreciated, and I under stand if Jambo has prohibited from spreading it. This isn't a request, but a favour. Cheers. |
Hey all, I have a question that I was hoping someone here could help me out with. Spherical Ice was kind enough to send me some scripts and routines for me to edit to implement the "Madam Celadon" NPC feature from the Let's Go games into my Fakemon FireRed hack - you know, an NPC you talk to which predicts the nature for future encounters, at least for a set amount of time - or, steps. The first two scripts and the first asm routine I don't have any trouble editing and inserting, but the second asm routine gives me some error messages that I don't really know how to tackle. I hope it's cool if I post everything here.
The "Mrs. Nature" script is inserted at 3B1B44 The "Nature manipulation" routine is inserted at 34F050 The "Wore off" script is inserted at 3ADDD4 And the "Pedometer" routine is supposed to be inserted at 3ADE14, but I can't convert it to a .bin file without getting these error messages: Code:
Anyway, here's what I got from Spherical Ice, all credit goes to him. I hope it's okay to post this here, he was a little too busy himself. Everything is pretty much the way I've inserted it - I'll edit the dialogue later, but other than that, the offsets and everything should match the way I've been inserting these. Spoiler:
|
Hey everybody. First I would like to thank Andrea for successfully porting the physical/special split to Pokémon Ruby. Can someone take his ASM routine and update it to work with an expanded move table?
Spoiler:
In my modification the attack table starts at offset 0x900000. If more information is needed about my offsets I can provide that. |
Quote:
AttackData=1FB12C |
Quote:
Spoiler:
|
Quote:
Spoiler:
OG post by tajaros |
Quote:
|
| All times are GMT -8. The time now is 8:46 AM. |
![]()
© 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.
Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.