Observerinfo / Teidenobserverinfo

From LMHack

Original Author(s)

weirdboo, CyrusHedgehog

Description

Documentation on the jump table observerinfo located in each of the map archives. Remember, observers, soundobjs, kinopios, iphones, and otobiras are all actors; they can be used in events! teidenobserverinfo is loaded during the blackout instead of observerinfo.

observerinfo and teidenobserverinfo can be edited with Jumpah.

Field Type Proper Values Description
name String observer, soundobj, kinopio, otobira, and iphone. The name of the actor to spawn through observerinfo. Toad (kinopio), The Clockwork Room elevator doors (otobira), and the Telephones (iphone) all have special behaviors that allow them to work through this file.
CodeName String Any string. This string allows the actor to be used in events.
cond_string_arg0 String Any string. This string is checked by cond_type 14. It checks if all enemies with CreateName matching cond_string_arg0 are dead. If so, then do_type will be activated.
string_arg0 String If it's an observer, then any string. This string will be globally output by do_type 10. This string can be received by entries in characterinfo/teidencharacterinfo, enemyinfo/teidenenemyinfo, and keyinfo/teidenkeyinfo. Once the string is output, any entries that have CreateName equal to the string in string_arg0 will activate.
If it's a soundobj, then BLIZZA, CALLMAR, or SPACE There are three different SFX able to be played with string_arg0 using a soundobj. BLIZZA is the howling wind noise in Cold Storage, CALLMAR is the sound of Mario yelling "Hey Luigi, what's the hold up?!" in the Courtyard, and SPACE is the ambient sounds in the Observatory once the room's eastern wall disappears.
If it's kinopio or otobira, then WAIT and OPEN respectively. Toad (kinopio) and The Clockwork Room elevator doors (otobira) both have special behaviors that allow animations to be played with do_type 9. If kinopio is told to WAIT, he will act as if the room has been lit and stop crying. If otobira is told to OPEN, the doors to the elevator that goes to the roof will open.
pos_x Float Coordinates within the room's bounding box. These are the spawn coordinates for the actor. Observers and soundobjs have a very large radius, covering the entirety of most rooms, even out into the hallways.
pos_y Float
pos_z Float
dir_x Float N/A Useless.
dir_y Float
dir_z Float
scale_x Float N/A Useless.
scale_y Float
scale_z Float
room_no Integer map0, map5, map6, map7, and map8: 0-3. The room that the actor will spawn in. This is mainly used for cond_types 13, 15, and 16. These cond_types can check the status of the room's lighting,
map1, map3, map4, map9, map10, map11, and map12: 0.
map2: 0-71.
cond_arg0 Integer 0-255. This integer will be used with cond_types 18 and 19. These condition types can check the status of a flag.
arg0 Integer If used with cond_type 4, then any integer. When used with cond_type 4, any value will instantly pass the condition check, regardless of the time on the GBH or values in arg1, arg2, arg3, and arg4. It's best to just leave arg0 at 0 when using cond_type 4.
If used with do_type 7, then 0-255. When used with do_type 7, arg0 can be used to turn ON any flag. Note: there is no way to turn a flag OFF with just an observer. An event or ASM must be used.
If used with do_type 10, then any integer. When used with do_type 10, arg0 can be used to set a delay time for the enemy spawning. A value of 30 is equal to 30 frames, which is 1 second in real-time.
arg1 Integer If used with cond_type 4, then 0-99. Used with cond_type 4 to check the beta GBH timer. This is the lower bound of the hour value.
arg2 Integer Used with cond_type 4 to check the beta GBH timer. This is the lower bound of the minute value.
arg3 Integer Used with cond_type 4 to check the beta GBH timer. This is the upper bound of the hour value.
arg4 Integer Used with cond_type 4 to check the beta GBH timer. This is the upper bound of the minute value.
arg5 Integer N/A Useless.
appear_flag Integer 0-255. This flag will allow the actor to spawn when the room is loaded.
disappear_flag Integer 0-255. This flag will prevent the actor from spawning when the room is loaded.
cond_type Integer 0, 2-5, and 9-19. Cond Types
do_type Integer 0-2, 7, and 9-12. Do Types
invisible Boolean 0 or 1. Only applies to kinopio, otobira, and iphone. If set to 0, the actor will be visible. If set to 1, the actor will be invisible.
(Undocumented) Integer N/A N/A