Targeters are used to determine what a skill targets when it is fired.
Targeters are used to determine what a skill targets when it is fired.
Targeters are always required (or the mob won't know what it is
While targeters are technically optional (as the default targeter will usually be @trigger), forgetting a targeter is probably one of the most common mistakes people who are new to MythicMobs make.
attacking), and forgetting a targeter is probably one of the most common
mistakes people new to MythicMobs make.
If a targeter is used with a meta skill, then all of the skills inside
When a targeter is used on the Skill mechanic, all of the skills inside of the meta-skill inherit the initial targeter. You can still overwrite the parent targeter for individual mechanics inside of the meta-skill by giving them their own targeter to use.
of the meta skill inherit the parent targeter. It is important to keep
that in mind as excessive targeter use is a common cause of poor server
performance. Of course, you can overwrite the parent targeter for
individual skills inside of the meta skill by giving them their own
targeter to use, and there are even a few targeters that work
specifically off of inherited targets.
Targeters can be as complex or as simple as you want them!
| @LivingInCone{a=90.0;r=16.0;rot=0.0} | @EIC{} | Targets all living entities in cone with angle a and length of r with rotation rot relative to direction |
| @LivingInCone{a=90.0;r=16.0;rot=0.0} | @EIC{} | Targets all living entities in cone with angle (a), length (r), and rotation (rot) relative to facing direction |
| @LivingInWorld | @EIW | Targets all living entities in casters world |
| @LivingInWorld | @EIW | Targets all living entities in casters world |
| @PlayersInRadius{r=#} | @PIR{r=#} | Targets all players in the given radius |
| @PlayersInRadius{r=#} | @PIR{r=#} | Targets all players in the given radius |
| @MobsInRadius{r=#;types=X,X,X} | @MIR{r=#;t=X,X,X} | Targets all mobs of the given type in a radius |
| @MobsInRadius{r=#;types=X,X,X} | @MIR{r=#;t=X,X,X} | Targets all mobs of the given type in a radius |
| @LivingEntitiesInRadius{r=#} | @EIR{r=#;t=X,X,X} | Targets all entities in the given radius. |
| @LivingEntitiesInRadius{r=#} | @EIR{r=#;t=X,X,X} | Targets all entities in the given radius. Can accept types (for specific entities), or no type (for ANY entity). |
| @PlayersInWorld | @World | Targets all players in the current world. |
| @PlayersInWorld | @World | Targets all players in the current world. |
| @PlayersOnServer | @Server | Targets all players in the server. |
| @PlayersOnServer | @Server | Targets all players in the server. |
| @PlayersInRing{min=#;max=#} | | Target all players within the specified "ring" of radiis's. |
| @PlayersInRing{min=#;max=#} | | Target all players between the specified min and max radius. |
| @PlayersNearOrigin{r=#} | | Targets players near the [origin](/skills/targeters/origin) of a meta-skill. |
| @PlayersNearOrigin{r=#} | | Targets players near the [origin](/skills/targeters/origin) of a meta-skill. |
| @MobsNearOrigin{r=#;t=X} | | |
| @MobsNearOrigin{r=#;t=X} | | |
| @EntitiesNearOrigin{r=#} | | |
| @EntitiesNearOrigin{r=#} | | |
| @PlayersNearTargetLocation{r=#} | @PNTL{r=#} | Targets all players near targetlocation. Radius=5 by default. |
| @PlayersNearTargetLocation{r=#} | @PNTL{r=#} | Targets all players near targetlocation. Radius=5 by default. |
| @Siblings | | Targets the siblings of the target. |
| @Siblings | | Targets any mobs that share the same parent as the caster. |
| @Targeted | | Targets the inherited targets. |
| @Targeted | | Targets the inherited targets. |
### ThreatTable Targeters
### ThreatTable Targeters
...
@@ -64,7 +54,7 @@ These targeters only work if the mob has Threat Tables enabled.
...
@@ -64,7 +54,7 @@ These targeters only work if the mob has Threat Tables enabled.
| @TriggerLocation | | Targets the location of the entity that triggered the skill |
| @TriggerLocation | | Targets the location of the entity that triggered the skill |
| @Location{c=x,y,z,yaw,pitch} | | The skill will target the coordinates specified. yaw and pitch were added in MM 4.11 |
| @Location{c=x,y,z,yaw,pitch} | | The skill will target the coordinates specified. |
| @Origin{xoffset=0;yoffset=0;zoffset=0} | | Targets the location of the "origin" or "source" of a meta-skill. While that is usually the casting mob, there are special cases where that is not true (such as with the Projectile Skill, where the "origin" is the location of the projectile). |
| @Origin{xoffset=0;yoffset=0;zoffset=0} | | Targets the location of the "origin" or "source" of a meta-skill. While that is usually the casting mob, there are special cases where this is not true (such as with the Projectile Skill, where the "origin" is the location of the projectile). |
| @Spawner{s=[string]} | | Targets the location of the specified spawner(s). The string can be the name of a spawner, or a a group of spawners (using g:groupname), and also accepts wildcards (Spawner* would target Spawner1,Spawner2,Spawner3,etc) |
| @Spawner{s=SpawnerName} | | Targets the location of the specified spawner(s). The string can be the name of a spawner, or a a group of spawners (using g:groupname), and also accepts wildcards (Spawner* would target Spawner1,Spawner2,Spawner3,etc) |
| @ObstructingBlock | | Tries to target blocks in front of the caster that are obstructing it |
| @ObstructingBlock | | Tries to target blocks in front of the caster that are obstructing it |
| @None | | Provides no target. (Useful for mechanics with no target input.) |
| @None | | Provides no target. (Useful for mechanics with no target input.) |
These are meta-targeters- they can only be used inside of skills. For
The targeters below are called "meta-targeters". They target relative to an inherited targeter. For
example:
example:
Laser:
Laser:
...
@@ -115,23 +105,24 @@ example:
...
@@ -115,23 +105,24 @@ example:
- skill{s=Laser} @target
- skill{s=Laser} @target
Laser:
Laser:
Skills:
Skills:
- ignite @line{r=1}
- ignite @EntitiesInLine{r=1}
In the example skill above, the "ignite" mechanic will target entities between the caster and the targeter specified in `- skill{s=Laser} @target`, i.e. a line between the caster and the caster's target.
In the mobs skill, the target specified there is the end point that the
Some meta-targeters also allow the mechanic to be casted "fromOrigin". This will change the starting location of the meta-targeter to be @Origin rather than the caster, which can allow for some complex effects, particularly when used with Projectiles.
| @Line{radius=#;fromorigin=true/false} | @Line{r=#;fo=true/false} | Targets locations between the mob and the specified target |
| @Line{radius=#;fromorigin=true/false} | @Line{r=#;fo=true/false} | Targets locations between the mob and the inherited target. |
| @EntitiesInLine{r=#;fo=true/false} | @EIL{r=#;fo=true/false} | Targets any entities in a line between the target and the casting mob. |
| @EntitiesInLine{r=#;fo=true/false} | @EIL{r=#;fo=true/false} | Targets any entities in a line between the inherited target and the casting mob. |
| @LivingNearTargetLocation{radius=5} | @LNTL{r=#} | Targets all living entities near meta-targeter location. |
| @LivingNearTargetLocation{radius=5} | @LNTL{r=#} | Targets all living entities near the inherited target. |
| @PlayersNearTargetLocation{radius=5} | @LNTL{r=#} | Targets all players near meta-targeter location. |
| @PlayersNearTargetLocation{radius=5} | @LNTL{r=#} | Targets all players near the inherited target. |
| @RLNTE{a=#;r=#;s=#;minr=#} | | Targets random locations around targeted entities. (Example usage: Meteor skill. Amount would determine how many meteors there will be, radius is how wide the field of falling meteors will be, and the spacing will be how far apart they'll be spaced apart. Generally keep the radius larger than spacing, as it is untested how a smaller radius with a large spacing will do. - zDrakon |
| @RLNTE{a=#;r=#;s=#;minr=#} | - | Targets random locations around the inherited target, where: a is the amount of locations, r is the radius around the inherited target, minr is the minimum radius, and s is the spacing between each location. |
| @FloorOfTargets | @FOT | Targets the blocks underneath the targets |
| @FloorOfTargets | @FOT | Targets the blocks underneath the inherited targets. |
| @LocationsOfTargets | @LOT | Targets the location of the targets |
| @LocationsOfTargets | @LOT | Targets the location of the inherited targets |
| @BlocksInRadius{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | | Targets all blocks in the radius of the inherited target |
| @BlocksInRadius{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | | Targets all blocks in a radius of the inherited targets. |
| @BlocksInChunk{noair=true/false;onlyair=true/false;nearorigin=true/false} | Targets all blocks in a chunk|
| @BlocksInChunk{noair=true/false;onlyair=true/false;nearorigin=true/false} | Targets all blocks in a chunk relative to the inherited target. |
| @BlocksNearOrigin{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | | Targets all blocks in the radius of the specified target |
| @BlocksNearOrigin{radius=#;radiusy=#;noise=#;shape=sphere/cube;onlyair=false;noair=true} | | Targets all blocks in a radius around the inherited target. |
Targeter Options
Targeter Options
================
================
...
@@ -139,16 +130,14 @@ Targeter Options
...
@@ -139,16 +130,14 @@ Targeter Options
Target Filters
Target Filters
--------------
--------------
Target Filters allow you to filter out certain targets, and make
Target Filters allow you to filter out certain targets, and makes targeters a lot more flexible.
targeters a lot more flexible.
They are used with two options (available on ANY entity-targeter):
They are used with two options (available on ANY entity-targeter):
- ignore=X
- ignore=X
- target=X
- target=X
For example, to make a targeter that will ignore any players or
For example, to make a targeter that will ignore any players or non-hostile mobs, you'd use this:
@@ -179,22 +168,18 @@ You can also turn off specific filters by just adding the option
...
@@ -179,22 +168,18 @@ You can also turn off specific filters by just adding the option
Target Limits
Target Limits
-------------
-------------
All entity targeters also support target limits (as of v4.5). With this
All entity targeters also support target limits (as of v4.5). With this you can limit how many entities are targeted, including the order in which they are selected.
you can limit how many things you target, including the order in which
they are selected.
This is done with the options:
This is done with the options:
- limit=#
- limit=#
- sort=X
- sort=X
Lets say you want your ability to only target the 2 nearest players
Lets say you want your ability to only target the 2 nearest players within 30 blocks. To do this, you'd simply set the limit 2 to and sort by nearest:
within 30 yards. To do this, you'd simply set the limit 2 to and sort by
nearest:
-**@PlayersInRadius{r=30;limit=2;sort=NEAREST}**
-**@PlayersInRadius{r=30;limit=2;sort=NEAREST}**
Currently sort can have the following values:
Currently, sort can have the following values:
- NONE *(usually sorts by how long the entity has existed)*
- NONE *(usually sorts by how long the entity has existed)*