I'd like to emphasize what Ahruman says: the role "station" is never used to spawn an entity, so it doesn't need a probability factor in the first place.
All main stations are spawned through their "coriolis", "dodecahedron", or "icosahedron" roles, so if you want to somehow influence the mix, you have to use these three, and these three only as the spawning roles. So only these have to be weighed.
A further explanation for Jeff:
All ships/stations/asteroids/etc. in Oolite are spawned (= placed somewhere within a system) by one of their
roles. If there are several ships with the same role which is looked for, one of them is chosen randomly. In this case the
role-probability determines how likely it is for any one of them to be chosen. As you guessed, the default is 1, so it has only to be defined in shipdata.plist, if you want it to be something else than 1.
And it makes perfect sense to define
different probabilities for
different roles (just not for the role "station").
Example: You may have a ship with the
Code: Select all
"roles" = "trader(2) pirate(0.5) other-roles";
and another ship with the
Code: Select all
"roles" = "trader(0.5) pirate(5) other-roles";
What happens?
(1) In case the game wants to spawn a
trader ship A gets a higher probability to be chosen (double the default) and ship B a lower probability (half the default). So it is four times more likely for ship A to actually appear than for ship B.
(2) But in case the game wants to spawn a
pirate it is the other way round. This time ship A has a lower probability to be chosen (half the default), while ship B has a much higher probability (five times the default), thereby making it ten times more likely to see ship B than ship A in this role.
A good reason for this practise is that ship B is maybe an agressive fighter which you will see far more likely in the hands of a pirate than of a trader. Ship A may be a bulk hauler, which is impractical (but not impossible) to use as a pirate ship.
You see?
One question is left: Why would you want to give your ship a role-probability of 0 for any role? Many good reasons. One of it: You may not want this ship to be spawned by this role (it is going to be spawned by another of its roles), but nevertheless you may want to be able to search for it in a system via script, and one handy search method is the search by roles. For instance the Thargoid Carrier may have "thargoid(0)" among its roles. If the game engine randomly spawns Thargoid ships in interstellar space, I don't want the Carrier to be a possible candidate, because it gets spawned by its own script under certain conditions, and shall not appear otherwise. But if I want to know for my script how many thargoid ships are in a system at a specific point, I want also Carriers to be counted. So I search for a shipsHavingRole("thargoid"). Even if it has a probability of 0, "thargoid" goes into the roleset of the ship, so it can correctly be found by searching for "thargoid".
And the reason for values like 0.0001 or 0.00000001 is that formerly the game engine didn't like the value of 0. This has changed since Oolite version I-don't-remember, therefore all ridiculously low values are relics of a time when 0 wasn't yet a legal value. They could and should be simply replaced with 0 in new versions of old OXPs.