Logic

Das Objekt "Logic" ist ein Relikt aus den ersten Versionen von Destiny aus dem Jahr 2008, als DestinyScript noch keine IF-Abfragen und Ähnliches beherrschte. Die Methoden in diesem Objekt sind über logische Verknüpfungen dazu in der Lage, Werte zu verändern/vergleichen und die Ergebnisse an anderer Stelle abzuspeichern. Häufig ist der Einsatz dieses Objektes nicht notwendig, bzw. unnötig kompliziert.

Alle Methoden arbeiten bei logischen Operationen mit typendynamischen Skalaren, das heißt, es können beliebig Bools, Zahlenformate und Strings verwendet werden. FALSE-Bools, Null-Zahlen und leere Strings gelten als FALSE, alles andere als TRUE.

Logic.NOT(Skalar)

Der Skalar wird logisch analysiert und das Gegenteil des Ergebnisses gespeichert. Das gleiche Ergebnis wird auch durch den "!"-Operator (bspw. "!Actor[1].HasItem(5)") erzielt.

Parameter: 1

Pflichtangaben: 1

Output: BOOL

Logic.AND(Skalar1, Skalar2)

Beide Skalare werden per Konjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn beide Skalare als TRUE identifiziert wurden. Das gleiche Ergebnis wird auch durch den "&&"-Vergleichsoperator erzielt.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.OR(Skalar1, Skalar2)

Beide Skalare werden per Disjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn mindestens einer von ihnen als TRUE identifiziert wurde. Das gleiche Ergebnis wird auch durch den "||"-Vergleichsoperator erzielt.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.XOR(Skalar1, Skalar2)

Beide Skalare werden per Antivalenz miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, solange genau einer von ihnen als TRUE identifiziert wurde.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.XNOR(Skalar1, Skalar2)

Beide Skalare werden per Äquivalenz miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn beide von ihnen identisch (TRUE und TRUE, FALSE und FALSE) identifiziert wurden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.NAND(Skalar1, Skalar2)

Beide Skalare werden per negierter Konjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, es sei denn beide Skalare wurden als TRUE identifiziert.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.NOR(Skalar1, Skalar2)

Beide Skalare werden per Peirce-Funktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, es sei denn einer von ihnen wurde als TRUE identifiziert.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.IMP(Skalar1, Skalar2)

Beide Skalare werden per Implikation miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, es sei denn beide wurden (in dieser Reihenfolge) als TRUE und FALSE identifiziert.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.INH(Skalar1, Skalar2)

Beide Skalare werden per Inhibition miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn beide (in dieser Reihenfolge) als FALSE und TRUE identifiziert wurden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.AND3(Skalar1, Skalar2, Skalar3)

Drei Skalare werden per Konjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn alle Skalare als TRUE identifiziert wurden.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.OR3(Skalar1, Skalar2, Skalar3)

Drei Skalare werden per Disjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn mindestens einer von ihnen als TRUE identifiziert wurde.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.XOR3(Skalar1, Skalar2, Skalar3)

Drei Skalare werden per Antivalenz miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, solange genau einer von ihnen als TRUE identifiziert wurde.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.XNOR3(Skalar1, Skalar2, Skalar3)

Beide Skalare werden per Äquivalenz miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, wenn alle von ihnen identisch (TRUE-TRUE-TRUE, FALSE-FALSE-FALSE) identifiziert wurden.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.NAND3(Skalar1, Skalar2, Skalar3)

Drei Skalare werden per negierter Konjunktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, es sei denn alle Skalare wurden als TRUE identifiziert.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.NOR3(Skalar1, Skalar2, Skalar3)

Drei Skalare werden per Peirce-Funktion miteinander verglichen. Es wird als Ergebnis TRUE gespeichert, es sei denn einer von ihnen wurde als TRUE identifiziert.

Parameter: 3

Pflichtangaben: 3

Output: BOOL

Logic.Above(Skalar1, Skalar2)

Fragt ab, ob der erste Wert größer ist als der zweite. Das gleiche Ergebnis kann mit dem ">"-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.AboveEqual(Skalar1, Skalar2)

Fragt ab, ob der erste Wert mindestens so groß ist wie der zweite. Das gleiche Ergebnis kann mit dem ">="-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.Below(Skalar1, Skalar2)

Fragt ab, ob der erste Wert kleiner ist als der zweite. Das gleiche Ergebnis kann mit dem "<"-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.BelowEqual(Skalar1, Skalar2)

Fragt ab, ob der erste Wert höchstens so groß ist wie der zweite. Das gleiche Ergebnis kann mit dem "<="-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.Equal(Skalar1, Skalar2)

Fragt ab, ob zwei Werte gleichgroß sind. Das gleiche Ergebnis kann mit dem "=="-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.Unequal(Skalar1, Skalar2)

Fragt ab, ob zwei Werte unterschiedlich groß sind. Das gleiche Ergebnis kann mit dem "!="-Vergleichsoperator erzielt werden.

Parameter: 2

Pflichtangaben: 2

Output: BOOL

Logic.If(Expr, Then, Else)

Gibt den definierten Wert des Parameters "Then" zurück, wenn der Ausdruck als TRUE gewertet wird, ansonsten den von "Else". Das gleiche Ergebnis kann mit einer IF- oder SWITCH-Struktur erzielt werden, jedoch ist "Logic.If", ähnlich eines ternären Operators, den DestinyScript nicht anbietet, wesentlich kurzgefasster als jene Strukturen, wenn einem Ziel in jedem Fall ein Wert zugewiesen werden soll, dieser jedoch von einer Bedingung abhängig ist.

Parameter: 3

Pflichtangaben: 3

Output: FLEXIBEL

Relevant für dieses Thema