Buildings Search needs JavaScript. You can use the topics and alphabetical index below.
A terrain building combines a resource record in dom.res, LAND/DOM settings, and a generic unit sheet. Houses, bunkers, casemates, and some fortifications use this system. Bridges use a different reader.
The configuration guide shows a change to an existing building. Building resources explains indices and graphics.
Settings files File Observed purpose <archive>/LAND/domBase settings, common values, and includes. <archive>/LAND/descdomSettings for building indices. <archive>/LAND/defdomIncluded settings, such as sounds or fortifications. This file can also contain obj lines. <environment>/dom.resGraphics, palette, numeric class, and placement data. lang/UNITS/houseGeneric sheet for the House class. lang/UNITS/__testportalGeneric sheet for the Portal class.
asien_unit/land/ uses a lowercase directory name. Some resources use the name DOM.RES. Keep the spelling used in your archive.
The engine reads the dom family file and its includes. It loads the resources before it applies settings to loaded types. A defdom file needs an include in the active dom file.
Selectors and order level 0
HP default 500 500 500 500
HP type 2 1000 1000 1000 1000
HP obj 26 1333 1333 1333 1333
This example shows the three forms. The type line does not come from the current Fusion files.
Form Scope key default valuesAll loaded types in this family. key type class valuesTypes with this numeric class in dom.res. key obj index valuesThe type at this container index. level valueA family setting, without a selector.
The engine applies all default lines, then all type lines, then all obj lines. It keeps the read order within each group, including included files. A later default line does not take priority over an obj line.
A later line in the same group can replace the same field. Armor and protection tables have separate entries for each damage type. Keep the necessary lines in each block.
The numeric resource class differs from seltype house or seltype bunker. It also differs from House in the UNITS registry. An obj index identifies a graphic type, not one building placed on the map.
Generic sheets and tunnels house uses file none. Its graphics come from dom.res. During mission loading, resource classes below 6 select house. The other classes select __testportal.
A copy of house with a new identifier does not change this association. Common name, target, and attack properties remain in Identity and resources and Weapons and ammunition .
Tunnels use Portal when their resource class selects it. The generic sheet does not establish their capacity, links, travel, or combat rules.
Health and damage states HP obj 0 1000 1000 1000 1000
The four numbers are health contributions. A building placed in state 0 starts with 4000 health here. In state 1, it starts with 3000 health. Transition thresholds add the contributions of the later states.
The reader consumes four values. A fifth value in a source file does not add a fifth state. The resource contains four graphic groups.
HP differs from health in UNITS. Also read the limits of armor and protection .
Reference limits Code confirms the readers. Some delay units, garrison capacity rules, and exact bonus factors remain unknown. Examples keep Fusion values. They are not balance recommendations.
HS2Engine cover, hidden garrison, and medic mods can change the behavior. Record your DLL options for each trial. No interactive game or editor trial of this procedure was run here. See Sources and limits .
The classes and archives show where a property occurs. They do not guarantee support.
Stores the armor coefficients of the building type.
armor obj object_id damage_type front1 front2 side1 side2 rear1 rear2Parameters The shared reader expects a damage type and three pairs of values. Fusion often supplies only one value. Class notes The reader limits 256 minus each value to 0 through 256. Missing numeric arguments are zero. They do not repeat the first value. Building faces and the damage calculation remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:261 src/game/desc/misc.cpp:84 src/game/core/text/tokenizer.cpp:77
Related table or registry: lang2/hitsnames
Behavior not confirmed · Research results
Source example ARMOR default ABJECTIVE 256asien_unit/land/dom:27
See also: armor (UNITS)
Stores the firing dead zone setting of the building type.
bonus_shotdeadzone obj object_id valueParameters One integer after the selector. Class notes The reader stores the integer without conversion. The factor and the change to minimum range remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Observed spellings bonus_ShotDeadZone, bonus_shotdeadzoneEngine reader
src/game/land/land_dom.cpp:266
Behavior not confirmed · Research results
Source example bonus_ShotDeadZone default 150asien_unit/land/dom:17
Stores the firing range setting of the building type.
bonus_shotrange obj object_id valueParameters One integer after the selector. Class notes The reader stores the integer without conversion. A value of 150 does not prove a 150 percent bonus. The gameplay calculation remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Observed spellings bonus_ShotRange, bonus_shotrangeEngine reader
src/game/land/land_dom.cpp:266
Behavior not confirmed · Research results
Source example bonus_ShotRange default 150asien_unit/land/dom:16
Stores the sight setting of the building type.
bonus_sight obj object_id valueParameters One integer after the selector. Class notes The reader accepts a signed integer, including -1. Its effect on occupants and its unit remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Observed spellings Bonus_sight, bonus_Sight, bonus_sightEngine reader
src/game/land/land_dom.cpp:266
Behavior not confirmed · Research results
Source example bonus_Sight default 1asien_unit/land/dom:15
Stores the delay named DelayBeforeFight.
delaybeforefight obj object_id valueParameters One integer after the selector. Class notes The condition to resume combat and the delay unit remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:274
Behavior not confirmed · Research results
Source example DelayBeforeFight default 150asien_unit/land/dom:19
Selects an explosion type for each damage state.
explosiontype obj object_id state0 state1 state2 state3Parameters Four identifiers from lang2/boomtypes. Use none only if the table recognizes that name. Class notes This type table differs from the named effects used by onhit_addexplosion. HouseExplosion returns the type of the current state for a marked building area. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:479 src/game/land/land_dom.cpp:57
Related table or registry: lang2/boomtypes
Source example ExplosionType default dom dom dom noneasien_unit/land/dom:6
See also: onhit_addexplosion
Sets the health contributions of the four damage states.
hp obj object_id state0 state1 state2 state3Parameters Four integers, in the order of states 0 to 3. Class notes Initial health adds the contributions from the placed state through state 3. 1000 1000 1000 1000 gives 4000 at state 0. Thresholds are cumulative. The reader ignores a fifth value. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:474 src/game/land/structure_setup.cpp:53 src/game/land/land_dom.cpp:311
Source example HP default 500 500 500 500asien_unit/land/dom:5
See also: health (UNITS)
Stores the base level of the DOM family.
level valueParameters One integer, without default, type, or obj. Class notes This line is read before the resources. It does not select the damage state of a placed building. Its exact effect remains unknown. Confirmed readers Dom::Parse Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:105 src/game/land/land.cpp:237
Behavior not confirmed · Research results
Source example level 0asien_unit/land/dom:4
Sets the name of the building type.
name obj object_id "text"Parameters A quoted text. The selector identifies the affected objects. Class notes The $ prefix finds a key in desc.lng. A missing key leaves the name unchanged. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Observed spellings Name, nameEngine reader
src/game/land/land_dom.cpp:250
Source example Name default "Batiment"asien_unit/land/dom:11
See also: name (UNITS)
Stores an additional damage effect for each state.
ondmg_addexplosion obj object_id effect0 ; effect1 ; effect2 ; effect3Parameters Each group: name|none [one|cell [fraction [minimum [maximum]]]]. Class notes The format is the same as onhit_addexplosion. Semicolons end the groups. The exact effect trigger remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:426 src/game/land/land.cpp:486
Behavior not confirmed · Research results
Source example onDmg_AddExplosion default very_tall cell 0.75 0 0 ; compact_b cell 0.75 0 0 ; very_tall cell 0.75 0 0 ; very_tall cell 0.75 0 0asien_unit/land/dom:8
See also: onhit_addexplosion
Stores the damage sounds for the four states.
ondmg_sound obj object_id sound0 ; sound1 ; sound2 ; sound3Parameters One sound reference per state, with its optional parameters. Class notes The reader uses onDamage instead of onHit. The exact trigger for damage or a state change remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:424 src/game/land/land.cpp:486
Behavior not confirmed · Research results
Source example onDmg_Sound default building_light 0.5 ; building_light 0.5 ; building 0.5 ; building 0.5asien_unit/land/dom:2
See also: onhit_sound
Stores an additional impact effect for each state.
onhit_addexplosion obj object_id effect0 ; effect1 ; effect2 ; effect3Parameters Each group: name|none [one|cell [fraction [minimum [maximum]]]]. Class notes The reader stores one as 1 and cell as 2. It converts the fraction to units of 256, capped at 255. Bounds use one byte. The exact area behavior remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:426 src/game/land/land.cpp:484
Behavior not confirmed · Research results
Source example onHit_AddExplosion default compact_b cell 0.75 0 0 ; none one 0 0 0 ; none one 0 0 0 ; smoke cell 0.75 0 0asien_unit/land/dom:9
See also: explosiontype
Stores the impact sounds for the four states.
onhit_sound obj object_id sound0 ; sound1 ; sound2 ; sound3Parameters One sound reference per state. A reference can have parameters before the semicolon. Class notes The semicolon ends the sound reference. It is not a comment. The exact gameplay trigger remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land.cpp:424 src/game/land/land.cpp:484
Behavior not confirmed · Research results
Source example onHit_Sound default building_light 0.5 ; building_light 0.5 ; building 0.5 ; building 0.5asien_unit/land/dom:1
See also: ondmg_sound
Stores the protection table of the building type.
protection obj object_id damage_type front1 front2 side1 side2 rear1 rear2Parameters The shared reader expects a damage type and three pairs. Fusion files often supply one pair. Class notes This table differs from armor. Missing numbers are zero. Its exact effect on damage to occupants remains unknown in the building health code. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:261 src/game/desc/misc.cpp:84 src/game/core/text/tokenizer.cpp:77
Related table or registry: lang2/hitsnames
Behavior not confirmed · Research results
Source example PROTECTION default ABJECTIVE 20 20ete_unit/LAND/dom:35
See also: protection (UNITS)
Stores the name intended for ruins.
ruinedname obj object_id textParameters One text. Use quotes to keep multiple words together. Class notes The reader copies the text without a $ lookup in desc.lng. The display condition remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:276
Behavior not confirmed · Research results
Source example RuinedName default Ruinasien_unit/land/dom:20
See also: name
Selects the selection type of the building.
seltype obj object_id selection_typeParameters One identifier from lang2/selunittypes, for example house or bunker. Class notes This type differs from the numeric class in dom.res and targettype in the UNITS sheet. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Observed spellings SelType, seltypeEngine reader
src/game/land/land_dom.cpp:269
Related table or registry: lang2/selunittypes
Source example SelType default houseasien_unit/land/dom:12
See also: seltype (UNITS)
Stores the interval named TimeQuantum.
timequantum obj object_id valueParameters One integer after the selector. Class notes The reader does not convert the value. Its use and unit remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:274
Behavior not confirmed · Research results
Source example TimeQuantum default 50asien_unit/land/dom:21
Stores the delay named TransferDelay.
transferdelay obj object_id valueParameters One integer after the selector. Class notes The affected transfers and delay unit remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:281
Behavior not confirmed · Research results
Source example TransferDelay default 10asien_unit/land/dom:18
Stores the delay named UnloadDelay.
unloaddelay obj object_id valueParameters One integer after the selector. Class notes The delay unit and exit rate remain unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, land2_unit, land_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:259
Behavior not confirmed · Research results
Source example UnloadDelay default 10asien_unit/land/dom:14
Stores the health threshold named UnloadHP.
unloadhp obj object_id valueParameters One integer after the selector. Class notes Its relation to a forced exit remains unknown. Confirmed readers Dom::ParseType Observed archives asien_unit, beach_unit_s1, ete_unit, europe2_unit, europe_unit, falaises_unit, france_unit, franz_unit, land2_unit, land_unit, mount_unit, russ1_unit, russ2_unit, sommer_unit, sommer_unit_s1, stadt_unit, sud_unit, winter_unit, winter_unit_s1, winter_xmas, wuste_unit, wuste_unit_s1 Engine reader
src/game/land/land_dom.cpp:259
Behavior not confirmed · Research results
Source example UnloadHP default 250asien_unit/land/dom:13
See also: hp