Unit API
Als ein Ersteller kannst du beim Schreiben der Fähigkeiten-Logik Methoden auf Einheiten (Units) aufrufen.
Klassen-Methoden
Es sind verschiedene Methoden verfügbar:
unit.heal(amount)
Fügt die übergebene Menge an Leben hinzu.
Das Leben kann nicht über das Maximum steigen.
Argumente
amount
(number): Die Menge an Leben, die hinzugefügt werden soll.
unit.takeDamage(amount)
Subtrahiert die übergebene Menge an Leben vom aktuellen Stand.
Falls die Einheit gefesselt ist, wird sie entfesselt sobald sie Schaden nimmt.
Das Leben kann nicht unter Null fallen. Sollte es Null erreichen, stirbt die Einheit und wird von der Etage entfernt.
Argumente
amount
(number): Die Menge an Leben, die subtrahiert werden soll.
unit.damage(receiver, amount)
Greift eine andere Einheit an.
Falls die andere Einheit stirbt, erhält der Angreifer Punkte basierend auf Höhe der Belohnung. War die getötete Einheit verbündet, werden diese Punkte stattdessen abgezogen.
Argumente
receiver
(Unit): Die Einheit die angegriffen werden soll.
amount
(number): Die Menge an Schaden.
unit.isAlive()
Gibt an, ob die Einheit am Leben ist.
Eine Einheit lebt, solange sie eine Position auf der Etage hat.
Rückgabewert
(boolean): Ob die Einheit lebt oder nicht.
unit.release(unit)
Befreit (entfesselt) eine andere Einheit.
Falls die andere Einheit verbündet war, erhält der Befreier Punkte in Höhe der Belohnung der befreiten Einheit.
Argumente
receiver
(Unit): Die Einheit, die befreit werden soll.
unit.unbind()
Entfesselt die Einheit.
unit.bind()
Fesselt die Einheit.
unit.isBound()
Bestimmt, ob die Einheit gefesselt ist.
Rückgabewert
(boolean): Ob die Einheit gefesselt ist oder nicht.
unit.earnPoints(points)
Fügt die übergebene Anzahl an Punkten den Punktestand hinzu.
Argumente
points
(number): Die zu erhaltenen Punkte.
unit.losePoints(points)
Subtrahiert die übergebene Anzahl an Punkten vom Punktestand.
Argumente
points
(number): Die zu verlierenen Punkte.
unit.triggerEffect(effect)
Löst den übergebenen Effekt aus.
Argumente
effect
(string): Name des Effekts.
unit.isUnderEffect(effect)
Bestimmt, ob die Einheit vom übergebenen Effekt betroffen ist.
Argumente
effect
(string): Name des Effekts.
Rückgabewert
(boolean): Ob die Einheit vom Effekt betroffen ist oder nicht.
unit.getOtherUnits()
Gibt die Einheiten auf dieser Etage zurück (diese Einheit ausgeschlossen).
Rückgabewert
(Unit[]): Die anderen Einheiten auf dieser Etage.
unit.getSpace()
Gibt den Bereich zurück, auf dem diese Einheit steht.
Rückgabewert
(Space): Bereich auf dem diese Einheit steht.
unit.getSensedSpaceAt(direction, forward = 1, right = 0)
Gibt den in der übergebenen Richtung und Entfernung wahrgenommenen Bereich zurück.
Benutze diese Methode, um wahgenommene Bereiche zurückzugeben. Der Spieler sollte nur Zugriff auf wahrgenommene Bereiche bekommen.
Argumente
direction
(string): Die Richtung.
forward
(number): Die Anzahl der Bereiche nach vorne.
right
(number): Die Anzahl der Bereiche nach rechts.
Rückgabewert
(SensedSpace): Der wahrgenommene Bereich.
unit.getSpaceAt(direction, forward = 1, right = 0)
Gibt den herkömmlichen Bereich in der übergebenen Richtung und Entfernung zurück.
Nutze diese Methode nur intern. Gebe niemals einen herkömmlichen Bereich an den Spieler zurück.
Argumente
direction
(string): Die Richtung.
forward
(number): Die Anzahl der Bereiche nach vorne.
right
(number): Die Anzahl der Bereiche nach rechts.
Rückgabewert
(Space): Der Bereich.
unit.getDirectionOfStairs()
Gibt die Richtung der Treppen in Bezug auf diese Einheit zurück.
Rückgabewert
(string): Die relative Richtung der Treppe.
unit.getDirectionOf(space)
Gibt die Richtung des übergebenen Bereichs in Bezug auf diese Einheit zurück.
Argumente
space
(SensedSpace): Der Bereich für den die Richtung berechnet werden soll.
Rückgabewert
(string): Die relative Richtung des Bereichs.
unit.getDistanceOf(space)
Gibt die Entfernung zwischen dem übergebenen Bereich und dieser Einheit zurück.
Argumente
space
(SensedSpace): Der Bereich für den die Entfernung berechnet werden soll.
Rückgabewert
(number): Die Entfernung zum Bereich.
unit.move(direction, forward = 1, right = 0)
Bewegt die Einheit in die übergebene Richtung und Entfernung.
Argumente
direction
(string): Die Richtung.
forward
(number): Die Anzahl der Bereiche nach vorne.
right
(number): Die Anzahl der Bereiche nach rechts.
unit.rotate(direction)
Dreht die Einheit in die übergebene Richtung.
Argumente
direction
(string): Die Richtung, in die gedreht werden soll.
unit.vanish()
Entfernt die Einheit von der Etage.
unit.log(message)
Schreibt eine Nachricht in das Spiel-Log.
Argumente
message
(string): Die Nachricht, die geschrieben werden soll.
Instanz-Eigenschaften
name
(string)
Der Name der Einheit.
character
(string)
Der Buchstabe, der diese Einheit auf der Karte der Etage repräsentiert.
health
(number)
Der aktuelle Lebenspunktestand.
maxHealth
(number)
Das Maximum des health
-Werts.
reward
(number)
Die Anzahl der Punkte, die bei Interaktion gutgeschrieben werden.
enemy
(boolean)
Gibt an, ob diese Einheit feindlich gesinnt ist oder nicht.
bound
(boolean)
Gibt an, ob diese Einheit gefesselt ist oder nicht.