Cond Types

From LMHack

Original Author(s)

CyrusHedgehog, weirdboo, opeyx

Description

A list of all the cond_type values and what they correspond to. They are able to be used in: enemyinfo, teidenenemyinfo, characterinfo, teidencharacterinfo, keyinfo, teidenkeyinfo, observerinfo, and teidenobserverinfo.

Value Condition Name Description
0 CondAlwaysTrue No condition.
1 EnFindPlayerOnRail Only spawns a ghost if Luigi is within 200 units of any point on the path_name given in enemyinfo or characterinfo.
2 CondAlwaysTrue No condition.
3 CondEnemyDie Checks if all enemies in the room are dead. Used in all portrait ghost rooms except Butler's Room (Shivers), Ball Room (Whirlindas), and Ceramics Studio (Jarvis). This condition does not check for ghost objects like rats, bats, flying fish, teddy bears, etc.
4 SaEnCheckTime Checks the values in arg1, arg2, arg3, and arg4 and compares them against the beta GBH timer. arg1 is the lower bound of the hour value while arg3 is the upper bound. arg2 is the lower bound of the minute value while arg4 is the upper bound. To have it only check one possible time, set arg1 = arg3 and arg2 = arg4. Only compatible with observerinfo/teidenobserverinfo.
5 CondAlwaysTrue No condition. (UNUSED)
6 EnFindPlayerFar Used for some Ceiling Surprise and Purple Bomber ghosts (most likely leftover from the Bashers). This gives a ghost a medium sized spawn range, meaning Luigi can activate the ghost from a larger range than EnFindPlayerNear.
7 EnFindPlayerNear Gives a ghost a small spawn range, meaning Luigi can only activate the ghost if he's close to it. (UNUSED)
8 EnFindPlayerInf Used for most ghosts. Gives a ghost max spawn range, meaning Luigi can activate the ghost anywhere in the current room.
9 CondCandleAllOn Checks if all the candles in the room have been lit.
10 CondCandleAllOff Checks if all the candles in the room have been extinguished.
11 CondStartFromScript

Activates only when (91) is used in an event. Since this flag resets each time it's used, this condition type can be used multiple times.

12 CondWaterAllOff Checks if all the water generators in the room have been turned OFF. Luigi can freeze a water generator by spraying it with ice element. (UNUSED)
13 CondLightOn Checks if the room's lights are ON.
14 CondEnemyGroupDie Checks if all enemies with create_name matching the string in cond_string_arg0 have been defeated. Only compatible with observerinfo/teidenobserverinfo.
15 CondInSameRoom Checks if Luigi is in the same room as the jmp entry.
16 CondNotComplete Checks if the room's lights are OFF.
17 CondAccess If used with enemyinfo/teidenenemyinfo, this condition checks if the access_name of the enemy matches the access_name of a furnitureinfo entry. If so, it will hide the ghost in the furniture.
If used with observerinfo/teidenobserverinfo, this condition checks if the string in string_arg0 exists as an access_name for a furniture entry. This method is used to make the ghosts look as if they're spawning from the paintings in the Artist's Studio, when in reality they aren't (the ghosts use CondAlwaysTrue and don't have an access_name like you would expect).
18 CondEventFlagOn Checks if the flag listed in cond_arg0 is ON.
19 CondEventFlagOff Checks if the flag listed in cond_arg0 is OFF. (UNUSED)