Difference between revisions of "StandardLocationFilter"
From The Battle for Wesnoth Wiki
Line 1: | Line 1: | ||
+ | From [[FilterWML]], this is the standard way of filtering on locations. The following attributes and sub-tags are permitted: | ||
+ | |||
* '''time_of_day''': filter matches only on a given time of day (one of lawful, chaotic or neutral). | * '''time_of_day''': filter matches only on a given time of day (one of lawful, chaotic or neutral). | ||
* '''terrain''': comma separated list of terrains. If you are using terrain letters ([[TerrainCodesWML]]), then yes you must use commas to separate the terrains; this is different from the the '''[store_locations]''' tag or IF_TERRAIN macro (of utils.cfg)! So instead of "gfm", write "g,f,m" here. | * '''terrain''': comma separated list of terrains. If you are using terrain letters ([[TerrainCodesWML]]), then yes you must use commas to separate the terrains; this is different from the the '''[store_locations]''' tag or IF_TERRAIN macro (of utils.cfg)! So instead of "gfm", write "g,f,m" here. | ||
Line 23: | Line 25: | ||
** '''count''': a number, range, or comma separated range; default "1-6" | ** '''count''': a number, range, or comma separated range; default "1-6" | ||
** '''adjacent''': a comma separated list of directions; default "n,ne,se,s,sw,nw" | ** '''adjacent''': a comma separated list of directions; default "n,ne,se,s,sw,nw" | ||
+ | |||
+ | [[Category: WML Reference]] |
Revision as of 07:24, 1 March 2008
From FilterWML, this is the standard way of filtering on locations. The following attributes and sub-tags are permitted:
- time_of_day: filter matches only on a given time of day (one of lawful, chaotic or neutral).
- terrain: comma separated list of terrains. If you are using terrain letters (TerrainCodesWML), then yes you must use commas to separate the terrains; this is different from the the [store_locations] tag or IF_TERRAIN macro (of utils.cfg)! So instead of "gfm", write "g,f,m" here.
- x,y: the same as in the unit filter; supports any range
- [filter]: a StandardUnitFilter; if present a unit must also be there
- owner_side: the side of the owner, if this location is an owned village.
- find_in: name of an array or container variable; if present, the location will not match unless it is also found stored in the variable
- radius: matches if any location within the radius matches this filter
- If you aren't storing any locations successfully, it may be because you put the radius or filters in the wrong place for them to combine correctly.
[have_location] terrain=Gg^Vh [and] x=$x1 y=$y1 radius=1 [/and] [/have_location]
- [filter_radius]: a standard location filter; normally the radius extends outwards from matching locations one step at a time without checking any additional information-- however, if this tag is present, the radius will be restricted so that it can only expand outwards in the directions where it passes the given location filter
- [and]: an extra location filter. Unless a location matches the [and] filter, then it will be excluded. Note: [and],[or],and [not] extra location filters are considered after everything else in the containing filter (except radius, which is considered last in 1.3.8 and greater); they are then processed in the order encountered.
- [or]: an extra location filter. If a location matches the [or] filter, then it will count as a match regardless of conditions in previous filters or the containing filter.
- [not]: an extra location filter. If a location matches the [not] filter, then that location will be excluded.
- [filter_adjacent_location]: a standard location filter; if present the correct number of adjacent locations must match this filter
- count: a number, range, or comma separated range; default "1-6"
- adjacent: a comma separated list of directions; default "n,ne,se,s,sw,nw"