Prozeduren
Für Objekt-Aktivitäten bietet die Engine diverse Standardprozeduren an, die verschiedene typische Verhaltensweisen steuern. Die Standardprozedur WALK wechselt z.B. automatisch nach "Jump", sobald der Boden unter den Füßen verloren wurde.
Prozedur | Beschreibung | Verhalten | CNAT |
---|---|---|---|
nil | Keine Prozedur | Nur Schwerkraft oder in der Aktivität festgelegtes Attach. | Action.Attach |
DFA_WALK | Laufen | Verhalten nach derzeitiger ComDir. | CNAT_Bottom |
DFA_FLIGHT | Freier Fall | Nur Schwerkraft. | CNAT_None |
DFA_KNEEL | Aufstehen | Verhalten nach Aktivität. | CNAT_Bottom |
DFA_SCALE | Klettern | Verhalten nach derzeitiger ComDir. | CNAT_Left/Right |
DFA_HANGLE | Hangeln | Verhalten nach derzeitiger ComDir. | CNAT_Top |
DFA_DIG | Graben | According to current ComDir. With Data=1 material chunks are dug free. | CNAT_None |
DFA_SWIM | Schwimmen | Verhalten nach derzeitiger ComDir. | CNAT_None |
DFA_THROW | Werfen | Verhalten nach Aktivität. | CNAT_Bottom |
DFA_PUSH | Schieben | Pushes the target object according to ComDir. | CNAT_Bottom |
DFA_LIFT | Heben | Hebt das Zielobjekt nach ComDir. | CNAT_None |
DFA_FLOAT | Schweben | Verhalten nach derzeitiger ComDir. | CNAT_None |
DFA_ATTACH | Festhalten | Richtet Objektposition Vertex a an Vertex b des Zielobjekts aus. a und b sind die beiden niederwertigen Bytes von ActionData (Siehe SetActionData für Beispiel). | CNAT_None |
DFA_CONNECT | Verbinden | Nur Leitungsobjekte. Verbindet Zielobjekt 1 und Zielobjekt 2. | CNAT_None |
DFA_PULL | Ziehen | Pulls the target object according to ComDir. | CNAT_Bottom |
Prozeduren sind in der Engine fest programmiert und stammen aus alten Zeiten, bevor entsprechendes Verhalten flexibler auf der Ebene von Aktivitäten und Scripts möglich war. Hinter den meisten Prozeduren verbirgt sich extrem komplexes Verhalten und sie lassen sich nur in ihrer ursprünglichen Verwendung in Clonks sinnvoll einsetzen.