![]() |
Quote:
|
Quote:
|
Nature-affected stats colouring routines [FR]:CLICK FOR EMERALD This is probably the least efficient way to do this, but it works. Attack: Code:
Code:
Code:
Code:
Code:
Code:
This colours the stat increased by the Pokémon's nature red, and the stat that is decreased blue. http://i.imgur.com/8IfVLeT.pnghttp://i.imgur.com/ltTHc6K.png Edit: Updated 23/12/2015, the old routines had a few errors that I forgot to update after making changes to my ROM. I've also confirmed what bluefont should be in a vanilla ROM. Enjoy! |
I've noticed significant demand for working Dawn Stone evolutions, specifically ones that require the mon to be a specific gender. My bad if this is already posted somewhere but here y'all go:
Code:
|
Hi~
I've been trying for a few weeks to make an asm routine were you store the species of a party pokemon in a var, but i've had no success. Could anyone help me with this? ^^ |
checkitem hack to store quantity in 0x8008This is probably a relatively esoteric hack, but I found a use for it so I might as well share it. When using the checkitem command, it will now buffer the quantity of said item into the variable 0x8008, and then behaves as usual for the regular usage of the command. The reason I made this was to do something like the following dummy script: Code:
Code:
|
Quote:
I don't know why but for me it doesn't works. I've replaced the XX XX XX XX with the following pointers for each routines Spoiler:
After that, I have replace the two last lines for each of them except for the last one (reverting font) with that : Spoiler:
I've test it with a calm bulbasaur but everything stay black. No blue colour or red colour. |
Quote:
Quote:
|
Quote:
http://i1382.photobucket.com/albums/ah255/maxcollet/Pokemon%20Cloud%20White344_zpsuzz7asy1.png |
The Toggling Runaway doesn't seem to work.
|
Quote:
|
Guys, I really really need this routine, I know it wouldn't be hard for you, I got a bug on my rom and I made a lot of changes in that. The bug is the TM and HM, it doesn't really work properly.
https://z-1-scontent-hkg3-1.xx.fbcdn.net/hphotos-xpa1/v/t1.0-9/12509093_940209062713817_3331187354503156368_n.jpg?oh=492d3fcdee3d2c15f1e97f95d93ec4a8&oe=5702763F So my request is a routine that checks if that pokemon can learn a certain move, var 8004 fpr the Pokemon Specie and var 8005 for the move to check, then that routine will check the table of learnable moves of that Pokèmon. |
Quote:
Code:
|
Quote:
var 8004 is the Pokèmon number and Var 8005 is the TM Number, let's say TM32, it would be 20, then, in var 8004, it will state whether it's 1,l earnable or 0, not learnable |
Quote:
Code:
As for var8004 at the end of routine, yes. After the routine, var8004 will contain 0 for incompatible and 1 for compatible. |
Quote:
Code:
|
Could anyone port the Ability Switching to Emerald? Unless I missed it somewhere...
http://www.pokecommunity.com/showpost.php?p=8533505&postcount=278 |
Quote:
Ability switching: EMERALDVery simple, it turned out to not have to adjust the PID. How to insert: Just compile the following routine into free space: Spoiler:
Usage: Set in variable 0x8004 the slot number of the Pokemon who's ability you want to swap. Note that Pokemon with only 1 ability won't have their abilities swapped. |
Quote:
=\ Any ideas? |
Quote:
Quote:
Spoiler:
I changed that to 4 since I had expanded the TM and HM, then, this is my script: Spoiler:
Var 8004 being the index number of Flygon and Var 8005 being the TM index which is TM 32 Double Team, it always jumps to YES even though I unchecked it. |
Quote:
Also, you saying you "unchecked it" makes me think you were modifying compatibility with a tool. But I don't think any tools currently out even support expanding TMs. You most likely had to expand the table by hand. Did you actually change the length of the compatibility table from 8 bytes per pokemon to 16 bytes? |
Quote:
|
I have tried all weekend and I cant get it. If anyone has the time, Id like some help with the following:
ASM script to check and see if a Pokemon has any moves left in the Pokemon Relearner. Things I know: Special 0xDB pulls up a selection to select a pokemon 0x8005 stores 0 if the pokemon has no moves to learn (From Two Island Move relearner) Not that great at finding code with breakpoints... So i need some help to intercept the above so that when I call the ASM script it will take in the party position and output if there is a move or not. (Basically special DB without thee selection screen + Waitstate) Thanks |
Quote:
|
Well it's not broken but its inconvenient. I have the party position of the pokemon already from previous code, but then to ask the user to select the pokemon in question again is redundant.
Maybe I did a poor job in explaining. What I am after is to mimic the above special 0xDB but skip the selection screen and instead input the variable for party position. I can do most of the work. Just need help locating where the code is located in the ROM. Then I can make a hook & catch. |
Quote:
|
Quote:
|
Hi,
Is making the move tutors reusable doable via ASM, or is there just a specific flag that gets set in their routines that needs to be removed? |
Quote:
|
Quote:
......and fix their text because I changed what most of them teach. Now I have another question concerning the Dawn Stone routine that was posted here, since my ROM contains all the Gen 4 evolutions and I wasn't sure on how I'd correctly work Gallade/Froslass: Spoiler:
Does the "indexes" refer to the indexes of the Pokémon that evolve by Dawn Stone (Kirlia, Snorunt), or the indexes of Pokémon that have evolved from Dawn Stone (Gallade, Froslass)? And.... Spoiler:
What does it mean by main function, and what does the 0x4318e refer to? |
Could someone make a asm thingy for emerald that advances the rtc by game time times 2 or 3? for when you don't actually have an rtc (flashcarts)
|
I don't know if anyone's been working on this lately, but I've been itching to share this.
FireRed lacks a system that uses a Region Dex order seperate from the National Dex. If you were to have a Region Dex and a National Dex, your National Dex would look unprofessional. What I'm putting here is my work towards a Region Dex system for FireRed. I would like to stress however that it is both unoptimized and unfinished, but I really wanted to release this. The current routines Spoiler:
Send me a PM if you're interested in fixing up what's left. |
Cool. Seems very useful so people don't do the "national dex at start" all the time :) But in "Loading the right species," I assume the "bx r1" is meant to be a bl linker? You're never going to reach the mov r5, r0 and return :P
EDIT: meant to quote AngryBird |
Quote:
|
Hey !
So first I want to say, I've really a bad level. I know HOW to put the routine on ROM, and to be honnest, I'm too stupid to understand ALL the routine things. But here's my "little story" So, I wanted to do a FR 1/256 Shiny Rate for myself, because i want to relax a little from always Shiny Hunting like a crazy guy. But it's really a IMPORTANT project for me. I've found this asm thread, found what I wanted. So i've started to learn ASM, but to be honnest not the "what this means" thing. But here's my problem : I did my 1/256 rom. It's working. No problem. Except one (but after speaking with an other guy who did the same he has the same problem) : The gender (or the nature for his case) is always the same. In my case i always have female Shiny. I really would like to keep the random of Gender + Nature for my 1/256 Shiny (like in my 4G/5G 1/256 hack-rom) So I'd to know if somebody can find the way to fix this. For information : I use these : http://www.pokecommunity.com/showpost.php?p=8531430&postcount=249 First the RNNG. http://www.pokecommunity.com/showpost.php?p=8531480&postcount=251 After this one, for the Shiny Pokémon PID Generation (and may be it's the problem ?) and finally my "own" Shiny Rate script : Spoiler:
Any help ? Thank you ! |
Sitrus Berry Update:
Spoiler:
Berry Activation Update: Spoiler:
|
If it is possible can somebody make a asm for sprite switching for gogoat system.
|
May I request an asm for expert belt and focus sash if it's possible? Thanksss!
|
Quote:
|
has anyone ever thought about seperate pokemon storage systems for each region? Or would that be an insane amount of work?
I think itd be really cool |
Quote:
|
Quote:
this is so because of the RAM it takes up even with jpan's saveblock hack, you can add like, what another box and a half? it's not a lot, but it take up a lot of RAM |
Quote:
in the anime ash was only able to bring over a few pokemon i think? |
Quote:
Yes, but that's the anime; the hardware just can't support what you're trying to do. |
Quote:
|
I like PokeMMO's solution to this. They made the player put all their Pokemon into the PC and started the second region fresh. Then when you tried to withdraw from the PC, it'd only let you withdraw Pokemon of certain levels depending on how many gyms you had defeated in the second region.
Finding a reason to logically explain that phenomenon to the player might be harder than actually implementing it. |
Directly Send a Pokemon to PCIt's just a simple hook but I haven't tested it yet. Routine: Code:
Usage: Code:
It's also compatible with my custom givepokemon here: http://www.pokecommunity.com/showpost.php?p=8942634&postcount=739 |
I think it would be an easier work if, after the player finishes the league and plans to start his/her journey on a new region, he/she will hand over all of his/her pokèmon, both on PC and party, to the professor or whoever is in charge there. So basicaly, a routine that erases all Pokèmon on the storage and party.
|
Quote:
|
how about a way to make no pokemon in your team or storage, but it stores it in the RAM?
|
Quote:
And looking at his hack it doesnt free up enough space in one place for something of this size Quote:
EDIT: And even compressing the Pokemon(removing current/total hp) wouldn't help enough to fit something like this. |
Quote:
|
Quote:
i'm no expert on it so you might want to get a second opinion but yeah |
Quote:
Quote:
Quote:
|
Quote:
sorry darkdragon, i'm at school and was just sort of reading it without really thinking haha |
Quote:
|
Plz someone can re-upload "The Infamous JPAN Save Block Hack" ?
it is download be attchment, but not work since pokecommunity are hacked. |
Quote:
I think its the save block hack of Jpan. this attachment was originally posted by BlackWhiteRobin.I am not totally sure its the save block hack as I haven't used it.but it was posted by him in my thread in beginner lounge. |
Quote:
FBI requested me to post this fix here, so I will be sharing his routine with permission. The first is the actual routine itself: Spoiler:
The second is simply a hook to this routine: Spoiler:
Assemble the first routine in free space. In the second routine, replace YYYYYY with the offset of the first routine (don't add one, the second routine adds one for you when you assemble it). After assembling both, copy and paste the second hook routine at 0x03EA48 (it should be eight bytes long and end with a pointer to the first routine). Then write "00 00" to 0x03EA46. To enable custom moves, set the flag 0x2B4. To disable it, just clear the flag. If you want to use a different flag, just subtract 1FE from the number flag you want to use and put that number (in hex) after the "add r0, r0," in the .main routine. For example, if you wanted flag 200 to be the toggle flag, you would put "#0x2" after the "add r0, r0,". You shouldn't increase it by higher than 0xFF. Otherwise its use is exactly the same as in the original post, just with a flag used to toggle it instead of a var. EDIT: I've noticed a really tiny bug where the last move (var 0x8003) will actually use the move that is one below it in index order. For example, if you put 0x15D (Dragon Dance), in game the Pokemon will have 0x15C (Leaf Blade) in that slot. Just add one to the index number of the last move and it will be fine. Otherwise everything works exactly how it's meant to. DOUBLE EDIT: The above bug only applies if you used the Shiny Pokemon hack where setting the var 0x8003 makes the pokemon you battle/get shiny. Var 0x8003 is also for the last move, so I believe if you have both this and the shiny hack then you'll need to do that. I could be wrong but I believe that's the case. Quote:
I've had issues getting this to work on FlashCart. The game would say "Pokemon used !" and then crash. Not sure if this was just me or not, but I'd be careful if you use this in a hack that you'd want to be FlashCart compatible without further testing. I want to stress that I did not make this routine. I just tested it. FBI requested that I post the fix here after I finished testing it. All credit goes to him and not me. |
Quote:
http://www.pokecommunity.com/showpost.php?p=8942634&postcount=739 Anyway, nice work for you to post the fixed code! |
Color Stats Based on Nature
someone know the values of the offsets of this routine for EMERALD ? or can do it for EMERALD, it is very usefull. |
My request is an ASM that will let you give or take on your current amount of money using var..
For example Code:
|
Is it possible to disable access to the menu (not sure with the term, but the menu which has Pokédex, Bag, Save, Option, etc.) in a specific map name?
Just wondering because I'm imagining the mechanics of a fake Eon Flute/Soaring in the Sky for GBA games... |
Is there a way to disable using the bag during a battle (like in the Battle Fronteir) in Fire Red? I know it's possible in Emerald but I don't remember if Fire Red ever has a battle type like that.
|
Link battles disable it. My machine with all of my notes is not currently behaving so I have no offsets for you, but try putting a breakpoint on the battle type (0x02022b4c) before opening the bag in battle.
|
Quote:
Quote:
|
Quote:
LeftStats color change: Spoiler:
RightStats color change: Spoiler:
Image: Spoiler:
Also, for anyone hacking Emerald. If there's an ASM feature that you'd like to have in your hack but is not present here, let me know. I've got some time, so who knows, I may help. |
Okay, I made animated Pokémon sprites in FireRed using a method from this thread: http://www.pokecommunity.com/showthread.php?t=320333
Now I want to disable animation for certain Pokémon (Castform). Is there any way to do this with ASM? |
Quote:
Code:
Code:
|
Quote:
Quote:
Maybe there should be an offset for .dexarea? |
Quote:
For example, with data_on_capture_hook, the comment after the label means to insert ldr r1, =(wherever in free space the routine is + 1) bx r1 .align at 0x106B84 |
Quote:
So, if it says "via r2" I need to insert this: ldr r2, =(offset + 2) bx r2 .align Right? |
Pokemon Emerald Multichoice Scrolling Box
So, the mechanic for that is already implemented, we just have to repoint some tables. So let's get down to work. First, there's a table at 0x085B2CF0. Each entry is a pointer to text to be displayed in the box. One set consist of 16 options. This is important. Anyway, repoint to free space and change pointers to this table. It ends at 0x085B3030. Now, there's a jumptable at 0x0813A168. It ends at 0x0813A19C. It has 12 entries, repoint it to free space. Now for every new set of options you want to add, you have to add a routine like this: Spoiler:
Note that you can change parameters in those routines. Play with them and see which ones look the best for you. Now, every routine like that above, goes at the end of the repointed jumptable. There are 12-in game sets, so you'll start with 13. Change the byte at 0x813A148 to the amount of all sets. One more thing, even though the table of pointers to text can only hold 16 pointers, it doesn't mean you're limited to only that many options. You can go to 126 max, because 127 is treated as hitting B. How? Well, in the routine above set how many in total to the amount you want and ignore occupied slots. For example if you want your set to have 50 options, divide it by 16, so you get 3 and some remainder. That means this set occupies 4 places in the jumptable, like this: XX XX XX 08 00 00 00 00 00 00 00 00 00 00 00 00 NEW SET GOES HERE Using it in a script is easy, just do this: setvar 0x8004 slot in the jumptable (starts at 13, since 12 are already occupied in-game) special 0x1BE waitstate Result is stored in the 0x800D. First option chosen is 0, second is 1, and so on. Hitting B be is 0x7F. compare 0x800D 0x0 if 0x1 goto @first_option .... compare 0x800D 0x7F if 0x1 goto @chose_cancel I hope everything's understandable. :) |
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
Also, it seems that BSP is not recognizing "removeitem" command as valid. Tried to remove it but the Weakness Policy doesn't seem to work properly |
Quote:
For removeitem, check the Natural Gift move implementation in move resource thread. |
Finally got around to refactoring my Bug-Catching Contest scripts / code, and decided to make it publicly available on GitHub. Check it out here: https://github.com/sphericalice/Bug-Catching-Contest
It's not an exact clone of how the HG/SS contest works, but it's good enough (& the beauty of source code is you're free to improve it)! |
Quote:
|
Quote:
I didn't really understand what it does can you explain me please ? |
Quote:
With this routine you can get the EV/IV of a chosen Pokemon from your party. One var acts as a switch to get EV or IV depending on its value, the next one stores the position of the Pokemon you want to get the data from your team (so it can be easily implemented via a special I don't remember). After that, each value is stored on a different variable so you can easily access each of them |
Quote:
DOES ANYONE KNOW THE SPECIAL PLEASE ? |
Quote:
Which battle end routine are you refering to? The one for cmd49 ( used by weakness policy, rocky helmet etc.)? |
Quote:
EDIT: I also added your damage reduction berry routine. I wonder if it affect this. Tho, it doesn't work in my game (due to the setword command, i think. I just leave the setword command FA as is) |
Quote:
Damage reduction berry also does not affect this. You might need to adjust the of setword command if your game is freezing. Did you insert the toxic orb routine? |
Quote:
|
Can someone re-post JPAN's number input box for Fire Red?
Also since I am here maybe a newer "input box" for more than just numbers but all the characters, custom input options would make for interesting menu options... After playing with the Debug Ruby version I realized how in depth the menu and input system can really be... Thank you for any help or advice.... |
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
Quote:
|
Quote:
|
I have a suggestion, when we see the resume screen a pokemon, is it possible to add a page with the IV/EVs ?
|
I'm not sure if it's done yet or not, but... Would it be possible to have a routine that acts like a warp but enables you to choose bank, map and possition via variables instead of fixed parameters like the actual commando on XSE (and similar)
|
| 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.