![]() |
ok so anyone whos having the game freeze when the trainer and pokemon are sliding in when using The by turn battle addon change 0xe2e0 to 00 4D 28 47 xx xx xx 08 81 08
Also found a bug. When a Pokemon is deleted with your asm which ever was in slot 2 gets "sent out" and is hovering behind your next pokemon. |
Whoa. I've always told myself that I needed to learn ASM if I wanted to do some more crafty things while hacking. These are the kinds of things that are only possible through it! Never did I think a thread like this would exist. A compendium of tons of useful ASM routines, many of which people have been looking for for years! This is incredible! FBI agent, you are doing the work of titans.
I guess if I had to ask of one thing, it'd be this: Could changing what options do in the options menu be done via ASM? I tried changing pointers around areas that had other pointers to text used for it, but nothing seemed to change. Quote:
|
Quote:
|
Quote:
|
Quote:
While there's nothing wrong with your implementation, running it off the game's BL may be better? Just because I believe the BL uses registers 4-6 meaning you won't need to push anything IIRC. The locations are 0x0809A924 forFire Red and 0x080D74DC for Emerald. Anyway FBI, these are all amazing. The battle modes hack is great! Sad to see you're no longer working on a custom Day-Care, but understand completely. Your DKnot hack is useful anyway, and realistically you could just do mini hacks like that to simulate modern breeding mechanics. Roaming Pokemon sound great too! Anyway to branch that into Swarms too? |
Quote:
2) Sorry it's actually 0x3D TMs in the tm bag, I was mixing up my numbers. But even that is just a little over 60. Quote:
Quote:
Quote:
Quote:
Mini update: I've updated the battle modes routines to read from tables, and have updated the insertion instructions (no more video :P). I'v also updated/fixed bugs on: getAverageLevel, RemoveFaintedPokemon, setMoves, start menu swap routines |
Quote:
Quote:
|
Quote:
|
Quote:
without the pokedex flag being set, the icon is useless (funny lol). maybe I could just set the actual text to nothing... if only I knew where that multi choice box was stored... |
Quote:
|
Quote:
totally woulda saved me the 5 mins of searching in GoldFinger tho (the word pokedex shows up alot... fyi) ive got the text repointed to a single space character for both the Pokedex and its description... but the menu does not show the player card anymore(not that I need it)... not sure if it will when I set some flags (like the pokemon shouldnt be showing if I have never owned one) so well see how it works out |
Quote:
Quote:
Spoiler:
The routine was just to swap between two. This one here is what you're trying to do. Quote:
Quote:
|
Quote:
I kept getting errors when I tried to test if the pokemon menu item would appear. every time I gave the user a pokemon it would go all rainbow and freeze up... test after test after test... failure... turns out... I was using a text "'player' got the 'buffered name' from oak" and i forgot to buffer the name lol anyway. it works perfectly thanks so much ;) |
Toggle Run Away
It can work with Toggle Capture very well, or completely independently. If you use the same Variable as Toggle Capture, if the value is set to 0x1, a Pokemon will be uncapturable, and you will be unable to Run Away from it. If the value is 0x0, the game is as normal. If the value is anything else, you cannot Run Away from the Pokemon BUT you can catch it. However if you use a completely different variable you will be able to run away, but not to catch the Pokemon, though to me this is pointless, because if you have an uncatchable Pokemon, why would you be able to Run Away from it? Anyway here is the routine! Fire Red Spoiler:
Once I finish porting other abilities I'll make a brand new post for the Emerald version of this. |
So here's something you don't see here everyday: a port to EM!
FBI's battle mode hacks are looking awesome, and it'd be a cardinal sin if EM didn't have these features. So here, have the Battle Routine by Move. (and the deletePokemon routine) Battle Routine by Move (EM) Spoiler:
Delete Pokemon (EM) Spoiler:
|
A routine that changes the pokemon nature/Ability through script
|
Although I do not know ASM, I use Ur hack "Trainer Capture toggle by Pokeball". The ball depending system works right but when I captured trainers' Pokemon the Pokemon changed into bad egg.
Another question: What should be the reversed hex pointer? If the original pointer is 0x123456, then the reversed pointer plus one should be 573412 or 754321? If I mistake 754321 for 573412, that may be the reason why bad egg occurs. Forgive my terrible English. |
Like promised, here's a routine to let Pokémon die from poison in the overworld:
Code:
|
Quote:
Quote:
Quote:
I'll add it to the first post. Quote:
Quote:
Quote:
Random Natural Number GeneratorThere's a Random Number generator in scripting thats limited to [0, 255) results. This one is a routine that returns a random number from [0, 65535). So in some ways it's more "random" because it does have a larger domain. Well I'll let you think up of what you'll use it for. The reason I'm posting it seperately is because it does have standalone uses, AND I'll be using it for Roaming Pokemon and Swarming Pokemon. So you kinda need this for those :) How to insert: Simply compile into free space the following routine: Spoiler:
Usage: Set variable 0x8000 to the amount of results you want in hex. It will do 0x0 to 0xFFFF exclusive. The resulting random (natural) number is placed is variable 0x8000. That's all :) I'm going to be making a few more of these "mini-functions" because Roaming Pokemon like in the new generation has a lot of mechanics in the background which I'm implementing. Also if you're posting routines please keep it in spoiler tags :x |
I love how this thread is progressing and how people are contributing their routines so I'm going to make it sticky. Everyone's contributions will be updated to the main post and organised properly. :) Keep it up!
Aaand I'm also going to move this to Research & Development now as it fits there more. |
Shiny PokemonBrief-ish intro: Spoiler:
How to insert: Before you can insert this routine you need to have inserted the Random number generating routine from before. Remember the offset which you inserted it because you're going to need to remember in a short while. Look at the Orange text in spoiled code below. Insert inside the brackets the location of where you compiled the random number generator code. Make sure to add an 0x8 prefix. So if I compiled the random number generator at 0x743210, I'd write: Code:
Spoiler:
Now navigate to 0x3DB00 and insert the following byte changes: Code:
Finally, go to 0x3DAF6 and insert the following byte changes: Code:
setvar 0x8002 0xFF 'This line makes it so the next Pokemon you encounter, or are given is a shiny Pokemon with a properly generated PID. I've made it so the code sets 0xFF back to 0x0 so you don't have to disable it after. There's only an enable switch :) Here are two Tyranitars generated with the same hack (No EVs) http://i.imgur.com/QoqDajq.png?1http://i.imgur.com/viskQtV.png?1 http://i.imgur.com/QELE4Xt.png?1http://i.imgur.com/DgUxgMp.png?1 |
Quote:
like the shinyizer you can set it for a whole trainers belt (where some are shiny and others are not) ive got an item I use in some hacks called shiny spray, it gives you a 50% chance of seeing a shiny pokemon for the next 3 battles (guaranteed to see 1 shiny). so in order to utilize your "better" IV seed, your routine would need to be able to read (and apply) more than 1 poke in the future. |
Quote:
Spoiler:
Also it's not a better IV seed. It's an actually random shiny PID generator, which happens to be the determining factor for IVs :) |
I have had an idea for some time about creating a system where the levitate ability is not an ability but rather a toggle-able byte on each pokemon. For instance, one could feasibly create a Hydreigon with the ability intimidate that also has the benefits of levitate, (by virtue of the hack). It's always bothered me that I had to choose between giving pokemon that weren't flying-type like venomoth the ability levitate or a real ability.
|
A suggestion.
Hey how about implementing an Ability Capsule from Gen VI which helps you to toggle between the primary and secondary abilities of a mon in the overworld. |
| 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.