diff --git a/Filters.md b/Filters.md index 1b2ea33..108627b 100644 --- a/Filters.md +++ b/Filters.md @@ -1,6 +1,12 @@ A filter is a type of entity that normally holds a set of rules that other entities can use to determine behaviors, like a `trigger_once` using a `filter_activator_name` that only allows an entity with the name "cow" to pass it. [Click here for more information on filters in Source.](https://developer.valvesoftware.com/wiki/Category:Filters) -In Mapbase, a large number of filters have been added to allow for more control and flexibility: +In Mapbase, filters now support the following new I/O/KV: + +--- + +### New filters + +In Mapbase, a large number of standard filters have been added to allow for more control and flexibility: | Name | Description | |:-------------:|:-------------| @@ -8,8 +14,25 @@ In Mapbase, a large number of filters have been added to allow for more control | filter_activator_context | Filters an entity by its response contexts. This entity already exists in all games starting with Left 4 Dead, but Mapbase allows for multiple contexts to be used at once and supports matchers. | | filter_activator_squad | Filters an NPC by its squad name, with the option to deny silent members. (enemy finders, vital allies in player_squad, etc.) | | filter_activator_hintgroup | Filters an NPC by its hint group, with the option to filter Hint Limit Nav. | -| filter_activator_context | Filters an entity by its response contexts. | -| filter_activator_context | Filters an entity by its response contexts. | -| filter_activator_context | Filters an entity by its response contexts. | -| filter_activator_context | Filters an entity by its response contexts. | -| filter_activator_context | Filters an entity by its response contexts. | \ No newline at end of file +| filter_activator_keyfield | Filters an entity by its keyvalues, serving as an extension of logic_keyfield. | +| filter_activator_relationship | Filters an entity by its relationship to a target, or vice versa. | +| filter_activator_classify | Filters an entity by its `Classify()` class. (e.g. `CLASS_PLAYER_ALLY`) | +| filter_activator_criteria | Filters an entity by its response criteria normally used in the response system. | +| filter_activator_involume | Filters an entity by whether it's inside of a target entity's volume. (e.g. a trigger) | +| filter_activator_surfacedata | Filters an entity by its surface data. (e.g. whether it's made of wood) | + +Some of these filters have their own icons. (TODO: Show them here?) + +--- + +### Redirect filters + +"Redirect" filters are a new type of filter that takes a separate entity from the activator and passes it to another filter. For example, `filter_redirect_weapon` gets the activator's weapon and could then pass it to a different filter, which then treats the weapon as the activator. + +Here's a list of the standard redirect filters introduced in Mapbase: + +| Name | Description | +|:-------------:|:-------------| +| filter_redirect_weapon | Redirects the activator's weapon. (as a damage filter, this gets the weapon used in the damage) | +| filter_redirect_owner | Redirects the activator's owner entity. | +| filter_redirect_inflictor | As a damage filter, redirects the inflictor of the damage. (filters normally use the attacker) | \ No newline at end of file