Commercial#
Commercial drafts have the type of commercial
and belong to the $cat_commercial00
category by default.
Attributes#
active#
Type: boolean
Whether the draft is active and should be loaded by the game.
add price#
Array of draft IDs.
alias#
Type: string
aliases#
Same as alias, but for multiple IDs.
alignable#
Type: boolean
If true the building will align with neighbouring buildings.
By default will inherit the value of the frame alignment attribute.
allocate road flags#
Allocates a custom car flag.
Note that there is a max limit of 32 custom flags.
animated#
Type: boolean
If set and the building has multiple frames, then these frames will be used for animation. Normally multiple frames will be used for different variants of a building and or rotation awareness.
By default, the value will be false.
Deprecated
This attribute is a relict from a time when separate animation objects were not a thing yet. Use the more powerful animation attribute instead.
animation#
Type: Animation
array
animation fg#
Type: Animation
array
aspect body disposal capacity#
Type: integer
aspect education high capacity#
Type: integer
aspect education low capacity#
Type: integer
aspect health care capacity#
Type: integer
aspect waste disposal capacity#
Type: integer
author#
Type: string
The name of the author behind the draft.
auto build#
Type: boolean
For RCI buildings only.
Determines whether the building can be built automatically by the game on corresponding zones and given demand.
auto build factor#
Type: float
The auto build factor can be used to tweak the auto spawn rate of the building.
Higher values will cause the building to be built more likely.
biomes#
Type: Biome spawner
Used for spawning draft objects on the map during generation.
budget item#
Type: string
ID of the draft that has the "budget item"
meta tag defined.
Monthly income or expenses show up under the budget item.
build height#
Type: integer
The height of the building in 8px units. Used for auto build time calculation, collision checks, clipping during drawing, helicopters and much more.
build time#
Type: integer
The build time of the building in days.
build time factor#
Type: float
build zone#
Type: boolean
bulldoze price#
Type: integer
The price to bulldoze the building.
Negative values require privileges.
burnable#
Type: boolean
Whether the building can be set on fire.
By default will inherit the value of the destroyable attribute.
capacity#
Type: integer
Capacity for passenger related calculations.
By default, the value will be 0.
car spawner#
Type: CarSpawner
category#
Type: string
ID of the category the draft should be contained in.
category from#
Type: string
Draft ID to grab category from and use for the draft.
composition#
Type: Composition
array
Composition buildings must be rotation aware.
conductive#
Type: boolean
Whether the building will connect to normal power lines.
deco frames#
deco frames winter#
density#
Type: float
Used for attribute calculations as more dense buildings usually have higher expectations.
By default, if the value is -1, the game will calculate it on its own by diving the number of people in the building by the building's area.
destroyable#
Type: boolean
Whether the building is destroyable by disasters.
By default, the value will be true.
destroyable by fun#
Type: boolean
Whether the building is destroyable by fun actions.
By default, the value will be true.
destruction#
Type: string
The ID of a building that will be used to replace the destructed building.
Must be either 1x1 in which case it will fill up the area of the destructed building, or match the size of the destructed building.
dev#
Type: boolean
diamond price#
Type: integer
The diamond price to build this building. Will be ignored in case the building was unlocked by a feature.
On premium platforms, the value will be 0.
disaster#
Type: boolean
Whether the existence of the building should be considered as a disaster.
When city is in a disaster state, game may play disaster music, the city growth will halt.
By default, the value will be false.
draw ground#
Type: boolean
If true the ground below the building will be drawn. Useful when the building has transparent parts in the ground.
By default, the value will be false.
draw water borders#
Type: boolean
draw water ground#
Whether water will be drawn under the building even if there's ground. Useful for semi transparent buildings that use this feature to incorporate water into their visuals.
If a string is provided, ground draft by the specified ID will be used for drawing.
draw zone#
Type: boolean
easy remove#
Type: boolean
explodes#
Type: boolean
Whether building will explode upon being burnt down (that is, after a while of burning).
By default, the value will be false.
explosion radius#
Type: integer
For exploding buildings only, the radius of the explosion.
By default, the value will be 16.
ext rotation aware#
Type: boolean
If true the building will use 16 frames per variant to model joining with nearby buildings.
By default, the value will be true, if the draft is rotation aware and has frame alignment or frame alignment area attributes set to true.
final#
Type: boolean
If set to true, the draft can no longer be overridden.
frame alignment#
Type: boolean
If true the building will be built using a line tool unless frame alignment area is true.
By default will inherit the value of the frame alignment area attribute.
frame alignment area#
Type: boolean
If true the building will be built using an area tool.
By default, the value will be false.
frame animation fg indices#
frame animation indices#
frames#
Required unless you are using a composition.
frames winter#
free build time skip#
Type: boolean
Whether the build time can be skipped for free in freemium versions.
fun#
Type: Fun
ground frames#
ground frames winter#
ground tiles#
Array of Viewport draft IDs.
habitants#
Type: integer
For residential buildings: The amount of inhabitants.
height#
Type: integer
Must be of equal value to the width attribute unless it's a composition.
helicopter spawner#
Type: HelicopterSpawner
hidden#
Type: boolean
Whether the draft shows up in the toolbar. If set to true, the draft will not be available in the toolbar.
hidden on click#
Type: boolean
By default, the value will be false.
hide id#
Type: boolean
Whether to hide the draft ID even when the debug mode is enabled. This will automatically be set to true if final is set to true or if your draft is part of an encrypted plugin file.
high voltage only#
Type: boolean
Whether the building will connect to high voltage lines.
icon frames#
icon frames winter#
id#
Type: string
Unique identifier of the draft.
idle build time#
Type: boolean
Whether the building can get build progress through idle time.
By default, the value will be true.
index#
Type: boolean
Whether to allow the draft to be indexed by Lua methods.
By default, the value will be true unless the draft is scenario draft.
infer requirements#
Type: boolean
Whether the draft should infer requirements from drafts in the composition.
May only be used with a composition attribute.
By default, the value will be true.
influence body disposal#
Type: integer
influence commercial#
Type: integer
influence culture#
Type: integer
influence density#
Type: integer
influence education high#
Type: integer
influence education low#
Type: integer
influence fire department#
Type: integer
influence health#
Type: integer
influence industrial#
Type: integer
influence level0#
Type: integer
influence level1#
Type: integer
influence level2#
Type: integer
influence management#
Type: integer
influence nature#
Type: integer
influence noise#
Type: integer
influence park#
Type: integer
influence passenger bus#
Type: integer
influence passenger train#
Type: integer
influence police#
Type: integer
influence pollution#
Type: integer
influence preview#
Type: boolean
Whether a preview of the building's influences should be rendered.
By default, the value will be true.
influence radioactive#
Type: integer
influence religion#
Type: integer
influence residential#
Type: integer
influence sport#
Type: integer
influence traffic#
Type: integer
influence waste disposal#
Type: integer
inherit#
Type: boolean
Whether to modify a draft of the same ID by inheriting values.
level#
Type: integer
Represents wealth level of the building. Level ranges from 1 to 3.
Only supported by RCI buildings.
By default, the value will be 1.
liquid#
Type: boolean
Whether the building will conduct water like a pipe.
map color#
Type: Color
max count#
Type: integer
The maximum permitted occurrences of the building within the city.
By default, the value will be -1 which indicates no limit.
max version#
Type: integer
The maximum game version that will run the draft.
meta#
Type: Meta
min version#
Type: integer
The minimum game version required to run the draft.
min water tiles#
Type: integer
If the value is >= 0 then the building can only be built if the building area below it consists of at least this amount of water tiles.
By default, the value will be -1.
monthly price#
Type: integer
The monthly costs of this building. Negative values mean income and require privileges.
moveable#
Type: boolean
Whether the building can be moved by move building tool.
mute#
Type: boolean
Whether to suppress any errors that have occurred while loading the draft.
mute lua#
Type: boolean
needs land#
Type: boolean
If true there must be at least one land tile under the building.
If false and needs water is true then there must be no land tiles under the building.
By default, the value will be true.
needs road#
Type: boolean
If true the building will complain if there is no road connection available.
To determine road connection the road flags of nearby roads will be examined.
By default, the value will be true.
needs water#
Type: boolean
If true there must be at least one water tile under the building.
If false and needs land is true then there must be no water tiles under the building.
By default, the value will be false.
night light probability#
Type: float
not implemented#
Type: boolean
Whether the draft has to be inherited to be considered implemented. Will cause an error otherwise.
nuclear#
Type: boolean
Whether the explosion of the building will be nuclear.
By default, the value will be false.
on built fun#
Type: Fun
on click fun#
Type: Fun
on destroy fun#
Type: Fun
on event fun#
Type: Fun
once#
Type: boolean
Whether the draft should be loaded once.
What this means is that if another draft is encountered with the same ID, the game will ignore loading it rather than failing with an error message.
ordinal#
Type: integer
Position of the draft in a category. Lower ordinal value will list the draft higher. Negative values are allowed.
ordinal from#
Type: string
ID of the draft to grab ordinal from. Must be used in combination with the ordinal attribute.
override#
Type: boolean
Whether to modify a draft of the same ID by replacing values.
Rather than replacing the values, you may want to add or only change specific values of the draft. For that, refer to the inherit attribute.
pedestrian#
Type: string
ID of a pedestrian draft.
pedestrian count#
Type: integer
By default, the value will be 0.
people#
Type: integer
Unified type that provides habitants or workers depending on the RCI type.
performance#
Type: boolean
Whether the performance of the building can be adjusted. Performance impacts influences, aspects, costs and income.
By default, the value will be false.
pickable#
Type: boolean
Whether the building can be picked by picking tool.
By default, the value will be true.
power#
Type: integer
Positive values produce and negative values consume the resource.
Maximum possible value is determined by $ ext{width} imes ext{height} imes 10000$, unless you're using privileges.
power radius#
Type: integer
The maximum value is 10 unless privileged.
By default, the value will be 5.
premium#
Type: boolean
Whether the draft is premium. A premium draft will not be active in non premium versions of the game.
premium requirement#
Type: Nested requirement
Requirements that need to be fulfilled for the draft on premium platforms.
If platform is premium, this attribute will be loaded over the regular requirement attribute. On non-premium platforms, this attribute will be ignored.
premium requirements#
Type: Requirement
array
Requirements that need to be fulfilled for the draft on premium platforms.
If platform is premium, this attribute will be loaded over the regular requirement attribute. On non-premium platforms, this attribute will be ignored.
preview frames#
Frames that will be used for preview in the toolbar instead of regular frames.
preview frames winter#
Frames that will be used for preview in the toolbar instead of regular frames during winter.
price#
Type: integer
The price to construct the building. If the building costs diamonds the price won't be charged.
Negative values require privileges.
price factor#
Type: float
Factor by which subsequent building prices will be multiplied by.
privileged#
Type: string
Privileged key for your draft. Allows the use of special features, which are restricted to trusted plugin creators only.
Deprecated
Due to a change in how the privilege system works, you are now recommended to use require privileges or require super privileges.
provide aspect body disposal#
Type: integer
provide aspect education high#
Type: integer
provide aspect education low#
Type: integer
provide aspect health care#
Type: integer
provide aspect waste disposal#
Type: integer
random frame#
Type: boolean
By default, the value will be true.
random fun#
Type: Fun
randomize animation#
Type: boolean
By default, the value will be false.
randomize lights#
Type: boolean
By default, the value will be true.
rci cars#
Type: integer
rebuild#
Type: boolean
removable#
Type: boolean
Whether the draft can be removed from the city by player build tools.
By default, the value will be true.
renameable#
Type: boolean
Whether the building can be renamed by the player.
By default, the value will be true.
require privileges#
Type: boolean
Whether the draft requires features such as monthly income, frame placement, etc.
Added in version 1.11.73
require scenario#
Array of scenario IDs in which this draft can be used. It will be unloaded when entering a city that is not one of these scenarios.
Privileged context is required to use this attribute as it could be used to cheat inside a scenario.
Added in version 1.12.12
require super privileges#
Type: boolean
Whether the draft requires features that are restricted to official game content such as DSA.
Added in version 1.11.73
requirement#
Type: Nested requirement
Requirements that need to be fulfilled for the draft.
requirements#
Type: Requirement
array
Requirements that need to be fulfilled for the draft.
road flags airport#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags all#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags bus#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags emergency#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags high speed#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags lkw#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags maglev#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags military#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags monorail#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags native pedestrian#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags none#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags normal#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags pedestrian#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags pkw#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags snow plow#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags subway#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags tractor#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags train#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags tram#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user0#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user1#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user2#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user3#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user4#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user5#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user6#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user7#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
road flags user8#
Type: boolean
For buildings that need road these flags will be used to determine whether a given neighbouring road counts as a connection.
At least one of the given flags must match with the flags of the neighbouring road.
rotation aware#
Type: boolean
If true the building will dedicate frames for use in rotation.
By default, the value will be true, if the draft is alignable and has at least 4 frames or it is a composition building.
script#
Type: string
Used to attach a script to the current draft.
Supported modes of operation#
-
Loading the script from file:
-
Declaring the script inline:
-
Using a helper script
#LuaWrapper
for Real time script editing:
scripts#
Like script, but for multiple scripts.
searchable#
Type: boolean
Whether the draft can be searched in the toolbar.
selectable frames#
Type: boolean
Whether the user can manually select a frame upon building.
By default, the value will be true, if frame alignment attribute is false.
separator#
Type: boolean
Whether to separate the draft from others in a category.
service car tags#
Array of tags.
service cars#
Type: integer
ship count#
Type: integer
By default, the value will be equal to building's width.
ship radius#
Type: integer
By default, the value will be 128.
ships#
Array of ship draft IDs.
show new marker#
Type: boolean
Whether the draft will show a new marker in the toolbar.
smoke#
Type: Smoke
array
sound click#
Type: obj
This sound will be played when clicked on the draft in default mode.
Example#
One may refer to a file locally:
Or a game resource:
spawn#
Type: Legacy spawner
Used for spawning draft objects on the map during generation.
Deprecated
Following the biome update this method of building spawning is considered obsolete. Use the new biomes attribute instead.
strict lua#
Type: boolean
super conductive#
Type: boolean
Whether the building will connect to normal power lines and high voltage ones.
supports shoreline#
Type: boolean
supports slope#
Type: boolean
supports terrain#
Type: boolean
template#
Type: string
ID of the template draft to inherit the implementation from.
template prefix#
Type: string
Has effect only when using templates.
templates#
Like template, but accepts multiple IDs.
text#
Type: string
Description, usually of the building.
text id#
Type: string
title#
Type: string
Title, usually of the building.
title id#
Type: string
type#
Type: string
A special attribute that determines what kind of attributes and abilities a draft has.
upgrades#
Type: Upgrade
array
use fence#
Array of fence draft IDs. A random fence will be chosen to be placed around a building.
By default, the behaviour is disabled.
use fire frames#
Type: boolean
Whether the building will draw the usual fire when burning.
Can be disabled to draw a custom fire animation.
By default, the value will be true.
volatile#
Type: boolean
Not in use.
By default, the value will be false.
water#
Type: integer
Positive values produce and negative values consume the resource.
Maximum possible value is determined by $ ext{width} imes ext{height} imes 10000$, unless you're using privileges.
water border frames#
water border frames winter#
water waste#
Type: float
Positive values indicate that the building causes water pollution. Negative values reduce water pollution.
width#
Type: integer
Must be of equal value to the height attribute unless it's a composition.
workers#
Type: integer
For commercial and industrial buildings: The amount of workers.
zone#
Type: string
ID of the zone draft to use.