Difference between revisions of "FilterWML"
(→Filtering Units) |
(→Filtering Locations) |
||
Line 29: | Line 29: | ||
Location filters are represented on this site by the phrase "standard location filter". | Location filters are represented on this site by the phrase "standard location filter". | ||
− | + | See [[StandardLocationFilter]] for details. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Filtering Weapons == | == Filtering Weapons == |
Revision as of 07:32, 1 March 2008
Contents
Filtering in WML
A filter is a special WML block. Filters are used to describe a set of units, hexes, or weapons. Filters are defined as matching something if all the keys in the filter match that thing. For example, if a unit filter contains two keys, a unit must match both of the keys in order to match the filter.
Filtering Units
Filters are often used in action tags (see EventWML). In this case the phrase "standard unit filter" is used in place of the set of standard keys. Sometimes a filter is used to find the first unit that matches the filter; for example, the [recall] tag recalls that unit.
Standard unit filters are also used in the tags [filter] and [filter_second]. These are subtags of [event] which describe when the event should trigger. Most event names (see EventWML) have units related to them called "primary unit" and "secondary unit". In order for an event to be triggered, primary unit must match the filter contained in [filter], and secondary unit must match the filter contained in [filter_second].
See StandardUnitFilter for details.
Filtering Locations
As you have seen, standard unit filter can contain a location filter. Several actions, such as [terrain], also use location filters. Location filters are represented on this site by the phrase "standard location filter".
See StandardLocationFilter for details.
Filtering Weapons
Sometimes weapons are filtered on in WML. See also EventWML, EffectWML, AnimationWML.
These keys are used as filter input for weapon filters.
- range: a range to filter
- melee: only melee weapons pass
- ranged: only ranged weapons pass
- name: filter on the attack's name.
See data/units/ or http://wesnoth.slack.it/unitlist.cgi to find the name of a particular unit's attack.
- type: filter on the attack's type.
Values are 'blade', 'pierce', 'impact', 'fire', 'cold', and 'arcane'.
- special: filter on the attack's special power.
For values see AbilitiesWML.
Filtering Terrains
At some places the terrains can be filtered with a match list. This list is only usable with the new terrain strings. The list is a comma separated list and matching will stop at the first matched terrain string. There's one special character ! which inverts the meaning of a match. Terrain strings can use the wildcard * to match zero or more following letters, characters behind the * are not allowed and the result is undefined.
Eg:
ww* matches ww, www, wwW but not WWW
!, ww returns false if ww found and true if not
!, ww, wa, !, aa returns false if ww or wa found and true if aa found and false if none found.