DefCore

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.
Section [DefCore]
Value Data type Description
id definition id Id of the object.
Version 3 Integers Minimal engine version required by the object. Should be always the current engine version at the time of the last change.
Name String (max. 30 chars) Name of the object. Will be overwritten by the applicable one in the Names.txt.
Category Integer Category of the object. Also see object categories.
MaxUserSelect Integer Maximal allowed count when placed in the menu system.
ContactCalls Integer 0 or 1. If 1, Contactcalls are called in the object script.
Width Integer Width of the object.
Height Integer Height of the object.
Offset 2 Integer Coordinate offset of the top left corner to the object center.
Value Integer Value of the object in money points.
Mass Integer Weight of the object. Rock 10, clonk 50, hut 1000, castle 10000.
Components ID list Elements from which the object is composed. Uncompleted or half grown objects will only have the respective fraction of the components.
SolidMask 6 integers Solid areas of the object. Target rectangle from the source graphics onto the object.
TopFace 6 integers Covering layer of the object graphics. Target rectangle from the source graphics onto the object.
Picture 4 integers Representative image of the object. Rectangle from the source graphics.
Vertices Integer Number of vertices of the object. 1 to 30.
VertexX up to 30 integers List of horizontal vertex coordinates of the object. See vertices.
VertexY up to 30 integers List of vertical coordinates of the object vertices.
VertexCNAT up to 30 integers List of direction indicators of the object vertices. See CNAT.
VertexFriction up to 30 integers List of friction values of the object vertices, each 1 to 100.
Entrance 4 integers Position of the entrance region relative to the object centre.
Collection 4 integers Position of the intake region relative to the object centre.
FireTop Integer Flame distance to the object's bottom line.
Exclusive Integer 0 or 1. Determines whether the object blocks objects behind it.
Base Integer 0 or 1. Determines whether the building can be a home base.
Line Integer 0 or 1. If 1 the object is a line and exhibits special behaviour.
CrewMember Integer 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 MakeCrewMember.
Growth Integer Growth of the object. Trees 1-4, living beings 15.
Rebuy Integer 0 or 1. Determines whether the object can be bought back after selling it.
Construction Integer 0 or 1. Determines whether the object can be built.
ConstructTo C4ID Definition change upon building.
Grab Integer 0 no grabbing, 1 grab and push, 2 grab only.
GrabPutGet Integer Bit mask: bit 0 (value 1) putting possible, bit 1 (value 2) getting possible.
Collectible Integer 0 or 1. Determines whether the object can be collected.
Rotate Integer 0 no rotation, 1 full rotation, 2-360 limited rotation.
Chop Integer 0 or 1. Determines whether the object can be chopped.
Float Integer Floatation in liquids: 0 no floatation, otherwise floatation height above the object center.
ContainBlast Integer 0 or 1. Determines whether explosions in the object's contents affect other objects outside.
ColorByOwner Integer 0 or 1. If 1, the specified sections of the object's graphcis are colored by the player color.
ColorByMaterial String (max. 15) The object is colored by the color of the specified material.
HorizontalFix Integer 0 or 1. If 1, the object can only move vertically.
BorderBound Integer Bit mask: bit 0 (value 1) stop at the sides, bit 1 (value 2) stop at the top, bit 2 (value 4) stop at the bottom.
UprightAttach Integer If not 0, the unrotated object attaches to solid areas (attachment directions 8-10).
StretchGrowth Integer 0 or 1. If 1, the uncomplete object (see GetCon) is scaled, not sliced from the bottom like a construction site.
Basement Integer 0 no basement, 1 normal basement, other values reserved.
IncompleteActivity Integer 0 or 1. If 1, the object can have activities set even if it's not complete.
Oversize Integer 0 or 1. The object can be scaled over 100% using DoCon.
AttractLightning Integer 0 or 1. The object attracts lightning.
Fragile Integer 0 or 1. The object should not be thrown.
NoPushEnter Integer 0 or 1. The object can not be pushed into another object's entrance (e.g. elevator case).
VehicleControl Integer 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 Control-Funktionen.
Pathfinder Integer 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.
NoComponentMass Integer 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.
NoStabilize Integer 0 or 1. If 1, the object will not straighten itself to 0° if within a certain upright range.
ClosedContainer Integer 0 or 1. If 1, clonks inside this object can not lighten the Fog of War outside.
SilentCommands Integer 0 or 1. Can be used to prevent failure messages caused by failed commands.
TemporaryCrew Integer 0 or 1. If 1, the object is not stored in the permanent crew of a player.
BlitMode Integer 0 or 1. Value 1 for addtive drawing.
NoBreath Integer 0 or 1. If 1, the object does not need oxygen, even if it's a living being.
ConSizeOff Integer Values grater than 0 are deducted from the top of necessary construction space.
NoSell Integer 0 or 1. If 1 the object can not be sold.
NoGet Integer 0 or 1. If 1 the object can not be taken from containers by a clonk.
LiftTop Integer If an object with Action procedure "LIFT" lifts its target to this value above object center the function LiftTop is called in the object script.
RotatedEntrance Integer 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.
MoveToRange Integer Maximum range at which the waypoint of a movement command can be touched for a successful hit. Default value 5.
NoTransferZones Integer 0 or 1. If 1 the object's pathfinding will ignore any transfer zones.
AutoContextMenu Integer 0 or 1. If 1, the building's context menu will open automatically upon entry.
Section [Physical]
Value Data type Description
Energy Integer 0-100000. Maximum life energy.
Breath Integer 0-100000. Maximum breath.
Walk Integer 0-100000. Walking speed.
Jump Integer 0-100000. Jump force.
Scale Integer 0-100000. Scaling speed.
Hangle Integer 0-100000. Hangling speed.
Dig Integer 0-100000. Digging speed.
Swim Integer 0-100000. Swimming speed.
Throw Integer 0-100000. Throwing force.
Push Integer 0-100000. Push power.
Magic Integer 0-100000. Maximal magic energy.
Float Integer 0-100. Flight speed.
CanScale Integer 0 or 1. Scale.
CanHangle Integer 0 or 1. Brachiation.
CanDig Integer 0 or 1. Dig.
CanConstruct Integer 0 or 1. Construct. If greater than 1, percentage construction speed. (100 normal, 50 half, etc.)
CorrosionResist Integer 0 or 1. Determines wether the object resists acid.
BreatheWater Integer 0 object breathes air, 1 object breathes water.

Note:

When a crew member is created, it gets an own physical section in it's Objectinfo (oci). In there, the individual changes to the physicals (for example because of training) are saved and restored when an object enters a player's crew. The physical section of the defcore is only used for new crew members and normal objects.
Sven2, 2002-04