![]() |
Thank you so much for this solution too !
So I think I was far from the good answer haha, but this will help me a lot when I need to change the rate fastly, so it's awesome o/ |
Someone can fix this routine?
Spoiler:
This routine deletes the last item used when catching Pokémon, it's used combined with the 0xA1E30 byte change, to prevent PokéBalls being consumed after fails catching, but when I fish into the Safari Zone and catch a Pokémon, the last item used is my rod, and it disappears. I will be grateful if someone fix this or even make flag activator/deactivator for this routine. This routine was made by FamiliaWerneck |
Hello, I'm here to request somethings I think are hard to do, I've replaced the Premier Ball with Mewtwo Ball, then I want to make it catch without fail like Master Ball, and I want to make a Ball to make any Pokémon caught become Shiny. Next, an upgrade to FBI's Toggling Wild Pokémon Capturability to create a table to specify the species of Pokémon to be uncapturable permanently. Finally, an upgrade to jiangzhengwenjzw's Evolve via Callasm to select the specific Pokémon allowed to evolve on that NPC via "special 0x9F", and another detecting if the selected Pokémon is holding an specific item. (Example: The NPC allows only Kadabra to evolve into Alakazam, then the player selects one Kadabra in their party to evolve; the second will be the same, but with holding item check feature.)
|
Quote:
1. For the uncapturable species, I think you can set the species' catch rate to 0. 2. Maybe there's a better way to do this but for me it can be use the check species hack somewhere here in Pokecommunity (I think it's here in the ASM Resource Thread or the Quick Research and Development Thread) and the use jiangzhengwenjzw's evolve via callasm. Or if you want to check the item, use the check species, then the check party item, and then jiangzhengwenjzw's evolve via callasm. Did that make sense? :( |
Quote:
2. I've tried to combine those routines, but I don't know if I'm doing something wrong, but it gives me a crash or simply don't works, I think I need a second one. |
Quote:
|
Quote:
It most certainly does. |
Quote:
|
Quote:
|
Quote:
|
Quote:
|
Quote:
I will try to make my game an executable. xD |
Quote:
|
Quote:
so like flag 120 would be input as 20 01 00 00 |
Quote:
|
Quote:
00 02 00 00 00 02 - betting half word this time if full word didn't work 02 00 00 00 02 00 just try all of them in succession lol, it really shouldn't be that hard to just brute-force this until it works |
Quote:
|
I'm completely hopeless with assembly so if anyone could lend me a hand I'd be super greatful.
The main feature I'm looking for is turning trainer battles into flat battles, IE levelling up has no effect on stats. (EVs and IVs are fine though) 1) Make the players party level 100 the whole game, doesn't require ASM but it also means there's no progression, I'd still like levelling for purposes of evolution and new move acquisition. 2) Force the teams level to be a certain level (lets say 50) then reset it after the battle. This seems like a decent strategy but I feel like the player will lose the XP gained from beating trainer pokemon, or at the very least it will fuck with the levelling process to some degree. I've done some research on this and gone through some ancient posts but I haven't been able to cobble something together yet. 3) Disable stat scaling with level, pokemon are always treated as though they're level 50 for stat purposes. This seems best since I won't be screwing with any variables at all, just the calculations, which seems great but it also has the problem of I have literally no idea where to even start on messing with this stuff. I'd really appreciate any input. This one has me stumped and it's pretty critical to what I'm working on. EDIT: Oh yeah and I'm on Emerald. Hope that's not a dealbreaker but I really don't want to jump to firered since I'm planning to keep the region. |
Update: I managed to get FBI's script for forcing a party to a certain level working on Emerald:
Spoiler:
Here it is for anyone who needs it, but it's not really what I needed. As I suspected playing with level of the team messes up levelling beyond repair, so this approach isn't viable. I'm not happy with this solution since it's basically my first solution with the downside of requiring asmcalls for every single trainer battle. Not ideal! So that leaves me with option 3, disable level scaling. I think the solution I need is to edit the function that calculates pokemon stats, when they level up or are boxed etc. and simply change the part where it inserts the current level of the pokemon, simply force it to be 50. In theory that's a really simple change, but it's beyond me currently, I'm looking into some breakpoint stuff and hooking into scripts? But I'm still very new to this so if someone can help me out, or at least point me down the path I'd be greatful. At the very least I know where the stat calculation occurs in emerald, it starts around 0x08068D0C as far as I can tell. EDIT: For the record if someone is interested in building this for FR I can figure out the port to EM myself (probably). |
Update3: Well I did it!
I have disabled all level based stat scaling from my emerald cart, now only EVs and IVs affect your pokemon's stats. Super friggin cool! To do so is relatively simple, we're just hijacking the point in the code where it pulls the pokemons level, then replacing it with the number 50 (or whatever you want, really) the code is riduclously simple: Non HP stats (compiles to: 32 21) Spoiler:
HP (compiles to: 32 24) Spoiler:
Battle Calculations Spoiler:
These are just overwriting the position where level is loaded with the number 50. #0x32 is the level you want to simulate, I chose 50, but you could force it to be level 1, or 100, or whatever. Doesn't make a huge difference. Once you've compiled those you're overwriting the following positions on your emerald rom I set all the registers to 32, which is 50, if you want a different level just work out the hex value and calculate it. (100 for example is 64) Spoiler:
I haven't checked these, so it might not actually be in that order, but I'm fairly certain it is (HP is definitely first though) http://i.imgur.com/NMort0Y.png In action, note mudkip is level 30. He has shitty IVs though so the stats are a little off, but you can see they're close enough (tm) EDIT: further testing has unveiled that something slipped through my net, the pesky damage formula. Apparently it uses the users level as well (why? i don't know lol) so if you apply these tweaks it will result in your mons becoming stupidly bulky. I'm working on a fix but I wouldn't use this until I do. It's now fixed! EDIT2: I've located the appropriate locations and fixed them, but damage seems to be 20% higher than normal, I'm going to test more. EDIT3: I've fixed it, the unusual damage numbers was me being shit and redirecting one position too early (we were using some unknown number for level scaling, I don't know what) I've updated the instructions. This should work. Happy flat battles. |
Quote:
1- The Old Man catching tutorial becomes bugged https://www.pokecommunity.com/showthread.php?t=384261; 2- Any type of Poké Ball becomes a 100% catch ball. There is a way to fix it? |
Hi, i just want to know, is there a ASM routine/Script that makes the Everstone work in Fire Red Breeding?
|
Quote:
How did you deduce these changes caused this bug? |
Quote:
EDIT: I was right, I only need the second line. |
Not sure if this will help anyone but I made a routine that takes the Players 8byte(8thbyte being FF padding) Name and store it on vars 0x8000-0x8003.
Code:
So I hope others can find a use for it. |
| 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.