Due to the recent resurgence of spam, we have temporarily disabled user creation and page editing/creation as we resolve the issue.


From Snapwiki
Revision as of 2016-06-29T15:28:02 by KDearnley (Talk | contribs)

Jump to: navigation, search

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

Filter-AI.png AI Filter Use this filter to define a specific AI pattern. (Note: Possessed Workers and Scientists will not teleport to a destination if the AI Filter is prepared using the Negate option. Further, Possessed Workers and Scientists will teleport to a destination even if the AI filter is set to just one of them or any other demon. A bug fix is coming in a future update.)
Filter-Bool.png Boolean Filter The signal will continue only if the Boolean is true.
Filter-Droppable.png Droppable Filter Use this filter to define a Droppable pattern.
Filter-Module.png Module Filter Use this filter to define a module pattern.
Filter-Player.png Player Filter Use this filter to define a specific player pattern.
Filter-Race.png Race Filter Use this filter to define a specific race pattern. (Note: The Race Filter will not function unless the player slot is set to Demon Player in the Publish Settings. A bug fix is coming in a future update.)
Filter-Team.png Team Filter Use this filter to define a specific team pattern.
Filter-Custom.png Custom Filter Add 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.png Volume Filter Use this filter to define a specific volume 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.

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.

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.

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.

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'.

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.

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.

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.

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.

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.

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.

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