Skip to content

Orbits Mechanics

MMZTimeLord edited this page Mar 4, 2021 · 2 revisions

Generalities

The orbits in vanilla are hardcoded and it's and array of float. When the base game generates a system it takes an orbit in the list, adds a bit of variation and bam! You have an orbit.

With this mod you have the possibility of customizing this array, one array for the planets orbits and one for the moons orbits.

How to modify it ?

There are 6 parameters related to that part of the mod in the config file :

UseCustomOrbitRadiusArrayPlanets (boolean): True (enabled) / False (disabled)

UseCustomOrbitRadiusArrayMoons (boolean): True (enabled) / False (disabled)

CustomOrbitRadiusArrayPlanets (array): Chain of numbers. Comma delimited.

Example: CustomOrbitRadiusArrayPlanets = 0,0.3,0.7,1.1,1.5,1.9,2.3,3.5,5.3,7.7,10.8,14.7,19.5,25.3,32.2,40.3,49.7,60.5

Each number can be an integer or a float separated by a ","

This example will translate as follows:

  • orbit of the star : 0
  • orbit 1 : 0.3 UA
  • orbit 2 : 0.7 UA
  • orbit 3 : 1.1 UA
  • orbit 4 : 1.5 UA
  • etc ...

The first number MUST ALWAYS be 0 in the Planet Orbit Radius Array. This is the Star's position.

OrbitRadiusArrayPlanetNb (integer): Number of orbits for planets in the array CustomOrbitRadiusArrayPlanets (minus the 0).

On the previous example it should be 17 ( 18 minus orbit 0 )

CustomOrbitRadiusArrayMoons (array): Chain of numbers. Comma delimited.

This is similar to CustomOrbitRadiusArrayPlanets BUT do not start at 0.

Default value: 0.048125,0.06015625,0.0751953125,0.09399414063,0.1174926758,0.1468658447, . . . (check the file for the full value)

OrbitRadiusArrayMoonsNb (integer): Number of orbits for OrbitRadiusArrayMoons

DO NOT subtract the first orbit. It does not start with zero.

Notes :

The values in the orbitsArrays are base values. Each star has an orbitScaler that is applied to the orbits before generating the planet. Some big stars will have wayyy larger orbits than what you put in the array.

Same goes for the moons. The mod, if the size module is enabled, will do exactly the same depending of the size of the Gas Giant to avoid issues, such as having moons inside the Gas Giant.

jumpOrbitMoonMax & jumpOrbitPlanetMax: These jump the orbits in the array, up to the maximum limit.

If too many planets are specified, you will need more orbits in the array.