First off, some important remarks:
- The map range is an integer value; it's the number of sectors that the respective color-bordered area on the map screen extends in left, right, top and bottom directions.
- All listed values are stored as signed 4-bit integers.
- Only propulsion tech levels 1-11 can have custom range values. Higher tech levels are treated like tech level 11.
- The map range for each tech level is displayed in the tech field database (F4 screen). Any modifications will also show up there. BUT the range is always off by one tech level. So the values for tech level 1 will be listed at "Propulsion 0", the values for tech level 2 will be listed at "Propulsion 1", and so on.
- the controlling empire,
- its propulsion tech level,
- the ship's range class (short, medium or long).
- the base value (there is one for each empire/range class combination; 5*3=15 values in total)
- the propulsion tech bonus (there are 11 for each empire/range class combination; 11*5*3=165 values in total)
For any given empire/tech combination, "short" cannot outrange "medium", and "medium" cannot outrange "long".
If you change the values so that a lower range class has a higher value than a higher range class, then both range perimeters will be the same on the map (it will be the lower value, i.e. the value of the higher range class), AND the perimeter shape will become more and more squarish, depending on how much higher the value for the lower range class is.
Base value offsets in trek.exe:
Code: Select all
Card. 0x18E62C Fedr. 0x18E638 Ferg. 0x18E644 Klng. 0x18E650 Roml. 0x18E65C
Bonus value offsets in trek.exe:
Code: Select all
Card. 0x18E880 Fedr. 0x18E904 Ferg. 0x18E988 Klng. 0x18EA0C Roml. 0x18EA90
(12 bytes per tech block: first short, then medium, then long range)
Important note by ketteringdave:
ketteringdave wrote:In particular, changing position 18E8D4 from 01 to 02 finally fixes the Cardassian range "bug" at level 7, where they would actually lose short range for a tech level.