MOTHER 3:Gift box table
|Gift Box Table|
|# of Entries||1024 (0x400)|
|Entry Length||16 bytes|
|Total Length||16384 bytes (0x400C)|
|Back to the ROM map|
This table contains 16 bytes entries for every gift in the game.
First value of the Table, at 04, is a pointer to the rest of the table... So to 0C.
It has 4 unused bytes.
Do note that changing 06 and 07 will change where the gift's sprite is, but not its hitbox location.
- =It has different outcomes based on what are the two hex values of the byte. 21 must be examined as 2 and 1. If the first value has is even, the gift will display as normal, if it's odd the gift box won't be displayed and it will access a weird moving entity debug mode where the game slows down (Not FPS, the game). It will write various values to the RAM if the gift is collected (the gift can't be seen, but it's still there). If the first value is greater than 8 (included), the box will give DP when interacted with. The second value will determine the box's color: if it's 0 or 1, it will be red, if it's 2 it will blue, but the text won't be printed, if it's 3 the color will be blue and it will work as normal, if is 4 or 5 it will glitch all boxes and they won't display sometimes, and last, if it's greater than 6 (included) it will access the strange debug mode from before.
- =Dummy byte, the second half of the byte must be set to 0, otherwise you won't be able to interact with the gift box.
- [02-03]=The first half of both of these values will determine how many items a box will give, for example, if 02 is 10 and 03 is 20, it will give hex 21, or 33, of one item. The maximum number of items a box can give is 127, or 7F.
- -= Map index, since map index hexs go over FF, 05 contains the value that is over FF. Swapping them will give the correct index, so if 04= 5E and 05=03, the map will be 035E.
- =The gift box's sprite's X tileset coordinate. It goes from left (00) to right.
- =The gift box's sprite's Y tileset coordinate. It goes from top (00) to bottom.
- =Hex value of the item in the gift box.
- =Changing this from 00 will make the game not show the "X got an item." message.
- [0A-0B]=How many DP a gift box will give. For example, if 0A is FF and 0B is 10, the box will give 10FF DP. The maximum value is 65535, FFFF.
- [0C]=Unique identifier of the gift box, it's used to check if a box has already been opened, this way an opened box during Flint's Chapter will remain opened during Duster's one because they have the same identifier. 83 is the exception, it's the Wess's Thunder Bomb's gift box.
- [0D-0F]=Dummy bytes.