Planetary "systems"
Posted: Sat Dec 08, 2007 12:25 pm
Ok guys, here it is: a quite basic, completely minimalistic but working example of planetary "systems".
To get it to work, however, certain changes must be made to Transcendence.xml, apart from downloading and putting this .xml to Extensions folder.
First, every SystemType which contains planets with their own subsystems, must have a <Marker objName="PlanetEntry"/> added immediatelly after the definition of the star. In my example, I turned Morgana into a planet with a subsystem. So I added the above marker right here
Next, we need to add the planetary <SystemType> and the corresponding <Node> inside <SystemTypes> and <StarSystemTopology>, respectively (sadly, I can't do it inside an Extension - except if I c&p the entire <SystemTypes> and <StarSystemTopology> ... ). We also need to add UNIDs for those new entities.
So, to the doctype section we need to add:
Inside the <SystemTypes> we need the following quite minimal planetary "system":
And inside <StarSystemTopology>, we need the following node definition:
It refuses a node which isn't 'connected' somehow to the topology of nodes. So we also need to add <StarGate Name="OutboundPlanet" DestID="SEM" DestGate="Inbound"/> inside the <StarGates> list of Starton Eridani node definition. It doesn't matter that no such stargate exists either in Eridani system or Morgana system; it appears the game just requires those nodes to be connected this way, regardless of the actual stargate stations.
Oh yes, of course, we also need to replace the actual Morgana planet definition inside the Eridani systemtype definition, with our altered planet definition which supports docks and gating inside the Morgana "system":
Now if you are lazy to make all these changes I'm going to attach the altered Transcendence.xml with all the neccessary alterations but otherwise unchanged (no other fancy mods etc, just those changes to support Morgana planetary system).
How does it work? It allows you to 'dock' with Morgana planet (easy to make other planets do the same) which then provides an option to 'Enter' planetary orbit, which transports you to the Morgana 'system'. Right now I didn't put anything cool in that system, except the planet itself in the center, and a dummy station far away from it, which draws an 'orbit' designating the distance where the game will automatically transport you back to the Eridani system (as in 'leaving the orbit'). This is done with a recurring event that checks the distance of your ship from the center, every 1 second; and if the distance is greater than the orbit distance, it transports you back. Alternatively, you can dock with the planet in the center of the "system" and use 'Exit orbit' option. Of course, in some real example the entire system would be filled with defensive turrets, fleets of pirate ships and whatnot. I'm going to work on it myself now but I just wanted to share this already with you guys.
Let me know what you think of this. Here it is:
http://rapidshare.com/files/75133103/planets.zip.html
To get it to work, however, certain changes must be made to Transcendence.xml, apart from downloading and putting this .xml to Extensions folder.
First, every SystemType which contains planets with their own subsystems, must have a <Marker objName="PlanetEntry"/> added immediatelly after the definition of the star. In my example, I turned Morgana into a planet with a subsystem. So I added the above marker right here
Code: Select all
<Station type="&stG-TypeStar;" name="Epsilon Eridani"/>
<Marker objName="PlanetEntry"/> <!-- add marker here -->
So, to the doctype section we need to add:
Code: Select all
<!ENTITY stCrateredPlanetO "0xD10A03A1">
<!ENTITY stCrateredPlanetI "0xD10A03C1">
<!ENTITY stExitDummy "0xD10A03C2">
<!ENTITY ssCrateredPlanetSys "0xD10A03E1">
Code: Select all
<SystemType UNID="&ssCrateredPlanetSys;">
<SystemGroup>
<!-- Planet -->
<Station type="&stCrateredPlanetI;" name="Morgana"/>
<Orbitals count="8" distance="600" scale="light-second" angle="equidistant">
<Marker objName="Start1"/>
<Marker objName="Start2"/>
<Marker objName="Start3"/>
<Marker objName="Start4"/>
<Marker objName="Start5"/>
<Marker objName="Start6"/>
<Marker objName="Start7"/>
<Marker objName="Start8"/>
</Orbitals>
<Orbitals distance="900" scale="light-second" angle="random">
<Group>
<Station type="&stExitDummy;" showOrbit="true"/>
</Group>
</Orbitals>
</SystemGroup>
</SystemType>
Code: Select all
<Node ID="SEM">
<System name="Morgana" level="2">
<System UNID="&ssCrateredPlanetSys;"/>
</System>
<StarGates>
<StarGate Name="Inbound" DestID="SE" DestGate="OutboundPlanet"/>
</StarGates>
</Node>
Oh yes, of course, we also need to replace the actual Morgana planet definition inside the Eridani systemtype definition, with our altered planet definition which supports docks and gating inside the Morgana "system":
Code: Select all
<Station type="&stCrateredPlanet;" name="Morgana"/>
|
v
<Station type="&stCrateredPlanetO;" name="Morgana"/>
How does it work? It allows you to 'dock' with Morgana planet (easy to make other planets do the same) which then provides an option to 'Enter' planetary orbit, which transports you to the Morgana 'system'. Right now I didn't put anything cool in that system, except the planet itself in the center, and a dummy station far away from it, which draws an 'orbit' designating the distance where the game will automatically transport you back to the Eridani system (as in 'leaving the orbit'). This is done with a recurring event that checks the distance of your ship from the center, every 1 second; and if the distance is greater than the orbit distance, it transports you back. Alternatively, you can dock with the planet in the center of the "system" and use 'Exit orbit' option. Of course, in some real example the entire system would be filled with defensive turrets, fleets of pirate ships and whatnot. I'm going to work on it myself now but I just wanted to share this already with you guys.
Let me know what you think of this. Here it is:
http://rapidshare.com/files/75133103/planets.zip.html