Planetinfo.plist

From Elite Wiki
Revision as of 10:07, 24 July 2009 by Kaks (talk | contribs) (Script Actions)

planetinfo.plist in 'AddOns/Config' contains a dictionary for each of systems for which you wish to set custom data. A list of all galaxies and planets can be found here.

Universal settings

Some options can be applied to the entire universe, such as ambient lighting levels, eg.

<key>universal</key>
<dict>
...
</dict>

Universal options can be overriden by specifying the same option for a specific system or location in interstellar space. Obviously, not all options make sense to apply to the whole universe.

System settings

Each system is keyed by a string consisting of the galaxy number (0..7) followed by a space and then the planet number (0..255), eg.

<key>0 7</key>
<dict>
...
</dict>

specifies system 7, in galaxy 0, Lave.

Interstellar settings

You can also specify a position in interstellar space, eg.

<key>interstellar: 0 7 129</key>
<dict>
...
</dict>

specifies the space in galaxy 0 between systems 7 and 129, Lave and Zaonce.

Conditions for interstellar space in general can be set with the “interstellar space” key (Oolite 1.69 and earlier, ignored in earlier versions).

Each of the following properties can be set (but, notably, not the location of the main planet, which is hard coded into the system seed value):

Government

0: Anarchy

1: Feudal

2: Multi-Governmental

3: Dictatorship

4: Communist

5: Confederacy

6: Democracy

7: Corporate State


Economy

0: Rich Industrial

1: Average Industrial

2: Poor Industrial

3: Mainly Industrial

4: Mainly Agricultural

5: Rich Agricultural

6: Average Agricultural

7: Poor Agricultural


Tech Level

An integer between 0 and 13 indicating the sophistication of the planets technology.


Example:

<key>techlevel</key>
<integer>13</integer> 


Population

An integer between 0 and 67 indicating the amount of inhabitants of a planet.


Example:

<key>population</key> 
<integer>23</integer> 


Productivity

An integer indicating the productivity of a planet.


Example:

<key>productivity</key> 
<integer>1000 </integer> 


Radius

An integer between 3000 and 7000 indicating the radius of a planet.


Example:

<key>radius</key> 
<integer>3000..7000 </integer> 


Name

The name of the planet.


Example:

<key>name</key> 
<string>The planet's name</string>

Warning: This name is only used at the "Short Range Chart" (F6) and the "Data Screen" (F7). On the "Long Range Screen" you still will see the old name. And also %I and %H will refer to the original name. e.g the docking computer and all kind of other stuff uses these codes with original names..

Inhabitant

The name for one of the inhabitants of the main planet. (Added in Oolite 1.73)


Example:

<key>inhabitant</key> 
<string>Green Platypus</string>

Inhabitants

The name of the inhabitants of the main planet.


Example:

<key>inhabitants</key> 
<string>Green Platypi</string>

Description

A short description of the planet.


Example:

<key>description</key> 
<string>Really, anything you want to say about the place!</string> 


Ambient lighting

(Oolite version >= 1.64) Sets how much ambient light (shed by stars and nebulae) illuminates the dark side of objects like planets and ships. Values should typically be between 0.0 and 1.0 (1.0 is the default) but can be higher for a flat lit, cartoon-like effect.

Example:

<key>ambient_level</key>
<real>0.0</real>


Atmosphere rotational velocity

Sets how fast the atmosphere is rotating. (A random value between 0.0 to 0.03 is the default).

Example:

<key>atmosphere_rotational_velocity</key>
<real>0.1</real>


Corona Flare

Sets the overall size of the corona in proportion to its sun. (Added in 1.73)

A number from 0.0 (invisibly small) to 1.0 (huge)

Example:

<key>corona_flare</key>
<real>0.075</real>
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Corona Hues

Specifies whether the corona should have visible bands of colours within the corona. (Added in 1.73)

A number from 0.0 (monochromatic) to 1.0 (vivid alternating colours).

Example:

<key>corona_hues</key>
<real>0.6</real>
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Corona Shimmer

Specifies how quickly the corona colours change. (Added in 1.73)

A number from 0.0 (very slow) to 1.0 (very fast).

Example:

<key>corona_shimmer</key>
<real>0.4</real>
N.B.

This feature is disabled by setting Reduced Detail:On in the game setting menu. Enabled by default (Reduced Detail:Off).

Land HSB Color

Example:

<key>land_hsb_color</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0</string> 


Percent Land

The percentage of the planet occupied by land.


Example:

<key>percent_land</key> 
<integer>0..100</integer>


Script Actions

Script_actions work exactly as in shipData.plist, and get activated by the player entering the specified system, or interstellar space.

Example

<key>script_actions</key>
<array>
    <string>addShipsAtPrecisely: my_ship 2 wpm 0 0 15000</string>
</array>

Sea HSB Color

Example:

<key>sea_hsb_color</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0</string> 


Sky RGB Colors

These are rgb values (from 0.0 to 1.0) for the two colours between which the colour of the stars (and nebulaesque blurs) vary, ordered r1 g1 b1 r2 g2 b2 where (r1 g1 b1) defines the first colour and (r2 g2 b2) the second.

Example:

<key>sky_rgb_colors</key> 
<string>0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0 0.0..1.0</string>

Alternatively, starting with Oolite 1.69, two colour specifiers may be used:

<key>sky_color_1</key>
<string>redColor</string>
<key>sky_color_2</key>
<dict>
    <key>hue</key>
    <real>60</real>
    <key>brightness</key>
    <real>0.8</real>
</dict>


Station

The type of station orbiting the planet.


Example:

<key>station</key> 
<string>coriolis..dodec..special</string> 


Station Roll

The speed at which the station rotates (as with all rotational velocities this is in radians per second).


Example:

<key>station_roll</key> 
<string>0.5</string>

Sky Blur Cluster Chance

This is used for creating nebulae (typically 0.85)


Example:

<key>sky_blur_cluster_chance</key> 
<real>0.85</real>

Sky Blur Alpha

Typically 0.1


Example:

<key>sky_blur_alpha</key> 
<real>0.0 .. 1.0</real>


Sky Blur Scale

Example:

<key>sky_blur_scale</key> 
<real>0.0 .. 128.0 or more</real>  

Sun Distance Modifier

Sets the approximate distance between a system sun and its main planet. The standard distance is 20 planetary radii. Setting it much lower (10, or even less) will cause delays when generating systems, as Oolite compensates for possible collisions between the sun and other system objects.

Example

<key>sun_distance_modifier</key> <real>15.0</real>

Sun Color

Sets the colour of a system's sun. (Added in Oolite 1.73)

Can be any colour specifier or named colour. Dark colours will be brightened.

<key>sun_color</key>
<integer>100000</integer>

Sun Radius

Sets the radius of a system's sun. (Added in Oolite 1.73)

<key>sun_radius</key>
<integer>100000</integer>

Texture

The replacement texture to be used by a system's main planet. (Added in Oolite 1.73)

Example:

<key>texture</key> 
<string>newPlanetTexture.png</string>
N.B.

This feature is disabled by setting Detailed Planets:Off in the game setting menu. Enabled by default (Detailed Planets:On) from Oolite 1.73 onwards.


Terraforming Example

For the planet Lave, you would use the key '0 7' (planet 7 in galaxy 0) Then you set the values. The following example sets Lave's sea to blue, land to green, and land to sea ratio to 75%.

Code:

 <?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
<dict> 
   <key>0 7</key> 
   <dict> 
      <key>percent_land</key> 
      <integer>75</integer> 
      <key>land_hsb_color</key> 
      <string>0.333 1.0 1.0</string> 
      <key>sea_hsb_color</key> 
      <string>0.667 1.0 1.0</string> 
   </dict> 
</dict> 
</plist>

If you press '!' on a long range chart, it'll dump the galaxy information to files in the same folder as Oolite. That'll give you a list of the planet numbers, and some other information about each planet for the given galaxy.

Then you can override any of the settings listed above, for example to change Zaatxe's (Galaxy 0 Planet 8) inhabitants into blue frogs you'd enter

Code:

    <key>0 8</key> 
   <dict> 
        <key>inhabitants</key> 
        <string>Blue Frogs</string> 
   </dict> 


You can use any or all of the keys in each of the entries. It's probably best to only use the key's you want to change. So, another example, to change the sky_blur_xxx settings for Zaonce (Galaxy 0 Planet 129) to big, heavily clustered, but pale blurs - you'd enter

Code:

    <key>0 129</key> 
   <dict> 
        <key>sky_blur_cluster_chance</key> 
        <real>0.9</real> 
        <key>sky_blur_alpha</key> 
        <real>0.1</real> 
        <key>sky_blur_scale</key> 
        <real>32.0</real> 
   </dict>

Custom Planet settings

Finally you can also add keys for your own custom planets and moons, eg.

<key>LavesPurpleMoon</key>
<dict>
...
</dict>

The contents of the <dict> could be: Orientation of the planet in space (seems not to be working correct)

<key>orientation</key>
<string>0.0 1.0 0.0 0.0</string>

Position of the planet in space. You can use 3 or 4 parameters. With only 3 parameters the internal absolute coordinates are used.

<key>position</key>
<string>0 -50000 0</string>

or

<key>position</key>
<string>pwm 0 -50000 0</string>

Radius of the planet in km. e.g. a value of 500 is drawn with a radius of 5000 meters but in player dialogues this value is presented as 500 km.

<key>radius</key>
<string>500</string>

Rotation of the planet in rotations per second.

<key>rotational_velocity</key>
<string>1</string>

The name of the texture file that is used to wrap around the surface.

<key>texture</key>
<string>grid.png</string>

Seed value used to set planet surface parameters. When no seed is defined it uses random values.

<key>seed</key>
<string>1 2 3 4 5 6</string>

A lot of the keys for the main planet, like: percent_land, can also used in custom planets.