Editing Tooltips

  • Editing Hotkeys

    Explains where to find hotkey entries and how to edit them

Introduction to Tooltips

Path: Fleet Operations\Data\dynamic_localized_strings.h

Most of the in-game text (tooltips / verboseTooltips) is edited directly via the ODFs, without any special steps. However, these in-game tooltips are limited by how much text they can display and the type of formatting that is permitted.

For displaying longer, more complex text (paragraphs and special symbols), as well as providing text messages (relayed from the Events.dat file as explained in Sound Editing) it is necessary to use the dynamic_localized_strings.h file.

Note that this file is editable without compromising multiplayer compatibility.

Using the Dynamic Localized Strings File

The Dynamic Localized Strings allow you to create relays for your text entries.

When opening up Fleet Operations' ODFs, you will certainly see tooltip strings which begin with "AUTOTOOLTIP". This naming convention is created by the Fleet Operations' Development Tools and is not hardcoded. You can use whatever name you like, as long as the dynamic_localized_strings.h key and the reference in the ODF / events.dat file are the same (and they were not used earlier in the dynamic_localized_strings.h). For example, "MYMOD-Gigablaster".

ODF tooltip entries can take the following format - note that the string can have spaces between words and that each string (both the relay and the tooltip) are enclosed in quotations followed by a comma:

"My_ODF_Entry_Here_with or without spaces", "The text I want to have appear in-game",

In addition to determine what text appears on screen, entries within the Dynamic Localized Strings also determines the packaging of the text, unlike a tooltip within the ODFs.

The following entry is organized line by line within the dynamic_localized_strings.h file and will appear exactly like this in-game:

"AUTOTOOLTIP-domW_warfrigateZ1.odf", "
         Damage
         Shot Delay
         Weapon range: Long

         Dominion torpedo weapons are armed with
         a small package of subspace particles,
         contained in a multi-phase forcefield.
         These Tetryons penetrate most matter,
         including common armor types. They deal
         heavy damage, although their effect
         radius is limited compared to
         antimatter based weaponry
",

Events.dat file text entries (like those for indicating resources being transferred, or being attacked) share the same format:

"My_Event.dat_Entry_Here_with or without spaces", "The text I want to have appear in-game",

Decoding the Symbols

Another advantage of using the dynamic_localized_strings.h file as a relay for tooltips is that you can add additional symbols that would not serve any function in a simple ODF string.

It is recommended that you use Notepad ++, in order to gain access to several features which will be most helpful for determining what the strange symbols that appear in lieu of numbers actually mean. To see the numbers in the Dynamic_Localized_Strings.h it is necessary to click the tab called "Encoding" in Notepad ++ and "encode in UTF-8". You should get a display of many black characters that seem to make no sense.

Although it is a bit messy, to edit existing numbers, simply highlight the UTF-8 black characters and click  TextFX --> TextFX Convert --> Convert text to hex (any of the 8,16,32,64,128). This will display the characters in hexadecimal notation, which can allow you to change them.

Of course, it is far simpler to simply delete the references while in UTF-8 mode and add your own.

To do this, simply type in the Hex code that corresponds to the value in Fleet Ops. Highlight that value and  click TextFX --> TextFX Convert --> Convert Hex to text . This will convert the hexadecimal notation into text that can be read by the game.

Note that if you want to add multiple characters side by side at the same time, simply insert an "x" before the Hex code in question. For example:

x81x7F // This hexadecimal notation corresponds to the number 10

Here is the translation matrix for what they are used for in Fleet Operations. Note that any numbers appear as red characters in-game (symbols, if any, by ISO 8859-1).

Decimal Hex Symbol Used in FO for
127 7F   0
129 81   1
141 8D   2
143 8F   3
144 90   4
157 9D   5
160 A0   6
173 AD   7
190 BE ¾ 8
215 D7 × 9
187 BB » +
188  BC ¼ -
247 F7 ÷ special weapon energy
149 95 bullet point
189 BD ½ . decimal separator (dot)
172 AC ¬ yellow avatar text referring to "Units Granted"
174 AE ® yellow avatar text referring to "Abilities Granted"
182 B6 yellow avatar text referring to "(Avatar)"
183 B7 · yellow mixed-technology text referring to "(Mixed-Tech)"
171 AB « gray passive text referring to "(passive)"
161 A1 ¡ yellow support vessel text referring to  "Support Vessel"
168 A8 ¨ white text referring to "Fighter Carriers ()"
169 A9 © white text referring to "Troopships ()"
       
133 85 symbol for Dilithium
134 86 symbol for Tritanum (Latinum)
135 87 symbol for Supply (Biomatter)
153 99 symbol for Collective Connections (Metal)
137 89 symbol for Crew (UNTESTED)
       
128 80

Translating the Dynamic Localized Strings into Other Languages

There are several projects now open in the forums to translate the Dynamic Localized Strings file into, for instance, German and French. These changes will not harm compatibility and are welcomed by the developers. Here are some pages where people are undertaking this task.

Unfortunately the Dynamic Localized Strings cannot support Mandarin (or Korean, Japanese etc) characters very well as Armada is not unicode capable - thus a complete conversion of all strings is nearly impossible so far. This is on long-term to do as it is so complex.

Armada II is limited to ASCII and extended ASCII - in other words, the first 255 symbols.

Calculating Unit Values

In Fleet Operations, the Offensive, Defensive, and System Value are “atomic values”. This means that these values are used to define and calculate all the various numbers that can be found in the ODFs. Note that factions may give bonuses that are applied to these atomic values, and these modified values are then rounded to the nearest integer. Consequently, using the values you see in-game to calculate values for Fleet Ops units can result in small errors.

Since many of the calculations for values within the ODFs are heavily interrelated, they can get quite complex and cannot be described simply enough to be placed here without the programs themselves (or without pages of formulas).

Here is a handy tool made in collaboration with Blade / Apoclaydon, using Excel, which should greatly ease calculations: Unit Value Calculator

Offensive Value

Note that the following calculations cannot yet properly account for multi-targeting or variable damage weapons.

Damage per Offensive Value Point:

Beam Weapons = 0.4113
Torpedo Weapons = 0.5263
Pulse Weapons = 0.5365

Calculations for One Weapon

To calculate Offensive Value for one weapon type (either Beam, Torpedo, or Pulse weapons), you can use the following formula:

Damage Base per Shot / (Average of all Shot Delays * Damage per Offensive Value Point)

Thus, Damage Base per Shot is defined by the following calculation:

Offensive Value * (Damage per Offensive Value Point) * Average of Shot Delays

Calculations for Multiple Weapons

To calculate Offensive Value for multiple weapon types, it is necessary to add up the results from the first formula. In other words:

[Damage Base per Beam Shot / (Average of all Beam Shot Delays * Beam Damage per Offensive Value Point)] + [Damage Base per Pulse Shot / (Average of all Pulse Shot Delays * Pulse Damage per Offensive Value Point)] + [Damage Base per Torpedo Shot / (Average of all Torpedo Shot Delays * Torpedo Damage per Offensive Value Point)]

Round the number to the nearest integer.

Defensive Value

Defensive Value is composed of Shield and Hull Hitpoints. Therefore, there are a number of equations that can be put to use:

Defensive Value = [ Hull Defensive Value + Shield Defensive Value ] / 2

Hull Defensive Value = [(Hull Hitpoints / 18) ^ (10/11) ] / (Percent of HP made of Hull)

Shield Defensive Value = [(Shield Hitpoints / 18) ^ (10/11) ] / (Percent of HP made of Shields)

Shield Hitpoints = [(Shield Defensive Value * (Percent of HP made of Shields))^1.1] * 18

Hull Hitpoints = [(Hull Defensive Value * (Percent of HP made of Hull))^1.1] * 18

Round the calculated Defensive Value to the nearest integer.

When No Shields

Defensive Value = 2* [(( 0.5 *Hull Hitpoints) / 18) ^ (10/11) ]

Round the calculated Defensive Value to the nearest integer.

Shield and Hull Regeneration Rates

Shield Regeneration Rate: (Total Hitpoints of Shields/1000) + ((System Value^1.4) * 0.023)

Hull Regeneration Rate: 0.5 ( (Total Hitpoints of Hull/1000) + ((System Value^1.4) * 0.023) )

For units that only have hull hitpoints, the calculation is slightly different: (Total Hitpoints of Hull/2000) + ((System Value^1.4) * 0.023)

Subsystem Hitpoints

Total hull strength divided by the number of subsystems (usually 5 for vessels, 4 or 3 for structures) and added to the System Value (as determined below) will give the approximate amount of hitpoints that each subsystem should have.

System Value

Total special weapons energy is defined by the System Value alone:

 

Reverse engineered, that means to calculate System Value:

 

 

Round to the nearest integer in all cases.

Energy Regeneration Rate

The special weapon energy regeneration rate is split into two broad categories for Fleet Ops units (with some exceptions due to passives).

Support vessels always take 104 seconds to regenerate their full amount of energy. This is defined by [(Total Energy) /  (Energy Regeneration Rate)] = 104 seconds.

All other units (including structures) always take 120 seconds to regenerate their full amount of energy.