![]() |
Guys I need some help to port this feature to the Italian Emerald rom.
I found the battle script offset and the other offsets required but I'm pretty sure some hex valuse needs to be changed. When inserting this new battle script when I catch a pokemon it's all fine, then the pokeball disappears but the battle doesn't end, if I go to the bag and then back into the battle the pokemon is still there. Can someone have a look into this? Battle script offset: 0x2DCD10 Pokemons evolve from this experience, replace the bytes at 0x3DE80 with B9 DE 03 08 You can use my save file to test the results. |
The bytes you put at 0x3DE80 should be B5 DE 03 08. Unless that has something to do with Emerald, I don't know because I don't hack Emerald...
Anyway, you don't need to insert any actual battle scripts. Copy this: Code:
Code:
Quote:
|
Quote:
You just made a copy paste of what Chaos wrote, didn't you? :D Same result, something has to be changed to get this work with the Italian rom. Quote:
Can someone download an italian rom and try to fix it please? (just serch for "Pokemon Smeraldo ita rom download") Here's my save file to test the results. |
[FR] If you want every Pokemon who participates in battle to receive full exp instead of having it divided, write 01 21 at 0x21C3A. Credit to Doesnt for finding this (somehow).
|
Quote:
|
Quote:
can anyone help me out??? |
Quote:
|
Is there a way to make Wobuffet and Maril/Azumaril always breed their baby forms without the need of the Incense items to be held? Essentially making them behave like Pikachu and pichu?
|
Quote:
|
Quote:
figured it out 9B430 - 05 (max characters taken from a string) 9B440 - 05 (i have no idea, maybe max characters that can be shown? necessary nonetheless) so just doing these two changes creates an annoying thing where everything has its last digit cut off 9B47A - 64 (instead of 69) (it's an x-coordinate, so i don't know if this value is exact or not) http://i.imgur.com/QzAT2K9.png (resultant picture, you can use to compare to original and subtract/add pixel values as necessary) EDIT: AHHHH KILL ATTACHED THUMBNAILS WITH FIRE |
Quote:
|
To change what Pokémon gets the DeepseaScale and DeepseaTooth boosts, change the bytes at 0x3F24C to your new Pokémon's index, reversed. (0x175 is Clamperl)
This will give the Pokémon both boosts, however, so if you want a separate Pokémon for each item, insert this routine somewhere: Spoiler:
After that, go to 0x3EFD0 and place: Code:
After this, the byte change you made first in this post will only be relevant for the Pokémon that should get the Sp. Def boost from Deepseascale. A huge thanks to NewDenverCity for helping me out with this, and making me understand instructions and hooks better! |
Does anyone know how to remove the 10% stat boosts given by badges in Fire Red?
Quote:
|
In Fire Red, 0824EFC4 contains a table of structures 4 bytes long describing which environments go with a map's Fight Type. The structure is as follows:
Code:
The routine which reads the table has a maximum of 7 elements it will attempt to check the map type against. This table can be extended by repointing it and increasing the byte value at 0800F254. In theory, this can allow forcing particular environments in a map for wild/trainer battles. This table is only ever read if the Fight Type is not index 0 (Random in A-Map), and it overrides environments from tile types (ie all grass, water, cave, trainer etc battles will be forced). In theory you could also add additional battle backgrounds by extending the structure array at 0824EE34. |
Quote:
|
Quote:
45FA8 - wynaut's index (1/2 value) 45FB0, 45FE6 - azurill's index (1/2 value) 45FD8, 45FDC - lax incense index 45FE0 - wobbuffet index 45FEE , 45FF2 - sea incense index 45FF6 - marill index so the way this works is it checks for the species in the egg. if it matches with wynaut or azurill, it checks the held items of the padres. if this matches, it does nothing, if it doesn't, it changes the index to the correct one. the "fix?" write 00 to 45FA8, 45FB0, and 45FE6. this just changes the pokémon to check for, making the pokémon with index 0 the required pokémon to do the checks. since you never encounter 0, you won't rewlly run into a problem (but it is theoretically possible to have your 00 turn into wobbuffet/marill if you use like cheats to get it smh) Quote:
3EE1C - boulderbadge check (atk) 3EE50 - soulbadge check (def) 3EE86 - volcanobadge (sp. atk) 3EEBE - volcanobadge (sp. def) as for speed i'm too lazy to find it :( |
Quote:
|
Quote:
the first two pointers in the offset you gave somehow account to the "found an item" and "bag is full" events, but the pointers after that really account to the text box :) |
esipode's question made me do this and i have exams all throughout this week
my priorities literally do not matter EDIT: a lot more values that are a lot better and that i'd actually be interested in changing! shoutouts to esipode again for finding 136684 way before i did fire red - miscellaneous summary screen values that somewhat make sense as they appear in my notes: Spoiler:
EDIT2: but blurose! there are multiple x-values for a few things! haha ye i know and i have no idea what the difference is, either! it's important to know that the x- and y-values don't match with what is shown in vba as x-/y-values (usually) EDIT3: found a few more values still searching for the x-value to the pokémon sprite itself (likely not hardcoded at this point) |
Is there a way to make link battles faster, as in making the default text speed set as fast in link battles similar to how the battle mode is always SET in link battles, so basically how to change the default options in link battles?
|
How to disable paralysis in electricity type pokemon in Emerald?
|
In FireRed, LeafGreen, and Emerald there's the altering cave which only has zubat in, however if you went to an event (whether these events happened varies by sources) it would change them to other pokemon.
However making them change in the game is actually really easy. For FireRed/LeafGreen: Code:
Code:
Code:
FireRed Spoiler:
Emerald Spoiler:
|
In Emerald, if type 00 00 00 00 in F978F, it will become BW poison effect. Pokemon will not lose HP by poison in overworld.
|
Another bit of scripting stuff, not sure if this has been documented before. But you're able to give pokemon custom moves without asm.
Code:
Where BB is the move slot -1 Where CC is the move (in hex) This is worked out from from the surfing pikachu egg scipt which is already in the ROM (at least in emerald) Spoiler:
|
Quote:
|
Quote:
regardless i wonder why this only works in emerald, since the pichu can transfer to all main gen iii games (assuming this is the pokemon box pichu) surely this means that there must be a way that RSFRLG do it no? |
Quote:
|
Quote:
Quote:
|
Anybody interested in finding out the table offset that special 0x158 uses in FireRed? Special 0x158 = opens several different multichoice boxes depending on 0x8004 *key: 0x0 = badge talk; 0x1 = silph-co elevator; 0x2 = rocket elevator; 0x3 = celadon department store elevator; 0x4 = link options; 0x5 = pharmacy options?; 0x6 other elevator; 0x7 and up - return 0x7f to lastresult* (quoted from JPAN's special/special2 research thread)
|
Whilst HERE tells us where the swarm table is in Emerald, the swarm table in Ruby is at 0x3D13F8, and the table in Sapphire is at 0x3D1450 using their formula the swarms are:
Surskit Lv3, Route 102: Bubble, Quick Attack Surskit Lv15, Route 114: Bubble, Quick Attack Surskit Lv15, Route 117: Bubble, Quick Attack Surskit Lv28, Route 120: Bubble, Quick Attack Skitty Lv15, Route 116: Growl, Tackle Something to note, some are using lower level movesets than they should, surskit learns sweetscent at level 13, whilst skitty should know tail whip (lv3), attract (lv7), sing (lv13), and double slap (lv15), maybe the movepools were updated after swarms were coded, or the swarm levels were changed but the table not updated to match the new levels Also as a note the previous table for emerald is a bit wrong, here's the new one: Seedot Lv3, Route 102: Bide, Harden, Leech Seed Nuzleaf Lv15, Route 114: Harden, Growth, Nature Power, Leech Seed Seedot Lv13, Route 117: Harden, Growth, Nature Power, Leech Seed Seedot Lv25, Route 120: Giga Drain, Frustration, Solarbeam, Leech Seed Skitty Lv8, Route 116: Growl, Tackle, Tail Whip, Attract |
FIRERED v1.0: Special 0x158 (shows multichoice based on values 0x0-0x6 stored in var 0x8004) uses a table at 0x3F5BCC that is 0x12C bytes long. There are six entries in the table and each starting entry is 0x30 bytes away from each other. Now one can easily extend this table by repointing, but there is probably the question of where the offset for the multichoice box properties table is and/or the limiting byte location.
edit: FBI's scrolling multichoice routine seems to have the offset for the multichoice box properties but I have no idea how to read or understand it. The offset seems to be at 0x0CBA7C. |
Quote:
For Emerald, it is very close in similarity. Follow the below image in order to get bike to work or not work on your inserted maps or maps already created. The byte is the same on all maps. It is the second to last one every time. https://i.snag.gy/92zqHO.jpg Also if anyone is curious, yes you can also do this by changing the Show name on entering drop down for that map. 01 is the "Show name [01]" option. This allows you to bike on that map but doesn't show the map's name. If you want to bike AND show the map's name on entering the map, the byte is 0D or you can choose "Show city names [0D]". If you want to show the city name but NOT allow biking, the byte is 0C or just choose ??? [0C] |
Unsure if this has been found or not, but in Firered, Unown encountered outside the Island Chambers crash the game.
To fix that, go to 0x82A10 and put 00 00 00 00, this will also make every Unown encountered random. |
Is it possible to have items with multiple effects? Ex. an item that increases the damage of both fire and water type moves.
|
Quote:
|
Hello. I hope I'm on the right thread.
I just wanna ask if there's a way to decrease the pages of Pokedex. Like for example; The National Pokedex would be up to Celebi only. |
Quote:
Emerald doesn't have a visible step counter in the menu to hide either, which is nice I guess. Quote:
|
How To Give ?? Pokemon Separate Cries
In between Celebi and Treecko in \FR{FireRed} and \EM{Emerald}, there are 25 empty Pokemon slots. These slots appear to have originally been used for the 25 Unown forms before Game Freak decided to go a different route. These slots are all hard-coded to have the cry of Unown, and there is no way to change this with a regular cry editor (it will just change the cry of all of them at once, and will also change the cry of Unown itself). So, in order to give these Pokemon separate cries, you must do the following. Insert 00 00 00 00 00 00 00 00 00 00 at: FireRed: 0x4330C Emerald: 0x6D518 Ruby: 0x3F90C Insert 00 00 00 00 at: FireRed: 0x43318 Emerald: 0x6D524 Ruby: 0x3F918 Repoint the table at: FireRed: 0x2539D4 Emerald: 0x31F61C Ruby: 0x1FDE6A To make repointing the table easier, here is a table you can copy-paste to free space. The 00 00 entries are the 25 ?? slots. You can replace the 00 00's with whatever index number you need to. Spoiler:
Offsets for FireRed were found by DoesntKnowHowToPlay and ThomasWinwood. Details are in this post. All I did was find the Emerald and Ruby offsets. (I put the FireRed offsets here too for convenience). |
Quote:
|
Quote:
080C3776: 00 20 080C377E: 00 20 |
Quote:
Code:
At 0x8C6, change: 91 8B 18 1C 08 40 00 28 FA D0 01 BC 00 47 to: 02 DF 91 8B 18 1C 08 40 00 28 F9 D0 00 BD |
Toggling "set" battle mode (Firered)
First insert this somewhere: Code:
Code:
Usage: In a script, put this: Code:
Explanation: This is a really cheap and inefficient solution that branches off the original script that asks this: http://i.imgur.com/XOZLhfX.png And if 0x203F4FE = 0xAA, it won't ask at all regardless of the player's option setting. This could be useful if you're making a battle facility and don't want them to be able to switch after knocking out a Pokémon. I colored some of the numbers in red, this is the ram offset 0203F4FE, so if you're using this for something else, find another area. (By default this isn't used). Credits to Doesnt who made the "forced" version: Quote:
|
Quote:
for example can i change the battle mode to "shift" in link battles or increase the text speed? |
Surprised nobody has posted this before.
Change Daycare XP Amount Per Step (Emerald) At 0x70AE8, change 01 30 to XX 30, where XX is the amount of XP you want per step. Personally, I think 2 is more reasonable than 1. At 0x70B04, change 04 39 to 04 31. This fixes the eggs-not-appearing-with-even-xp-amounts thing. This does have one minor side-effect: the first chance for an egg to appear after placing 2 Pokemon in the daycare can take anywhere between 1 and 256 steps instead of a fixed amount of 256 steps. After the first "egg chance" it goes back to the fixed 1 chance per 256 steps as usual. Edit: Even values may or may not break breeding (eggs won't show up). Looking into this more currently. Fixed. |
Before I start digging much further, has anybody been able to figure out how to increase the maximum number of casino coins beyond 9,999?
I'll post anything I find here. I will begin by looking at the following commands/offsets: display coins: 0806C258 show coins: 0809B578 get coin amount: 0809BB00 add coins: 0809BB20 hide coins: 0809B5A0 updatecoins: 0809B5B4 |
Continuing with my daycare stuff:
Change Daycare Breeding Rate [EM] For those unaware, the "Breeding Rate" is the chance of receiving an egg after taking 256 steps. This is just a basic version that requires only small hex edits; I'm planning on trying to create a routine that separates the one 50% value into two separate configurable values as well as hopefully allowing Pokemon from the same evolution chain to count as "same species" instead of different species (that has always bothered me). Anyway, the default breeding rates work like this:
To change the 70% value, the following hex edits are required:
|
I just copied the above post because I'm lazy. Credits go to MWisBest for the format.
Change Daycare Breeding Rate [FR] To change the 70% value, the following hex edits are required:
|
Quote:
|
To continue a bit on the cries research from 3 years ago there is a byte at:
Emerald: 0x080626AE - Opponent Emerald: 0x0805CA30 - Ally *FireRed: 0x08038C32 - Opponent *FireRed: 0x08033428 - Ally This byte controls the pitch of the cry played when a Pokemon faints. It is normally set to 5 which is low pitched but follows the same structure as the cry command seen here. I tested them from 0x0 to 0x10 and it's the same as previously researched. As far as I know it only affects fainting in battle, it won't affect the lower pitched cries when your Pokemon is sent out with low hp or overworld cries. Useful if you don't want lower pitched faint cries, maybe you're using separate cries for fainting or maybe you want high pitched cries. *Not 100% sure on the FireRed offsets since I found these in Emerald but the routines are almost identical so pretty likely to be correct. |
Quote:
Btw, do you know what does the 0x19 before it do? It's an argument too. |
Quote:
I noticed the 0x19 first but then messed around with the 0x5 and got results so I just ignored 0x19. Can you please share your extra information on this? |
Quote:
This code is calling a function that plays poke cry. First argument is species, second is 0x19 which I dont know what does and the third is 0x5 which you said is responsible for the pitch. |
Quote:
Also makes sense, I spent ages looking at the prepare faint cry function then came across this just looking at the playcry function. I orignially though 0x19 would be speed but I can't really hear a difference in speed. |
[FireRed] Mew Obey Fix tutorial
In Pokemon FireRed, if you will encounter Mew by any method except Event, then Mew will not obey. Game Freak made the rarest Pokemon cheat-protected. This is also true with Deoxys, but the Deoxys caught at Birth Island will obey. Since Mew is uncatchable in FireRed. It is not possible with Mew. So I don't know if someone posted this but I can tell how to fix it. It is really easy to do it. Quote:
|
Berries Replant Forever [EM]
As most people know, you only have so much time to pick a grown berry before it "replants itself" and becomes a sprout again. By default, the berry can only do this 9 times (for a total of 10 plantings, including the initial time you put the berry in the soil yourself). This has always bothered me because it's possible to lose rare berries forever if you aren't careful, and I tend to be very forgetful. To allow berries to continue to replant themselves until you pick them, make the following change: At 0xE185A, replace 04 48 41 68 00 68 20 60 61 60 with 00 20 60 71 C0 46 C0 46 C0 46. |
Just a reminder to some users who have been using this as a quick question thread: if you don't provide at least some semblance of research or development of your own, your question does not belong here. Instead, create a thread in the parent ROM Hacking forum, here: https://www.pokecommunity.com/forumdisplay.php?f=284, and give it the appropriate category (usually, this will be [ASM & Hex] if you were choosing to post here).
|
[FireRed] Black out script offsets
Nurse Joy blackout: 0x081A8D97 Mom blackout: 0x081A8DD8 Quote:
|
HM Flash Lightens Entire Screen [EM]
I got a little irked trying to train in the Victory Road basement by the Flash HM not clearing the entire screen. I'm playing the game on my phone, which has an AMOLED display. AMOLED displays are very susceptible to burn-in, so to avoid getting a nice big dark circle in the middle of my screen... I modified the Flash brightness table to make it work like FR/LG and light up the entire screen: At 0x54FE66, change 48 to C8. This is kind of cheap because it makes navigating Granite Cave and Victory Road easier than intended, but whatever. |
<Remove Field Moves options from Pokémon menu [FR]>
0x122A8C: 00 0x45A76E: 00 00 <Remove Ending Credits (Reset the Game) [FR]> 0x16730B: 9C 50 00 6B 02 FF (see the EDIT below) EDIT: In some free space place 00 DF 00 00 and save it's offset At 0x16730B: 23 XX XX XX 08 FF (XX XX XX is the reverse of the offset you saved +1) |
Quote:
|
Quote:
|
Expanded Pokemon In Advance Map
Take the total number of pokemon. Change it to hex and reverse it. Quote:
For Advance Map 1.92 Go to D027C For Advance Map 1.95 Go to 77DD5 and change Code:
And it's done. |
Quote:
are you tutorial |
Quote:
Quote:
The offset for 1.95 is 0x77DD5 |
Quote:
Actually, I rarely use 1.95 because it's buggy. I better edit my post. |
Quote:
<Remove Ending Credits (Reset the Game) [FR]> In some free space place 00 DF 00 00 and save it's offset At 0x16730B: 23 XX XX XX 08 FF (XX XX XX is the reverse of the offset you saved +1) |
the table for the berry tag images begins at 0x57FC94, at the cheri berry. four bytes are the image pointer, next four are the palette, repeat.
|
Okay, so I'm still a noob at this, but I think I understand better now how memory works. So for some things, I've decided to brute force my way through the hack with a hex editor.
Just to play around and reverse engineer things a bit, I tried the old fashioned method of opening up scripts with PKSV, then opening the ROM in the hex editor and going to the offsets it mentioned. Except...PKSV uses seven digits for "offsets", when there are only six digits for offsets in the ROM. I don't really know what in particular to ask about this. Is there some way to translate between the two numbers? Does PKSV lie? So just as I typed that entire paragraph, I realized that PKSV starts everything with 0x8 and then the offset number. Posting this anyway in case anyone else was wondering. |
Quote:
Second, the 0x8 (0x9 too, for expanded Roms) is only to tell the system "It's a ROM offset!", if it begins with 0x2 it's a RAM offset. |
Quote:
|
<Skip Player and Rival Naming [FR]>
Change the pointer at 0x13009C to D1 08 13 08 After choosing the player gender the gameplay will start without naming the player and the rival, then you will be able to use static names in-game. Note: If you don't have used some ASM to set the player/rival names the game will freeze. |
Quote:
|
It's often been asked how the Hidden Items work, and what flags they use.
I was curious myself, so I did some digging. (FR) The routine responsible for handling the flag check/set and item give is at 0x6D17A. The subroutine that converts the Hidden ID to the flag to check/set here is located at 0xCC45E. It adds 0x3E8 to the Hidden ID, which is then the flag to be checked/set. This means that hidden ID 0x0 equates to flag 0x3E8, 0x1 equates to 0x3E9, and so on, until you reach ID 0xFF, which is flag 0x4E7. |
Dynamic Wild Battles(with Green script tiles)
Hello all,
I made a way to have random wild battles which also randomize not only the Pokemon but the level as well. I got the idea and the know how from a thread called " PokeMart as debug input ". Anyway here is the XSE script. Code: Code:
But I will make a different version that uses the safe vars hack. Just in case. To use this, Simply compile and place on green script tile then set the tiles var to 0x5006 and the value to 0. The default script is made so you have an 8% chance of a wildbattle to happen. What this does: It takes a script command and writes it in hex into vars 0x4100 - 0x4104. Then it changes the certain values to the random number (PokemonID and Level), after that it sets up vars 0x800D - 0x8012 and then calls the 0x800D to execute the code at 0x4100-0x4105. Then returns. Hope it can help someone out there. |
Quote:
Spoiler:
|
Quote:
|
Quote:
|
In Firered at 0x15FD0C there's a table of pointers for the vars 0x8000-0x8014.
You can easily repoint this and add your own entries. I added 12 new ones (0x8015-0x8020) and using them all in a script worked perfectly. So instead of writing to your static addresses with 'writebytetooffset', you could just set a var. |
This is one Information About Catch areas in Pokédex FR
Probably you have problem making you hack with it Existe one table that control it Table Located at 463580 have this format [TT][XX][YY][00] TT = Shape of the catch area (varies from 00 - 06) the img explain better https://image.ibb.co/dyKP0k/untitled.png XX = X-coordinate of the area on the worldmap in the pokedex YY = Y-coordinate of the area on the worldmap in the pokedex 00 = Padding 00463580 = FILLER 00463584 = PALLET TOWN 00463588 = VIRIDIAN CITY 0046358c = PEWTER CITY 00463590 = CERULEAN CITY 00463594 = LAVENDER TOWN 00463598 = VERMILION CITY 0046359c = CELADON CITY 004635a0 = FUCHSIA CITY 004635a4 = CINNABAR ISLAND 004635a8 = INDIGO PLATEAU 004635ac = SAFFRON CITY 004635bc = ROUTE 4 004635d4 = ROUTE 10 004635b0 = ROUTE 1 004635b4 = ROUTE 2 004635b8 = ROUTE 3 004635bc = ROUTE 4 004635c0 = ROUTE 5 004635c4 = ROUTE 6 004635c8 = ROUTE 7 004635cc = ROUTE 8 004635d0 = ROUTE 9 004635d4 = ROUTE 10 004635d8 = ROUTE 11 004635dc = ROUTE 12 004635e0 = ROUTE 13 004635e4 = ROUTE 14 004635e8 = ROUTE 15 004635ec = ROUTE 16 004635f0 = ROUTE 17 004635f4 = ROUTE 18 004635f8 = ROUTE 19 004635fc = ROUTE 20 00463600 = ROUTE 21 00463604 = ROUTE 22 00463608 = ROUTE 23 0046360c = ROUTE 24 00463610 = ROUTE 25 00463614 = VIRIDIAN FOREST 0046361c = MT. MOON 00463598 = S.S. ANNE (SAME OFFSET OF VERMILLION) 004635ac = UNDERGROUND PATH (SAME OFFSET OF SAFRON) 004635ac = UNDERGROUND PATH ( SAME OFFSET OF SAFRON) 00463618 = DIGLETT'S CAVE 0046363c = VICTORY ROAD 0046359c = ROCKET HIDEOUT (SAME OFFSET OF CELADON) 004635ac = SILPH CO. (SAME OFFSET OF SAFRON) 00463638 = POKéMON MANSION 00463630 = SAFARI ZONE 0046363c = POKéMON LEAGUE (SAME OFFSET VICTORY ROAD) 00463624 = ROCK TUNNEL 00463634 = SEAFOAM ISLANDS 0046362c = POKéMON TOWER 00463620 = CERULEAN CAVE 00463628 = POWER PLANT Need search for the rest of Island Maps Credit : sfc.pokefans.net/lesson.php?id=20 for the base of my search |
How to change the Latias and Latios event after chose red and blue?
|
Changing the experience gain formula (Emerald)
** The purpose of this research isn't to learn the EXP calculation formula. We already know that. The purpose is to give offsets we can use to easily change the formula. The exact point where the game yanks a Pokemon's experience yield is here: Code:
Code:
Code:
Code:
Before these opcodes:
Code:
Code:
|
Quote:
|
Quote:
|
Quote:
I linked you to the github of my and one other guy project. We basically rewrote a huge part of the original battle engine in C and added stuff in later generations. For more info, see my signature. |
Changing global wild encounter levels (Emerald)
** Again, something I did for my own uses. Instead of changing the wild encounter tables for each route, you can make sweeping changes to all wild encounters by changing the code that uses those tables. This is what the flow for generating wild encounters looks like (call order): ROM:080B5288 walking_func ROM:080B4F4C choose_wild_pokemon_encounter ROM:080B4C74 choose_encounter_level The first function performs some check for every step (or turn) the player takes. If the player's tile is encounter-eligible it enters the second function, which eventually calls the third function, "choose_encounter_level" which does just that. Let's look at some pseudo-code: Code:
Computing "rand" Code:
Returning "rand" as the encounter level Code:
So, what now? Well, say you wanted to make encounters a bit scarier - it's as easy as adding to R4 or R7. In my own experiments I replaced the useless left-shift/right-shift opcodes near the "rand" computation with something more useful: Code:
showthread.php?p=8615361#post8615361 The value's behind pointer 0x3005D90, offset 0x14. The reason I counted from 0x3005D8c is convenience - it's used a bit later at 080B4D50: Code:
|
Quote:
|
I just happened to stumble on this
Writing C0 46 C0 46 to 0x03DF40 will allow the Weedle in the Old Man's tutorial to be female or genderless. Obviously this is only for FR but hey something similar should be out there for Emerald. Also at 0x07F88C, there is a Code:
|
Quote:
|
I did a little investigation into trainerbattle 0x9:
Rather than nop-ing out of the Oak's text function, you can just change the reserved byte from 0x3 to 0x0 to prevent Oak's text from appearing during battle. So you could re-use trainerbattle 0x9 and still have a battle that uses the text. It would look like: Code:
EDIT: setting the reserved byte to 0x0 instead of 0x3 removes the functionality allowing you to continue with a script even if you white out. I made an assembly routine to toggle the text on and off while keeping this functionality in this post, though. Additionally, trainerbattle 0x9 writes 0x0 or 0x1 to variable 0x800D (lastresult) depending on if you won or lost the battle, respectively. This allows you to branch to separate scripts depending on the result of your trainer battle |
Quote:
Doing what Knizz did, I get fix a bug in GBA emulator for android. when the OAK's battle start, the emu freezes. |
Quote:
|
There was a conflict between JPAN's set trainer levels hack and Doesntknowhowtoplay's trainer EVs hack. I may have found a way to fix it so that one can have both in their hack at the same time.
I posted it in Doesnt's original thread here, but I thought I'd link it here too so more people could see it, because it may be something useful for a lot of people's hacks if it works for everyone the way it worked for me. I haven't tested it on a clean ROM yet, but I think it should still work there too. |
Class-based Poké Balls [FR]
In Sun and Moon, NPC trainers started using different types of Poké Balls. Specifically, it's tied to their trainer class - for example, Elite Four members and Ace Trainers keep their Pokemon in Ultra Balls. Prior to this, NPC trainers only ever used basic Poké Balls. |
Quote:
(I totally think this is cool/complex enough to deserve its own thread, by the way... but hey, your call. ;)) also: 1) your Readme file is a radiant and beautiful thing and an absolute MODEL of clarity and conciseness; I sort of wish you'd write a tutorial just on how to write documentation, haha, it could not be easier to understand 2) your smart automatic double battle implementation is brilliant, by the way - what a subtle but giant improvement to the default engine and finally: Quote:
|
Quote:
I open the prompt and write "src/build" but nothing...if I write "script/build" a pop-up ask me with how program I want to open this file... How can I compile it??? Thanks :D |
Quote:
|
I hadn't seen this anywhere but my apologies if it's already been posted elsewhere.
The sprite that shows the rival walking in place in the nickname screen is different than the overworld rival character. I have no idea why; but regardless, I went ahead and searched for the appropriate offsets for the nickname screen images/palette: Code:
|
Quote:
|
Quote:
|
Choose Poké Mart Inventory Based on Badge Progress [FR]
This shouldn't need too much of an explanation. Gen IV prevented early-game Poké Marts from becoming completely useless by late-game by tying the Poké Mart's inventory to how many badges you have, rather than the location of the Mart. This is the same thing for Fire Red. Basically, if your script contains pokemart 0, it will pick the appropriate item list (which you can customize). Any argument other than zero is still understood as a static item list. Remove flag check for running [FR] Code:
Automatically unlock National Dex [FR] I could've sworn I posted this at some point, but I couldn't find it. The function responsible for determining whether you have the national dex or not is at 0x0806E25C. By making it always return true, you'll always be considered to have the national dex. To be clear, this doesn't make the Pokédex active on the start menu, but (for example) national dex Pokémon will be able to evolve and their Pokédex number will show on the summary screen (instead of ???). It's the equivalent of immediately invoking special 0x16Fat the beginning of the game. Code:
To be clear, this does not include the in-battle effect (where a Pokémon with Pickup may pick up an item that was just used), as introduced in BW; it just makes the item list depend on the level of the Pokémon, like in Emerald. Can't forget HM08 [FR] FRLG didn't use HM08 (Dive), so the move it contains can be freely forgotten without the Move Deleter. To make it like the rest of the HMs (in that the move can't be forgotten): Code:
Quote:
Quote:
Also, I apologize if moving my response to this post (it was originally two posts down) notifies you again. |
| 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.