The source used as reference for this page is at

Unit stats

UnitCostBuildtimeHitpointsRangeDamageRearmDPSSpeedTurnMovement type
Combat Tank300642004258031.25251Tracked
Missile Tank4507210092x75120125.00301Tracked
Raider Trike150408032x55020.00602Wheeled
Siege Tank6009630052x309066.67201Tracked
Sonic Tank600104110860 base damage80?301Tracked
Trooper10056452 (bullets)
5 (rockets)
5 (bullets)
4 (rockets)
5010.00 (bullets)
8.00 (rockets)
Troopers200561102 (bullets)
5 (rockets)
2x5 (bullets)
2x4 (rockets)
5020.00 (bullets)
16.00 (rockets)
Source: src/table/unitinfo.c
Source for Troopers and Ornithopters: src/script/unit.c, line 628 and 658
Entering structures:
Source: src/unit.c, line 2230
Sonic Tanks:
Source: src/unit.c, line 1360

Building stats

BuildingCostBuildtimeHitpointsPower usageSizeRequirements First Mission
Construction YardN/AN/A40002x2N/ANever
4 Slabs20162002x2None4
(Radar) Outpost40080500302x2Windtrap2
Spice Silo1504815052x2Windtrap, Refinery2
Light Factory40096350202x2Windtrap, Refinery2[1]
Starport500120500503x3Windtrap, Refinery6
House of Ix500120400402x2Windtrap, Refinery, Starport7
Wall50405001x1Windtrap, Outpost4
Turret12564200101x1Windtrap, Outpost5
Rocket Turret25096200251x1Windtrap, Outpost6
Barracks30072300102x2Windtrap, Outpost2
WOR400104400202x2Windtrap, Outpost, Barracks[2]5[3]
Heavy Factory600144200353x2Windtrap, Outpost, Light Factory4
Hi-Tech500120400353x2Windtrap, Outpost, Light Factory5
Repair Facility70080200203x2Windtrap, Outpost, Light Factory5
Source: src/table/structureinfo.c
[1]: Available in mission 3 by house Harkonnen.
[2]: Barracks not needed by house Harkonnen.
[3]: Available in mission 2 by house Harkonnen.
Source: src/structure.c, line 1895
Source: src/script/structure.c, function Script_Structure_Fire.
Open questions:

House stats

HouseMental weaknessTank degrade chanceBuilding degrade amountSpecial tankPalace weaponPalace recharge time
Atreides77/256 (30%)0/256 (0%)1Sonic TankFremen (Small group of Troopers)300 seconds
Ordos128/256 (50%)10/256 (4%)2DeviatorSaboteur (Utterly useless in some versions)300 seconds
Harkonnen200/256 (78%)85/256 (33%)3DevastatorDeath Hand (Missile)600 seconds
Sardaukar10/256(4%)0/256 (0%)1N/ADeath Hand (Missile)600 seconds

Mission Credits

Regardless of which house you are fighting with, there are 9 missions to complete. Each begin with a preset amount of credits.

Degrade behavior

Weather wear

All structures degrade (lose hitpoints over time due to wear), regardless if they were built on concrete or not. This is possibly an oversight, because the mentats in game say otherwise. Additionally, different Houses suffer different amounts of weather wear per unit of time. See table above.
Buildings will only degrade down to half health. Weather wear does not occur in the first two missions.

Power outage wear

When more power is required than is produced, all structures (excluding slabs and walls, but including Construction yards even though they have 0 power usage) lose hitpoints per units of time. The amount lost is always 1.
The wear stops when reaching the same percentage as the power deficit. For example, if total power output is 150 and total power usage is 200, buildings will degrade to 150/200=75% health.
As with weather wear, buildings will not degrade below half health regardless of how low power is.
Source: src/structure.c, function Structure_CalculateHitpointsMax

Unit wear

Tanks (all tracked units except Harvesters) can also have a degrade flag. The likelihood that the flag will be set when creating a tank varies per House.
Every time the unit completes a move command, there is a 25% chance it will receive 1 point of damage. This deterioration does not stop at half health.
Source: src/unit.c, line 440 and 1458

Health behavior

Power output

Between 50% and 100% health, the Windtrap will deliver power proportionally to its health. Unlike what the GUI says however, the Windtrap will never deliver less than 50 power, not even when it is below 50% health.
Source: src/house.c, line 509

Spice unload speed

The spice unload from the harvester to the refinery is affected by the refinery's health, but not the harvester's.
1, 2 or 3 spice percentage points can be unloaded every 6 gametics, with each spice percentage point being worth 7 credits. The formula for how many spice percentage points to unload is as follows:
uint16 harvesterStep = (s->o.hitpoints * 256 / si->o.hitpoints) * 3 / 256;
if (u->amount != 0 && harvesterStep < 1) harvesterStep = 1;
The formula only returns 3 when Refinery is at full health (450). It returns 2 above two thirds health (300). Below that it returns 1.
Source: src/script/structure.c, line 125, function Script_Structure_RefineSpice

Build speed

The build speed is directly proportional to the health of the building. That is, 39% health means 39% build speed. This applies to Construction yards and all unit producing buildings.
Source: src/structure.c, line 174
(The Repair facility does not have the factory flag set and does not enter this block, even though there seems to be code to handle it.)

Unit repair speed and cost

Unit repair speed is also proportional to the health of the Repair facility. However, the unit repair cost is not lowered (as building cost is for Construction yards and factories), so repairing a unit at low Repair facility health is not only slower, it is also more expensive.
Source: src/structure.c, line 272

Unit move and attack speed

All units which can fire twice (2x in the table above) only do so when above half health, otherwise they fire once.
All units, except those with Winged movement type, move 25% slower when under half health.
Source: src/unit.c, line 1103

Other functions

The speeds of Palace recharge, Building self repair, and Factory upgrades are not affected by building health.
Source: src/structure.c, lines 105, 125, 145
Passive buildings, such as Outposts, House of Ix, and Silos are not affected by health and can be built without concrete to save time and money.
Open question:


The Starport is highly useful, since it


Prices in Starport are random, following the formula:
credits = (credits / 10) * 4 + (credits / 10) * (Tools_RandomLCG_Range(0, 6) + Tools_RandomLCG_Range(0, 6) );
return min(credits, 999);
Tools_RandomLCG_Range returns a random integer. This means that a starport price can be between 40% and 160% of the normal price. For example, a harvester which normally costs 300 can cost between 120 and 480, in steps of 30, but the lowest and highest prices are less likely.
Source: src/gui/gui.c - function GUI_FactoryWindow_CalculateStarportPrice
Open questions:


Every 1800 gametics, the Starport increases the available quantity of a random unit by 1. If the unit is not available in the Starport, the quantity is lost. If the unit is already at max quantity (9) the quantity is lost. The available quantities seem to increase regardless of whether you currently have a Starport or not.
Source: src/house.c, line 89 and 101
The available units and their starting quantities in the Starport are defined per scenario, in the file scenario.pak, under the tag [CHOAM]. They are the same for all houses.
Mission 6 Mission 7 Mission 8 Mission 9
Trike 5 5 5 5
Quad 5 5 5 5
Combat Tank 4 5 5 6
Missile Tank 3 4 4 5
Siege Tank 3 4 6
Harvester 2 2 2 4
MCV 2 2 2 2
Carry-All 2 2 2 2
A definition for Ornithopters is also included, but due to a spelling mistake, it is not read by the game.
Source, src/scenario.c, function Scenario_Load_Choam

Reduced attack damage

Basically all attacks (except sonic blasts) do their damage via an explosion. The damage is shifted right (halved and rounded down) for every distance unit between the explosion and the unit taking damage. For example, the Quad deals 7/2 = 3.5 -> 3 damage when slightly missing.
By having the unit in motion while it is being attacked, damage can be significantly reduced, to 50% or even 25%.
At higher game speeds, projectiles from bullet attacks move too fast and sometimes pass the center of the intended target before detonating, even when both attacker and target are stationary. This depends on the position of the attacker relative to the target (T). This chart shows if full or half damage is dealt, and applies to all attackers with bullet weapons: Soldiers, Troopers at close range, Trikes, Quads, Combat Tanks, Siege Tanks and Devastators.
-5 -4 -3 -2 -1 0 1 2 3 4 5
-5 1
-4 ½ 1 1 1 ½
-3 ½ ½ 1 1 1 ½ ½
-2 ½ ½ ½ 1 1 1 ½ ½ ½
-1 ½ 1 ½ 1 1 1 ½ 1 ½
0 ½ ½ ½ ½ ½ T ½ ½ ½ ½ ½
1 ½ ½ ½ ½ 1 ½ ½ ½ ½
2 ½ ½ ½ ½ 1 ½ ½ ½ ½
3 1 ½ ½ 1 ½ ½ 1
4 ½ ½ 1 ½ ½
5 1
As you can see, the chart is symmetric east/west, but not north/south, and favors an attacker from the north.
Source: scr/map.c, function Map_MakeExplosion
Open questions:

Exploitable game bugs




Expand/Collapse collapse-content-_a58092ff634a443cbae9280a3c79ddce

GameResources/DOS/Dune2 last edited by adelikat on 1/2/2022 8:16 PM
Page History Latest diff List referrers View Source