47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
-
+
|
<h2>Class definition blocks</h2>
The class definition block starts with the class name, and then the various things inside, which can be:
* <tt>(Arrivals)</tt>: Sets the relative positions to this object that this object cares about other objects moving into. Needs either the keyword InPlace, or twenty-five numbers each of which is either zero or one. InPlace means this object's position only. Otherwise, 0 means don't care and 1 means does care, making a 5x5 grid with this object in the middle.
* <tt>(Climb)</tt>: Put a number. Defines how high the object can climb; see the documentation about moving objects for details about what this does.
* <tt>(CollisionLayers)</tt>: Put one or more 8-bit numbers and/or bit constants; they are bitwise ORed together. The default value is zero. If the game engine tries to place an object into the location of another object with any shared bits set in the CollisionLayers value for any reason (normal movement, teleportation, or creation), it is prevented, and the COLLIDING and/or COLLIDE messages are sent.
* <tt>Compatible</tt>: Enable better compatibility with Hero Mesh, including that some standard variables are now limited to sixteen bits. For new puzzle sets, it is normally better to avoid this flag (although there may be some cases where you will want to use it).
* <tt>,Compatible</tt>: Similar to Compatible but does not limit variables to sixteen bits.
* <tt>(DefaultImage)</tt>: After the word DefaultImage is some numbers, or () with nothing in between or you can have a range by using () with two numbers in between. This defines which images are available for selection in the editor. If you write <tt>(DefaultImage ())</tt> then this class is not available to place objects in the editor at all. If the DefaultImage command is not included, all images can be used. This only affects the editor.
* <tt>(DefaultImage)</tt>: After the word DefaultImage is some numbers, or () with nothing in between or you can have a range by using () with two numbers in between. This defines which images are available for selection in the editor. If you write <tt>(DefaultImage ())</tt> then this class is not available to place objects in the editor at all. If the DefaultImage command is not included, all images can be used. This only affects the editor, and the [Level file format|level file format].
* <tt>(Density)</tt>: Put a number. Defines the density of the object. If there are multiple objects at the same location, this defines which ones are on top (meaning not obscured by others; does not mean its Y coordinate differs) and on bottom (meaning may be obscured by other objects) and the stuff in between. The object with the lowest density is on top, and highest density on bottom.
* <tt>(Departures)</tt>: See Arrivals; this is similar, but sets the departure positions it cares about instead instead of arrival positions.
* <tt>(EditorHelp)</tt>: After EditorHelp is one or more strings. Each is a line of help text for the composer. This does not affect game rules at all.
* <tt>(Hard)</tt>: Either a 16-bit number, or pairs (each a parenthesized block) of a direction and a 16-bit number. Directions must be E, N, W, or S. If it is a single number, the same number is applicable for all directions. It sets the hardness of each side of the object; this is used together with sharpness to determine if any objects are destroyed when one object moves into another (see documentation about moving objects for further details).
* <tt>(Height)</tt>: Put a number. Defines the height of the object; see the documentation about moving objects for details about what this does.
* <tt>(Help)</tt>: After Help is one or more strings. Each is a line of help text for the player. This does not affect game rules at all.
* <tt>(Image)</tt>: After the word Image is several strings, which are the name of images in the [Picture file format|.xclass file] (without the .IMG suffix). Those are the pictures used as the images of this class; the first one listed is image number zero.
|