WarriorJS Docs
  • Player
  • Maker
  • Community
  • English
    • العربية
    • Català
    • Čeština
    • Deutsch
    • Ελληνικά
    • Español
    • Français
    • Italiano
    • Polskie
    • Русский
    • Српски језик (Ћирилица)
    • Svenska
    • Türkçe
    • 中文
    • 繁體中文
    • Help Translate
  • GitHub

›Maker API

Guide

  • Introduction
  • Creating Your Tower
  • Adding Levels
  • Defining Abilities
  • Defining Units
  • Refactoring
  • Testing
  • Publishing

Maker API

  • Space API
  • Unit API
Edit

Unit API

As a maker, you call methods on units when writing the logic for the abilities you create.

Class Methods

Here are the various methods that are available to you:

unit.heal(amount)

Adds the given amount of health in HP.

Health can't go over max health.

Arguments

amount (number): The amount of HP to add.

unit.takeDamage(amount)

Subtracts the given amount of health in HP.

If the unit is bound, it will unbound when taking damage.

Health can't go under zero. If it reaches zero, the unit will die and vanish from the floor.

Arguments

amount (number): The amount of HP to subtract.

unit.damage(receiver, amount)

Damages another unit.

If the other unit dies, the damager will earn or lose points equal to the dead unit's reward depending on whether that unit was an enemy or a friend, respectively.

Arguments

receiver (Unit): The unit to damage.

amount (number): The amount of HP to inflict.

unit.isAlive()

Determines if the unit is alive.

A unit is alive if it has a position.

Returns

(boolean): Whether the unit is alive or not.

unit.release(unit)

Releases (unbinds) another unit.

If the other unit was a friend, the releaser will earn points equal to the released unit's reward.

Arguments

receiver (Unit): The unit to release.

unit.unbind()

Unbinds the unit.

unit.bind()

Binds the unit.

unit.isBound()

Determines if the unit is bound.

Returns

(boolean): Whether this unit is bound or not.

unit.earnPoints(points)

Adds the given points to the score.

Arguments

points (number): The points to earn.

unit.losePoints(points)

Subtracts the given points from the score.

Arguments

points (number): The points to lose.

unit.triggerEffect(effect)

Triggers the given effect.

Arguments

effect (string): The name of the effect.

unit.isUnderEffect(effect)

Determines if the unit is under the given effect.

Arguments

effect (string): The name of the effect.

Returns

(boolean): Whether this unit is under the given effect or not.

unit.getOtherUnits()

Returns the units in the floor minus this unit.

Returns

(Unit[]): The other units in the floor.

unit.getSpace()

Returns the space where this unit is located.

Returns

(Space): The space this unit is located at.

unit.getSensedSpaceAt(direction, forward = 1, right = 0)

Returns the sensed space located at the direction and number of spaces.

Use this method when returning spaces from senses. Always return sensed spaces to the player.

Arguments

direction (string): The direction.

forward (number): The number of spaces forward.

right (number): The number of spaces to the right.

Returns

(SensedSpace): The sensed space.

unit.getSpaceAt(direction, forward = 1, right = 0)

Returns the space located at the direction and number of spaces.

Use this method internally. Never return a regular space to the player.

Arguments

direction (string): The direction.

forward (number): The number of spaces forward.

right (number): The number of spaces to the right.

Returns

(Space): The space.

unit.getDirectionOfStairs()

Returns the direction of the stairs with reference to this unit.

Returns

(string): The relative direction of the stairs.

unit.getDirectionOf(space)

Returns the direction of the given space with reference to this unit.

Arguments

space (SensedSpace): The space to get the direction of.

Returns

(string): The relative direction of the space.

unit.getDistanceOf(space)

Returns the distance between the given space and this unit.

Arguments

space (SensedSpace): The space to calculate the distance of.

Returns

(number): The distance of the space.

unit.move(direction, forward = 1, right = 0)

Moves the unit in the given direction and number of spaces.

Arguments

direction (string): The direction.

forward (number): The number of spaces forward.

right (number): The number of spaces to the right.

unit.rotate(direction)

Rotates the unit in a given direction.

Arguments

direction (string): The direction in which to rotate.

unit.vanish()

Vanishes the unit from the floor.

unit.log(message)

Logs a message to the play log.

Arguments

message (string): The message to log.

Instance Properties

name (string)

The name of the unit.

character (string)

The character that represents the unit in the floor map.

health (number)

The total damage the unit may take before dying, in HP.

maxHealth (number)

The maximum health value.

reward (number)

The number of points to reward when interacting.

enemy (boolean)

Whether the unit belongs to the enemy side or not.

bound (boolean)

Whether the unit is bound or not.

← Space API
  • Class Methods
    • unit.heal(amount)
    • unit.takeDamage(amount)
    • unit.damage(receiver, amount)
    • unit.isAlive()
    • unit.release(unit)
    • unit.unbind()
    • unit.bind()
    • unit.isBound()
    • unit.earnPoints(points)
    • unit.losePoints(points)
    • unit.triggerEffect(effect)
    • unit.isUnderEffect(effect)
    • unit.getOtherUnits()
    • unit.getSpace()
    • unit.getSensedSpaceAt(direction, forward = 1, right = 0)
    • unit.getSpaceAt(direction, forward = 1, right = 0)
    • unit.getDirectionOfStairs()
    • unit.getDirectionOf(space)
    • unit.getDistanceOf(space)
    • unit.move(direction, forward = 1, right = 0)
    • unit.rotate(direction)
    • unit.vanish()
    • unit.log(message)
  • Instance Properties
    • name (string)
    • character (string)
    • health (number)
    • maxHealth (number)
    • reward (number)
    • enemy (boolean)
    • bound (boolean)
WarriorJS Docs
Docs
PlayerMaker
Community
SpectrumTwitterFollow WarriorJS on Twitter
More
DonateGitHubStar