/sto-aso

Star Trek Online Admiralty System Optimizer

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

Star Trek Online Admiralty System Optimizer (Improved Fork)

Downloads

This is an improved and updated fork of https://github.com/intrinsical/sto-aso

As the original seems to no longer be in development, I added more features, improvements and fixes.

Installation

You need Java 8 to run the application.
There are 2 download options:

  • Bundled JRE
    • Unzip the application
    • Run the sto-aso.bat file
  • Without JRE
    • Unzip the application
    • You need Java 8 configured in your system path environment or modify the sto-aso.bat file to point to your Java 8 installation.
    • Run the sto-aso.bat file

New Improvements and Features

Automatic maintenance time calculation

Ships send on mission will have the correct timer in the maintenance list, which counts down.
When it reaches 0 the ship is automatically moved back to the active list.

Time calculation works automatically via the assignment function, or can be adjusted when moving a ship manually to maintenance. The "ready time" is persisted in the user profile, so it works even if you close the program.

Below the arrows in the main window between the active and maintenance lists there is a text input.
This represents the remaining mission time of the ship you want to move to maintenance. The time is added to base maintenance time of the ship.
E.g. if you add 60 minutes and move a ship with a base maintenance time of 18h, the ships timer will run for 19h. You can insert minutes or hours & minutes in that field.

  • minutes only: single number; e.g. 30
  • hours and minutes: two numbers with delimiter; e.g. 1:30 = 1.30 = 1,30
  • you can also lead with a - to subtract from the base maintenance time

Ship Quick Filter

I always found it tedious to find a new ship to add to my profile.
There is now a quick filter below the ship list when adding new ships, where list it filtered live when entering a partial name.

User added ships and ship IDs

If you want to add a new ship, you can now do this without touching the base data files.
In the root directory of the application there is another (empty) ships.csv. Add your ships there, DO NOT modify the file in the data directory.
Add your icons to the icons directory.

The ship data was extended by an additional column id.
This is for a UUID v4 unique to each ship. This ID is used when saving the user profile, so ships can easily be renamed (the original implementation contained a solution with an extra renaming file, which I found to be confusing).

The ID is optional for user-added ships, the behavior of ship entries is as follows:

  • User ship has valid UUID set:

    • A base ship exists with this UUID:
      The base ship data is replaced by the user ship.
    • No base ship exists with this UUID:
      User ship is added as new ship.
      The ship can have the same name as any existing ship, you can then have two ships with the same name in the roster. (There is a glitch in the game where you can sometimes end up with more than one card for a ship. So you can add both with the same name to ASO).
  • User ship has no UUID set

    • A base ship exists with the same name(!):
      The user ship is NOT processed to prevent conflicts.
    • No base ship exists with the same name(!):
      User ship is added as new ship. When saving the user profile the name is used instead of an ID.
      When an ID is later added the user profile will be automatically updated to use that ID.
      When the ship is later added to the base ship data, the user profile will be automatically updated to use the ID from the base data. The user ship will then no longer be processed (see rule above).
  • User ship has invalid UUID set:
    The user ship is NOT processed to prevent conflicts.