Ship / Station ODF Breakdown


Path: Fleet Operations\Data\odf.fpq

ODF’s are any text-editable file that ends in the extension .odf. O.D.F. stands for Object Definition File.  This provides an adequate definition for all of the files contained within the ODF subfolder. These files have several uses, but their main purpose is to define the use of a ship, station, or weapon. In this section, several of these files will be dissected in order to help you to better understand how they work, and what you are editing.

The Vessel ODF

The first of these is the kli_brel.odf.

This file is the base definition file for the B'rel Class destroyer at rank 1. When you open it with Notepad, or Notepad ++ or whatever program you are using this is what you will see.

This first section of the file defines several attributes of this specific ship.  First of all, the first three lines explain the ships’ name, and the information about the ship. The verbosetooltip is a call of a specific tooltip located, by that name, in the Dynamic_Localized_Strings.h file.  

The next line calls the hotkey entry located in the file.

The 5th line obviously defines which faction this ship belongs to. The klingonempire label is defined in the klingon.odf which is the definition for the entire Klingon faction. That file defines the starting station, pre-loaded units, transporter sprite, ect.

The next few lines define the build times and the costs of the ship in terms of dilithium, tritanium (latinum), supply (biomatter) and how much crew there is on board (in Fleet Ops, the crew cost is disabled, so it just shows how much starting crew there is).

The next 4 lines are the new lines required for the ranking system in FO. They define how many experience points (XP) the ship is worth, the current level of the ship (this one being on its first level), the ODF of the next level of this ship, and how much XP it needs to gain that next rank.

The following 4 lines define how much the ship is worth when recycled.

The next several lines define the hit points the ship has in its various subsystems and shields, and also the repair rate of the shields and hull.  Some ships will also have their special energy defined there as well as the rate at which it recharges.

The final two lines show the values at which the AI will classify the ship for attack orders, and formation placement.

A more simplified version of what was just stated will be listed below.

Next, we will scroll down to the following section and do the same thing, but without the big explanation.

And more…

And that’s all for that ODF. It is long, and sometimes hard to follow, and guess what!? You can put the lines in any order you want and it will still work! The good news is that you can significantly change the ships attributes just by editing the blank = X values.  Modding it isn’t actually that hard.

The Weapon ODF

Next, we will look at a simple weapon ODF. This will be the first weapon on the B'rel Class, the kliW_brel1.odf. Most weapons also have an ordinance file which explains the look and damage a weapon deals. We will look at that in a second.

When the first file is opened it will look like this.

Quite simple compared to the ship ODF.

The first line explains the class label, and determines what kinds of lines to use, and what kind of weapon it is.

The next three lines are the same as in a ship.

The next line defines the ODF for the ordinance.

The shotdelay is the delay in seconds in between shots of the weapon.

The next is the sound it makes when it is fired.

The hitchance is the chance that the weapon will hit as a percent, 1.0 being 100% chance of hitting.

The next 4 lines aren’t used, but are still included in all weapon ODF’s.

The last line is the maximum range at which a weapon can be fired.

The Weapon Ordnance ODF

Next is the ordnance. kliW_brel1o.odf.

This one is much longer, but it is not harder to understand.

The first line, again, explains the type of weapon this is. It is a pulse phaser as opposed to a phaser or a photon, or any other weapon.

The next is the sprite reference for this weapon. Any weapon that uses this sprite reference will use the same texture. Knowing what you do about sprite entries, you could open the fleetops.spr file and find this reference, but for now, there is no need.

The radius value is what determines the width of the phaser. Because they are 2D textures, it is really the width and not the radius.

The next line determines the size of the flare when the weapon is fired.

The lifespan is the amount of time the phaser deals damage. This one will fire for about 1 second.

The shot speed is how fast a phaser moves towards its target. This is usually the same for all regular phasers. The 1e6 is just a specific phaser speed, and it is best not to change it if you are modding a regular phaser.

The next line is simply the amount of time the texture effect will stay after the weapon is done firing.

The shield duration is how long the shield hit effect will last.    

The next two lines are brand new to Fleet Ops. The first is the ODF of the explosion that occurs when the phaser directly hits the hull. The second is the one that happens when it hits the shield.

After that is the base damage, which is the damage it will do to any ship, unless it is listed as an exception. There is an extensive list of damage exceptions because of the Fleet Ops passives, which will change the way a weapon affects a certain ship.

At the end of that long list you have several more lines which are set to 0, because they aren’t used for this weapon. In other weapons, these values would change how a weapon deals damage, based on certain factors of the ship such as shield or hull strength.

There are many different types of weapons, and their class labels will sometimes change which code you use, however they will all follow this basic example. Though not all weapons require an ordnance (like cloak or a replaceweapon), almost all ordinances will look just like this, just with different values.

The Station ODF

This section will explain how a build list works for a station. Station ODFs are very similar to starship ODFs, except that they have no engines, so their hitpoints for that subsystem are set to 0, they don’t generally have weapons, and they of course have a buildlist.  

This time around we will look at the Antares shipyard of fleet admiral Mayson.

This ODF is very similar, but immediately we see some different code. The first line is the base SOD. You need this line if the name of the ODF is different than the name of the .sod.  

After the tooltip, we have the build list.  As you can see it starts with 0, and continues on from there. The list must not skip any numbers and misspelled lines will not work. When copying lines, it is best to actually copy and paste them, and not type them. There are capital letters and other things that could be typed incorrectly, which could otherwise be avoided if you just copy and paste them.  

You could put any ship ODF in that buildlist and it would build, as long as
(1)    You already have the techtree requirements. It is useful to test things in freetech so you can avoid the techtree for early tests.
(2)    The object belongs to your race, or does not require its own race to be built.
(3)    The object must obviously not contain any errors, such as a misspelled name or missing ODF.

Notice the class label is not like it is in a ship ODF, but is simply “shipyard”  .

The rest is very similar to a ship ODF, until we get past the intrinsic value. Then we see a few new lines, but they are pretty self-explanatory, much like all codes in Armada II.

We will see event entries, more labels for the UI menus, to help the game give you the right buttons, such as the builder_ship = 1 line.

You see some lines for animation, which the station has in some way, and buffers for the map footprint.

Stations in Fleet Ops have animated shuttlecraft that will fly around the stations. They use the overlaySod line, which is useful because you can use the line to overlay any sod you want, on top of the sod you are currently using.

Eventually you will see the lines that tell which hardpoint to build and repair from. These are usually special hardpoints rotated in a specific way to ensure ships build and launch in the right direction.

Other than that, there are a few specific lines for stations and ships, but the rest is fairly self explanatory and you shouldn’t have any problems understanding what they are for. If you need more help, the ODF section of the guide will explain these lines more in depth, and there are also blank ODF templates which may be useful to you for making your own ODF’s.