Conditions

Conditions can be held by NPCs, interactable objects, and item blueprints. Each grouping of conditions is called a conditions list and starts with the Conditions property.

Properties in a conditions list are named in the format of ConditionPrefix_#_PropertyName. For most conditions lists the prefix is Condition, such as Condition_#_Type. This is not always the case, such as for blueprints which use Blueprint_#_Conditions.

Conditions byte: Total number of conditions. There should be a number of Condition_#_Type properties equal to this value.

Condition_#_Type enum (Compare_Flags, Date_Counter, Flag_Bool, Flag_Short, Currency, Experience, Item, Kills_Animal, Kills_Horde, Kills_Object, Kills_Player, Kills_Tree, Kills_Zombie, Player_Life_Food, Player_Life_Health, Player_Life_Stamina, Player_Life_Virus, Player_Life_Water, Quest, Reputation, Skillset, Holiday, Time_Of_Day, Volume_Overlap, Weather_Blend_Alpha, Weather_Status): Specify the type of condition. Like other indexed properties, indicing starts at 0.

Condition_#_Reset flag: Set back to equivalent of 0 when completed.

Condition_#_Logic enum (Less_Than, Less_Than_Or_Equal_To, Equal, Not_Equal, Greater_Than_Or_Equal_To, Greater_Than): Compare current state to target state.

Condition_#_UI_Requirements string: Comma-separated condition indices. If set, only show this condition in the UI when the conditions with these indices are met. For example, a condition with “1, 2” will only be shown when conditions 1 and 2 have been completed.

Flags

Compare_Flags

Compare left-hand flag A, to right-hand flag B.

Condition_#_Type enum (Compare_Flags)

Condition_#_A_ID uint16: Left-hand flag ID.

Condition_#_Allow_A_Unset bool: Pass condition flag onto player, if they do not have the flag already.

Condition_#_B_ID uint16: Right-hand flag ID.

Condition_#_Allow_B_Unset bool: Pass condition if player does not have the flag yet.

Date_Counter

Every in-game morning, the world’s “date counter” is incremented. In a fresh save it starts at zero. This condition takes the remainder of the date counter divided by Divisor and compares it with Value according to Logic.

For example, an in-game event can be configured to occur every 4th and 5th day by setting Divisor to 5, Value to 3, and Logic to Greater_Than_Or_Equal_To.

Condition_#_Type enum (Date_Counter)

Condition_#_Value int64: Number to compare the remainder with.

Condition_#_Divisor int64: Number to divide the world date counter by.

Flag_Bool

Boolean flag condition.

Condition_#_Type enum (Flag_Bool)

Condition_#_ID uint16: ID of flag to check.

Condition_#_Value bool: Target value, as a boolean.

Condition_#_Allow_Unset flag: Pass condition if player does not have the flag yet.

Flag_Short

Short flag condition.

Condition_#_Type enum (Flag_Short)

Condition_#_ID uint16: ID of flag to check.

Condition_#_Value int16: Target value for the flag, as a 16-bit signed integer.

Condition_#_Allow_Unset flag: Pass condition if player does not have the flag yet.

Player

Currency

Refer to Currency documentation.

Condition_#_Type enum (Currency)

Condition_#_GUID string: GUID of currency asset.

Condition_#_Value int: Target value, in terms of currency.

Experience

Condition_#_Type enum (Experience)

Condition_#_Value int: Target value, in terms of experience.

Item

Condition_#_Type enum (Item)

Condition_#_ID uint16: ID of item to search player’s inventory for.

Condition_#_Amount int: Quantity of the item required.

Kills_Animal

Condition_#_Type enum (Kills_Animal)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of animal kills.

Condition_#_Animal uint16: ID of animal required.

Kills_Horde

Condition_#_Type enum (Kills_Horde)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of beacons completed.

Condition_#_Nav byte: Index of the navmesh that beacons should be completed in, seen as visible in the level editor.

Kills_Object

Condition_#_Type enum (Kills_Object)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of object destructions.

Condition_#_Object string: GUID of object required.

Condition_#_Nav byte: Index of the navmesh that objects should be destroyed in, seen as visible in the level editor.

Kills_Player

Condition_#_Type enum (Kills_Player)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of player kills.

Kills_Tree

Condition_#_Type enum (Kills_Tree)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of resource destructions.

Condition_#_Tree string: GUID of resource required.

Kills_Zombie

Condition_#_Type enum (Kills_Zombie)

Condition_#_ID uint16: ID of short flag to track stat.

Condition_#_Value int: Target value, in terms of zombies killed.

Condition_#_Zombie enum (Acid, Boss_All, Boss_Electric, Boss_Elver_Stomper, Boss_Fire, Boss_Magma, Boss_Nuclear, Boss_Spirit, Boss_Wind, Burner, Crawler, DL_Blue_Volatile, DL_Red_Volatile, Flanker_Friendly, Flanker_Stalk, Mega, None, Normal, Spirit, Sprinter): Type of zombie required.

Condition_#_Spawn_Quantity int: Number of zombies to spawn. Defaults to 1.

Condition_#_Nav byte: Index of the navmesh that zombies should be killed in, seen as visible in the level editor.

Condition_#_Radius float: Radius around players that zombies should be killed within, in meters. When a navmesh is unset and a radius is not specified, the radius defaults to 512 meters and is used for the condition.

Condition_#_MinRadius float: Zombies must be killed at least this many meters away from the player.

Condition_#_Spawn flag: Specified if the zombie type should be forcefully generated upon entering the area, which will then be deleted upon leaving the area.

Condition_#_LevelTableOverride int: Unique ID of a zombie type shown in the level editor. If set, the zombie spawned will use that type. Defaults to -1.

Player_Life_Food

Condition_#_Type enum (Player_Life_Food)

Condition_#_Value int: Target value, in terms of the player’s current food.

Player_Life_Health

Condition_#_Type enum (Player_Life_Health)

Condition_#_Value int: Target value, in terms of the player’s current health.

Player_Life_Stamina

Condition_#_Type enum (Player_Life_Stamina)

Condition_#_Value int: Target value, in terms of the player’s current stamina/energy.

Player_Life_Virus

Condition_#_Type enum (Player_Life_Virus)

Condition_#_Value int: Target value, in terms of the player’s current immunity.

Player_Life_Water

Condition_#_Type enum (Player_Life_Water)

Condition_#_Value int: Target value, in terms of the player’s current water.

Quest

Condition_#_Type enum (Quest)

Condition_#_ID uint16: ID of quest to check for.

Condition_#_Status enum (None, Active, Ready, Completed): Current state of the quest.

Condition_#_Ignore_NPC flag: Player does not need to be talking to an NPC within 20 meters for the quest to be completable and turned in.

Reputation

Condition_#_Type enum (Reputation)

Condition_#_Value int: Target value, in terms of reputation.

Skillset

Condition_#_Type enum (Skillset)

Condition_#_Value enum (Army, Camp, Chef, Farm, Fire, Fish, Medic, None, Police, Thief, Work): Target value, as the skillset. For example, this condition could be used to offer unique questlines, dialogue, or blueprints depending on the player’s chosen skillset.

World

Holiday

Condition_#_Type enum (Holiday)

Condition_#_Value enum (ENPCHoliday): Target value, as the holiday.

Is_Full_Moon

Condition_#_Type enum (Is_Full_Moon)

Condition_#_Value bool: If true the condition passes when the full moon is up, otherwise if false the condition passes when the full moon is not up.

Time_Of_Day

Condition_#_Type enum (Time_Of_Day)

Condition_#_Second int: Second of a 24-hour clock (military time) to compare against. For example: 0 is midnight (the start of a day), 43200 is noon (12 o’clock), and 86400 is midnight (the end of a day). This condition respects the map’s configured “Bias” values, as well as the day/night cycle length of the world. As a visual reference, the Clock item can be used.

Volume_Overlap

Condition_#_Type enum (Volume_Overlap)

Condition_#_VolumeID string: ID of volume(s) placed in the level editor to test.

Condition_#_PlayerCount int: Target number of players in matching volumes to compare against. Volumes with identical IDs are grouped together.

Weather_Blend_Alpha

The weather blend alpha condition compares the current intensity to a target value. For example, an NPC could sell umbrellas while rain is greater than 50% (0.5) blended in. This condition is supported by visibility, but is more expensive for visibility than the state condition because each listening object is updated when the intensity changes by 1% (0.01).

Condition_#_Type enum (Weather_Blend_Alpha)

Condition_#_GUID string: GUID of weather required.

Condition_#_Value float [0, 1]: Target value, as the weather intensity blend.

Weather_Status

The weather status condition tests the state of the global weather. This condition is supported by visibility.

Condition_#_Type enum (Weather_Status)

Condition_#_GUID string: GUID of weather required.

Condition_#_Value enum (Active, Fully_Transitioned_In, Fully_Transitioned_Out, Transitioning, Transitioning_In, Transitioning_Out): Target value, as the weather status.

Localization

Condition_#: Name of the condition as it appears in user interfaces.