PDATAx.DIS - Old Planet Data [V]
This file contains all your planets, and all unowned planets you are orbiting (those for which you can request a mineral survey).
Up to Host 3.14, you were getting PDATA records also for planets owned by enemies. This is problematic because they contain the friendly code, which current client programs, including recent Winplans, will happily display. Stealing minerals, sailing minefields -- it never was easier :)
Up to PHost 3.4c, PHost was zeroing the fields Colonists, Supplies, Money, Mines, Factories, Defense, Colonist Tax, and Native Tax when you were scanning an unowned planet. Thus, the value zero actually means "don't know", not "zero".
+0 WORD Number of planets +2 n BYTEs Records of 85 bytes each +m 10 BYTEs PDATAx.DAT: Signature 2 -> GENx.DAT PDATAx.DIS: Signature 1
One Planet record: +0 WORD Player Id, 0 for unowned planets +2 WORD Planet Id +4 3 BYTEs Friendly Code. THost permits ASCII codes 32 to 122. +7 WORD Number of mines (0..~516) +9 WORD Number of factories (0..~416) +11 WORD Number of defense posts (0..~366) The ranges are based upon the maximum population of 10 million colonists (100000 clans). The maximum number of mines on a planet is (COLON = colonist clans): COLON if COLON <= 200 ROUND(200+SQRT(COLON-200)) if COLON > 200 Replace 200 with 100 for factories, and 50 for defenses. When building structures, the client program must subtract the appropriate costs from the available resources (1 supply, and 4/3/10 mc for mines/factories/defenses). +13 DWORD Mined Neutronium +17 DWORD Mined Tritanium +21 DWORD Mined Duranium +25 DWORD Mined Molybdenum +29 DWORD Colonist clans (1 clan = 100 people). The THost limit is 100000 clans, the PHost limit is 250000 clans. +33 DWORD Supplies +37 DWORD Megacredits To sell supplies, remove the requested amount from the Supplies field and add it to the Megacredits field. +41 DWORD Neutronium in ground +45 DWORD Tritanium in ground +49 DWORD Duranium in ground +53 DWORD Molybdenum in ground >4999 abundant 1200..4999 very common 600..1199 common 100..599 rare 1..99 very rare 0 none +57 WORD Neutronium density +59 WORD Tritanium density +61 WORD Duranium density +63 WORD Molybdenum density 70..100 large masses "1 mine extracts 1 kt" 40..69 concentrated "2 mines extract 1 kt" 30..39 dispersed "3 mines extract 1 kt" 10..29 scattered "5 mines extract 1 kt" 0..9 very scattered "10 mines extract 1 kt" The figures on the right are from the docs, the actual amount of minerals extracted is - THost: ERnd(ERnd(mines * density / 100) * miningrate / 100) * RF - PHost < 3.5, 4.1: Trunc(Trunc(density * miningrate / 100) * RF * mines / 100) - PHost 3.5+, 4.1+: Round(Round(density * miningrate / 100) * RF * mines / 100) where "miningrate" is the HConfig value, and RF it the "reptile factor" (2 if Reptilian natives, 1 otherwise). +65 WORD Colonist taxes (0..100) +67 WORD Native taxes (0..100) Note that THost limits taxation: when hissing, the maximum tax rate is 75%. Cyborgs can tax natives up to 20%. +69 WORD Colonist happiness (-300..100) +71 WORD Native happiness (-300..100) 90..100 happy 70..89 calm 50..69 unhappy 40..49 very angry 20..39 rioting <20 fighting Tax collection possible for happiness>=30, population grows if >=70. +73 WORD Native Government (SPI = Socio Political Index) 0 none 0% 1 Anarchy 20% 2 Pre-Tribal 40% 3 Early-Tribal 60% 4 Tribal 80% 5 Feudal 100% 6 Monarchy 120% 7 Representative 140% 8 Participatory 160% 9 Unity 180% +75 DWORD Native clans (1 clan = 100 people). Maximum population somewhere around 150000 clans. +79 WORD Native Race 0 none 1 Humanoid 2 Bovinoid 3 Reptilian 4 Avian 5 Amorphous 6 Insectoid 7 Amphibian 8 Ghipsoldal 9 Siliconoid +81 WORD Temperature (Temperature in Fahrenheit = 100 - this value) 0..15 desert (85..100Ⰶ) 16..35 tropical (65..84Ⰶ) 36..60 warm (40..64Ⰶ) 61..85 cool (15..39Ⰶ) 86..100 arctic (0..14Ⰶ) In case you wonder why we store `100-F': originally, this was just a type code with no real-world equivalent. It was changed to mean a temperature with Host 3.20 and Winplan. +83 WORD 1=Build base, 0 otherwise. The client program must subtract the starbase cost (900mc, 402T, 120D, 340M; configurable in PHost 4.0k+) from the available resources when setting this word to 1.
The happiness change can be computed from the tax level and the other planet data. It corresponds to the value shown in PLANETS.EXE as follows:
<= -6 Hate you -5 .. -1 Are angry at you 0 Are undecided about you +1 .. +4 Like your leadership >= +5 Love you
Formulas are different for PHost and THost.
- Natives, THost: Trunc(500 + 50*SPI - 85*NativeTax - (Mines+Factories) DIV 2 - Sqrt(Natives)) DIV 100 ... plus 10 for Avians
- Natives, PHost: Trunc(500 + 50*SPI - 85*NativeTax - (Mines+Factories) / 2 - Sqrt(Natives)) DIV 100 ... plus 10 for Avians (Note that the difference PHost/THost here is that THost uses integer division for industry effect while PHost does floating point).
- Colonists, THost, Crystals with desert advantage: Trunc(1000 - 80*ColonistTax - Sqrt(ColonistClans) - (Mines+Factories) DIV 3 - 3*TempCode) DIV 100
- Colonists, THost, other races: Trunc(1000 - 80*ColonistTax - Sqrt(ColonistClans) - (Mines+Factories) DIV 3 - 3*Abs(TempCode-50)) DIV 100
- Colonists, PHost, Crystals with desert advantage: Trunc(1000 - 80*ColonistTax - Sqrt(ColonistClans) - (Mines+Factories) / 3 - TempCode/0.66) DIV 100
- Colonists, PHost, other races: Trunc(1000 - 80*ColonistTax - Sqrt(ColonistClans) - (Mines+Factories) / 3 - Abs(TempCode-50)/0.33) DIV 100 (Difference, again, is integer vs. floating point, and different handling of temperatures).