List of unit statistics?
Solution 1:
"Shield" – hitpoints, "range" – weapon range, "arms" – weapon damage.
Also, is it correct that there's no attack type in Dune 2, i.e. all units do the same damage (armor notwithstanding) to each other, based solely on their attack power?
Yes, there is no damage type.
Armor (and how it works)
There is no armor in Dune 2.
Solution 2:
These are stats taken from the PC version of Dune, EU v1.07, by parsing the output of Dune II Editor.
+--------------+------+-----+------+-----+-----+-------+-------+-----+-----+-----+-----+
| Name | HP | Sgt | Cost | B/T | F/2 | Inacc | Speed | T/S | RoF | Rng | Dmg |
+--------------+------+-----+------+-----+-----+-------+-------+-----+-----+-----+-----+
| Carryall | 100 | 0 | 800 | 64 | No | No | 200 | 3 | 0 | 0 | 0 |
| 'Thopter | 25 | 5 | 600 | 96 | Yes | No | 150 | 2 | 50 | 50 | 50 |
| Infantry | 50 | 1 | 100 | 32 | Yes | No | 5 | 3 | 45 | 2 | 3 |
| Troopers | 110 | 1 | 200 | 56 | Yes | No | 10 | 3 | 50 | 5 | 5 |
| Soldier | 20 | 1 | 60 | 32 | No | No | 8 | 3 | 45 | 2 | 3 |
| Trooper | 45 | 1 | 100 | 56 | No | No | 15 | 3 | 50 | 5 | 5 |
| Saboteur | 10 | 1 | 120 | 48 | No | No | 40 | 3 | 45 | 2 | 2 |
| Launcher | 100 | 5 | 450 | 72 | Yes | No | 30 | 1 | 120 | 9 | 75 |
| Deviator | 120 | 5 | 750 | 80 | No | No | 30 | 1 | 180 | 7 | 0 |
| Tank | 200 | 3 | 300 | 64 | No | No | 25 | 1 | 80 | 4 | 25 |
| Siege Tank | 300 | 4 | 600 | 96 | Yes | No | 20 | 1 | 90 | 5 | 30 |
| Devastator | 400 | 4 | 800 | 104 | Yes | No | 10 | 1 | 100 | 5 | 40 |
| Sonic Tank | 110 | 4 | 600 | 104 | No | No | 30 | 1 | 80 | 8 | 60 |
| Trike | 100 | 2 | 150 | 40 | Yes | No | 45 | 2 | 50 | 3 | 5 |
| Raider Trike | 80 | 2 | 150 | 40 | Yes | No | 60 | 2 | 50 | 3 | 5 |
| Quad | 130 | 2 | 200 | 48 | Yes | No | 40 | 2 | 50 | 3 | 7 |
| Harvester | 150 | 2 | 300 | 64 | No | No | 20 | 1 | 0 | 0 | 0 |
| MCV | 150 | 2 | 900 | 80 | No | No | 20 | 1 | 0 | 0 | 0 |
| Death Hand | 70 | 0 | 0 | 0 | No | No | 250 | 2 | 0 | 15 | 100 |
| Rocket | 70 | 0 | 0 | 0 | No | Yes | 200 | 2 | 0 | 8 | 75 |
| ARocket | 70 | 0 | 0 | 0 | No | No | 160 | 8 | 0 | 60 | 75 |
| GRocket | 70 | 0 | 0 | 0 | No | Yes | 200 | 2 | 0 | 7 | 75 |
| MiniRocket | 70 | 0 | 0 | 0 | No | No | 180 | 5 | 0 | 3 | 0 |
| Bullet | 1 | 0 | 0 | 0 | No | No | 250 | 0 | 0 | 0 | 0 |
| Sonic Blast | 1 | 0 | 0 | 0 | No | No | 200 | 0 | 0 | 10 | 25 |
| Sandworm | 1000 | 0 | 0 | 0 | No | No | 35 | 3 | 20 | 0 | 300 |
+--------------+------+-----+------+-----+-----+-------+-------+-----+-----+-----+-----+
I've abbreviated column headers to keep the table smaller:
- Sgt = sight range
- B/T = build time
- F/2 = fires twice?
- Inacc = is inaccurate?
- T/S = turn speed
- RoF = rate of fire
- Rng = range
- Dmg = damage