Mechanic: Orbital

The Orbital skill fires a special type of projectile that will orbit around the target and can also act as an Aura. Like the projectile, it will trigger other skills on anyone that is hit by it during its orbit.
Much like projectile, it's great for creating complex skills, such as a fire shield, and is a very complex skill to master.

Attributes

Attribute Aliases Description Default Value
onStart oS Meta-Skill executed when the orbital first starts. None
onTick oT Meta-Skill executed every [interval] ticks at the orbital's origin location. None
onHit oH Meta-Skill executed when the projectile hits something. Targets hit are inherited by the meta-skill. None
onEnd oE Meta-Skill executed when the projectile ends. None
Charges c If set, the orbital will stop after firing this many times. 0
Duration d The max duration (in ticks) the orbital will persist. 100
Interval i How often (in ticks) the orbital updates its position 4
Radius r The radius of the orbit around the target. 4
HitRadius hr The radius around the orbital that something will be hit. 1
VerticalHitRadius vhr, vr The radius around the orbital that something will be hit. 1
Points p How many “points” that comprise the circle that makes up the orbit. More points will make the circle more defined, but will also increase the time it takes to complete an orbit. 32
XRotation rotx, rx Rotates the orbital along the X axis. 0
YRotation roty, ry Rotates the orbital along the Y axis. 0
ZRotation rotz, rz Rotates the orbital along the Z axis. 0
XOffset ox Offsets the orbital along the X axis of the target. 0
YOffset oy Offsets the orbital along the Y axis of the target. 0
ZOffset oz Offsets the orbital along the Z axis of the target. 0
AngularVelocityX avx, vx Modifies the angular velocity of the orbital on the X axis. 0
AngularVelocityY avy, vy Modifies the angular velocity of the orbital on the Y axis. 0
AngularVelocityZ avz, vz Modifies the angular velocity of the orbital on the Z axis. 0
HitPlayers hp true
HitNonPlayers hnp false
HitSelf hs false
CancelOnGiveDamage cogd false
CancelOnTakeDamage cotd false
CancelOnDeath cod true
CancelOnTeleport cot false
CancelOnChangeWorld cocw false
CancelOnSkillUse cosu false
CancelOnQuit coq true


Special Notes

For the onStart Skill: onStart skills work in a special way - any buff or “special effect” mechanics fired by onStart that have a duration (such as ParticleTornado) will attach to the projectile for their duration, which allows for some interesting effects.

For the onTick Skill: using the @origin targeter will cause any skills or effects to target the projectile's location. This is the intended way to configure how the projectile looks.

For the onHit Skill: Any targets the projectile hits are passed to the skill inherently. Any targeters you put in the onHit skill will override these and cause your skill to likely not work as you intend.

For the onEnd Skill: Special effects for the projectile's end also use @origin. Also, If you want entities near the end-point of the projectile to be hit in a certain way (such as a final large fireball explosion) you can use the @PlayersNearOrigin{r=[radius]} targeter.

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}

skills/mechanics/orbital.txt · Last modified: 2020/06/30 21:13 (external edit)