![]() |
Hello. I'm interested in an edit that makes Emerald generate all IVs of all encountered Pokemon at 31. What's the best way to go about this?
|
I want to know how it would be to create mysterious gifts
|
Quote:
|
Quote:
|
I'm practicing ASM and made a fun little routine for Firered (with some help from Spherical Ice) that counts the amount of Rare Candies the player has used.
If you want to punish your players for cheating by hacking in candies, then this might be of use to you. Spoiler:
After inserting this in a word-aligned offset, go to 0x1263F6 and place: Code:
This routine will automatically add 1 to the variable you chose each time the player uses a rare candy. How you handle the variable in a script is all up to you! |
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
I guess FBI made his own to have better control over it and to make it compatible with his swarming system. |
There is a way to call a script with ASM? I want to make something like this:
If a flag is set do something, if not set show a message. What's the command I use on a routine to make it work? |
Quote:
Code:
Hope this helps :D |
Quote:
EDIT: Haven't worked, I tested running it by another routine, I tested it by running from the START menu, but haven't worked. |
Quote:
|
Quote:
|
Quote:
I'm still learning. |
Quote:
Something like this.... (I have no knowledge of ASM) Code:
|
how can i manipulate the mysterious gift system in FR?
|
Quote:
The code looks strange. I'm guessing it could be improved somehow, but it works: Code:
|
Quote:
i guess i forgot to edit my post with what i had posted here and here muchas gracias amigo~ i'll edit my old post and direct to your method as well x3 |
I hope this is the right place to ask, but I was wondering if anyone knows how to edit the following routines so that they don't end the script after completion? For example, use callasm 0x8XXXXXX and then continue with a msgbox, etc..
Naming the player from the overworld: callasm 0x809FC91 And Jambo's rival naming script: Code:
|
Quote:
|
Quote:
Code:
|
Quote:
|
Quote:
Change the A9 at 0x9FD54 to C5 and then try to callasm 0x809FD31. (It's from my old note in firered db, so i'm not sure whether it's correct or not...) |
Quote:
EDIT: actually it turns out that edits the players name instead of the rival's name EDIT 2: looks like setting 0xA9 at 0x9FCB4 0xC5 fixed both naming the player and Jambo's routine (or I had made a mistake using it initially). Setting 0xA9 at 0x9FD54 to 0xC5 doesn't appear to change this either, but callasm 0x809FD31 will overwrite the player's name instead of the rival's |
REQUEST for change this ROUTINE for FIRE RED
The user Andrea make this awesome ASM for icon in menu like DPPt, Quote:
the routine is it: Spoiler:
i no have knlowledge for ASM and i really love with some ASM expert convert it for FIRE RED and EMERALD, because it is very beautifull, and make a awesome hack improve. BUGS: -No have icon for dex nav- when this flag is active bug it (R, EM) -when the player enter in map with some wheater the icons bug, probably are using same location memory pal used for it https://i.imgur.com/OvNCIWa.png the original thread of andrea ASM; https://www.pokecommunity.com/showthread.php?p=8880222#post8880222 PLZ port it for FIRE RED and EMERALD |
Quote:
|
Change Daycare Cost [EM]
There's 2 versions of this routine. The first is completely configurable (when you compile it), and the changes you need to make to do so are very simple and explained well in the code: Spoiler:
The second is a little different. Rather than a configurable multiplier, it uses the "XP per step" value as the multiplier, so if you're using this modification to adjust the XP per step amount it will scale the daycare cost accordingly, e.x. 2 XP per step will multiply the normal daycare cost by 2: Spoiler:
Quote:
EDIT: Made some changes to the original code I posted to make it more compact/efficient. For those that were already using the old version, note that the first 2 bytes of the byte edit required have also been changed. |
Request! 1) Load 240x160 static images into BG1 or BG2 using (image, palette, RAW) table and allow (if possible) use BG0 to load texts (as in the presentation of Oak, Pokédex, etc.) and objects like pokepic, Mugshots, etc. And their respective routine to remove the image. If it is very difficult or impossible with ASM, it can be a routine that loads the image in BG0 and its respective routine to remove it. What I want to do is cinematic with frame sequences. I can not use the diploma hack because I need to make decisions by pressing the A, B and the arrow keys. I tried this routine: FR - Vs. Bar Personalizable but it has no routine to remove the image so in the end I have to do a warp to refresh the screen and erase the image . Finally after 5 continuous frames the game freezes. 2) Load different dialogs in the presentation of Oak depending on the selected genre. What I want to do is a multi-language effect depending on gender. Example: Boy = Spanish, Girl = English. Thanks for the help you can give me. Here is the link to my current project: Pokémon Terranova PD: Sorry for my English |
Quote:
for your second request, just use the checkgender command and branch accordingly. i believe it returns 0 for male and 1 for female para tu primer, prueba esta rutina para tu segundo, usa "checkgender" y haz lo que necesitas. creo que vuelve 0 si eres hombre y 1 si eres mujer pd: doesn't use bg0. can switch it to any other bg easily tho, edit for text and lay an rbox above or something |
Quote:
|
Quote:
|
Quote:
1) I only need to load images (preferably compressed in LZ77) from a table through the control of a variable, in BG1 or BG2 to be able to use the BG0 text box. I think I can do it from the example you left me, although I assume that it does not work with compressed images. Really thank you very much. I am starting in ASM and would like to learn more. And of course how to erase that image, the rest would do with scripting controlling the variable. Finally what doo to do is a system of choice of the initial pokémon this way: So I just need 2 routines. One that loads the image in with the following features preferably: - That depends on the value of a variable (I can do it) - Use a table (image) (pal) (raw) (I can do it) - 16 colors (I can do it) - Image compressed in LZ77 (since I need to insert many images) - Use BG1 or BG2 to use the BG0 to load text boxes and OBJ And another one that safely removes the image from said background 2) What I wanted was for the genre to be selected in Oak's presentation, immediately after selecting boy to show a text; And if you select girl it would show another different text. For example: https://k60.kn3.net/B/C/B/5/0/9/5FC.gif And here I need to know how to point to the next text depending on the gender selected. Thank you in advance for the help you can give me. PD: Gifs are not made since the rom, they were made with sequences of images obviously. |
Hi everyone, does anyone knows how to remove the Field Moves options (like Flash, Dig, Fly...) from the Pokémon menu? Because I want to move them to some place but don't know how to make them never show up when I teach the respective move to a Pokémon. Thanks in advance.
|
Breeding: Same Offspring = Same Species [EM]
This is kind of a continuation of this post. To put it simply, if you put a Bulbasaur and an Ivysaur in the daycare, they produce fewer eggs than if you paired two Bulbasaurs or two Ivysaurs. This changes it so the Bulbasaur+Ivysaur pair produce the same amount of eggs as a Bulbasaur pair (meaning more than they used to). Code:
|
Quote:
Code:
|
JPAN had as part of his engine a way to make wild Pokemon and Trainers have dynamic levels (you can set a variable to certain values to change the levels to your liking, for example: setting the variable to 0x100 makes Wild/Trainer Pokemon levels match your highest Pokemon.)
However I've noticed that this doesn't seem to work with scripted battles (aka setwildbattle). It just uses the level that you buffered regardless of the routine. Is there a way to make scripted battles have levels that match your highest level Pokemon? |
edit: figured it out!
|
Quote:
Code:
|
Quote:
Seems you're quite proficient in ASM. Wonder if you use IDE? |
Quote:
In a way, ARM assembly is really not that different from programming in high-level languages like C. I just look at all the opcodes like functions, registers are variables, etc. Just takes more steps to do a particular task. I've also made use of the no$gba debugger, that's how I find tricks to save instructions, like r0 containing a return address and the usage of r9 to determine which code to run for the stat coloring merger. Sorry, I tend to ramble on and talk a lot. :p |
Quote:
And yeah I use no$gba debugger too, a pretty handy tool. |
Quote:
Code:
|
Quote:
|
Hey, IDK if it is possible, but could it be made so the battle text auto-advances when in battle (like Gen 4)?
So, instead of being required to press A during certain parts (example: challenge, faint, disable, level up, etc), after 1 second, the next line will load. But you can interrupt it with A as well I can make it automatically skip by editing the hex, but it does it immediately. |
i can manipulate the mistery gifts in FR? how?
|
Quote:
So for anyone who has used this they know that only the Pre-Compiled version works, and the routine given does not compile to match either and don't work at all for that matter. Also the Pre-Compiled version does work but has a bug from using Special 0x9F(Choose Pokemon from party). If the player says yes to storing a Pokemon then decides to either press "B" or "Cancel" then the game will jump to the overworld view, glitch out and freeze with a Black screen. Now I worked on this all day and was able to rebuild the Pre-Compiled routine so we could actually have the working source. FBI's - Pre-Compiled Storage System - Disassembled/Rebuilt Routine Code: Code:
Code: Code:
Hope this helps anyone. When I get the time I will see what I can do about fixing the bug as well. Edit_Two: Found the bug! Special 0x9F lets you choose any Pokemon as well as Eggs. And, Special 0xBC lets you choose any Pokemon beside Eggs(used for daycare) When pressing B var 0x8004 is set to 0x07 so I simply added a compare to fix the script. |
Quote:
|
Quote:
will have two dawn stone, one work in male and one work in female, it is correct ? i not understand it well |
Quote:
|
Quote:
|
[FR] Complimentary Premier Ball for purchases of over 9 Poké BallsEver since RSE, the Poké Mart clerk has thrown in a bonus Premier Ball when the player purchases at least 10 Poké Balls. This feature was absent from FireRed, however, presumably for accuracy reasons for the remake factor of the game. To implement this feature, simply assemble the following routine and place a pointer (+1) at x9BF64. Code:
Code:
Code:
|
Someone can convert this asm to EM
is a screen that display IV and EV screens is very usefull https://www.pokecommunity.com/showpost.php?p=9229108&postcount=919 https://i869.photobucket.com/albums/ab256/jiangzhengwenjz/q_zpshnquzant.gif |
REQUEST for FR: A 'givepokemon' routine that allows the user to set custom OT name and TID/SID. (useful for creating legal event pokemon) |
Quote:
Code:
Code:
|
Quote:
|
Quote:
|
Eh, this routine is around the time when I first started. I'm currently very rusty on ASM and haven't tested the fix. Please try this:
Spoiler:
Untested, and may not compile as is. Post updates here please. |
Quote:
|
Quote:
|
Quote:
Code:
Code:
|
Quote:
|
|
Quote:
|
Quote:
Otherwise, it works great :-) |
out of date, see updated post
|
[FR]: Get IVs of a selected POKEMON in PARTY
Spoiler:
|
Here's a short little routine for Firered that recalculates the entire party's stats because I wasn't sure if there was a similiar function.
Spoiler:
|
Feature request [EM][FR if you want] A hacked giveitem command combined with showpokepic to achieve this: http://i.imgur.com/3bqhTRs.png (I made it with paint.net, it's not something I saw in a hack already) PS. if possible the ideal thing would be that in a script you would only use the normal giveitem, so all the already existing scripts would get this feature |
[FR] Ability CapsuleFind 0x1FC bytes of free space at a word-aligned address, and take note of it. Create an item of Type 1 ("Out of battle"). Set the item's Field pointer to the address you noted, plus 1. Assemble the following routine, changing 0xXXXXXX to the address you noted (not plus 1). Open the generated .bin file, navigate to the location address, and select 0x1FC bytes. Copy the bytes and paste them in your ROM, at the same address. Code:
It will fail ("It won't have any effect") if used on a Pokémon whose base stats has two identical abilities, or if one of the abilities are ID 0x0. EDIT 2019/05/29: There was a bug at line 72 where 0 was being stored at a garbage address. It also now checks the species using req_species2 to prevent the Ability Capsule (potentially) working on Eggs, and adds a relevant check (as it turns out, this is technically redundant as the Use menu will not come up for Eggs to begin with, but it's better to redundant than sorry). If you used this routine before this edit's date, I'd recommend updating the ASM to make sure! Thanks to BreadCrumbs/Squeetz for pointing these issues out! |
Probability of Dodging Poke Balls [FR]
This routine uses the wild pokemon's base speed stat to calculate a probability that it will dodge a thrown pokeball (~5-10%). (credits to Urz, shanem7, and ghoulslash for bug finding, scripting, and testing!) MAJOR EDITS: 1. Fixed bugs/battle flag checks for trainer battles/old man/poke dude, and ghost battles 2. Hook insertion changed to be more compatible with other battle routines 3. It adds in the ability to use a custom messages! So you can keep the original ghost battle string the same. 4. Added a check that makes the ball automatically miss if the enemy is in the air/underground/underwater (credit to shanem7 for this idea) 5. Changed it so the base threshold is halved for paralysis instead of an automatic contact 6. You can use the pokeball deflection animation instead of the pokemon dodging animation with your own custom message! See the comment in the code to see how 7. dodgeball rate modifiers based on evasion and speed stat changes 8. substitute causes auto-dodge 9. Wrap effect reduces dodge rate by 1/4 (added 8/5/17) 10. (9/28/18): fixed jump address to not overwrite register NOTE: Safari Balls are unaffected by this routine. Master Ball is also unaffected but can be with an easy change (see comments) Insertion: *NOTE: THE HOOK ADDRESS HAS CHANGED TO 0802D508. REMEMBER TO RESTORE PREVIOUS HOOKS Quote:
The Routine: Code:
Thanks :) |
Quote:
|
Quote:
|
Please give your feedback to potential changes for this thread at this thread: https://www.pokecommunity.com/showthread.php?t=393085
|
Quote:
|
IDEA
I'm trying to add a feature that I'm sure it's possible to do. It consist on showing the real time as a clock do (I inserted RTC system) in the start menu, so in fact, the only thing to do is to display in the start menu a box with text that will be the hour based on the statusbytes located in the specified RAM offset. |
Quote:
I would suggest merging the two routines; anytime before the NoDodge snippet (at the beginning of OtherBall is probably best), just add in: Code:
EDIT: I edited the post to reflect these changes, as well. Thanks for letting me know about that conflict :) EDIT 2: I forgot about the master ball - You should be able to just add those four lines above to the beginning of the routine if you want all Pokeballs to miss. |
Quote:
EDIT: I don't know if you tested, but your updated routine now makes all wild pkmn always dodge. |
Quote:
|
Quote:
I encountered a bug on custom give pokemon. If the specie number is 5, the level of the pokemon will also be 5 no matter what the value you put in var 0x8001. Okay, the real problem here is if your specie number is greater than 411 then the level of the pokemon you get is not correct. EDIT: I have extended Pokemon. I'm using pokefreak890's base EDITEDIT: I found the fix Code:
EDITEDITEDIT: For some reason there are still problems to some Pokemon. Sometimes you get Level 0, sometimes 100, sometimes 58. I hope someone can fix this. |
Hi i was thinking if it is possible to
Make a normal pokegear for fire red with having map,phone as as seen in liquid crystal |
[FR] Synchronize overworld effect
In Emerald and forward, if you have a Pokémon with Synchronize at the front of the party, you'd have a 50% chance of encountering a Pokémon of the same Nature. Here it is in Firered (albeit a bit messy): Spoiler:
|
Quote:
I tried this and it checks the ability just fine, branches when it should, and gets the Synchronize Pokemon's nature, but when I battle and catch the Pokemon, the nature of the caught Pokemon isn't the same as Synchronize's when it should be (I even set 127 to 0 so it would happen 100% of the time). Does it work on a clean ROM for you (or is it just me?) |
Quote:
Did you script a wild battle and test it that way? Iirc, the Pokémon generated from setwildbattle does not run through this function. |
Quote:
At least it's not the routine itself, though. |
So some guy and I were bored and wanted pokemon to have their EVs get calculated after every battle so here it is for FR.
Code:
|
Quote:
|
1 Attachment(s)
Quote:
|
Quote:
|
Quote:
To change the location of where the box is located change X at code+2 and Y at code+4 and to change the width of the box change the byte at code+6. |
Quote:
|
Quote:
Also, the end of the routine says : update_addr: .word update_box + rom). What i'm supposed to do with this, I can't compile it without changing it. |
Quote:
It's pretty self explanatory... |
Quote:
Then it makes a file with a bunch of 00 bytes followed by the assembled code |
Does this version I rewrote a while back work better for you guys?
Code:
|
Quote:
|
Quote:
|
Quote:
I think that is the only issue: Code:
|
Quote:
In this new version is necessary to change the pointer at 0x164? Now, the last thing, how can I use it in a script, I mean, how to store the numbers in variables? Edit: I figured out how to use it but the use of variable 0x8009 is buggy, when i set the number I want it just make a bug and make impossible to use the number selector, so I only can use the variable 0x8008 |
| 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.