All of this information is based on v1.0.2.8.
In my quest, I have discovered that the documentation in ShipHullList.xsd does not match the XML in ShipHulls.xml.
Specifically, the tag supplied for WeaponBayFiringArc never appears in ShipHulls.xml. (See the first line in the first code block below and the next to last line in the second code block below.)
Code: Select all
<xs:complexType name="WeaponBayFiringArc">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="Forward" type="Vector3" />
<xs:element minOccurs="1" maxOccurs="1" name="Up" type="Vector3" />
<xs:element minOccurs="1" maxOccurs="1" name="Right" type="Vector3" />
<xs:element minOccurs="1" maxOccurs="1" name="RotationHalfArcRange" type="xs:float" />
<xs:element minOccurs="1" maxOccurs="1" name="RotationHalfArcRangeCosine" type="xs:float" />
<xs:element minOccurs="1" maxOccurs="1" name="HeadingUnitSize" type="xs:float" />
<xs:element minOccurs="1" maxOccurs="1" name="ElevationUnitSize" type="xs:float" />
<xs:element minOccurs="0" maxOccurs="1" name="HeadingElevations" type="xs:base64Binary" />
<xs:element minOccurs="1" maxOccurs="1" name="HeadingCount" type="xs:unsignedByte" />
<xs:element minOccurs="1" maxOccurs="1" name="ElevationCount" type="xs:unsignedByte" />
</xs:sequence>
Code: Select all
<xs:complexType name="ComponentBay">
<xs:sequence>
<xs:element minOccurs="1" maxOccurs="1" name="ComponentBayId" type="xs:unsignedByte" />
<xs:element minOccurs="1" maxOccurs="1" name="Type" type="ComponentBayType" />
<xs:element minOccurs="1" maxOccurs="1" name="MaximumComponentSize" type="xs:int" />
<xs:element minOccurs="0" maxOccurs="1" name="MeshName" type="xs:string" />
<xs:element minOccurs="1" maxOccurs="1" name="RotationHalfArcRange" type="xs:float" />
<xs:element minOccurs="1" maxOccurs="1" name="DisplayEffectRescaleFactor" type="Vector3" />
<xs:element minOccurs="1" maxOccurs="1" name="DisplayEffectOffset" type="Vector3" />
<xs:element minOccurs="0" maxOccurs="1" name="Meshes" type="ArrayOfMeshInfo" />
<xs:element minOccurs="0" maxOccurs="1" name="WeaponBayFiringArc" type="WeaponBayFiringArc" />
</xs:sequence>
To state what may be obvious to anyone interested in this post, here is what I have determined.
1). The RotationalHalfArcRange element in ComponentBay is one half of the firing arc in radians (rather than degrees). It does not say anything about the direction of the centerline of the firing arc.
2). Weapon component bays have their centerline pointed in one of eight directions. (0, 45, 90, 135, 180, 225, 270, 315).
3). So far in my data gathering (by hand), it appears that the definitions for each hardpoint designation (i.e. #weapon0, #weapon1, etc.) are consistent within each role with the exception of Troop Transports (which are having some changes made that may confirm this). As an example, The Heavy Battleship has 17 hardpoints. The Battleship has only 15, but the ones it has are configured exactly like the corresponding ones on the Heavy Battleship.
I have gathered the information about the centerline by hand so far (details below). I would really appreciate any input as to where this data might exist and how to extract it gracefully. The truth is once the 'balance' updates happen, it will remove any confidence in the hand gathered data and it will all have to be checked (again by hand.)
So here are my questions:
Question #1 : Has the WeaponBayFiringArc xml tag been deprecated or is this advance warning of a better way of doing things?
Question #2 : Does anyone know where I can find extractible firing arc information at this time?
As mentioned above, I have gathered some data on the centerline of the firing arcs of the weapon component bays. This is clearly a work in process but I am happy to share it at this time to demonstrate I have actually been working on this .
I gathered this information by:
1) Starting new game with my race set to the highest tech level
2) Going into ship design and 'creating' a new version of each ship hull.
3) visually observing the facing of each weapon hardpoint
4) logging that information in a spreadsheet.
I have designated the different directions as:
b - bow
p - port
s - starboard
a - aft
bp - bow port (45 degrees counterclockwise from the bow)
bs - bow starboard (45 degrees clockwise from the bow)
ap - aft port (45 degrees clockwise from the aft)
as - aft starboard (45 degrees counterclockwise from the aft)
In situations where the weapon was a 360 degree weapon, I have categorized the hardpoint according to what other ship hulls have that hardpoint categorized as. I did this because the 360 degree classification is, in fact, noted in the Ship Hull xml.
Not all ship hulls have data as I did not play further to unlock any ship hulls that were not available upon start at the highest tech level.
In this data, the Size is only listed when it was needed for me to go back and grab the correct ship hull id. This happened in the case of ship hulls with the exact same Role and Name. (Ex. there are three Small Space Ports.)
The numbers in the first (heading) row equate to the #weapon number. (Ex. 0 represents the #weapon0 hardpoint)
I have only gathered data on Human ships thus far. (I'm really hoping there is a better way to do this.)
While I have tried to be diligent, I must admit that there might be some mistakes. I would love to hear back on any issues - especially if there is not a graceful way to dig this information out of the game files.
I hope this is useful to someone.
Code: Select all
Race Role Ship Hull Ship Hull ID Size 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Human CapitalShip Battlecruiser 317 b bp bs p s p s p s ap as b b a
Human CapitalShip Battleship 324 b bp bs p s p s p s p s ap as b b a
Human CapitalShip Dreadnaught 337
Human CapitalShip Heavy Battleship 333 b bp bs p s p s p s p s p s ap as b b a
Human Carrier Carrier 325 b bp bs p s b b a
Human Carrier Fleet Carrier 338
Human Carrier Heavy Carrier 334 b bp bs p s b b a
Human Carrier Light Carrier 318 b p s b a
Human Colony Ship Large Colony Ship 160 b a
Human Colony Ship Massive Colony Ship 332 b a
Human Colony Ship Medium Colony Ship 150 b a
Human Colony Ship Small Colony Ship 128 b
Human Colony Ship World Ship 336 b a
Human Construction Ship Large Construction Ship 158 b a
Human Construction Ship Medium Construction Ship 140 b a
Human Construction Ship Small Construction Ship 117 b a
Human Cruiser Command Cruiser 321 b bp bs p s p s a b b
Human Cruiser Cruiser 322 b bp bs p s p s a b b
Human Cruiser Exploration Cruiser 326 b bp bs p s p s a b
Human Cruiser Fast Cruiser 319 b bp bs p s p s a b b
Human Cruiser Fleet Command Cruiser 328 b bp bs p s p s a b b
Human Cruiser Heavy Cruiser 329 b bp bs p s p s a b b
Human Cruiser Light Cruiser 154 b bp bs p s p s a b b
Human Cruiser Long Range Cruiser 320 b bp bs p s p s a b
Human Cruiser Patrol Cruiser 327 b bp bs p s p s a b b
Human Defensive Base Space Bastion 157 550 bp bs as ap p s bs as b a ap bp
Human Defensive Base Space Bastion 149 450 bp bs as ap bs as b a ap bp
Human Destroyer Destroyer 137 bp bs b b a
Human Destroyer Fast Destroyer 146 b b a
Human Destroyer Fleet Destroyer 147 bp bs b b a
Human Destroyer Heavy Destroyer 145 bp bs b b a
Human Escort Escort 114 b b
Human Escort Heavy Escort 123 b b
Human Escort Patrol Escort 124 b b
Human Exploration Ship Large Exploration Ship 159 b a
Human Exploration Ship Medium Exploration Ship 141 b a
Human Exploration Ship Small Exploration Ship 118 b a
Human FighterBomber Basic Bomber 162 b b
Human FighterBomber Heavy Bomber 393 b b
Human FighterBomber Light Bomber 164 b b
Human FighterBomber Medium Bomber 167 b b
Human FighterBomber Strike Bomber 392 b b
Human FighterInterceptor Advanced Interceptor 386 b b
Human FighterInterceptor Attack Fighter 168 b b
Human FighterInterceptor Basic Fighter 161 b
Human FighterInterceptor Gyrfalcon Interceptor 388 20 b b
Human FighterInterceptor Gyrfalcon Interceptor 389 22 b b
Human FighterInterceptor Gyrfalcon Interceptor 111 19 b b
Human FighterInterceptor Light Attack Fighter 165 b b
Human FighterInterceptor Light Interceptor 163 b b
Human FighterInterceptor Strike Fighter 387 b b
Human FighterInterceptor Superiority Fighter 390 b b
Human FighterInterceptor Superiority Fighter 391
Human FighterInterceptor Tactical Interceptor 166 b b
Human Frigate Fast Frigate 135 b bp bs
Human Frigate Fleet Frigate 136 b bp bs a
Human Frigate Frigate 125 b bp bs a
Human Frigate Heavy Frigate 134 b bp bs b a
Human Fuel Tanker Large Fuel Tanker 151 b p s
Human Fuel Tanker Medium Fuel Tanker 761 b a
Human Fuel Tanker Small Fuel Tanker 131 b a
Human Large Freighter Large Freighter 152 a
Human Large Spaceport Large Space Port 331 a s s b b p p a as bs bp ap a b a s b p
Human Medium Freighter Medium Freighter 143 a
Human Medium Spaceport Medium Space Port 156 750 bp ap as bs bs bp as ap p s p a s b a b
Human Medium Spaceport Medium Space Port 148 600 bp ap as bs bs bp as ap p s p a s b
Human Mining Ship Large Mining Ship 142 b a
Human Mining Ship Medium Mining Ship 129 b a
Human Mining Ship Small Mining Ship 119 b
Human Mining Station Large Mining Station 132 a p b s b
Human Mining Station Small Mining Station 121 a p b s b
Human Monitoring Station Monitoring Station 115 b a p s
Human Passenger Ship Large Passenger Ship 153 a
Human Passenger Ship Medium Passenger Ship 144 a
Human Passenger Ship Small Passenger Ship 130 a
Human Research Station Research Station 122 b a p s
Human Resort Base Resort Station 133 b a p s
Human Small Freighter Small Freighter 120 a
Human Small Spaceport Small Space Port 139 450 bp bs as ap p s bs as b a ap bp
Human Small Spaceport Small Space Port 127 375 bp bs as ap p s bs as b a
Human Small Spaceport Small Space Port 116 250 bp bs as ap p s bs as b a
Human Troop Transport Army Transport 335 b b a p s
Human Troop Transport Expedition Transport 330 b b a p s
Human Troop Transport Large Troop Transport 155 p
Human Troop Transport Massive Troop Transport 323 b a p s
Human Troop Transport Medium Troop Transport 138 p
Human Troop Transport Small Troop Transport 126 p s