Background: Modifying existing villagers in Animal Crossing has been partially documented in different places by different people using different methods. MOVING an existing villager from one place to another has not been documented at all, and is something that will be necessary if you plan on mapping your own town with custom acres. Otherwise you end up designing your town around existing villagers, which is no fun.
What we're doing: We are going to learn how to change EVERY aspect of an existing villager. The villager themselves, their attitudes, catch-phrases, shirts, and the catalyst for this guide, their house location. The letters that villagers have received can also be edited, but won't be included in this guide since I'm still researching this.
Why: I created a new Animal Crossing town, hated the layout, and decided I wanted to design my own. I went through and designed my own town map from scratch, and went through each acre cleaning things up and moving things around as necessary. When a villager's house ended up in a pond due to my map layout, I had two choices: re-do my town layout around the villager, or figure out how to change a villager's location properly since no one else had done so.
What you will need:
Steps:
Based on the example code, you'll see that Bob's house is now in Acre C-2 where we specified! You'll notice that you won't be able to enter the house at first, but after you save and quit and reload the game without the cheat code, all will work as normal!
If you're in Dolphin, you can just turn the cheat code off after your town loads by going to Tools -> Cheat Manager -> Click Apply after you disable the cheat. This will take effect immediately.
So that's all I really have! I've tried to be thorough, but I'm sure that I've missed something or explained something incorrectly, so feel free to post questions and I'll try to answer them.
FFFF Item IDs surround houses placed by the game to prevent digging, however these aren't moved with the code templates listed above. It's not necessary for you to manually place these around your new house, but you may want to go view the Memory in Dolphin in the area where the original house was and replace any leftover FFFF values with 0000, otherwise you will have trouble digging in those areas (Your shovel clanging off invisible objects). I've not tested the concept of not surrounding your houses with FFFF, but the possibility exists that the game might spawn buried items beneath the houses that you can't get to if you don't surround your houses with FFFF items.
FFF
FHF
SFF
F = FFFF
H = House Item
S = Sign Item
What we're doing: We are going to learn how to change EVERY aspect of an existing villager. The villager themselves, their attitudes, catch-phrases, shirts, and the catalyst for this guide, their house location. The letters that villagers have received can also be edited, but won't be included in this guide since I'm still researching this.
Why: I created a new Animal Crossing town, hated the layout, and decided I wanted to design my own. I went through and designed my own town map from scratch, and went through each acre cleaning things up and moving things around as necessary. When a villager's house ended up in a pond due to my map layout, I had two choices: re-do my town layout around the villager, or figure out how to change a villager's location properly since no one else had done so.
What you will need:
- Dolphin (Running with Debug flags enabled) OR a GameCube with Action Replay / GeckoOS / Swiss-GC (Some type of cheat system)
- A Homebrew enabled Wii or GameCube, if you want to copy an existing save file to/from Dolphin. Use the tool GCMM to accomplish this.
- Patience
Steps:
- Backup your save file, and set your Dolphin Memory Card to Read-Only while you experiment. When you start the game and a Villager, "Gets the town ready for you", it's actually going through a save process, so if you have a Villager modifier cheat code turned on, whether you were ready or not, that code has been implemented into your town!
- Install the latest version of Dolphin, and enable Debug Mode by adding the -d flag to the shortcut:
- Villagers are numbered 1 through 15. To find the number for the Villager you want to edit, begin writting a letter, and burn down the list of Villagers until you find the one you want to edit. For example, if they are the 4th option down, they are the 4th Villager.
- Build your Villager modification code! I've included templates below outlining what each line of code does, with explanations on finding the values you need in following steps:
0127D839 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127D844 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127D845 000000XX <- Attitude Modifier: XX = Attitude ID
0527E0D5 XXXXXXXX <- Catch-Phrase Modifier Part 1
0527E0D9 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327E0DD 0000XXXX <- Catch-Phrase Modifier Part 3
0127E11D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
0527E0D1 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y0127E1C1 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127E1CC 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127E1CD 000000XX <- Attitude Modifier: XX = Attitude ID
0527EA5D XXXXXXXX <- Catch-Phrase Modifier Part 1
0527EA61 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327EA65 0000XXXX <- Catch-Phrase Modifier Part 3
0127EAA5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
0527EA59 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y0127EB49 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127EB54 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127EB55 000000XX <- Attitude Modifier: XX = Attitude ID
0527F3E5 XXXXXXXX <- Catch-Phrase Modifier Part 1
0527F3E9 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327F3ED 0000XXXX <- Catch-Phrase Modifier Part 3
0127F42D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
0527F3E1 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y0127F4D1 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127F4DC 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127F4DD 000000XX <- Attitude Modifier: XX = Attitude ID
0527FD6D XXXXXXXX <- Catch-Phrase Modifier Part 1
0527FD71 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327FD75 0000XXXX <- Catch-Phrase Modifier Part 3
0127FDB5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
0527FD69 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y0127FE59 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127FE64 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127FE65 000000XX <- Attitude Modifier: XX = Attitude ID
052806F5 XXXXXXXX <- Catch-Phrase Modifier Part 1
052806F9 XXXXXXXX <- Catch-Phrase Modifier Part 2
032806FD 0000XXXX <- Catch-Phrase Modifier Part 3
0128073D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
052806F1 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y012807E1 000000XX <- Villager Modifier Part 1: XX = Villager ID
012807EC 000000XX <- Villager Modifier Part 2: XX = Villager ID
012807ED 000000XX <- Attitude Modifier: XX = Attitude ID
0528107D XXXXXXXX <- Catch-Phrase Modifier Part 1
05281081 XXXXXXXX <- Catch-Phrase Modifier Part 2
03281085 0000XXXX <- Catch-Phrase Modifier Part 3
012810C5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05281079 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01281169 000000XX <- Villager Modifier Part 1: XX = Villager ID
01281174 000000XX <- Villager Modifier Part 2: XX = Villager ID
01281175 000000XX <- Attitude Modifier: XX = Attitude ID
05281A05 XXXXXXXX <- Catch-Phrase Modifier Part 1
05281A09 XXXXXXXX <- Catch-Phrase Modifier Part 2
03281A0D 0000XXXX <- Catch-Phrase Modifier Part 3
01281A4D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05281A01 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01281AF1 000000XX <- Villager Modifier Part 1: XX = Villager ID
01281AFC 000000XX <- Villager Modifier Part 2: XX = Villager ID
01281AFD 000000XX <- Attitude Modifier: XX = Attitude ID
0528238D XXXXXXXX <- Catch-Phrase Modifier Part 1
05282391 XXXXXXXX <- Catch-Phrase Modifier Part 2
03282395 0000XXXX <- Catch-Phrase Modifier Part 3
012823D5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05282389 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01282479 000000XX <- Villager Modifier Part 1: XX = Villager ID
01282484 000000XX <- Villager Modifier Part 2: XX = Villager ID
01282485 000000XX <- Attitude Modifier: XX = Attitude ID
05282D15 XXXXXXXX <- Catch-Phrase Modifier Part 1
05282D19 XXXXXXXX <- Catch-Phrase Modifier Part 2
03282D1D 0000XXXX <- Catch-Phrase Modifier Part 3
01282D5D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05282D11 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01282E01 000000XX <- Villager Modifier Part 1: XX = Villager ID
01282E0C 000000XX <- Villager Modifier Part 2: XX = Villager ID
01282E0D 000000XX <- Attitude Modifier: XX = Attitude ID
0528369D XXXXXXXX <- Catch-Phrase Modifier Part 1
052836A1 XXXXXXXX <- Catch-Phrase Modifier Part 2
032836A5 0000XXXX <- Catch-Phrase Modifier Part 3
012836E5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05283699 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01283789 000000XX <- Villager Modifier Part 1: XX = Villager ID
01283794 000000XX <- Villager Modifier Part 2: XX = Villager ID
01283795 000000XX <- Attitude Modifier: XX = Attitude ID
05284025 XXXXXXXX <- Catch-Phrase Modifier Part 1
05284029 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328402D 0000XXXX <- Catch-Phrase Modifier Part 3
0128406D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05284021 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01284111 000000XX <- Villager Modifier Part 1: XX = Villager ID
0128411C 000000XX <- Villager Modifier Part 2: XX = Villager ID
0128411D 000000XX <- Attitude Modifier: XX = Attitude ID
052849AD XXXXXXXX <- Catch-Phrase Modifier Part 1
052849B1 XXXXXXXX <- Catch-Phrase Modifier Part 2
032849B5 0000XXXX <- Catch-Phrase Modifier Part 3
012849F5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
052849A9 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01284A99 000000XX <- Villager Modifier Part 1: XX = Villager ID
01284AA4 000000XX <- Villager Modifier Part 2: XX = Villager ID
01284AA5 000000XX <- Attitude Modifier: XX = Attitude ID
05285335 XXXXXXXX <- Catch-Phrase Modifier Part 1
05285339 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328533D 0000XXXX <- Catch-Phrase Modifier Part 3
0128537D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05285331 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01285421 000000XX <- Villager Modifier Part 1: XX = Villager ID
0128542C 000000XX <- Villager Modifier Part 2: XX = Villager ID
0128542D 000000XX <- Attitude Modifier: XX = Attitude ID
05285CBD XXXXXXXX <- Catch-Phrase Modifier Part 1
05285CC1 XXXXXXXX <- Catch-Phrase Modifier Part 2
03285CC5 0000XXXX <- Catch-Phrase Modifier Part 3
01285D05 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05285CB9 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01285DA9 000000XX <- Villager Modifier Part 1: XX = Villager ID
01285DB4 000000XX <- Villager Modifier Part 2: XX = Villager ID
01285DB5 000000XX <- Attitude Modifier: XX = Attitude ID
05286645 XXXXXXXX <- Catch-Phrase Modifier Part 1
05286649 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328664D 0000XXXX <- Catch-Phrase Modifier Part 3
0128668D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 000050XX <- Spawn House: XX = Villager ID, YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
05286641 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y01289841 000000XX <- Islander Modifier Part 1: XX = Islander ID
0128984C 000000XX <- Islander Modifier Part 2: XX = Islander ID
0128984D 000000XX <- Attitude Modifier: XX = Attitude ID
0528A0DD XXXXXXXX <- Catch-Phrase Modifier Part 1
0528A0E1 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328A0E5 0000XXXX <- Catch-Phrase Modifier Part 3
0128A125 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 00000000 <- Erase Existing House: YYYYYY = Existing House Location
03YYYYYY 00000000 <- Erase Existing Sign: YYYYYY = Existing Sign Location
03YYYYYY 00005851 <- Spawn Islander House: YYYYYY = New House Location
03YYYYYY 0000A012 <- Spawn Sign: YYYYYY = New Sign Location
0528A0D9 xxyyXXYY <- Living Location Modifier: xx = Acre Offset X, yy = Acre Offset Y, XX = Inside Acre X, YY = Inside Acre Y0127D839 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127D844 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127D845 000000XX <- Attitude Modifier: XX = Attitude ID
0527E0D5 XXXXXXXX <- Catch-Phrase Modifier Part 1
0527E0D9 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327E0DD 0000XXXX <- Catch-Phrase Modifier Part 3
0127E11D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location0127E1C1 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127E1CC 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127E1CD 000000XX <- Attitude Modifier: XX = Attitude ID
0527EA5D XXXXXXXX <- Catch-Phrase Modifier Part 1
0527EA61 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327EA65 0000XXXX <- Catch-Phrase Modifier Part 3
0127EAA5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location0127EB49 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127EB54 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127EB55 000000XX <- Attitude Modifier: XX = Attitude ID
0527F3E5 XXXXXXXX <- Catch-Phrase Modifier Part 1
0527F3E9 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327F3ED 0000XXXX <- Catch-Phrase Modifier Part 3
0127F42D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location0127F4D1 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127F4DC 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127F4DD 000000XX <- Attitude Modifier: XX = Attitude ID
0527FD6D XXXXXXXX <- Catch-Phrase Modifier Part 1
0527FD71 XXXXXXXX <- Catch-Phrase Modifier Part 2
0327FD75 0000XXXX <- Catch-Phrase Modifier Part 3
0127FDB5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location0127FE59 000000XX <- Villager Modifier Part 1: XX = Villager ID
0127FE64 000000XX <- Villager Modifier Part 2: XX = Villager ID
0127FE65 000000XX <- Attitude Modifier: XX = Attitude ID
052806F5 XXXXXXXX <- Catch-Phrase Modifier Part 1
052806F9 XXXXXXXX <- Catch-Phrase Modifier Part 2
032806FD 0000XXXX <- Catch-Phrase Modifier Part 3
0128073D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location012807E1 000000XX <- Villager Modifier Part 1: XX = Villager ID
012807EC 000000XX <- Villager Modifier Part 2: XX = Villager ID
012807ED 000000XX <- Attitude Modifier: XX = Attitude ID
0528107D XXXXXXXX <- Catch-Phrase Modifier Part 1
05281081 XXXXXXXX <- Catch-Phrase Modifier Part 2
03281085 0000XXXX <- Catch-Phrase Modifier Part 3
012810C5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01281169 000000XX <- Villager Modifier Part 1: XX = Villager ID
01281174 000000XX <- Villager Modifier Part 2: XX = Villager ID
01281175 000000XX <- Attitude Modifier: XX = Attitude ID
05281A05 XXXXXXXX <- Catch-Phrase Modifier Part 1
05281A09 XXXXXXXX <- Catch-Phrase Modifier Part 2
03281A0D 0000XXXX <- Catch-Phrase Modifier Part 3
01281A4D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01281AF1 000000XX <- Villager Modifier Part 1: XX = Villager ID
01281AFC 000000XX <- Villager Modifier Part 2: XX = Villager ID
01281AFD 000000XX <- Attitude Modifier: XX = Attitude ID
0528238D XXXXXXXX <- Catch-Phrase Modifier Part 1
05282391 XXXXXXXX <- Catch-Phrase Modifier Part 2
03282395 0000XXXX <- Catch-Phrase Modifier Part 3
012823D5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01282479 000000XX <- Villager Modifier Part 1: XX = Villager ID
01282484 000000XX <- Villager Modifier Part 2: XX = Villager ID
01282485 000000XX <- Attitude Modifier: XX = Attitude ID
05282D15 XXXXXXXX <- Catch-Phrase Modifier Part 1
05282D19 XXXXXXXX <- Catch-Phrase Modifier Part 2
03282D1D 0000XXXX <- Catch-Phrase Modifier Part 3
01282D5D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01282E01 000000XX <- Villager Modifier Part 1: XX = Villager ID
01282E0C 000000XX <- Villager Modifier Part 2: XX = Villager ID
01282E0D 000000XX <- Attitude Modifier: XX = Attitude ID
0528369D XXXXXXXX <- Catch-Phrase Modifier Part 1
052836A1 XXXXXXXX <- Catch-Phrase Modifier Part 2
032836A5 0000XXXX <- Catch-Phrase Modifier Part 3
012836E5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01283789 000000XX <- Villager Modifier Part 1: XX = Villager ID
01283794 000000XX <- Villager Modifier Part 2: XX = Villager ID
01283795 000000XX <- Attitude Modifier: XX = Attitude ID
05284025 XXXXXXXX <- Catch-Phrase Modifier Part 1
05284029 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328402D 0000XXXX <- Catch-Phrase Modifier Part 3
0128406D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01284111 000000XX <- Villager Modifier Part 1: XX = Villager ID
0128411C 000000XX <- Villager Modifier Part 2: XX = Villager ID
0128411D 000000XX <- Attitude Modifier: XX = Attitude ID
052849AD XXXXXXXX <- Catch-Phrase Modifier Part 1
052849B1 XXXXXXXX <- Catch-Phrase Modifier Part 2
032849B5 0000XXXX <- Catch-Phrase Modifier Part 3
012849F5 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01284A99 000000XX <- Villager Modifier Part 1: XX = Villager ID
01284AA4 000000XX <- Villager Modifier Part 2: XX = Villager ID
01284AA5 000000XX <- Attitude Modifier: XX = Attitude ID
05285335 XXXXXXXX <- Catch-Phrase Modifier Part 1
05285339 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328533D 0000XXXX <- Catch-Phrase Modifier Part 3
0128537D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01285421 000000XX <- Villager Modifier Part 1: XX = Villager ID
0128542C 000000XX <- Villager Modifier Part 2: XX = Villager ID
0128542D 000000XX <- Attitude Modifier: XX = Attitude ID
05285CBD XXXXXXXX <- Catch-Phrase Modifier Part 1
05285CC1 XXXXXXXX <- Catch-Phrase Modifier Part 2
03285CC5 0000XXXX <- Catch-Phrase Modifier Part 3
01285D05 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01285DA9 000000XX <- Villager Modifier Part 1: XX = Villager ID
01285DB4 000000XX <- Villager Modifier Part 2: XX = Villager ID
01285DB5 000000XX <- Attitude Modifier: XX = Attitude ID
05286645 XXXXXXXX <- Catch-Phrase Modifier Part 1
05286649 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328664D 0000XXXX <- Catch-Phrase Modifier Part 3
0128668D 000000XX <- Shirt Modifier: XX = Shirt ID
03YYYYYY 000050XX <- House Modifier: XX = Villager ID, YYYYYY = Existing House Location01289841 000000XX <- Islander Modifier Part 1: XX = Islander ID
0128984C 000000XX <- Villager Modifier Part 2: XX = Islander ID
0128984D 000000XX <- Attitude Modifier: XX = Attitude ID
0528A0DD XXXXXXXX <- Catch-Phrase Modifier Part 1
0528A0E1 XXXXXXXX <- Catch-Phrase Modifier Part 2
0328A0E5 0000XXXX <- Catch-Phrase Modifier Part 3
0128A125 000000XX <- Shirt Modifier: XX = Shirt ID
House Modifier Not Applicable: One generic Islander House ID - Here are some lists with various IDs, and how to find the values you'll need.
00 - Bob
01 - Olivia
02 - Mitzi
03 - Kiki
04 - Tangy
05 - Kabuki
06 - Tabby
07 - Monique
08 - Stinky
09 - Purrl
0A - Kitty
0B - Tom
0C - Rosie
0D - Nosegay
0E - Zoe
0F - Pango
10 - Cyrano
11 - Snooty
12 - Teddy
13 - Chow
14 - Dozer
15 - Nate
16 - Groucho
17 - Tutu
18 - Ursala
19 - Grizzly
1A - Pinky
1B - Jay
1C - Twiggy
1D - Anchovy
1E - Piper
1F - Admiral
20 - Otis
21 - Robin
22 - Midge
23 - Ace
24 - Twirp
25 - Chuck
26 - Stu
27 - Goose
28 - Betty
29 - Hector
2A - Egbert
2B - Ava
2C - Hank
2D - Leigh
2E - Rhoda
2F - Vladimir
30 - Murphy
31 - Cupcake
32 - Kody
33 - Maple
34 - Pudge
35 - Olive
36 - Poncho
37 - Bluebear
38 - Patty
39 - Petunia
3A - Bessie
3B - Belle
3C - Alfonso
3D - Boots
3E - Liz
3F - Biskit
40 - Goldie
41 - Daisy
42 - Lucky
43 - Portia
44 - Maddie
45 - Butch
46 - Bill
47 - Pompom
48 - Joey
49 - Scoot
4A - Derwin
4B - Freckles
4C - Paolo
4D - Dizzy
4E - Axel
4F - Emerald
50 - Tad
51 - Wart Jr.
52 - Cousteau
53 - Puddles
54 - Lily
55 - Jeremiah
56 - Huck
57 - Camofrog
58 - Ribbot
59 - Prince
5A - Jambette
5B - Billy
5C - Chevere
5D - Iggy
5E - Gruff
5F - Sven
60 - Velma
61 - Jane
62 - Cesar
63 - Louie
64 - Peewee
65 - Rollo
66 - Bubbles
67 - Bertha
68 - Elmer
69 - Winnie
6A - Savannah
6B - Ed
6C - Cleo
6D - Peaches
6E - Buck
6F - Carrie
70 - Mathilda
71 - Marcy
72 - Kitt
73 - Valise
74 - Astrid
75 - Sydney
76 - Gonzo
77 - Ozzie
78 - Yuka
79 - Huggy
7A - Rex
7B - Aziz
7C - Leopold
7D - Samson
7E - Penny
7F - Dora
80 - Chico
81 - Candi
82 - Rizzo
83 - Anicotti
84 - Limberg
85 - Carmen
86 - Octavian
87 - Sandy
88 - Sprocket
89 - Rio
8A - Queenie
8B - Apollo
8C - Buzz
8D - Quetzel
8E - Amelia
8F - Pierce
90 - Roald
91 - Aurora
92 - Hopper
93 - Cube
94 - Puck
95 - Gwen
96 - Friga
97 - Curly
98 - Truffles
99 - Spork
9A - Hugh
9B - Rasher
9C - Sue E
9D - Hambo
9E - Lucy
9F - Cobb
A0 - Boris
A1 - Bunnie
A2 - Doc
A3 - Gaston
A4 - Coco
A5 - Gabi
A6 - Dotty
A7 - Genji
A8 - Snake
A9 - Claude
AA - Tank
AB - Spike
AC - Tiara
AD - Vesta
AE - Filbert
AF - Hazel
B0 - Peanut
B1 - Pecan
B2 - Ricky
B3 - Static
B4 - Mint
B5 - Nibbles
B6 - Tybalt
B7 - Rolf
B8 - Bangle
B9 - Lobo
BA - Freya
BB - Chief
BC - Weber
BD - Mallary
BE - Wolfgang
BF - Hornsby
C0 - Oxford
C1 - T-Bone
C2 - Biff
C3 - Opal
C4 - Bones
C5 - Bea
C6 - Bitty
C7 - Rocco
C8 - Lulu
C9 - Blaire
CA - Sally
CB - Ellie
CC - Eloise
CD - Alli
CE - Pippy
CF - Eunice
D0 - Baabara
D1 - Fang
D2 - Deena
D3 - Pate
D4 - Stella
D5 - Cashmere
D6 - Woolio
D7 - Cookie
E8 - Cheri
EB - PunchyD8 - Maelle
D9 - O'Hare
DA - Bliss
DB - Drift
DC - Bud
DD - Boomer
DE - Elina
DF - Flash
E0 - Dobie
E1 - Flossie
E2 - Annalise
E3 - Plucky
E4 - Faith
E5 - Yodel
E6 - Rowan
E7 - June
E9 - Pigleg
EA - Ankha00 - Peppy (F)
01 - Normal (F)
02 - Lazy (M)
03 - Jock (M)
04 - Cranky (M)
05 - Snooty (F)00 - FLAME SHIRT
01 - PAW SHIRT
02 - WAVY PINK SHIRT
03 - FUTURE SHIRT
04 - BOLD CHECK SHIRT
05 - MINT GINGHAM
06 - BAD PLAID SHIRT
07 - SPEEDWAY SHIRT
08 - FOLK SHIRT
09 - DAISY SHIRT
0A - WAVY TAN SHIRT
0B - OPTICAL SHIRT
0C - RUGBY SHIRT
0D - SHERBET GINGHAM
0E - YELLOW TARTAN
0F - GELATO SHIRT
10 - WORK UNIFORM
11 - PATCHED SHIRT
12 - PLUM KIMONO
13 - SOMBER ROBE
14 - RED SWEATSUIT
15 - BLUE SWEATSUIT
16 - RED PUFFY VEST
17 - BLUE PUFFY VEST
18 - SUMMER ROBE
19 - BAMBOO ROBE
1A - RED ALOHA SHIRT
1B - BLUE ALOHA SHIRT
1C - DARK POLKA SHIRT
1D - LITE POLKA SHIRT
1E - LOVELY SHIRT
1F - CITRUS SHIRT
20 - KIWI SHIRT
21 - WATERMELON SHIRT
22 - STRAWBERRY SHIRT
23 - GRAPE SHIRT
24 - MELON SHIRT
25 - JINGLE SHIRT
26 - BLOSSOM SHIRT
27 - ICY SHIRT
28 - CREWEL SHIRT
29 - TROPICAL SHIRT
2A - RIBBON SHIRT
2B - FALL PLAID SHIRT
2C - FIENDISH SHIRT
2D - CHEVRON SHIRT
2E - LADYBUG SHIRT
2F - BOTANICAL SHIRT
30 - ANJU'S SHIRT
31 - KAFFE'S SHIRT
32 - LAVENDER ROBE
33 - BLUE GRID SHIRT
34 - BUTTERFLY SHIRT
35 - BLUE TARTAN
36 - GRACIE'S TOP
37 - ORANGE TIE-DYE
38 - PURPLE TIE-DYE
39 - GREEN TIE-DYE
3A - BLUE TIE-DYE
3B - RED TIE-DYE
3C - ONE-BALL SHIRT
3D - TWO-BALL SHIRT
3E - THREE-BALL SHIRT
3F - FOUR-BALL SHIRT
40 - FIVE-BALL SHIRT
41 - SIX-BALL SHIRT
42 - SEVEN-BALL SHIRT
43 - EIGHT-BALL SHIRT
44 - NINE-BALL SHIRT
45 - ARCTIC CAMO
46 - JUNGLE CAMO
47 - DESERT CAMO
48 - RALLY SHIRT
49 - RACER SHIRT
4A - RACER 6 SHIRT
4B - FISH BONE SHIRT
4C - SPIDERWEB SHIRT
4D - ZIPPER SHIRT
4E - BUBBLE SHIRT
4F - YELLOW BOLERO
50 - NEBULA SHIRT
51 - NEO-CLASSIC KNIT
52 - NOBLE SHIRT
53 - TURNIP TOP
54 - OFT-SEEN PRINT
55 - SKI SWEATER
56 - CIRCUS SHIRT
57 - PATCHWORK TOP
58 - MOD TOP
59 - HIPPIE SHIRT
5A - RICKRACK SHIRT
5B - DINER UNIFORM
5C - SHIRT CIRCUIT
5D - U R HERE SHIRT
5E - YODEL SHIRT
5F - PULSE SHIRT
60 - PRISM SHIRT
61 - STAR SHIRT
62 - STRAW SHIRT
63 - NOODLE SHIRT
64 - DICE SHIRT
65 - KIDDIE SHIRT
66 - FROG SHIRT
67 - MOODY BLUE SHIRT
68 - CLOUDY SHIRT
69 - FORTUNE SHIRT
6A - SKULL SHIRT
6B - DESERT SHIRT
6C - AURORA KNIT
6D - WINTER SWEATER
6E - GO-GO SHIRT
6F - JADE CHECK PRINT
70 - BLUE CHECK PRINT
71 - RED GRID SHIRT
72 - FLICKER SHIRT
73 - FLORAL KNIT
74 - ROSE SHIRT
75 - SUNSET TOP
76 - CHAIN-GANG SHIRT
77 - SPRING SHIRT
78 - BEAR SHIRT
79 - MVP SHIRT
7A - SILK BLOOM SHIRT
7B - POP BLOOM SHIRT
7C - LOUD BLOOM SHIRT
7D - HOT SPRING SHIRT
7E - NEW SPRING SHIRT
7F - DEEP BLUE TEE
80 - SNOWCONE SHIRT
81 - UGLY SHIRT
82 - SHARP OUTFIT
83 - PAINTER'S SMOCK
84 - SPADE SHIRT
85 - BLOSSOMING SHIRT
86 - PEACHY SHIRT
87 - STATIC SHIRT
88 - RAINBOW SHIRT
89 - GROOVY SHIRT
8A - LOUD LINE SHIRT
8B - DAZED SHIRT
8C - RED BAR SHIRT
8D - BLUE STRIPE KNIT
8E - EARTHY KNIT
8F - SPUNKY KNIT
90 - DEER SHIRT
91 - BLUE CHECK SHIRT
92 - LIGHT LINE SHIRT
93 - BLUE PINSTRIPE
94 - DIAMOND SHIRT
95 - LIME LINE SHIRT
96 - BIG BRO'S SHIRT
97 - GREEN BAR SHIRT
98 - YELLOW BAR SHIRT
99 - MONKEY SHIRT
9A - POLAR FLEECE
9B - ANCIENT KNIT
9C - FISH KNIT
9D - VERTIGO SHIRT
9E - MISTY SHIRT
9F - STORMY SHIRT
A0 - RED SCALE SHIRT
A1 - BLUE SCALE SHIRT
A2 - HEART SHIRT
A3 - YELLOW PINSTRIPE
A4 - CLUB SHIRT
A5 - LI'L BRO'S SHIRT
A6 - ARGYLE KNIT
A7 - CAVEMAN TUNIC
A8 - CAFÉ SHIRT
A9 - TIKI SHIRT
AA - A SHIRT
AB - CHECKERED SHIRT
AC - NO.1 SHIRT
AD - NO.2 SHIRT
AE - NO.3 SHIRT
AF - NO.4 SHIRT
B0 - NO.5 SHIRT
B1 - NO.23 SHIRT
B2 - NO.67 SHIRT
B3 - BB SHIRT
B4 - BEATNIK SHIRT
B5 - MOLDY SHIRT
B6 - HOUNDSTOOTH TEE
B7 - BIG STAR SHIRT
B8 - ORANGE PINSTRIPE
B9 - TWINKLE SHIRT
BA - FUNKY DOT SHIRT
BB - CROSSING SHIRT
BC - SPLENDID SHIRT
BD - JAGGED SHIRT
BE - DENIM SHIRT
BF - CHERRY SHIRT
C0 - GUMDROP SHIRT
C1 - BARBER SHIRT
C2 - CONCIERGE SHIRT
C3 - FRESH SHIRT
C4 - FAR-OUT SHIRT
C5 - DAWN SHIRT
C6 - STRIKING OUTFIT
C7 - RED CHECK SHIRT
C8 - BERRY GINGHAM
C9 - LEMON GINGHAM
CA - DRAGON SUIT
CB - G LOGO SHIRT
CC - TIN SHIRT
CD - JESTER SHIRT
CE - PINK TARTAN
CF - WAFFLE SHIRT
D0 - GRAY TARTAN
D1 - WINDSOCK SHIRT
D2 - TRENDY TOP
D3 - GREEN RING SHIRT
D4 - WHITE RING SHIRT
D5 - SNAPPY PRINT
D6 - CHICHI PRINT
D7 - WAVE PRINT
D8 - CHECKERBOARD TEE
D9 - SUBDUED PRINT
DA - AIRY SHIRT
DB - CORAL SHIRT
DC - LEATHER JERKIN
DD - ZEBRA PRINT
DE - TIGER PRINT
DF - COW PRINT
E0 - LEOPARD PRINT
E1 - DANGER SHIRT
E2 - BIG DOT SHIRT
E3 - PUZZLING SHIRT
E4 - EXOTIC SHIRT
E5 - HOUNDSTOOTH KNIT
E6 - UNCOMMON SHIRT
E7 - DAPPER SHIRT
E8 - GAUDY SWEATER
E9 - COZY SWEATER
EA - COMFY SWEATER
EB - CLASSIC TOP
EC - VOGUE TOP
ED - LACED SHIRT
EE - NATTY SHIRT
EF - CITRUS GINGHAM
F0 - COOL SHIRT
F1 - DREAMY SHIRT
F2 - FLOWERY SHIRT
F3 - CATERPILLAR TEE
F4 - SHORTCAKE SHIRT
F5 - WHIRLY SHIRT
F6 - THUNDER SHIRT
F7 - GIRAFFE PRINT
F8 - SWELL SHIRT
F9 - TOAD PRINT
FA - GRASS SHIRT
FB - MOSAIC SHIRT
FC - FETCHING OUTFIT
FD - SNOW SHIRT
FE - MELON GINGHAMEvery Acre has an Internal Acre Map that looks something like this:
Every spot of every acre has an address that tells the game what is there. It is also (in my opinion) pretty easy to sweep through Animal Crossing's memory in Dolphin Debugger to find these addresses based on values.
The easiest way for me to find out where a spot is, is to use the shovel to dig easily countable holes. See example below:
I am currently in Acre C-4, and have dug holes from the edge of the acre that intersect at the location I want to determine for this example. By counting the holes, we can see that we would go 3 spaces along the X-Axis, and 5 spaces down the Y-Axis, making the internal spot 3-5.
To find the address for this, I would look in the lists below for Acre Row C, Column 4, and use CTRL-F to find 3-5 or just scroll down. The resulting address for this would be 27B62C. To actually view this address in Dolphin, we want to copy this address into the address section of the Memory Tab, and add a 1 to the beginning of the address to view the contents.
By looking up the address, we can see that the value of 27B62C is 0011, which is the item ID for a hole you've dug. (Sidenote: The 0000 following 0011 would be Section 4-5, address 27B62E. 0000 means empty)
Obviously you can't dig holes where houses are, so to determine a house location, you can dig holes right up to the edge of a house, and add two.
Being Acre B-2 Section 6-8, the address would be 27A892. If I was looking to replace Bob the Cat with another villager (and who would ever want to replace Bob) then this is the value that I would need to use in the Villager Replacement Code.
A quicker way to find out where a spot is in an Acre is to just dig a hole, copy the first address from the Acre you're in into Dolphin, and slowly scroll through the memory viewer until you find 0011. If you look for a House ID doing this (50XX), the correct House ID won't show up unless you are outside the acre, and the house is out of sight.Mainland Address Points in Post 2, just those values breaks the 100000 character posting limit.
Acre Row H (Island)
X-Y ADDRESS
1-1 288954
2-1 288956
3-1 288958
4-1 28895A
5-1 28895C
6-1 28895E
7-1 288960
8-1 288962
9-1 288964
A-1 288966
B-1 288968
C-1 28896A
D-1 28896C
E-1 28896E
F-1 288970
G-1 288972
1-2 288974
2-2 288976
3-2 288978
4-2 28897A
5-2 28897C
6-2 28897E
7-2 288980
8-2 288982
9-2 288984
A-2 288986
B-2 288988
C-2 28898A
D-2 28898C
E-2 28898E
F-2 288990
G-2 288992
1-3 288994
2-3 288996
3-3 288998
4-3 28899A
5-3 28899C
6-3 28899E
7-3 2889A0
8-3 2889A2
9-3 2889A4
A-3 2889A6
B-3 2889A8
C-3 2889AA
D-3 2889AC
E-3 2889AE
F-3 2889B0
G-3 2889B2
1-4 2889B4
2-4 2889B6
3-4 2889B8
4-4 2889BA
5-4 2889BC
6-4 2889BE
7-4 2889C0
8-4 2889C2
9-4 2889C4
A-4 2889C6
B-4 2889C8
C-4 2889CA
D-4 2889CC
E-4 2889CE
F-4 2889D0
G-4 2889D2
1-5 2889D4
2-5 2889D6
3-5 2889D8
4-5 2889DA
5-5 2889DC
6-5 2889DE
7-5 2889E0
8-5 2889E2
9-5 2889E4
A-5 2889E6
B-5 2889E8
C-5 2889EA
D-5 2889EC
E-5 2889EE
F-5 2889F0
G-5 2889F2
1-6 2889F4
2-6 2889F6
3-6 2889F8
4-6 2889FA
5-6 2889FC
6-6 2889FE
7-6 288A00
8-6 288A02
9-6 288A04
A-6 288A06
B-6 288A08
C-6 288A0A
D-6 288A0C
E-6 288A0E
F-6 288A10
G-6 288A12
1-7 288A14
2-7 288A16
3-7 288A18
4-7 288A1A
5-7 288A1C
6-7 288A1E
7-7 288A20
8-7 288A22
9-7 288A24
A-7 288A26
B-7 288A28
C-7 288A2A
D-7 288A2C
E-7 288A2E
F-7 288A30
G-7 288A32
1-8 288A34
2-8 288A36
3-8 288A38
4-8 288A3A
5-8 288A3C
6-8 288A3E
7-8 288A40
8-8 288A42
9-8 288A44
A-8 288A46
B-8 288A48
C-8 288A4A
D-8 288A4C
E-8 288A4E
F-8 288A50
G-8 288A52
1-9 288A54
2-9 288A56
3-9 288A58
4-9 288A5A
5-9 288A5C
6-9 288A5E
7-9 288A60
8-9 288A62
9-9 288A64
A-9 288A66
B-9 288A68
C-9 288A6A
D-9 288A6C
E-9 288A6E
F-9 288A70
G-9 288A72
1-A 288A74
2-A 288A76
3-A 288A78
4-A 288A7A
5-A 288A7C
6-A 288A7E
7-A 288A80
8-A 288A82
9-A 288A84
A-A 288A86
B-A 288A88
C-A 288A8A
D-A 288A8C
E-A 288A8E
F-A 288A90
G-A 288A92
1-B 288A94
2-B 288A96
3-B 288A98
4-B 288A9A
5-B 288A9C
6-B 288A9E
7-B 288AA0
8-B 288AA2
9-B 288AA4
A-B 288AA6
B-B 288AA8
C-B 288AAA
D-B 288AAC
E-B 288AAE
F-B 288AB0
G-B 288AB2
1-C 288AB4
2-C 288AB6
3-C 288AB8
4-C 288ABA
5-C 288ABC
6-C 288ABE
7-C 288AC0
8-C 288AC2
9-C 288AC4
A-C 288AC6
B-C 288AC8
C-C 288ACA
D-C 288ACC
E-C 288ACE
F-C 288AD0
G-C 288AD2
1-D 288AD4
2-D 288AD6
3-D 288AD8
4-D 288ADA
5-D 288ADC
6-D 288ADE
7-D 288AE0
8-D 288AE2
9-D 288AE4
A-D 288AE6
B-D 288AE8
C-D 288AEA
D-D 288AEC
E-D 288AEE
F-D 288AF0
G-D 288AF2
1-E 288AF4
2-E 288AF6
3-E 288AF8
4-E 288AFA
5-E 288AFC
6-E 288AFE
7-E 288B00
8-E 288B02
9-E 288B04
A-E 288B06
B-E 288B08
C-E 288B0A
D-E 288B0C
E-E 288B0E
F-E 288B10
G-E 288B12
1-F 288B14
2-F 288B16
3-F 288B18
4-F 288B1A
5-F 288B1C
6-F 288B1E
7-F 288B20
8-F 288B22
9-F 288B24
A-F 288B26
B-F 288B28
C-F 288B2A
D-F 288B2C
E-F 288B2E
F-F 288B30
G-F 288B32
1-G 288B34
2-G 288B36
3-G 288B38
4-G 288B3A
5-G 288B3C
6-G 288B3E
7-G 288B40
8-G 288B42
9-G 288B44
A-G 288B46
B-G 288B48
C-G 288B4A
D-G 288B4C
E-G 288B4E
F-G 288B50
G-G 288B52X-Y ADDRESS
1-1 288B54
2-1 288B56
3-1 288B58
4-1 288B5A
5-1 288B5C
6-1 288B5E
7-1 288B60
8-1 288B62
9-1 288B64
A-1 288B66
B-1 288B68
C-1 288B6A
D-1 288B6C
E-1 288B6E
F-1 288B70
G-1 288B72
1-2 288B74
2-2 288B76
3-2 288B78
4-2 288B7A
5-2 288B7C
6-2 288B7E
7-2 288B80
8-2 288B82
9-2 288B84
A-2 288B86
B-2 288B88
C-2 288B8A
D-2 288B8C
E-2 288B8E
F-2 288B90
G-2 288B92
1-3 288B94
2-3 288B96
3-3 288B98
4-3 288B9A
5-3 288B9C
6-3 288B9E
7-3 288BA0
8-3 288BA2
9-3 288BA4
A-3 288BA6
B-3 288BA8
C-3 288BAA
D-3 288BAC
E-3 288BAE
F-3 288BB0
G-3 288BB2
1-4 288BB4
2-4 288BB6
3-4 288BB8
4-4 288BBA
5-4 288BBC
6-4 288BBE
7-4 288BC0
8-4 288BC2
9-4 288BC4
A-4 288BC6
B-4 288BC8
C-4 288BCA
D-4 288BCC
E-4 288BCE
F-4 288BD0
G-4 288BD2
1-5 288BD4
2-5 288BD6
3-5 288BD8
4-5 288BDA
5-5 288BDC
6-5 288BDE
7-5 288BE0
8-5 288BE2
9-5 288BE4
A-5 288BE6
B-5 288BE8
C-5 288BEA
D-5 288BEC
E-5 288BEE
F-5 288BF0
G-5 288BF2
1-6 288BF4
2-6 288BF6
3-6 288BF8
4-6 288BFA
5-6 288BFC
6-6 288BFE
7-6 288C00
8-6 288C02
9-6 288C04
A-6 288C06
B-6 288C08
C-6 288C0A
D-6 288C0C
E-6 288C0E
F-6 288C10
G-6 288C12
1-7 288C14
2-7 288C16
3-7 288C18
4-7 288C1A
5-7 288C1C
6-7 288C1E
7-7 288C20
8-7 288C22
9-7 288C24
A-7 288C26
B-7 288C28
C-7 288C2A
D-7 288C2C
E-7 288C2E
F-7 288C30
G-7 288C32
1-8 288C34
2-8 288C36
3-8 288C38
4-8 288C3A
5-8 288C3C
6-8 288C3E
7-8 288C40
8-8 288C42
9-8 288C44
A-8 288C46
B-8 288C48
C-8 288C4A
D-8 288C4C
E-8 288C4E
F-8 288C50
G-8 288C52
1-9 288C54
2-9 288C56
3-9 288C58
4-9 288C5A
5-9 288C5C
6-9 288C5E
7-9 288C60
8-9 288C62
9-9 288C64
A-9 288C66
B-9 288C68
C-9 288C6A
D-9 288C6C
E-9 288C6E
F-9 288C70
G-9 288C72
1-A 288C74
2-A 288C76
3-A 288C78
4-A 288C7A
5-A 288C7C
6-A 288C7E
7-A 288C80
8-A 288C82
9-A 288C84
A-A 288C86
B-A 288C88
C-A 288C8A
D-A 288C8C
E-A 288C8E
F-A 288C90
G-A 288C92
1-B 288C94
2-B 288C96
3-B 288C98
4-B 288C9A
5-B 288C9C
6-B 288C9E
7-B 288CA0
8-B 288CA2
9-B 288CA4
A-B 288CA6
B-B 288CA8
C-B 288CAA
D-B 288CAC
E-B 288CAE
F-B 288CB0
G-B 288CB2
1-C 288CB4
2-C 288CB6
3-C 288CB8
4-C 288CBA
5-C 288CBC
6-C 288CBE
7-C 288CC0
8-C 288CC2
9-C 288CC4
A-C 288CC6
B-C 288CC8
C-C 288CCA
D-C 288CCC
E-C 288CCE
F-C 288CD0
G-C 288CD2
1-D 288CD4
2-D 288CD6
3-D 288CD8
4-D 288CDA
5-D 288CDC
6-D 288CDE
7-D 288CE0
8-D 288CE2
9-D 288CE4
A-D 288CE6
B-D 288CE8
C-D 288CEA
D-D 288CEC
E-D 288CEE
F-D 288CF0
G-D 288CF2
1-E 288CF4
2-E 288CF6
3-E 288CF8
4-E 288CFA
5-E 288CFC
6-E 288CFE
7-E 288D00
8-E 288D02
9-E 288D04
A-E 288D06
B-E 288D08
C-E 288D0A
D-E 288D0C
E-E 288D0E
F-E 288D10
G-E 288D12
1-F 288D14
2-F 288D16
3-F 288D18
4-F 288D1A
5-F 288D1C
6-F 288D1E
7-F 288D20
8-F 288D22
9-F 288D24
A-F 288D26
B-F 288D28
C-F 288D2A
D-F 288D2C
E-F 288D2E
F-F 288D30
G-F 288D32
1-G 288D34
2-G 288D36
3-G 288D38
4-G 288D3A
5-G 288D3C
6-G 288D3E
7-G 288D40
8-G 288D42
9-G 288D44
A-G 288D46
B-G 288D48
C-G 288D4A
D-G 288D4C
E-G 288D4E
F-G 288D50
G-G 288D52The "Living Location" affects where the game things a villager lives. This means where the house is on the map, where the villager spawns if they're at home when you start the game, where the villager tries to return home to, and the text on the house's sign.
The "Living Location" MUST be directly to the left of where a Villager's house is placed.
The Sign Item MUST be placed directly beneath the "Living Location".
The "Living Location" code modifiers call for a value which will tell the game which Acre the villager lives in, and the internal address point. The placeholder we will use for explaining the value is xxyyXXYY.
xx = Acre Offset X
yy = Acre Offset Y
XX = Inside Acre X
YY = Inside Acre Y
Example: For a villager who lives in Acre B-5, xxyy would be 0502. Looking at the basic acre map, that would be 5 across and 2 down, landing us right at Acre B-5. If the Internal Address Point we've placed a house at is 5-7, and the "Living Location" needs to be directly to the left of that, our "Living Location" would be 4-7 (take one away from the X-Axis). This would leave XXYY being 0407.
So if you are placing a villager's house in Acre B-5, Section 5-7, the "Living Location" value would be "05020407" after you put it all together.
Now your house is placed at 5-7, and your "Living Location" is 4-7, the sign board for the villager's house would be placed at 4-6, directly beneath the "Living Location". If this isn't placed properly, you will still see the sign on the villager's house, but it will not be readable.A villager's Catch-Phrase can be up to 10 characters long. To create values for the Catch-Phrase Modifiers, you just need to convert some text to hex. This is pretty easy with sites like ASCII to Hex.
For example, if you converted the word, "Hacker" to Hex, you would end up with, "48 61 63 6B 65 72". Since this is only 6 characters, we would want to add spaces to fill the rest of the code. You can either do this automatically by just filling in the rest of the code with "20" for blank, or you can just add spaces to your word when you convert it to hex. So you would type, "Hacker " with 4 spaces, resulting in, "48 61 63 6B 65 72 20 20 20 20" Either way, this is what the final values would look like:
4861636B
65722020
00002020
0127D839 00000000 <- Sets the Villager ID to Bob the Cat
0127D844 00000000 <- Sets the Villager ID to Bob the Cat again*
0127D845 00000002 <- Sets the Attitude ID to Lazy
0527E0D5 54657374 <- Sets the Catch-Phrase to "Testing!"
0527E0D9 696E6721 <- ^
0327E0DD 00002020 <- ^
0127E11D 00000026 <- Shirt ID set to Blossom Shirt (Bob's default)
0327A856 00000000 <- Erased Existing House: Acre B-2 Section 8-6
0327A874 00000000 <- Erased Existing Sign: Acre B-2 Section 7-7
0327B22E 00005000 <- Spawned Bob's House: Acre C-2 Section 4-5
0327B24C 0000A012 <- Spawned Sign Object: Acre C-2 Section 3-6
0527E0D1 02030305 <- "Living Location" set to: Acre C-2 Secion 3-5
*(The Villager's values are recorded in two different places per Villager. The second occurance doesn't seem to be used by the game but better to be thorough)
0127D844 00000000 <- Sets the Villager ID to Bob the Cat again*
0127D845 00000002 <- Sets the Attitude ID to Lazy
0527E0D5 54657374 <- Sets the Catch-Phrase to "Testing!"
0527E0D9 696E6721 <- ^
0327E0DD 00002020 <- ^
0127E11D 00000026 <- Shirt ID set to Blossom Shirt (Bob's default)
0327A856 00000000 <- Erased Existing House: Acre B-2 Section 8-6
0327A874 00000000 <- Erased Existing Sign: Acre B-2 Section 7-7
0327B22E 00005000 <- Spawned Bob's House: Acre C-2 Section 4-5
0327B24C 0000A012 <- Spawned Sign Object: Acre C-2 Section 3-6
0527E0D1 02030305 <- "Living Location" set to: Acre C-2 Secion 3-5
*(The Villager's values are recorded in two different places per Villager. The second occurance doesn't seem to be used by the game but better to be thorough)
If you're in Dolphin, you can just turn the cheat code off after your town loads by going to Tools -> Cheat Manager -> Click Apply after you disable the cheat. This will take effect immediately.
Talking to Bob
Reading the Sign on Bob's house
Chilling in Bob's house
Bob's new location reflected on the map
Reading the Sign on Bob's house
Chilling in Bob's house
Bob's new location reflected on the map
So that's all I really have! I've tried to be thorough, but I'm sure that I've missed something or explained something incorrectly, so feel free to post questions and I'll try to answer them.
FFFF Item IDs surround houses placed by the game to prevent digging, however these aren't moved with the code templates listed above. It's not necessary for you to manually place these around your new house, but you may want to go view the Memory in Dolphin in the area where the original house was and replace any leftover FFFF values with 0000, otherwise you will have trouble digging in those areas (Your shovel clanging off invisible objects). I've not tested the concept of not surrounding your houses with FFFF, but the possibility exists that the game might spawn buried items beneath the houses that you can't get to if you don't surround your houses with FFFF items.
FFF
FHF
SFF
F = FFFF
H = House Item
S = Sign Item
- Don't place a house too close to the edge of an Acre, or the house may flicker while you're entering the Acre. If the house is right on the Acre edge and you enter that acre where the house is, you'll end up on top of the house.
- When replacing a Villager, you MUST give them their matching house, or the game will crash when you try to enter it. Don't try setting the Villager ID to Bob, and setting the Villager ID on the House Modifier to something else.
- If you replace the Islander with a Villager ID, you will only be able to enter their house while they are in it. Otherwise the game will crash.
- If you replace the generic Islander house with a Villager's house, even if you tried replacing the Islander with the Villager who the house belongs to, it will usually just say that the Villager is out, even if they're standing right next to the house. If you somehow manage to enter it, it will probably crash.
- Moving an existing Villager to the Island seems to function fine, the only glitch being that the sign will always read as the Islander's name. When you're trying to put your "Living Location" values together, the X-Axis is 04 or 05 (Left or Right side) and the Y-Axis is 08.
- If you place a vacant lot sign on the island, a villager will never move in on the island. If you move a Villager to the Island and they decide to move out, leaving a vacant lot sign behind, a new Villager won't move there automatically.
Last edited by TeconMoon,