Mechanic
orbital
Applies an orbital aura to the target
Aliases
o
Configuration Fields (31)
| Name | Type | Default | Description |
|---|---|---|---|
| radius r | PlaceholderFloat | — | The radius of the orbital aura |
| hitRadius hr | PlaceholderFloat | — | The hit radius of the orbital aura |
| verticalHitRadius vhr, vr | PlaceholderFloat | — | The vertical hit radius of the orbital aura |
| points p | PlaceholderInt | — | The number of points in the orbital aura |
| velocity | double | — | The velocity of the orbital aura |
| rotate | boolean | — | Whether the orbital aura should rotate |
| reversed | boolean | — | Whether the orbital aura should be reversed |
| startingStep sp | PlaceholderInt | — | The starting step of the orbital aura |
| xRotation rotx, rx | PlaceholderDouble | — | The X rotation of the orbital aura |
| yRotation roty, ry | PlaceholderDouble | — | The Y rotation of the orbital aura |
| zRotation rotz, rz | PlaceholderDouble | — | The Z rotation of the orbital aura |
| xOffset offx, ox | PlaceholderDouble | — | The X offset of the orbital aura |
| yOffset offy, oy | PlaceholderDouble | — | The Y offset of the orbital aura |
| zOffset offz, oz | PlaceholderDouble | — | The Z offset of the orbital aura |
| interpolation tickinterpolation, ti | int | 0 | Interpolates additional points between each tick of the projectile, running onTick multiple times |
| immuneDelay immune, id | PlaceholderDuration | 2000 | Sets the immunity delay (when the target can be hit by the projectile again) |
| hugSurface | ProjectileSurfaceMode | false | Whether the projectile will hug the surface |
| hugLiquid hugWater, hugLava | ProjectileSurfaceMode | false | If hugSurface is set, determines whether the projectile will hug liquid |
| heightFromSurface hfs | float | — | |
| maxClimbHeight mch | float | 3 | The number of attempts the projectile will try to increase its y-location before terminating the projectile |
| maxDropHeight mdh | float | 10 | The number of attempts the projectile will try to decrease its y-location before terminating the projectile |
| onHitSkill onhit, oh | String | — | The name of the skill to trigger when the orbital aura hits a target |
| hitSelf hs | boolean | — | Whether the orbital aura can hit the caster |
| hitPlayers hp | boolean | — | Whether the orbital aura can hit players |
| hitNonPlayers hnp | boolean | — | Whether the orbital aura can hit non-players |
| hitConditions PREM conditions, cond, c | List<SkillCondition> | NONE | Conditions applied to the hit target |
| stopConditions PREM stpcond | List<SkillCondition> | NONE | Conditions applied to the stop the projectile when hitting the target |
| shareSubHitboxCooldown shcd | boolean | true | |
| hitTargeter htr | Optional<SkillTargeter> | — | Custom targeter for more robust hit detection |
| drawHitbox | boolean | false | Draw the hitbox of the projectile, useful for debugging |
| castAsOrbital cao | boolean | — | Whether skills are casted as the orbital |
Examples & Notes
Examples
This example puts an icy-looking orbital shield around the mob when it is hit sometimes, that will last for 10 seconds or until it is triggered once:
# Mob File
Mob:
Type: SKELETON
Skills:
- skill{s=IceShield} @self ~onDamaged 0.2
# Skills File
IceShield:
Skills:
- orbital{onTick=IceShield-Tick;onHit=IceShield-Hit;points=20;interval=1;duration=200;charges=1}
IceShield-Tick:
Skills:
- effect:particles{p=snowballpoof;amount=20;speed=0;hS=0.2;vS=0.2} @origin
IceShield-Hit:
Skills:
- damage{a=10}
- potion{type=SLOW;duration=100;lvl=2}
This example shows how the orbital can be removed via the Auraremove mechanic.
The mob ExampleMob create the shield from the previous example once it gets damaged with a 20% chance, but unlike the previous example this time the orbital also has an auraName attribute. When the mob receives a REMOVESHIELD signal, he will both remove the orbital via the auraremove mechanic and the orbital’s auraName while also sending a SHIELDREMOVED signal back to the trigger of the metaskill
# Mob File
ExampleMob:
Type: ZOMBIE
Skills:
- skill{s=IceShield} @self ~onDamaged 0.2
- skill{s=IceShield-Remove} @self ~onSignal:REMOVESHIELD
# Skills File
IceShield:
Skills:
- orbital{
auraName=IceShield;
onTick=IceShield-Tick;onHit=IceShield-Hit;points=20;interval=1;duration=200;charges=1}
IceShield-Remove:
Skills:
- auraremove{aura=IceShield}
- signal{s=SHIELDREMOVED} @trigger
Universal Mechanic Options
- Author:
- Ashijin
