1<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2<!DOCTYPE doc
3  SYSTEM '../../clonk.dtd'>
4<?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
5<doc>
6  <title>Properties</title>
7  <h>Properties</h>
8  <part>
9    <text>Every object has a number of properties that are handled by the engine. Typically, these are inherited from the object's Prototype, an <emlink href="definition/index.html#Objektdefinitionen">Object Definition</emlink>. A Property of an Object Definition is defined with the <code>local</code> keyword in the <emlink href="definition/script.html#Objektscripte">Definition's script</emlink>:</text>
10    <code>local Name = "$Name$";
11local ActMap = {
12Stand = {
13	Prototype = Action,
14        Name = "Stand",
15        Length = 1,
16        NextAction = "Stand"
17},
18};
19</code>
20    <text>
21      <table>
22        <caption id="PropertiesTable">Object Properties</caption>
23        <rowh>
24          <col>Name</col>
25          <col>Data type</col>
26          <col>Description</col>
27        </rowh>
28        <row>
29          <col><code>Prototype</code></col>
30          <col>proplist</col>
31          <col>Deprecated. Use <funclink>SetPrototype</funclink> and <funclink>GetPrototype</funclink>.</col>
32        </row>
33        <row>
34          <col><code>Name</code></col>
35          <col>string</col>
36          <col>Name of the object. This string should be <emlink href="lang.html">internationalized</emlink>.</col>
37        </row>
38        <row>
39          <col><code>Collectible</code></col>
40          <col>bool</col>
41          <col>Whether the object can be picked up.</col>
42        </row>
43        <row>
44          <col><code>Touchable</code></col>
45          <col>int</col>
46          <col>1 the object can be grabbed and pushed, 2 the object can only be grabbed.</col>
47        </row>
48        <row>
49          <col><code>ActMap</code></col>
50          <col>proplist</col>
51          <col>See the <emlink href="definition/actmap.html">detailed description of the ActMap</emlink>.</col>
52        </row>
53        <row>
54          <col><code>Visibility</code></col>
55          <col>int/array</col>
56          <col>Controls the visibility of the object. See the <emlink href="definition/visibility.html">detailed documentation of possible values</emlink>.</col>
57        </row>
58        <row>
59          <col><code>LineColors</code></col>
60          <col>array</col>
61          <col>An array of two integers. The first denotes the color of the line and the second the color of the endpoints if the object is drawn as a line.</col>
62        </row>
63        <row>
64          <col><code>LineAttach</code></col>
65          <col>array</col>
66          <col>An array of two integers. Denotes the position of where the endpoint of the line is located relative to the object center.</col>
67        </row>
68        <row>
69          <col><code>PictureTransformation</code></col>
70          <col>array</col>
71          <col>If the object is a mesh, the picture graphic of the object can be transformed with this property. See <funclink>Trans_Mul</funclink> for an example.</col>
72        </row>
73        <row>
74          <col><code>MeshTransformation</code></col>
75          <col>array</col>
76          <col>If the object is a mesh, the ingame graphic of the object can be transformed with this property. See <funclink>Trans_Mul</funclink> for an example.</col>
77        </row>
78        <row>
79          <col><code>MouseDrag</code></col>
80          <col>bool</col>
81          <col>Whether the object can be dragged with the mouse. What exactly happens when an object is dragged onto another is defined in script.</col>
82        </row>
83        <row>
84          <col><code>MouseDragImage</code></col>
85          <col>id / object</col>
86          <col>The object or object id of which the picture should be displayed below the cursor while dragging.</col>
87        </row>
88        <row>
89          <col><code>Tooltip</code></col>
90          <col>string</col>
91          <col>A tooltip that is displayed for objects of the category <emlink href="definition/category.html">C4D_MouseSelect</emlink>. This string should be <emlink href="lang.html">internationalized</emlink>.</col>
92        </row>
93        <row>
94          <col><code>Action</code></col>
95          <col>proplist</col>
96          <col>The current action of the object as a proplist.</col>
97        </row>
98        <row>
99          <col><code>BreatheWater</code></col>
100          <col>bool</col>
101          <col>Whether the object breathes in water rather than air.</col>
102        </row>
103        <row>
104          <col><code>CorrosionResist</code></col>
105          <col>bool</col>
106          <col>Whether the alive object does not loose energy when in corrosive material.</col>
107        </row>
108        <row>
109          <col><code>MaxEnergy</code></col>
110          <col>int</col>
111          <col>Maximum life energy in a precision of 100.</col>
112        </row>
113        <row>
114          <col><code>MaxBreath</code></col>
115          <col>int</col>
116          <col>Maximum breath.</col>
117        </row>
118        <row>
119          <col><code>ThrowSpeed</code></col>
120          <col>int</col>
121          <col>Throwing speed in a precision of 100.</col>
122        </row>
123        <row>
124          <col><code>JumpSpeed</code></col>
125          <col>int</col>
126          <col>Jump speed in a precision of 100.</col>
127        </row>
128        <row id="Parallaxity">
129          <col><code>Parallaxity</code></col>
130          <col>[int, int]</col>
131          <col>The Objects's major Z-Position. See <funclink>C4D_Parallax</funclink>.</col>
132        </row>
133        <row id="Plane">
134          <col><code>Plane</code></col>
135          <col>int</col>
136          <col>The Object's minor Z-Position. Negative values are behind the landscape, positive values before it. Use 1-399 for stuff behind Clonks, 401-999 for stuff before Clonks, and 1000+ for GUI objects. Global particles are on 900.</col>
137        </row>
138        <row id="SolidMaskPlane">
139          <col><code>SolidMaskPlane</code></col>
140          <col>int</col>
141          <col>If the object moves and other objects are attached to its SolidMask, only objects in front of this plane are moved along with it. Defaults to Plane if zero.</col>
142        </row>
143		<row>
144          <literal_col>Placement</literal_col>
145          <col>Integer</col>
146          <col>Placement: 0 land surface, 1 in liquid, 2 in mid-air, 3 underground, 4 land surface and underground.</col>
147        </row>
148		<row>
149          <literal_col>ContainBlast</literal_col>
150          <col>bool</col>
151          <col>True or false. Determines whether explosions in the object's contents affect other objects outside.</col>
152        </row>
153		<row>
154          <literal_col>BlastIncinerate</literal_col>
155          <col>Integer</col>
156          <col>Incineration by explosion: 0 none, otherwise the damage level that has to be reached until the object is incinerated. </col>
157        </row>
158		<row>
159          <literal_col>BurnTo</literal_col>
160          <col>C4ID</col>
161          <col>Definition change upon incineration.</col>
162        </row>
163		<row>
164          <literal_col>NoBurnDecay</literal_col>
165          <col>Integer</col>
166          <col>0 or 1. If 1, the object does not decompose if burning.</col>
167        </row>
168		<row>
169          <literal_col>ContactIncinerate</literal_col>
170          <col>Integer</col>
171          <col>Probability of incineration by contact: 0 none, or 1 (high) to 5 (low). Implies MaterialIncinerate.</col>
172        </row>
173		<row>
174          <literal_col>MaterialIncinerate</literal_col>
175          <col>bool</col>
176          <col>Incineration when submerged in incendiary material.</col>
177        </row>
178		<row>
179          <literal_col>FireproofContainer</literal_col>
180          <col>bool</col>
181          <col>Anything contained in this object does not catch fire when submerged in incendiary material.</col>
182        </row>
183		<row>
184          <literal_col>EditCursorCommands</literal_col>
185          <col>Array</col>
186          <col>Array of functions made available in the context menu when right-clicking an object in the editor. Functions may be either strings (like "Explode(20)") or function pointers (like this.Hit). Function pointers are always called by name.</col>
187        </row>
188		<row>
189          <literal_col>BorderBound</literal_col>
190          <col>Integer</col>
191          <col>Bit mask indicating object boundaries: stop at map sides (C4D_Border_Sides), stop at map top (C4D_Border_Top), stop at map bottom (C4D_Border_Sides), stop at object layer boundaries (C4D_Border_Layer). For example BorderBound = C4D_Border_Top | C4D_Border_Bottom.</col>
192        </row>
193        <row>
194          <literal_col>ContactCalls</literal_col>
195          <col>bool</col>
196          <col>True or false. If true, <emlink href="definition/cnat.html">ContactCalls</emlink> are called in the object script.</col>
197        </row>
198        <row>
199          <literal_col>Components</literal_col>
200          <col>array</col>
201          <col>List of definitions and counts specifying the components of an object. Example: Components = {Rock = 1, Wood = 3};</col>
202        </row>
203      </table>
204    </text>
205  </part>
206  <author>Günther</author><date>2011</date>
207</doc>
208