![]() |
Quote:
|
Well, I have been researching this: http://www.pokecommunity.com/showthread.php?t=212540.
In the thread, the threadstarter gave an offset for the table of the pictures when you enter a map (like viridian forest's trees, cave enterance in Mt. Moon etc.), the offset is: 0x8043E9E8. It is possible to repoint the table, however there is a limiter, and Shiny Quagsire told me that the limiter is in 0x80F8104 :). |
Does anyone know the byte(s) to change in Emerald to increase the number of usable sound channels? I've been looking everywhere, but can't seem to find the post it was in.
|
Quote:
Put CC at 0x82E0105 increase the 5 DirectSound limit. |
In case anyone had not of thought of this, replicating the repeating trainer battles on warp in BW2 is as easy as setting their trainer flag, or clearing flag 0x5XX
|
Quote:
http://i.imgur.com/RSflXni.png However if you level up from that xp, it causes the Pokedex to go wonky: http://i.imgur.com/IAJLx8z.png http://i.imgur.com/YkvbOFB.png EDIT: Found another small graphical bug, too. Learning a move on level-up after successfully catching a Pokemon will cause the wild Poke's sprite to re-appear after exiting the move learning screen. Unimportant in the long run, as the battle ends right after. |
I recently started ASM hacking. My first goal is to expand on Jambo51's pre-battle Mugshot routine hack and allow actual mugshots (rather then just sized-up sprites).
After lots of reading, research, and digging through ASM and hex data, I felt confident enough to try something. And jackpot! If Jambo51's mugshot routine is installed, at location 0808386E, the data at r4 corresponds to the opponent Trainer sprite loaded into the mugshot. In this case, my byte was 6D corresponding to the Rocket sprite. If you change the byte here to a byte corresponding to a different Trainer sprite (In my case, I changed it to 6B, corresponding to the Scientist sprite), then the game will load the new sprite into the mugshot WITHOUT changing the opponent Trainer sprite! I'd post screenshots, but I'm not allowed to post links yet. This can be used as a starting point for a routine that can call opponent mugshots like in later generations. One can insert a routine at this point to call an image to replace the pre-battle mugshot. I'm still figuring out what part of the code actually resizes the sprite, but once I do, the potential routine can be written to skip over that part of the code. Now to learn more ASM so I can actually try writing said routine. |
Quote:
|
After several days of digging through and fiddling with the mugshot routine, I managed to produce THIS:
http://s26.postimg.org/btv5yjwzt/Mugshot_4.png I got this by replacing 0F 48 at offset 080838B2 with 00 00. This confirms for me that the routine cuts the sprites in half before re-sizing them. The sprites are tilted oddly enough, but I can work with it if I have to. |
Hate to be "that guy," but does anyone know the offset for the wailmer (I think it is) in Emerald that the player surfs on? I tried looking around in NSE, around the OW area, and couldn't find it. However in VBA in the OAM viewer it was there. Sorry if this is the wrong place.
|
Quote:
http://puu.sh/aulcG/b2a0c26cc1.png |
Applymovement 0x9F in FireRed makes the character look left and right. I haven't seen this before, so maybe it's interesting to know.
|
Trying out some movements in Emerald because I have nothing better to do
0x4F - Player runs in place, facing down doesn't seem to stop, even with 0xFE after. 0x50 -0x53 - nothing. 0x5A and 0x5B -player faces up, 0xFE doesn't cancel the effects 0x5e - After it finishes when you walk right, it uses the walk left sprite. 0x68 - same as 0x4F 0x69 - same, but runs facing up instead 0x6A - same, but runs facing left instead 0x6B - same, but runs facing right instead 0x6C - seems to be walking in place, facing down 0x6D - seems to be walking in place, facing up 0x6E - seems to be walking in place, facing left 0x6F - seems to be walking in place, facing right 0x9B - player starts flying and does something cool http://imgur.com/qhLqOel EDIT: I forgot to add another applymovement, my bad. 0x5F cancels the effect of 0x5E. |
Here's a preview of the stuff in my upcoming Movement Documentation:
A piece of asm that makes you run-jump off ledges if B is pressed and you are not on a bike. It just annoyed me that when you were running you would still walk-jump off them, so I came up with a fix. Code:
|
Not sure if this could be of use to anyone, but I found this in emerald. sadly, it has no checkflag, I was trying to find a way to make you be able to use surf without the badge, but then again, maybe this could be useful to someone?
'--------------- #org 0x271EA0 checkattack 0x39 compare LASTRESULT 0x6 if 0x1 goto 0x8271ED6 bufferpartypokemon 0x0 LASTRESULT setanimation 0x0 LASTRESULT lockall msgbox 0x8272FD6 MSG_YESNO '"The water is dyed a deep blue[.]\n..." compare LASTRESULT 0x0 if 0x1 goto 0x8271ED5 msgbox 0x827300D MSG_KEEPOPEN '"[buffer1] used SURF!" doanimation 0x9 releaseall end '--------------- #org 0x271ED6 end '--------------- #org 0x271ED5 releaseall end '--------- ' Strings '--------- #org 0x272FD6 = The water is dyed a deep blue[.]\nWould you like to SURF? #org 0x27300D = [buffer1] used SURF! |
So I want to implement a feature, which has a ZERO requirement for HM's. Of course, I wanted the things like Surf, Cut, etc. to still be available, at least in the overworld. I do believe that Pokémon, uses a something of a "check move" command, to initate the HM Overworld Exploring process. But since, we are removing HM's, what about a TM/HM Compatibility Check, to see if it could learn the moves, rather than if it haves the HM. It makes more sense that Pokémon can use HM's without their moves. All Water Pokémon can use Surf and Waterfall, not even having to use the HM's given.
The dynamic offsets for the TMHM Compatibilty Table follows as so: BPRE(Fire Red)- 43C68 AXVE(Ruby)- 403B0 BPEE(Emerald)- 6E048 I'm pretty sure that is absolutely useless, but wanted to post something other than my ideas. I may start looking over Move Tutors, since they need to look into TMHM Compatibilty to teach moves. I'll edit this post with future findings. |
Quote:
EDIT: I suppose if you were really lazy, you could have the person that gives you Fly give you a Flight Map key item, or something, that checks the party for a Pokemon capable of using Fly before callasm-ing the flight map and letting you select a location. |
Quote:
In terms of making the game easier. In my game, having the access to Dig and Teleport, wouldn't make much of a deference. But if we are talking hacks as a whole, it would make it easier. But that means, the player can focus more on the design aspects of the region, without worrying about placing many barriers. Also another issue, may be that you can go anywhere. Being how, most progression barriers, are HM overworld limits. So this is more of an implematation, more focused to an open setting, than a linear one. So yes, it would definetly make an 8 badge journey hacks, more easier. But it's also a convience to hackers, making more open-orientated game, like me :), who would love a feature like this, as both a player and hacker, |
I'd rather go with a type check. So you'd need a grass or bug type for cut, a fighting type for rock smash, a flying type for fly, and so on.
|
Alright so me and DarkSneasel were trying to find a way to checkpokemon in your party for events in Emerald...
so I looked at all the different in-game trading scripts and I figured out this script: Spoiler:
This script won't go through with the script unless you select from your party a volbeat. Here is a video rep of it: https://www.dropbox.com/s/lb4kj8h1quelcz7/here.AVI So I noticed that what actually should change it is the 0x8008 var. There are 4 different in-game trading scripts. Check out the difference between three of them: For volbeat: Spoiler:
For Ralts: Spoiler:
For Skitty: Spoiler:
So we're trying to figure out how to make this fully functional so the hacker can change what pokemon it's looking for. I'm pretty sure it's in 0x8008 var. So if anyone has any more clues, it'd be awesome to help out! |
Requested mons for trades are in the trade data. The format isn't documented anywhere that I know of, but if you search the ROM for the nicknames/OTs of the traded mons you'll find the structs which contain that, as well as what mons you recieve.
It's almost certainly possible to repoint and expand this, too. If you can figure out what more than five or so of the parts of that table do please write it down, I'm sure a lot of people could put it to use. |
Quote:
PLUSES the Volbeat at 338F0C and 338F84 for MEOWOW the Meowth Edit: still researching around ... but I found that at 338F44 is the appropriate "82 01" which is Volbeat's pokemon number. Changed it to 81 01 to see if it would now register to look for Castform and it worked! edit 2: so i used the program Trader Advanced ... there is an option to add more trades to the game. When I added more and tested to see if the var 8008 would allow the player to search for the pokemon in his party and it worked. So for a checkpokemoninyourparty command all you need: This script: Spoiler:
and download Trader Advanced and add as many as you want and change what pokemon each number checks for :D credits go to me for the research... mr_mako helped out by suggesting the program Trader Advanced and of course the maker of T.A. ty for the program |
If anyone ever wants to make a tag battle script in Emerald, here's something that can help you :)
#dynamic 0xE40000 #org @start lock special 0x28 fadescreen 0x1 special 0x2A waitstate compare LASTRESULT 0x0 if 0x5 goto @yes special 0x29 goto @end #org @yes special 0xFB setvar 0x8004 0x2 setvar 0x8005 0x4 special 0xEA setvar 0x8004 0x8 setvar 0x8005 0x0 special 0xEF waitstate setvar 0x8004 0x6 special 0xEA special 0x29 copyvar 0x8000 LASTRESULT compare 0x8000 0x1 if 0x1 goto @continue fadescreen 0x1 special 0xCB waitstate goto @continue #org @end release end |
Check/Count a Specific Pokémon Species in the Party (FR/LG/Em)So I'm not sure if there is a way to do this by scripting in these games, and I saw that trading-style thing post just a few above, but I wrote up a quick bit of ASM code to count the number of a specific species of Pokémon in the party, as a bit of practice for myself, and I thought I would share it. The reason I wrote is so that it could be mainly used as a checkpartypokemon-like command in a script. It works for FireRed and LeafGreen with no changes, works for Emerald by performing the changes given, and will probably work with any game as long as you find the matching offsets. ;) Anyway, here's the ASM for FR/LG: Code:
Code:
And of course, here's a sample script explaining how to use it: Code:
I hope someone finds this useful, even if for just an example for beginners to learn from. Enjoy~! ^_^ EDIT: I added Emerald, although I didn't test it. ;) EDIT 2: I tested the Emerald code, and it works. ^_^ |
writebytetooffset 0x2 0x2037590 in Emerald makes you go fast (mach bike fast). Thanks kboy6 for helping me find that =).
Anyways, when you use the bike, that's what happens. However, when I do the writebytetooffset 0x2 0x2037590 your speed changes, but not OW. I'm gonna try to figure something out to make the sprite change, once I do, I'll post that here =) |
| All times are GMT -8. The time now is 8:53 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.