![]() |
Quote:
http://i.imgur.com/ywS7ogi.png |
smh nathan closing tabs like what the hell
EXPANDING THE THING THAT MAKES NIDORAN'S/ILLUMISE'S MALE VARIANTS HATCH FROM EGGS based on a table first, the routine: Spoiler:
usage: - table at the end has a structure: [hword] - species 1 [hword] - species 2 an egg that is supposed to be species 1 has a 50% chance of turning into species 2 (note at the bottom), and it NEEDS to end with FE FE 00 00 as it does in the example. - i included addresses for emerald and ruby as well. replace as desired (the hook address and the getparents routine address) - you need to know where you are going to insert the routine BEFORE compiling it; the table is placed right after the routine and is referenced as such. proof of concept: Spoiler:
shoutouts to doesntknowhowtoplay for his research on the subject and to chaotix for initial testing and suggesting the idea of a table instead of some extremely inefficient shtuff that was originally going to happen. notes: - species 2 does not ever turn into species 1. so you're breeding your volbeat to get an illumise? you'll only ever get volbeat. just add an entry for volbeat to illumise. - if you want species 1 to turn into multiple species: i have been testing for literally five hours with the game running consistently at about 300% and have yet to see a phanpy come from my illumise. moral of the story: this code, even with modifications telling it to continue looping after setting the id, doesn't support 1 pokémon to multiple. i did however manage to get illumise and this after doing like a weird chain thing (illumise -> volbeat -> phanpy), but it negated volbeat, and no we'd not like that: http://i.imgur.com/Va3fqEl.png - not tested on bpee or axve but there is no reason it shouldn't work (axve is the same thing while bpee i think interchanges two different registers) - OH ALSO you have 0x2A bytes of unused space at 46070 for you to use for whatever! knock yourself out with all of that free space |
I know jpan's engine has a pedometer. But I don't know vanilla FR has one or not. So, here it is.
Code:
First asm :) Thanks to Touched for answering my noob asm questions. |
So I had a problem with buffering a 4byte number in a message script for viewing the players bank balance in my hack.
I brought it up in a IRC and FBI had given me a basic routine but it wasn't complete or tailor made to my needs. Now I have fixed it all up to my needs and would like to share what I have. Spoiler:
As it is it works rather well and have had no bugs so far that I can see at least. There might be a better way to do this but as it stands I haven't seen it. Also I am now putting all I have together and will release a custom Bank Account system that will include: Pokemart Inflation/Deflation, Battle Money to Var (can store up to 4bytes or 0xFFFF FFFF) depending on setflag 0x250, ATM, Buffer 4byte number (though it can only print max 0xFFFF FF7F), Account Interest, Withdraw/Deposit/Balance and Loans. Anyway hope this is helpful! |
Quote:
You want a routine which will end/restart a mission if your given time is over? Not sure if this will help you but you can try this routine. Timer in FR Spoiler:
info: 1.This routine uses safe var 4011, 4012,8002 and flag 248 and 24c 2. Flag 248 is used to start the timer 3. 8002 is used to know how many minutes mission will continue How to use: 1.insert this hook at 0x054894 00480047 xx+1 yy zz (xx yy zz is where u inserted the routine) 2.In The script which will start the timer based event you have to write this three line setvar 0x8002 0xXX (XX = the minutes you want event to run ) setvar 0x4012 0xYY {YY = flag you want to set be if event is not finished in time ) setflag 0x248 (start the timer) ------------------------------------- Now that you have started the timer this routine will run every second and when your given time in var 8002 is over it will set a flag (which is also given in var 4012). Depending on that flag in var 4012 you can determine mission is over / restart the mission / time over can't redo the mission etc. Note: If player finishes the task in the mission you will obviously wouldn't want the timer to continue.So, clearflag 248 and 24C in that script . |
Quote:
|
Wow, no one's ever ported Emerald's tag battle with Steven to Fire Red? Well this is a surprise... it would be pretty cool though. I think Andrea, the maker of Pokémon Giratina's Legend, has ported it to Ruby. If that's possible in Ruby, it has to be possible in Fire Red too, right?
|
Quote:
i mean people have done it but it's not separate from the community hack atm and touched doesn't suggest using it |
Quote:
|
Hello Sirs. I have a question regarding this code:
Spoiler:
So my question is, where should I put the index of Dawn Stone? 'Cuz I'm new to asm and I think I have to (somewhat) point that out or something. Also, please correct me if this is wrong. cmp r0, #0x7 beq StandardStone cmp r0, #0x14 #UPDATE THIS <----This is Kirlia beq MaleStone cmp r0, #0x15 #UPDATE THIS <----and this would be Snorunt, right? beq FemaleStone b NoEvo Thanks in advance. |
Quote:
Rather they are the evolution method index... As evolution by level, trade, and so on. Look at PGE ini file to know which index you can use for evolution type... |
Quote:
|
So currently the blank slots between Celebi and Treeko always use the Unown's cry. I fixed that.
Code:
|
Quote:
Found: Location of bytes "01 21" to change to "00 21": 0x0FE3AA Var_800E location for Emerald: 0x0203CE7C (which I couldn't find anywhere on the internet for some reason) Missing: Emerald's equivalent to FireRed's 0x02D924 What to put instead of "0x809A1D9" in the ASM Hopefully someone can post the missing parts to complete this. |
Quote:
BluRose is also working on it (Not working at the moment but he said he will when he completes his current work) and might be you can talk to him about the missing part ;) |
Quote:
edit: Quote:
Another request for the Get EV/IV routine to store highest value EV/IV var in 0x800B and sum of total EV/IV in var 0x800C, please! |
So I don't know where else to put this because it incorporates abilities, items, and other gen 6 stuff. Oh well. It's Safety Goggles, part of Magic Guard, part of Overcoat, part of Bulletproof, and the Gen 6+ Grass type immunity to spore moves. Knock yourselves out.
Code:
|
Quote:
Not sure if this is any help but in FR at 0x02D924 I found: Code:
The equivalent to FireReds 0x02D924 in Emerald is: Code:
Not sure if that helps any but good luck |
Quote:
And, can you also please enhance the routine into "Compiler/THUMB Editor and Assembler"-wise routine? Not all users use ASMAGIX. |
Quote:
Unfortunately, editing either of these with the pointer code to the new ASM routine causes the game to reset as soon as it gets called, even though I +1'ed the pointer properly and did the procedure as it was described. It may have something to do with whatever "0x809A1D9" is supposed to be in Emerald, because I have no clue what to replace that with. I'm not sure if that is what is causing the resets though. We may have to find out how the person who originally put together the FireRed routine found that offset exactly (unless you are able to find it), as I am not currently well-versed in ASM. EDIT: Well, looks like we have the answers now. Thanks @BluRose. BTW, how did you originally find the right offsets? Was it through looking at the game's ASM as it ran in a debugger, or by searching through hex data (or something else)? Just curious as to how to do this on my own in the future. Quote:
|
Quote:
Quote:
Quote:
gracias a familiawerneck (for routine) and mwisbest (for reminding me to update my shit with his perfectly fine method) he also has one to make safari balls reusable original: buggy, don't use pls Spoiler:
BPRE: Spoiler:
BPEE: Spoiler:
|
Quote:
also found the equivalent of 203AD30 (var_800E) from the pokeball routine; same routine with same function will access equivalent offsets so, yes i did those two in vba's debugger now, the other two were found using knizz's/touched's .idb files in ida; comparison of routines, basically :P a large majority of circumstaces will show either a.) the exact same routine or b.) same values being loaded/adjusted/etc. in a's case it is simply a matter of branching at the right place; b's requires a small rewrite to replace registers~ |
Berry System
Hello...it' me! xD An user sayd me that this toturial https://www.pokecommunity.com/showpost.php?p=8515307&postcount=64 doesn't work...and than I created a new method via script. It's not a perfect port of the r/s/e berry system, because the script is for only one tree (if you want more you compile other scripts with other vars). We need to... JPAN's hacked engine ShinyQuagsire's berry bag hack: http://www.pokecommunity.com/showthread.php?t=295749 FBI's Minutes Played routine https://www.pokecommunity.com/showpost.php?p=8534141&postcount=283 The script: Code:
1) vars used var 404F - berry planted var 4050 - current stage var 4051 - was watered var 4052 - time of before stage var 4053 - time of current stage 2) time I copy and modify the FBI berry script - 5 phases, each phase lasts 20 minutes playtime. You must always water the berry to acces to the next step. To calculated the time I used the vars operation of JPAN's hacked engine (var 4053 - var 4052). 3) at the end the script give you a random number of berries (5, 8 ,10 ,13). How I can create a new berry tree? You must change the vars with new ones and MORE importante you must change Code:
If you find a bug...call me! xD [sorry for my bad english] |
Alright, I have a request.
Is it possible to run a Pokemon storage script via an item?? This is implemented in Pokemon NKP but doesn't seem to work... Basically it can store upto 6 Pokemon and we can carry it in key items.. It would be such a nice feature. Please look forward to it.. Just a request.. All other asm are great.. |
Quote:
and then make your script use special 0x9F to choose a pokémon to store with a callasm to like the pokémon storage system linked on the first page naturally your script will have to do various things, i.e. count the number of pokémon and others, but it shouldn't be too difficult |
| 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.