Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

EDMC-LimpetTimer

EDMC-LimpetTimer is a small plugin for Elite Dangerous Market Connector that tracks Collector Limpet launches and estimates how many collectors are currently active, how many the ship can support, and when the next limpet is expected to expire.

The plugin was created with assistance from ChatGPT.

Description

Elite Dangerous writes a journal event whenever a Collector Limpet is launched:

{ "event":"LaunchDrone", "Type":"Collection" }

EDMC-LimpetTimer uses these events together with the ship's current Loadout journal entry to estimate the state of deployed Collector Limpets.

The plugin displays information directly in the EDMC main window, for example:

Collectors: 0/14 | lifetime 13:00
Collectors: 9/14 | next expiry 08:42

The first value is the estimated number of active Collector Limpets.
The second value is the maximum number supported by the currently enabled Collector Limpet Controllers.

Features

  • Tracks Collector Limpet launches through the Elite Dangerous journal
  • Estimates currently active Collector Limpets
  • Shows the maximum Collector capacity of the current ship
  • Displays the expected time until the next Collector expires
  • Automatically reads installed Collector Limpet Controllers from Loadout
  • Only counts controllers that were enabled in the most recent Loadout
  • Supports multiple Collector Limpet Controllers
  • Uses the shortest lifetime if several enabled controllers have different lifetimes
  • Automatically updates after ship changes
  • Requires no external Python packages

Supported Collector Limpet Controllers

Standard Collector Limpet Controllers

For standard Collector Limpet Controllers, the module rating determines the lifetime:

Rating Lifetime
A 12:00
B 07:00
C 08:30
D 10:00
E 05:00

The module size determines the maximum number of active Collector Limpets:

Size Maximum Collectors
1 1
3 2
5 3
7 4

The internal Elite Dangerous module identifiers follow this pattern:

int_dronecontrol_collection_size<size>_class<class>

Elite uses the following internal class mapping:

class5 = A
class4 = B
class3 = C
class2 = D
class1 = E

Mk II Mining Multi-Limpet Controller

Currently supported:

int_multidronecontrol_miningv2_size5_class5
  • Maximum Collector Limpets: 14
  • Collector lifetime: 13:00

Additional Multi-Limpet Controllers can be added once their internal module identifiers, Collector capacity and lifetimes are known.

Multiple Controllers

If several enabled Collector Limpet Controllers are installed, their capacities are added together.

Example:

3A Collector Limpet Controller = 2
5A Collector Limpet Controller = 3
-----------------------------------
Total capacity                = 5

If the installed controllers have different Collector lifetimes, the plugin intentionally uses the shortest known lifetime.

This provides a conservative estimate: the displayed expiry time may be earlier than the actual expiry of some Collectors, but it should not suggest that a limpet will survive longer than the shortest possible lifetime.

Limitations

Elite Dangerous logs when a Collector Limpet is launched, but does not provide a journal event when a Collector:

  • expires normally
  • crashes into an asteroid
  • is otherwise destroyed early

Because of this, the active Collector count is an estimate.

A Collector that is destroyed early may continue to appear as active until its expected lifetime has elapsed.

Elite also does not provide a journal event containing the updated power state when a module is manually enabled or disabled from the ship's Modules panel.

The plugin therefore uses the On state from the most recent Loadout event.

For example, if you disable one of your Collector Limpet Controllers after the last Loadout, the displayed maximum capacity may remain unchanged until Elite writes another Loadout event.

Unknown Controllers

If a Collector-capable controller is found that the plugin does not yet know, it will not guess its capacity or lifetime.

Instead the EDMC window will display:

Collectors: unknown limpet controller

If you encounter this, please open an issue and include the controller's internal Item identifier from the Elite Dangerous journal.

Prerequisites

The plugin does not require any additional Python modules.

Installation

  1. Download the latest release of EDMC-LimpetTimer.
  2. Open EDMC.
  3. Go to Settings → Plugins.
  4. Click Open to open the EDMC plugin directory.
  5. Extract or copy the EDMC_LimpetTimer folder into that directory.
  6. Restart EDMC.

The resulting directory should look like:

plugins/
└── EDMC_LimpetTimer/
    ├── load.py
    └── README.md

On Linux, the default plugin location is usually:

~/.local/share/EDMarketConnector/plugins/

How it works

When EDMC receives a Loadout event, the plugin searches the installed modules for enabled Collector-capable Limpet Controllers.

From these modules it calculates:

  • maximum Collector capacity
  • Collector lifetime
  • the shortest lifetime when different controller types are installed

Every subsequent:

{ "event":"LaunchDrone", "Type":"Collection" }

starts a new internal expiry timer.

The display is updated continuously while EDMC is running.

Development

EDMC-LimpetTimer is written for the current Python 3 plugin API used by EDMarketConnector.

Plugin development documentation:

https://github.com/EDCD/EDMarketConnector/blob/main/PLUGINS.md

The initial plugin implementation and development were created collaboratively with assistance from OpenAI's ChatGPT.

Contributing

Reports for unknown Limpet Controllers are especially useful.

When reporting one, please include:

  • visible module name
  • internal Item identifier from the Loadout journal event
  • maximum number of Collector Limpets
  • Collector lifetime

Bug reports and pull requests are welcome.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages