# DefCore.txt

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