File: defcore.xml

package info (click to toggle)
openclonk 7.0-4
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 145,828 kB
  • ctags: 33,094
  • sloc: cpp: 163,891; ansic: 82,846; xml: 29,876; python: 1,203; php: 767; makefile: 138; sh: 77
file content (287 lines) | stat: -rwxr-xr-x 12,569 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!DOCTYPE doc
  SYSTEM '../../clonk.dtd'>
<?xml-stylesheet type="text/xsl" href="../../clonk.xsl"?>
<doc>
  <title>DefCore.txt</title>
  <h id="DefCoretxt">DefCore</h>
  <part>
    <text>The component DefCore.txt defines the basic characteristics of an object. This includes the object category (whether it is a building or a living being), graphics, entrance and collection areas, value, mass, and so on. Here also the object id is defined which is used to identify the object type in script calls or other components. Every object definition must have a unique object id.</text>
    <text>
      <table>
        <caption id="SektionDefCore">Section [DefCore]</caption>
        <rowh>
          <col>Value</col>
          <col>Data type</col>
          <col>Description</col>
        </rowh>
        <row>
          <literal_col>id</literal_col>
          <col>definition id</col>
          <col>Id of the object.</col>
        </row>
        <row>
          <literal_col>Version</literal_col>
          <col>3 Integers</col>
          <col>Minimal engine version required by the object. Should be always the current engine version at the time of the last change.</col>
        </row>
		<row>
          <literal_col>RequireDef</literal_col>
          <col>Definition IDs</col>
          <col>List of definition IDs this object depends upon.</col>
		</row>
        <row>
          <literal_col>Category</literal_col>
          <col>Integer</col>
          <col>Category of the object. Also see <emlink href="definition/category.html">object categories</emlink>.</col>
        </row>
        <row>
          <literal_col>ContactCalls</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, Contactcalls are called in the object script.</col>
        </row>
        <row>
          <literal_col>Width</literal_col>
          <col>Integer</col>
          <col>Width of the object.</col>
        </row>
        <row>
          <literal_col>Height</literal_col>
          <col>Integer</col>
          <col>Height of the object.</col>
        </row>
        <row>
          <literal_col>Offset</literal_col>
          <col>2 Integer</col>
          <col>Coordinate offset of the top left corner to the object center.</col>
        </row>
        <row>
          <literal_col>Value</literal_col>
          <col>Integer</col>
          <col>Value of the object in money points.</col>
        </row>
        <row>
          <literal_col>Mass</literal_col>
          <col>Integer</col>
          <col>Weight of the object. Rock 10, clonk 50, hut 1000, castle 10000.</col>
        </row>
        <row>
          <literal_col>Components</literal_col>
          <col>ID list</col>
          <col>Elements from which the object is composed. Uncompleted or half grown objects will only have the respective fraction of the components.</col>
        </row>
        <row>
          <literal_col>SolidMask</literal_col>
          <col>6 integers</col>
          <col>Solid areas of the object. Target rectangle from the <emlink href="definition/index.html#SolidMask">SolidMask.png</emlink> graphics onto the object.</col>
        </row>
        <row>
          <literal_col>TopFace</literal_col>
          <col>6 integers</col>
          <col>Covering layer of the object graphics. Target rectangle from the source graphics onto the object.</col>
        </row>
        <row>
          <literal_col>Picture</literal_col>
          <col>4 integers</col>
          <col>Representative image of the object. Rectangle from the source graphics.</col>
        </row>
        <row>
          <literal_col>Vertices</literal_col>
          <col>Integer</col>
          <col>Number of vertices of the object. 1 to 30.</col>
        </row>
        <row>
          <literal_col>VertexX</literal_col>
          <col>up to 30 integers</col>
          <col>List of horizontal vertex coordinates of the object. See <emlink href="definition/vertices.html">vertices</emlink>.</col>
        </row>
        <row>
          <literal_col>VertexY</literal_col>
          <col>up to 30 integers</col>
          <col>List of vertical coordinates of the object vertices.</col>
        </row>
        <row>
          <literal_col>VertexCNAT</literal_col>
          <col>up to 30 integers</col>
          <col>List of direction indicators of the object vertices. See <emlink href="definition/cnat.html">CNAT</emlink>.</col>
        </row>
        <row>
          <literal_col>VertexFriction</literal_col>
          <col>up to 30 integers</col>
          <col>List of friction values of the object vertices, each 1 to 100.</col>
        </row>
        <row>
          <literal_col>Entrance</literal_col>
          <col>4 integers</col>
          <col>Position of the entrance region relative to the object centre.</col>
        </row>
        <row>
          <literal_col>Collection</literal_col>
          <col>4 integers</col>
          <col>Position of the intake region relative to the object centre.</col>
        </row>
        <row>
          <literal_col>FireTop</literal_col>
          <col>Integer</col>
          <col>Flame distance to the object's bottom line.</col>
        </row>
        <row>
          <literal_col>Exclusive</literal_col>
          <col>Integer</col>
          <col>0 or 1. Determines whether the object blocks objects behind it.</col>
        </row>
        <row>
          <literal_col>Line</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1 the object is a line and exhibits special behaviour.</col>
        </row>
        <row>
          <literal_col>CrewMember</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object is added to the player's crew upon purchase. Objects created using CreateObject have to be added to a player's crew manually using <emlink href="script/fn/MakeCrewMember">MakeCrewMember</emlink>.</col>
        </row>
        <row>
          <literal_col>Construction</literal_col>
          <col>Integer</col>
          <col>0 or 1. Determines whether the object can be built.</col>
        </row>
        <row>
          <literal_col>GrabPutGet</literal_col>
          <col>Integer</col>
          <col>Bit mask: bit 0 (value 1) putting possible, bit 1 (value 2) getting possible.</col>
        </row>
        <row>
          <literal_col>Rotate</literal_col>
          <col>Integer</col>
          <col>0 no rotation, 1 full rotation, 2-360 limited rotation.</col>
        </row>
        <row>
          <literal_col>Float</literal_col>
          <col>Integer</col>
          <col>Floatation in liquids: 0 no floatation, otherwise floatation height above the object center.</col>
        </row>
        <row>
          <literal_col>ColorByOwner</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the specified sections of the object's graphcis are colored by the player color.</col>
        </row>
        <row>
          <literal_col>HorizontalFix</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object can only move vertically.</col>
        </row>
        <row>
          <literal_col>UprightAttach</literal_col>
          <col>Integer</col>
          <col>If not 0, the unrotated object attaches to solid areas (attachment directions 8-10).</col>
        </row>
        <row>
          <literal_col>StretchGrowth</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the uncomplete object (see <emlink href="script/fn/GetCon.html">GetCon</emlink>) is scaled, not sliced from the bottom like a construction site.</col>
        </row>
        <row>
          <literal_col>IncompleteActivity</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object can have activities set even if it's not complete.</col>
        </row>
        <row>
          <literal_col>Oversize</literal_col>
          <col>Integer</col>
          <col>0 or 1. The object can be scaled over 100% using DoCon.</col>
        </row>
        <row>
          <literal_col>AttractLightning</literal_col>
          <col>Integer</col>
          <col>0 or 1. The object attracts lightning.</col>
        </row>
        <row>
          <literal_col>Fragile</literal_col>
          <col>Integer</col>
          <col>0 or 1. The object should not be thrown.</col>
        </row>
        <row>
          <literal_col>NoPushEnter</literal_col>
          <col>Integer</col>
          <col>0 or 1. The object can not be pushed into another object's entrance (e.g. elevator case).</col>
        </row>
        <row>
          <literal_col>VehicleControl</literal_col>
          <col>Integer</col>
          <col>Bit mask: bit 0 (value 1) object can be controlled by grabbing from the outside and/or bit 1 (value 2) from the inside. With active VehicleControl, clonk orders (commands) are also passed to the grabbed object as ControlCommand calls and can be processed and/or overloaded by the controlled object's script. See <emlink href="definition/script.html#ControlFunktionen">Control-Funktionen</emlink>.</col>
        </row>
        <row>
          <literal_col>Pathfinder</literal_col>
          <col>Integer</col>
          <col>1 - 10. Determines search depth of the pathfinder algorithm (default 1). Warning: higher values may slow down the game. By setting this value you can also enable non-CrewMember objects to use pathfinding when executing commands.</col>
        </row>
        <row>
          <literal_col>NoComponentMass</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object's contents is not added to the object's total mass. This can be used to prevent small container objects from turning into killer throwing items.</col>
        </row>
        <row>
          <literal_col>NoStabilize</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object will not straighten itself to 0° if within a certain upright range.</col>
        </row>
        <row>
          <literal_col>ClosedContainer</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, clonks inside this object can not lighten the Fog of War outside.</col>
        </row>
        <row>
          <literal_col>SilentCommands</literal_col>
          <col>Integer</col>
          <col>0 or 1. Can be used to prevent failure messages caused by failed commands.</col>
        </row>
        <row>
          <literal_col>TemporaryCrew</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object is not stored in the permanent crew of a player.</col>
        </row>
        <row>
          <literal_col>BlitMode</literal_col>
          <col>Integer</col>
          <col>0 or 1. Value 1 for addtive drawing. Use <funclink>SetObjectBlitMode</funclink> for more flexibility.</col>
        </row>
        <row>
          <literal_col>NoBreath</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1, the object does not need oxygen, even if it's a living being.</col>
        </row>
        <row>
          <literal_col>ConSizeOff</literal_col>
          <col>Integer</col>
          <col>Values grater than 0 are deducted from the top of necessary construction space.</col>
        </row>
        <row>
          <literal_col>NoGet</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1 the object can not be taken from containers by a clonk.</col>
        </row>
        <row>
          <literal_col>LiftTop</literal_col>
          <col>Integer</col>
          <col>If an object with Action procedure "<emlink href="definition/procedures.html">LIFT</emlink>" lifts its target to this value above object center the function LiftTop is called in the object script.</col>
        </row>
        <row>
          <literal_col>RotatedEntrance</literal_col>
          <col>Integer</col>
          <col>0 entrance is open if the object is upright only; 1 entrance is always open; 2-360 entrance is open within the specified object rotation in degrees.</col>
        </row>
        <row>
          <literal_col>MoveToRange</literal_col>
          <col>Integer</col>
          <col>Maximum range at which the waypoint of a movement command can be touched for a successful hit. Default value 5.</col>
        </row>
        <row>
          <literal_col>NoTransferZones</literal_col>
          <col>Integer</col>
          <col>0 or 1. If 1 the object's pathfinding will ignore any transfer zones.</col>
        </row>
      </table>
    </text>
  </part>
  <author>Newton</author><date>2013-11</date>
</doc>