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. Also see object and developer identification.
Section [DefCore]
Value Data type Description
id definition id Id of the object.
Version 3 Integer 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.
RequireDef definition id The definition will only be loaded if the specified definition has also been loaded. This may be used to avoid errors, for example when doing #include C4ID when the definition is not present in the loaded packs.
TimerCall String (max. 30 chars) Regularly called timer function in the object script.
Timer Integer Time interval between TimerCalls in frames. Default is 35.
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.
AllowPictureStack Integer Allows stacking of objects in menus and inventory with differing graphics or names. Bit mask of 1 (allow differing color), 2 (graphics), 4 (names), 8 (overlays).
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.
CollectionLimit Integer How many objects can be collected, or 0 for no limitation.
FireTop Integer Flame distance to the object's bottom line.
Placement Integer Placement: 0 land surface, 1 in liquid, 2 in mid-air.
Exclusive Integer 0 or 1. Determines whether the object blocks objects behind it.
ContactIncinerate Integer Probability of incineration by contact: 0 none, or 1 (high) to 5 (low).
BlastIncinerate Integer Incineration by explosion: 0 none, otherwise the damage level of incineration.
BurnTo C4ID Definition change upon incineration.
Base Integer 0 or 1. Determines whether the building can be a home base.
Line Integer 1 energy line, 2 source pipe, 3 drain pipe.
LineConnect Integer Connection behaviour for lines. See LineConnect.
Prey Integer 0 or 1. Determines whether the object is prey for certain animals.
Edible Integer 0 or 1. Determines whether the object is edible.
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 (1) Stop at left and right edges, Bit 1(2) Stop at top edge, Bit 2 (4) Stop at bottom edge, Bit 3 (8) Binds objects having this object as layer to this object's shape. If this object is of category C4D_StaticBack, instead of binding the objects' shapes to the shape bounds, the objects' center is bound.
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.
NoBurnDecay Integer 0 or 1. If 1, the object does not decompose if burning.
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, 1 or 2. Determines if objects inside the object receive damage from lava and acid. If 1, clonks inside this object can not lighten the Fog of War outside. If 2 they can.
SilentCommands Integer 0 or 1. Can be used to prevent failure messages caused by failed commands.
NoBurnDamage Integer 0 or 1. If 1, the object does not take damage when burning.
TemporaryCrew Integer 0 or 1. If 1, the object is not stored in the permanent crew of a player.
SmokeRate Integer 0 to 200: determines the amount of smoke caused by the burning object. 0 for no smoke, 100 is default. If other than 0, the object will always generate maximum smoke when traveling at high velocity (e.g. a fire arrow).
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.
NoFight Integer 0 or 1. If 1 the object will never enter into a fight with other living beings.
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. From 4.95.4.
MoveToRange Integer Maximum range at which the waypoint of a movement command can be touched for a successful hit. Default value 5. From 4.95.4.
NoTransferZones Integer 0 or 1. If 1 the object's pathfinding will ignore any transfer zones. From 4.95.4.
AutoContextMenu Integer 0 or 1. If 1, the building's context menu will open automatically upon entry. From 4.9.7.7.
HideHUDBars bitmask Hides the specified object's status bars that are visible while the object is the player's cursor. Possible combinable values: Energy, MagicEnergy, Breath, All; Since LC [336].
HideHUDElements bitmask Hides the specified object's HUD elements that are visible while the object is the player's cursor. Possible combinable values: Portrait, Captain (the captain's star), Name, Rank, RankImage, All; Since LC [346].
BaseAutoSell Boolean If true, objects of this definition are sold automatically upon entering a home base (also indirectly within the inventory of other objects), as is the case for gold chunks. Default is false (true if the id is GOLD). Since LC [346].
Section [Physical]
Value Data type Description
Energy Integer 0-100000. Maximum energy (electric or life).
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.
Fight Integer 0-100000. Fight 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 (c4i). 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, April 2002