Filters

Last modified by KDearnley on 2023/07/31 14:06

Filters can be used to block or allow a signal based on the signal’s activator. Filters are like the bouncer at a nightclub, they only allow an activator on the list to pass.

Filter Types

INPUTS
Filter-AI.pngAI FilterUse this filter to define a specific AI pattern. 
Filter-Bool.pngBoolean FilterThe signal will continue only if the Boolean is true.
Filter-CachedObject.pngCached Object FilterThe signal will continue only if the activator matches the cached object.
Filter-Droppable.pngDroppable FilterUse this filter to define a Droppable pattern.
Filter-Equipment.pngEquipment FilterUse this filter to define a specific equipment pattern.
Filter-Module.pngModule FilterUse this filter to define a module pattern.
Filter-Player.pngPlayer FilterUse this filter to define a specific player pattern.
Filter-Race.pngRace FilterUse this filter to define a specific race pattern.
Filter-Team.pngTeam FilterUse this filter to define a specific team pattern.
Filter-Custom.pngCustom_FilterAdd filters to the Custom Filter to define the who, what and where. Use the Custom Filter by name or place it between an output and an input.
Filter-Volume.pngVolume FilterUse this filter to define a specific volume pattern.
Filter-Weapon.pngWeapon FilterUse this filter to define a specific weapon pattern.

Adding a Filter to a Logic Chain

When creating a map, I want to add a teleporter back to the Team 1 base. I want to limit which team can use the teleporter. After adding a Teleporter Pad and a Teleport Destination, I can add a filter in the middle of the logic chain so that only Team 1 can use the teleporter.



Hover over the logic chain between the On Entered output and the Teleport To input. The chain will turn orange.

AddFilter1.PNG



Hold down the Options button and select Add Filter. On PC, the default keys are LEFT CTRL + G. On XBOX One, the default buttons are LT + A. ON PS4, the default buttons are LT + X. From the Filters selection menu, pick the Team Filter.

AddFilter2.PNG



This will add a diamond-shaped object to your logic chain. Open the Team Filter properties. Set the Team you want to allow to true, set all the teams you want to block to false. In this case, only Team 1 will be allowed to use the teleporter.

AddFilter3.PNG



In some cases, you might want to negate your filter. Negating your filter makes it do exactly the opposite. In our example, Team 1 will be blocked and all the other teams will be allowed.

Adding a Filter to a Property

Some objects, like FX and volumes, have a Filter property that can be used to limit who can interact with the object. This property provides some basic filters for you to pick from. In this example, the blue Large Fire will only damage players on Team 1.

FiltersProperty.PNG

Creating a Custom Filter

You can also create much more complex filters such as "All teams except Team 1" or "Player 1 with a Red Keycard" by combining filters together in a Custom Filter. Custom Filters are a variable, and can be used in a logic chain or in an object's property.

Add the Custom Filter object from the Variables Category. In our example, we want the blue Large Fire to damage all players on any team except Team 1. We will call this Custom Filter 'Team 1'.

FiltersCustom1.PNG

Hover over the Filter object, press the Add button, move the cursor off of the Custom Filter and press Add Filter when the option appears. Select Team Filter from the list. Open the properties for your new Team Filter, and set Team 1 to false.

FiltersCustom2.PNG

Open the properties on the blue Large Fire. In the Filter property, the new Custom Filter named 'Team 1' should be available at the end of the list. With this custom filter, any player on Teams 2, 3 or 4 will be damaged by the blue Large Fire.

FiltersCustom3.PNG

Complex Custom Filters

Multiple filters can be strung together in a branch off of a Custom Filter. Each filter in a branch will be ANDed together, and the branches will then be ORed. These Boolean operations can be used together to create filters that only allow signals to pass under very specific cases.

In this first example (reference map ID 8ZB7YS2L), we want the player to only have one power core at a time. The settings allow us to limit the player to one Power Core of each color, but we'll need a filter to limit the player to one Power Core at a time. In other words, the player should be able to pick up a power core only if they 'don't have a Red Power Core and don't have a Blue Power Core and don't have a Green Power Core'. Create a branch of three Droppable Filters on a Custom Filter. Each Droppable Filter should be Negated and should have a different color Power Core in the properties.

CustomFilterANDs.PNG

On each placed Power Core or Droppable Spawner, set the Custom Filter (named Droppables in this example). This prevents any player from picking up a Power Core if they already have one of any color.

CustomFilterOnlyOneCore.PNG

We want to prevent the player from using a Power Station if they are holding a Power Core and the Power Station has a Power Core in it. That is, the player should only be allowed to use a Power Station if the Station has no Power Core in it or if the player has no droppable. We just made a Custom Filter that tests whether a player has no Droppable, and we can use it in another Custom Filter. Since branches can be ORed together, we just need to create a Boolean variable that is true when a Power Station has no core and false when a Power Station has a core.

CustomFilterNoCoreBool.PNG

Create another Custom Filter, this one will be applied to the Power Station. Create a branch with a Boolean Filter set to the variable that tracks whether the station has no core. Create a second branch with a Custom Filter that is the Droppables filter from earlier.

CustomFilterORBranches.PNG

Apply the Custom Filter to the Power Station. Create another Boolean and Custom Filter for each Power Station in the map.

CustomFilterStationFilter.PNG