JMP Info
treasuretable field properties Documentation
OTHER : Item ID (key_xxx)
Room: Room ID
Size : Size Of The Chest Or Item (0 small, 1 medium, 2 large)
Coin: Amount Of Coins Chest Spawns
Bill: Amount Of Bills Chest Spawns
Gold: Amount Of Gold Chest Spawns
Spearl: Amount Of Small Pearls Chest Spawns
Mpearl: Amount Of Medium Pearls Chest Spawns
Lpearl: Amount Of Large Pearls Chest Spawns
Sapphire: Amount Of Sapphires Spawned
Emerald: Amount Of Emeralds Spawned
Ruby: Amount Of Rubies Spawned
Diamond: Amount Of Diamonds Spawned
Cdiamond: Amount Of Red Diamonds Spawned
Rdiamond: Amount Of Gold Diamonds Spawned
effect: Effect Used For Chest (0 none, 1 golden sparks)
camera: Whether the camera zooms on the chest when spawning or not (0 does not, 1 zooms in, 2 alternative zoom)
Info on how to add ghosts to rooms / how they work when already placed in rooms
Ghost names:
yapoo1 = Gold Ghost
yapoo2 = Temper Terror (Elemental Gold Ghost)
mapoo1 = Purple Puncher
mapoo2 = Flash (Elemental Puncher)
mopoo1 = Blue Twirler
mopoo2 = Blue Blaze (Elemental Twirler)
putcher1 = Bowling Ghost
banaoba = Garbage Can Ghost
heypo = Shy Guy Ghost
Entry Configuration (based on opeydopey's custom InfoFR build):
name = Internal name of the ghost you want to use.
create_name = Always like this: ----. If you want to use waves with the ghost, set it to something
like this: NN_W (in this case, NN = room number and W = wave number). WARNING: setting W to values
that correspond to waves that doesn't exist/are not configured may cause issues.
path_name = Always like this: (null). If the room that the ghost will spawn has paths
specifically for it and or/you want to use this ghost in waves, set this to
the name of the path for that room configured for your desired wave (Example: if the
ghost will spawn in room 35 (Parlor) and in the second wave, you will want to use the
obake_35_2 path.) If paths for the room and its spawn waves don't exist, leave this
as it is.
access_name = Always set it to (null), but if you want to use waves, do the same as needed for
create_name: NN_W (in this case, NN = room number and W = wave number). WARNING: setting W to values
that correspond to waves that doesn't exist/are not configured may cause issues.
CodeName = This's the event actor name of the ghost meant to be used in events with tags that use
this. You may set this to whichever name you want, but usually leave this as it is (unless you're
going to use this with events).
pos_X, pos_Y and pos_Z = The XYZ positions for the ghost; this is pure trial and error. It's strongly
suggested you use positions from furnitureinfo for some reference.
dir_X, dir_Y and dir_Z = The XYZ rotations for the ghost. Usually leave this as it is.
room_no = The value for the room that the ghost will be used in. I suggest checking
LMTalk's room documentation for this: http://lmtalk.proboards.com/thread/74/room-ids
floating_height = Unknown; leave this unaltered.
appear_percent = How high the chances of the ghost spawning are. The higher the number,
the bigger are the chances it will spawn. Usually leave this at 100 to make sure the
ghost will always spawn, but you may set this to other values if you want to add some
sort of "special" ghost.
appear_flag-item_table: Leave these unaltered.
cond_type-stay: Set these to 70696 if you don't need to use a path for this ghost (mostly
hallways and rooms that don't use spawn waves) and 103464 if you're using a path for it.
Adding Money to Furniture
item_table' determines the chances of money spawning.
- a value of 11 will always spawn money.
- a value of 2 will have a 50% chance to spawn money
- Change the chances in itemappeartable if you want, or make a custom entry.
'generate_num' determines how much will spawn. In the case of coins/bills, it applies to both.
So for example, choosing a generate_num value of 1 for coins/bills will generate 1 coin and 1 bill. There is a cap to how many of each object can load at once, and loading too many can cause lag.
Finally, 'generate' determines what comes out of the furniture. Use this list:
01 - Coins
02 - Bills
03 - Coins/Bills
04 - Sapphire
05 - Ruby
06 - Emerald
07 - Gold Bar
08 - Dark Red Diamond
JMP Loading In RAM & DOL (TreasureTable Values)
RAM Address: 800bcaf0
DOL Address: 0x0B9850
RAM Address: 800bcaf4
DOL Address: 0x0B9854
These RAM / DOL addresses mess around with JMP loading in the games memory. If nopped or messed with, it will destroy generators, make all candles purple, make ghosts drop hundereds of treasure, destroys chests and make the game lag (When sucking with the Poltergust it doesn't lag?). And maybe even more.
Infofile Descriptions
(incomplete, feel free to ping me if you have any more info)
`characterinfo:` where portrait ghosts, chests, and some other things are spawned from
`enemyinfo:` where all of the regular enemies are spawned from
`eventinfo:` where event entries are located
`furnitureinfo:` where all of the furniture is spawned from
`generatorinfo:` where generators are spawned from (like rats, bomb ghosts, elemental spirits etc.)
`groupinfo:` useless, removed from the dol, seems to be an older version of roominfo
`itemappeartable:` where items that come out of opened furniture and defeated ghosts are defined
`itemfishingtable:` where items that come out of fleeing ghosts are defined
`iteminfotable:` where information for keys, mario items, etc. are defined
`itemtable:` UNKNOWN (used for something, the game crashes without it)
`iyapootable:` where treasure lists for speedy spirits and gold rats are defined
`keyinfo:` where keys that spawn out of thin air (like wardrobe room) are defined
`objinfo:` where things like candle fire, coins, effects, etc. are spawned from
`observerinfo:` where ghost spawn waves, Toads, and some other important things are defined
`polygoninfo:` contains data for all polygons in col.mp (icy floor or regular floor)
`railinfo:` where ladders and paths for ghosts are defined
`roominfo:` where dust level, thunder %, light color, etc. for rooms are defined
`soundgroupinfo:` sound data?
`soundpolygoninfo:` contains data for all polygons in col.mp (Luigi's footstep sounds)
`teiden____:` teiden files function the same as others, but only activate during the blackout
`telesa:` where parameters for all 35 boos in the mansion are defined (HP, speed, etc.)
`treasuretable:` where treasure that comes out of chests (based on room #) is defined
Boo Sequence Breaking Cheat Sheet
> If you're going to sequence break your mod and include Boo spawning, you'll need to make sure you plan ahead. If these conditions aren't met, the Boos will instantly disappear the moment you spawn them.
>
> Note that simply activating a boss defeated flag or defeating the boss itself is not enough. The boss must be captured and the <ACCOUNT> cutscene must play in order for an area to be considered cleared and for Boos to spawn.
```Boos that always spawn correctly (Area 1):
Anteroom
Wardrobe Room
Study
Master Bedroom
Nursery
Twin's Room```
```Boos that need Chauncey, Bogmire, OR Boolossus defeated (Area 2):
Ball Room
Storage Room
Fortune-teller's Room
Laundry Room
Butler's Room
Hidden Room
Conservatory
Dining Room
Kitchen
Rec Room
Billiards Room
Projection Room```
```Boos that need Bogmire OR Boolossus defeated (Area 3):
Tea Room
Nana's Room
Astral Hall
Sitting Room
Guest Room
Safari Room
Artist's Studio```
```Boos that need Boolossus defeated (Area 4):
Telephone Room
Clockwork Room
Armory
Ceramics Studio
Breaker Room
Cellar
Pipe Room
Cold Storage
Boo Actors Explained
Documentation Megapost on All JMP Files
*by weirdboo, many thanks to CyrusLoS and LMFinish for various findings*
**Note:** *Names marked with* `(停電)` *have blackout variants that begin with "teiden". These variants will only activate when the <TURNON> event script tag is used, otherwise known as "The Blackout". They are functionally identical to their normal counterparts.*
===================================================
`(停電)` Character Info
`(停電)` Enemy Info
◉ Iyapootable
`(停電)` ◉ Key Info
`(停電)` ◉ Observer Info
⊛ Do Types
◉ Telesa