List of L4D Series Nav Mesh Attributes
In , Navigation Mesh (or nav mesh / nav for short) play very important roles for the infected AI, and thus there are plently of attributes possessing very unique behaviors, intending to be applied by the level designer. Some are also necessary for a map to work.
There are two types of nav attributes, and these are what they do...
Spawn Attributes ('TERROR')
These attributes are visualised only with thez_debug 1
command, where the unique color of an attribute fills the insides of the highlighted navigation areas. Colors of multiple Spawn Attributes do not mix, and one will always override the other.
Attribute | Description |
---|---|
BATTLEFIELD |
Designated regions where a planned crescendo event will play out. All infected spawning, except Versus modes, will halt so long Survivors stay in it. Once a panic event starts, ALL infected bots spawns only at areas designated byBATTLEFIELD attributes, meaning infected spawning halts if Survivors manage to step out the regions.
Should be applied to large regions of nav areas in the map; capable of containing many Infected spawn-friendly areas within it, and a |
BATTLESTATION |
Indicates to Survivor Bots a strong defensive area for a panic event, usually next to supplies/weapons. Survivor bots may roam then reside in these nav areas before/during a panic event, giving it up when they think its unsafe (E.g. Too far from any human player). Intended only for nav areas already containing either aBATTLEFIELD orFINALE attribute.
In , this attribute's behavior is mostly disabled, but can be brought back with the |
CHECKPOINT |
Designates the start/transition areas of the map. The round starts when a survivor leaves this area, and ends with all and only the survivors standing on this, with the saferoom door closed. Note:Prohibits spawning of Player controlled Specials.
|
EMPTY |
Prevents only wandering/resting Commons from being populated. Useful to prevent commons hogging the limit in places where they play no role, usually outside the survivors's playable areas. (e.g. building rooftops). |
FINALE |
Indicates a finale area. Otherwise characteristics are similar toBATTLEFIELD attribute. This should be used extensively across your finale's nav areas, and contain aBATTLESTATION attribute within it.
|
LYINGDOWN (only in ) |
Commons lie down and rest when not aroused by player. |
NOT_CLEARABLE |
Prevents a nav area from being marked "cleared" by Survivors, which would otherwise disallow non-player infecteds from spawning; A nav area is 'cleared' once survivors have seen it, and removed all of its spawned infected.
Usually found in outer-most areas survivors have attackable line-of-sight to, but can't really see (e.g. through fog). |
NO_MOBS |
Prevents Mobs and player Tanks from spawning, but also prevents Specials from spawning inBATTLEFIELD nav areas. Good for making Mobs spawn desirable or more interesting areas, or to keep Mobs away from known areas that cause unnatural spawning.
A clever example of |
NOTHREAT (only in ) |
DisallowTHREAT attribute from doing anything, if it is applied on the same nav area.
|
OBSCURED |
A very powerful nav attribute; Allows infected to spawn even when there is line-of-sight to a survivor. To be used in nav areas that are visually obscured, yet not considered so by the Director. For example, tree props. Survivor bots's line-of-sight to these nav areas are blocked to prevent omniscient behavior.
The Director can still create effective Mobs without the OBSCURED attribute, but will usually be much further outside the survivors's PVS compared to without. Note:Props that have collisions disabled are always unable to block line-of-sight.
|
RESCUE_VEHICLE |
Blocks a nav area until the info_director input "FinaleEscapeVehicleReadyForSurvivors" is fired, which then unblocks nav areas with this attribute.
In , the VScript method NavMesh.UnblockRescueVehicleNav() can also be used to unblock |
STOP_SCAN |
Infected bots won't navigate through this. IfSTOP_SCAN attribute occupies a path entrance, Infected will spawn beyond the entrance if all Survivors pass it.
Warning:If all survivors stand on this, no infected will spawn!
|
Automatic
Spawn Attributes automatically added by the game, usually unnecessary to be marked manually in any way.
Attribute | Description |
---|---|
DOOR |
Survivor bots will monitor this nav area for interactable doors, while Infected bots may consider path alternatives if the door is closed. Also blocks off the spreading of theRESCUE_CLOSET attribute. Automatically assigned by prop_door_rotating .
When the door is destroyed, the attribute renames itself to the |
ESCAPE_ROUTE |
Basic guideline path of map from start to finish by linking spawns/checkpoints to the ending checkpoint/finale. This path helps the game/AI to make proper decisions based on routes and level progression.
This should be left untouched, and let a |
PLAYER_START |
Functionally similar to CHECKPOINT , but does not reduce spitter's acid spreading or pauses spawning of mobs and specials. Automatically assigned by info_player_start . Note:If used in the starting saferoom, all dead players from the previous chapter will spawn with 100% HP instead of 50%.
|
RESCUE_CLOSET |
A Rescue closet room, spreading of attributes contained byDOOR attribute. Wanderers are not allowed in this. Automatically assigned during anav_analyze session.
|
THREAT |
Acts as spawn suggestions for AI Boss Infecteds (Tank & Witch). Only nav areas along theESCAPE_ROUTE path are candidates forTHREAT attribute. If its closest escape route path has already been reached by survivors,THREAT will be removed.
Requires |
Base Attributes
Attribtes that are stored the same way 's debut attributes are.
Unlike Spawn Attributes, these don't fill a nav area with colors. They instead may have their own identifable pattern/shape made with lines, and can appear simulatiously with each other's. When recently hovered over, their names are shown for a short period.
AttributesMOB_ONLY
andTANK_ONLY
fill nav areas with colors, but are both technically Base Attributes, as their colors overlap with other Spawn Attributes.
Attribute | Description | 's Addendum |
---|---|---|
PRECISE
|
Disables "obstacle avoidance" behavior, which bots then no longer keep a distance from nearby characters or world geometry / prop_static entities. Can be visualized withnb_debug PATH active (green cuboids).
This attribute is for narrow areas close to said "obstacles", as bots then avoid unwise decisions like walking off and falling. |
Identical, but bots are forced to face this nav area when navigating towards it. |
Automatic
Base attributes automatically added by the game, usually unnecessary to be marked manually in any way.
Attribute | Description | 's Addendum |
---|---|---|
BLOCKED_ZOMBIE
|
Similar toSTOP_SCAN attribute, but all players (Survivors and Specials) and NPCs (Commons and Witches) who enter this nav area won't have their "last known nav area" be updated. Cannot be manually applied; requires func_nav_blocker entity with teamToBlock set to 3.
|
-none- |
BLOCKED_SURVIVOR
|
Similar toBLOCKED_ZOMBIE attribute, but instead blocks Survivor bot navigations. Jockies on survivors avoid this. Cannot be manually applied; requiresPLAYERCLIP attribute or script_nav_blocker entity with teamToBlock set to 2.Warning:Infecteds can sometimes spawn on this, and they will think they aren't in any nav areas!
|
-none- |
BREAKABLEWALL (only in ) |
Infected bots dislike navigating through this, except Smokers. Assigned by prop_wall_breakable on map load. | -none- |
DAMAGING
|
Bots dislike navigating through this, except Jockies on a survivor. Cannot be manually applied, only entities like witch or trigger_hurt are able to apply this to nav areas. | -none- |
MOB_ONLY
|
Only Mobs will navigate through this. The flow also won't compute through nav areas using this attribute.
This can't be set manually! Only settable by entities such as func_breakable with All Infected for Breakable by property, or a func_nav_attribute_region entity. Warning:This attribute doesn't persist on round restarts!
|
-none- |
NO_MERGE |
Disallows this nav areas from being merged with other areas. Only usable during nav mesh generation to not merge areas withJUMP attribute, orOBSTACLE_TOP attribute. Can be manually applied but won't be visible.
|
No differences. |
OBSTRUCTED
|
Survivor bots dislike navigating this. Cannot be manually applied, only entities like prop_physics or func_nav_avoidance_obstacle are able to apply this to nav areas. | -none- |
PLAYERCLIP (only in ) |
Applied when intersecting with a brush having the Player clip texture. Blocks flow but also sets-9999 for its own's flow. Automatically addsBLOCKED_SURVIVOR attribute.
|
-none- |
STAIRS
|
Treats oncoming areas as even ground, so bots also disregard jumping for high ground, but still jump over gaps. Also disallows Commons from climbing. | Identical, but Commons don't exist in this game. |
TANK_ONLY
|
Only Tanks will navigate through this. The flow also won't compute through nav areas using this attribute.
This can't be set manually! Only settable by entities such as prop_dynamic with Tank only for Breakable by property, or a script_nav_attribute_region entity. Warning:This attribute doesn't persist on round restarts!
|
-none- |
Obsolete
Defunct / Deprecated leftover attributes from . These attributes either have no practical functionality, or is superseded by existing attributes. but still can be applied.
Attribute | Description | 's Addendum |
---|---|---|
AVOID
|
In , only Jockies avoid this. No effect in . | Makes all bots unprefer this mesh, sometimes outright avoiding it if its necessary before a jump. |
CLIFF
|
Scrapped leftover. Currently used by the nav generation system to indicate its being delicate on generating nav areas. | Identical. |
CROUCH
|
In , Blocks all Specials from this nav area but Smokers, and also spawning of all Specials. No visible effect in . Automatically added by anav_analyze session. Note:All types of bots already crouch automatically independent of nav areas.
|
Makes bots crouch. |
DONT_HIDE
|
While in anav_analyze session, hiding spot markers (green and purple lines) generation is skipped for this nav area. Not used by any bots. Note:This can compress the nav file's size!
|
Identical, but the hiding spot markers aren't unused. |
JUMP
|
Prevents anything from ever spawning on it. Note:All bots already automatically jump / climb based on nav connections. Warning:Running
nav_generate_incremental will delete all of these areas. |
Force bots to jump when they enter this nav area. |
NO_HOSTAGES
|
No effect. | When leading a hostage, they won't navigate through this. |
NO_JUMP
|
Draws a red diamond on the nav area. | Prevents jump attempts. |
RUN
|
Center of marked nav area is given a pair of blue arrows. | Maintain running speed and don't slow down. |
OBSTACLE_TOP
|
Automatically added when a nav area is created above a prop entity. Note:Not related to func_nav_avoidance_obstacle entity.
|
Identical. |
STOP
|
Center of marked nav area is given a red octagon. | Halt for half a second when entering this nav area. |
STAND
|
No effect. | Skip considering crouches only while in hiding spots. |
TRANSIENT
|
Turns the nav area's outlines into dotted lines. | For every 2 seconds, see if this nav area is now blocked by something ifnav_edit isn't enabled.
|
WALK
|
Center of marked nav area is given a singular green arrows. | Bots hold down the+walk key on this, and are also not preferred to be navigated by bots.
|
UNDERWATER
|
Nav area is given a blue square/rectangle, which resides near the outlines of the nav area. Added automatically when a nav area is created, and is touching the insides of water. | Falling on this nav area from a high place will be safe. |
Bit Values
This area seems to have incorrect values. After running scripts it appears that 2048 is checkpoint and not 4096. Take the values with precaution
The * character designates a name created by the community for easy identification.
L4D Series Navigation Attribute Bits |