Skip to content

List of Actions

Jackiecrazy edited this page Jun 12, 2024 · 4 revisions

All actions naturally have a condition that determines whether they can trigger and a repeatable condition that determines whether the action can trigger multiple times in a single moveset execution.

Unless otherwise stated, all arguments are mandatory, and all action lists are optional.

Timer Actions

All timer actions have a max_time attribute that determines how many ticks the timer action will run for.

combatcircle:wait

Do nothing for the specified number of ticks.

Accepts a list of actions under waiting that is checked and executed every tick, in order from top to bottom.

combatcircle:add_velocity

Add a velocity vector to the entity.

Accepts a direction vector that determines the direction and force.

Accepts lists of actions

  • under on_launch that is checked and executed once at the moment of launch.
  • under tick that is checked and executed on every tick of action, regardless of whether the entity is airborne.
  • under on_land that is checked and executed once if the mob touches the ground at any time before the timer action elapses.

combatcircle:move_to

Makes the entity walk towards a position.

Accepts

  • a position vector to determine where it should walk to.
  • a speed_modifier number argument that multiplies the mob's walk speed for this action. Defaults to 1. 1.3 is the approximate sprinting speed.

Accepts lists of actions

  • under on_start that is checked and executed once at the moment of launch.
  • under tick that is checked and executed on every tick.

combatcircle:project_hitbox

Repeatedly scans for mobs nearby that fulfill particular criteria, operating on these mobs with a customizable cooldown.

Accepts

  • a list of actions actions to execute onto found entities.
  • a hit_cooldown integer that limits how often the effects in actions apply to entities. For example, setting this to 3 means a given entity can be affected once per 3 ticks. Defaults to 0 (once only).
  • a range number argument that determines how far the mob should look.
  • a width number argument that determines how wide the mob should look.
  • a filter filter argument that determines how the scanned mobs are filtered out.
  • a position vector that determines where the search starts.
  • a vector vector that determines where the projected hitbox should extend.
  • a selector argument to find mobs.

A selector argument takes the following parameters:

  • a sweep type enum shape. Supports the following shapes: NONE, CONE, CLEAVE, LINE, CIRCLE.
  • NONE only checks the current target with conditions.
  • CONE searches in a conical area with horizontal angle of width (in degrees) and vertical angle of 40 degrees.
  • CLEAVE searches in a conical area with vertical angle of width (in degrees) and horizontal angle of 40 degrees.
  • LINE searches in a cylinder from position and extending in the direction of vector, reaching up to range and with a width of width.
  • CIRCLE searches around the position in a sphere of radius width. range is ignored.

Instant Actions

combatcircle:store_number

Stores a number into the moveset user's persistent data.

Accepts

  • a value parameter that will be written.
  • an into parameter that can be used to retrieve the number later.

combatcircle:store_vector

Stores a vector into the moveset user's persistent data.

Accepts

  • a value parameter that will be written.
  • an into parameter that can be used to retrieve the vector later.

combatcircle:store_entity

Stores an entity into the moveset user's persistent data.

Accepts

  • a value parameter that will be written.
  • an into parameter that can be used to retrieve the entity later.

combatcircle:debug

Prints the current performer and target into the console. Useful for debugging certain actions that change ownership.

combatcircle:deal_damage

Deals damage to the target.

Accepts

  • an amount number argument that determines the amount of damage dealt.
  • a damage_source.

Accepts lists of actions

  • under on_hit that is checked and run once regardless of whether the entity took any damage.
  • under on_damage that is checked and run once if the entity takes damage from the attack.
  • under on_kill that is checked and run once if the entity has less than 0 health or is otherwise dead after taking damage.

The damage_source accepts the following parameters:

  • a source, defaults to the moveset owner.
  • a proxy, used to denote indirect damage such as through arrows. Defaults to the moveset owner.
  • a typing. Can be PHYSICAL, MAGICAL, or TRUE. Physical bypasses damage cooldown, magical additionally bypasses guardian thorns, shields, and armor, and true bypasses resistance, potions, enchantments, and doesn't sync velocity.
  • a crit condition. The damage will be treated as a critical hit if this resolves to true.
  • a crit_damage number argument, defaults to 1.5, and is applied to both health and posture damage on crit.
  • an equip item argument. Defaults to the main hand item.
  • a posture_damage number argument for use with Project: War Dance. This value overrides the weapon's value, if provided. Defaults to -1 (use item posture damage, or mob posture damage if neither exist)

combatcircle:add_effect

combatcircle:explode

combatcircle:look_at

combatcircle:set_aggressive

combatcircle:attach_action

combatcircle:spawn_entity

combatcircle:jump_to

combatcircle:add_attribute

combatcircle:play_particle

combatcircle:play_sound

combatcircle:teleport

combatcircle:swing_arm