Full details of the variables available for each noted event, and VoiceAttack integrations, are available in the individual event pages.
- Core
- Add support for the Kestrel Mk. II.
- Various bug fixes
- Revised the Hotkey Manager to send key presses to other applications rather than blocking those key presses from being sent to other applications. This should improve compatibility other applications using the same keys. (#2779)
- Speech Responder
- Fixed a bug that could cause the event handler to wait for queued speech to complete. (#2781)
- Core
- Fixed a bad installer configuration which prevented the 4.1.7 release from running for some users. (#2776)
- Core
- Added support for the Caspian Explorer.
- Added support for Dodec stations (thanks Nepomuk).
- Added support for the Type-11 Prospector.
- Revised Spansh faction queries to match the latest Spansh API revision.
- Retargeted EDDI to target the x64 platform (rather than AnyCPU) to improve performance and reliability. This should not affect most users but may affect some users with private builds.
- Various minor bug fixes.
Bodyobject updated to includealreadyfootfalledboolean andfootfalledtimestamp fields.Systemobject updated to include anid64object field containing boxel, mass code, and stellar region information.
- Events
Body scannedupdated to include analreadyfootfalledboolean field.Carrier jump engagedupdated to include newid64andoriginId64object fields.Carrier jumpedupdated to include a newid64object field.Codex entry obtainedadded.Community Goalupdated to add aContributiontrigger type. Values in theupdateslist have also been revised to includeoldvalue,newvalueandchangevariables. (thanks Nepomuk)Disembarkedupdated to include afirstfootfallboolean field.FSD engagedupdated to include a newid64object field.Jumpedupdated to include a newid64object field.Locationupdated to include a newid64object field.Organic data soldadded.Scan organicadded.Scan organic distanceadded.Surface signals detectedupdated to add ageneraobject with information about the organic genus of each detected biological.Touchdownupdated to include acanfirstfootfallboolean field.
- Speech Responder
- Re-tuned speech effects to better match pre-4.1.6 behavior (but with more clarity at the top of the range).
- Custom Functions
ListOrcustom function added to format lists with an "or" before the last item.
- Scripts
Carrier jump engagedupdated to announce stellar region border crossings.Codex entry obtainedadded.Disembarkupdated to announce first footfalls.FSD engagedupdated to announce stellar region border crossings.Organic data soldadded.Scan organicadded.Scan organic distanceadded.Surface signals detectedupdated with new optional toggle variables and newgenerainformation.Touchdownupdated to announce first footfall opportunities.
- VoiceAttack Responder
- Re-tuned event handling for better responsiveness.
- New variables
- {INT:System id64 boxel id}: The numeric boxel ID.
- {INT:System id64 boxel width ly}: Boxel width in light years.
- {INT:System id64 boxel x}: Boxel X coordinate.
- {INT:System id64 boxel y}: Boxel Y coordinate.
- {INT:System id64 boxel z}: Boxel Z coordinate.
- {TXT:System id64 mass code}: The mass code for the star system (ranging from 'H' to 'A' with 'H' tending to contain high mass star systems and 'A' tending to contain low mass systems).
- {INT:System id64 region id}: The stellar numeric region ID.
- {TXT:System id64 region name}: The stellar region name."
- {INT:System id64 size class}: The integer equivalent of the mass code for the star system (ranging from 0 to 7 with 0 tending to contain high mass star systems and 7 tending to contain low mass systems).
- VoiceAttack
- Fixed a bug preventing execution of events in VoiceAttack.
- Core
- Added support for the Panther Clipper Mk. II.
- Revised body exploration values to be more conservative for systems within the pre-Odyssey bubble.
- Replaced the legacy
CSCorevoice effect library with the more modernNAudiolibrary. The effects library isn't exactly the same so some audio effects may be slightly different than they were before. The largest difference is the way that distortion in response to ship damage is handled. - Many carrier events now trigger for both your personal fleet carrier and for your squadron carrier - a
carrierTypefield has been added to applicable events to identify the event source.
- Events
Carrier bank transferupdated to includecarrierIDandcarrierTypefields.Carrier cooldownupdated to includecarrierIDandcarrierTypefields.Carrier decommission cancelledupdated to includecarrierIDandcarrierTypefields.Carrier decommission scheduledupdated to includecarrierIDandcarrierTypefields.Carrier docking permissionupdated to includecarrierIDandcarrierTypefields.Carrier financeupdated to includecarrierIDandcarrierTypefields.Carrier fuel depositupdated to includecarrierIDandcarrierTypefields.Carrier jump cancelledupdated to includecarrierIDandcarrierTypefields.Carrier jump engagedupdated to includecarrierIDandcarrierTypefields.Carrier jump requestupdated to includecarrierIDandcarrierTypefields.Carrier jumpedupdated to includecarrierIDandcarrierTypefields.Carrier Locationupdated to include acarrierTypefield.Carrier name changedupdated to includecarrierIDandcarrierTypefields.Carrier pads lockedupdated to includecarrierIDandcarrierTypefields.Carrier purchasedupdated to includecarrierIDandcarrierTypefields.Carrier service changedupdated to includecarrierIDandcarrierTypefields.Carrier statsupdated to includecarrierID,carrierType,jumpRange,jumpRangeMax, andpendingDecommissionfields.Module purchased to storageadded.Module retrievedupdated to include engineering data in module value.Module swappedupdated to include engineering data in module values.Squadron rankupdated to include new Squadron rank objects and the newsquadronIDinteger.Squadron startupupdated to include a new Squadron rank object and the newsquadronIDinteger.Squadron statusupdated to include the newsquadronIDinteger.Statisticsupdated with various new fields.
- Commander Monitor
- Squadron name and rank are now read-only values kept up to date via squadron journal events.
- Inara Responder
- Fixed a bug causing Inara to incorrectly report module values.
- Speech Responder
- Added a
squadronCarrierobject similar to the currentcarrierobject. - Added user-configurable hotkey support for the following actions:
- Enabling speech
- Disabling speech
- Stopping the current speech.
- These can be configured in the Speech Responder tab, via a new button "Configure Hotkeys". Allowable hotkeys are:
- F-keys (F1-F12 etc) with or without modifiers
- Numpad keys with or without modifiers
- Other keys with at least one modifier from Ctrl and Alt, e.g. Ctrl+A, Ctrl+Shift+A, Ctrl+Shift+Alt+A.
- However certain combos such as Ctrl+C and Ctrl+Alt+Del are reserved by the operating system.
- Fixed a bug causing new scripts to not be editable until EDDI is restarted.
- Scripts Updated
Module purchased to storageadded.Power commodity delivered,Power commodity obtained,Power micro resources collectedandPower micro resources deliveredupdated to more gracefully handle collecting or delivering a single unit of a powerplay commodity or micro resource.Signal Detectedupdated to fix a bug that could cause non-unique signal sources to be vocalized (when not in fss or saa mode).
- VoiceAttack
- Added
Squadron carriervalues, similar to existingCarriervalues. - Fixed the documentation for the
transmitcontext and improved the clarity of the documentation for all three speech functions (say,speech, andtransmit).
- Added
- Added a
- Core
- Made EDDI more aggressive in creating new star system entries for unknown systems (when there is sufficient data to do so). (#2733)
- Fixed a bug preventing population of fleet carrier variables when the fleetcarrier.json config file is null.
- Various bug fixes from telemetry.
- Events
Ship fsdrevised to add back the missingfsd statusvaluecharging complete.
- Ship Monitor
- Fixed a bug causing the ship export target to revert to Coriolis after some UI actions. (#2732)
- Speech Responder
- Fixed the default script being editable.
- VoiceAttack responder
- Updated the available status variables
{TXT:Status destination name}was incorrectly documented as{TXT:Status destination}.{TXT:Status localized destination name}was incorrectly documented as{TXT:Status localized destination}.
- Updated the available status variables
- Core
- Fixed a bug preventing version 4.1.2 from running for some users. (#2726)
- Various bug fixes from telemetry.
- Core
- Fixed a bug that could cause multiple instances of monitor and responder threads to run simultaneously. (#2713)
- Fixed a bug that was preventing sending data to EDDN. (#2714)
Starsystemobject updatedContestingPowersandcontestingpowersupdated. These are now lists of powerplay powers with at least 30% progress towards acquisition of the star system, if any, either as objects or as strings, in descending order.NearbyPowersandnearbypowersadded. These are lists of powerplay powers having star systems with acquisition radii which overlap the star system, either as objects or as strings.powerAcquisitionProgressadded. This is the progress of nearby powerplay powers towards obtaining control of the star system, as a list of objects with keys Power (as an object) and progress (as a percent).powerControlProgressadded. This is the percent progress of the controlling power, if any, in consolidating control over the star system. Values below 0% indicate a reduction in the control level at the end of the cycle while values above 100% indicate an increase in the control level at the end of the cycle (if the current control state is less than 'Stronghold').powerReinforcementControlPointsadded. This is control points accumulated by the controlling power via powerplay reinforcement activities during the current cycle.powerUnderminingControlPointsadded. This is the control points lost by the controlling power via powerplay undermining activities during the current cycle.
Statusobject updatedfsd_cooldownadded. This is a boolean value indicating whether the FSD is currently cooling down after a jump to hyperspace or supercruise.fsd_mass_lockedadded. This is a boolean value indicating whether the FSD is currently mass locked.fsd_supercruise_assistadded. This is a boolean value indicating whether FSD supercruise assist (SCA) mode is activated.fsd_supercruise_boostingadded. This is a boolean value indicating whether FSD supercruise overdrive (SCO) mode is activated.fsd_supercruise_chargingadded. This is a boolean value indicating whether the FSD is currently charging for a jump to supercruise.fsd_statusis now obsolete and not recommended for continued use.glidingadded. This is a boolean value indicating whether your ship is in glide mode near a planet surface.gravityadded. This is a decimal value indicating the surface gravity relative to 1G (when on foot).healthadded. This is a decimal value indicating your current health level (when on foot).npc_crew_activeadded. This is a boolean value indicating whether at least one NPC crew member is assigned to active duty on your ship.oxygenadded. This is a decimal value indicating your current oxygen level (when on foot).pips_sysrenamed tosystem_pipspips_engrenamed toengine_pipspips_wearenamed toweapon_pipsselected_weaponthe model of your current selected weapon (when on foot).srv_high_beamsdocumentation updated. Was incorrectly documented assrv_highbeam.temperatureadded. This is a decimal value indicating the current surface temperature in Kelvin (when on foot).
- System location tracking now updates the current and last star system when initiating a jump to hyperspace rather than when arriving.
- The power play state
Nonehas been replaced byUnoccupiedto better match the in-game UI.
- Events
Carrier jumpedrevised to updateContestingPowersandcontestingpowersand addNearbyPowers,nearbypowers,powerAcquisitionProgress,powerControlProgress,powerReinforcementControlPoints, andpowerUnderminingControlPointsproperties.Carrier locationadded, triggered at startup and shortly before your fleet carrier arrives at a new destination.Colonisation beacon deployedadded, triggered when you deploy a colonisation beacon.Colonisation claim processedadded, triggered when staking or releasing a claim to colonise a star system.Colonisation construction depotadded, triggered when progress is updated at the colonisation construction depot where you are docked.Colonisation contributionadded, triggered when contributing commodities towards construction in a colonised star system.Jumpedrevised to updateContestingPowersandcontestingpowersand addNearbyPowers,nearbypowers,powerAcquisitionProgress,powerControlProgress,powerReinforcementControlPoints, andpowerUnderminingControlPointsproperties.Locationrevised to updateContestingPowersandcontestingpowersand addNearbyPowers,nearbypowers,powerAcquisitionProgress,powerControlProgress,powerReinforcementControlPoints, andpowerUnderminingControlPointsproperties.Market information updatedrevised to addmarketID,stationName, andsystemNameproperties.NPC attack commencedupdated to add afromproperty with the name of the npc source.NPC interdiction commencedupdated to add afromproperty with the name of the npc source.NPC cargo scan commencedupdated to add afromproperty with the name of the npc source.Power meritsadded, triggered when you are awarded merits by your pledged Powerplay power.Power rankadded, triggered when you are awarded a new rank by your pledged Powerplay powerShip fsdrevised to add boolean value with boolean variables for the current and prior state of various fsd properties including supercruise assist (SCA) and supercruise overdrive (SCO). Thefsd statusstring andhyperdrive_chargingvariables are obsolete and not recommended for continued use.
- Speech Responder
- Custom Functions
EngineerDetailsfunction revised to accept either the name of an engineer, system name in which the engineer resides, or a numeric system address for the system were the engineer resides.
- Scripts
Carrier jump engagedupdated to revise context outputs.Carrier jumpedupdated to revise context outputs.Commander continuedupdated to revise context outputs.Crew checkadded. (#2033)Discovery scanupdated to revise context inputs.Engineer reportupdated to revise context inputs.Entered normal spaceupdated to revise context outputs.FSD engagedupdated to revise context outputs and fix references to entering and leaving superpower space.Glideupdated to revise context outputs.Jumpedupdated to revise context outputs.Locationupdated to revise context outputs.Message receivedupdated to add a new message source "Power Security Force" (to distinguish from "Rival Power's Agent" in cases where the message sender isn't necessarily from a rival power)Next jumpupdated to revise context outputs.Powerplay reportupdated to revise context inputs, add additional variety and depth, and fix a missed powerplay name pronunciation correction. (#2717)Ship fsdupdated to remove a debug override which should have been removed prior to release and to reference newly minted boolean variables.Ship loadoutupdated to invokeCrew check(for non-localized personalities only)Ship swappedupdated remove obsolete crew reminder.System materials reportupdated to revise context inputs.System reportupdated to revise context inputs.System scan completeupdated to revise context inputs.System state changedupdated to renamesystemvariable tosystemName.System state reportupdated to revise context inputs.Touchdownupdated to revise context inputs.
- Custom Functions
- VoiceAttack responder
- Updated the available status variables
{BOOL:Status breathable atmosphere}true if you are on foot in an area with a breathable atmosphere.{BOOL:Status fsd cooldown}a boolean value indicating whether the FSD is currently cooling down after a jump to hyperspace or supercruise.{BOOL:Status mass locked}a boolean value indicating whether the FSD is currently mass locked.{BOOL:Status fsd supercruise assist}a boolean value indicating whether FSD supercruise assist (SCA) mode is activated.{BOOL:Status fsd supercruise boosting}a boolean value indicating whether FSD supercruise overdrive (SCO) mode is activated.{BOOL:Status fsd supercruise charging}a boolean value indicating whether the FSD is currently charging for a jump to supercruise.{BOOL:Status gliding}true if your ship is in glide mode near a planet surface.{BOOL:Status hyperspace}a boolean value indicating whether the ship is currently jumping between star systems{BOOL:Status on foot exterior}true if you've disembarked to an exterior space.{BOOL:Status on foot in hangar}true if you've disembarked in a vehicle hangar.{BOOL:Status on foot social space}true if you've disembarked to a social space (e.g. station concourse).{BOOL:Status physical multicrew}true if you are participating in physical multicrew.{BOOL:Status npc crew active}true if at least one NPC crew member is assigned to active duty on your ship.{BOOL:Status srv high beams}true if the lights in your SRV are set to the high beam mode.{BOOL:Status telepresence multicrew}true if you are participating in telepresence multicrew.{TXT:Status fsd status}is now obsolete and not recommended for continued use.
- Updated the available status variables
- Core
- Added a speculative fix for failed
SystemDetailslookups in new / unexplored star systems.
- Added a speculative fix for failed
- Commander Monitor
- Fix an issue with saving / rendering phonetic commander names (#2706).
- Speech Responder
- Custom Functions
BodyDetailsfunction revised to accept either body ID and system address numeric values or body and system name values. The numeric system address value is more efficient for lookups and is recommended when available.StationDetailsfunction revised to accept either market ID and system address numeric values or station and system name values. The numeric system address value is more efficient for lookups and is recommended when available.SystemDetailsfunction revised to accept either a numeric system address or a system name value. The numeric system address value is more efficient for lookups and is recommended when available.
- Events
Body mappedupdated to includesystemAddressandbodyIdproperties.Body scannedupdated to includesystemAddressandbodyIdproperties.Carrier cooldownupdated to includesystemAddressandbodyIdproperties.Carrier jumpedupdated to includesystemAddressandbodyIdproperties.Carrier jump engagedupdated to includesystemAddress,bodyId,originSystemName, andoriginSystemAddressproperties.Carrier jump requestupdated to includesystemAddressandbodyIdproperties.Carrier purchasedupdated to include asystemAddressproperty.Disembarkupdated to includesystemAddress,marketIdandbodyIdproperties.Dockedupdated to include asystemAddressproperty.Dropship deploymentupdated to includesystemAddressandbodyIdproperties.Embarkupdated to includesystemAddress,marketIdandbodyIdproperties.Entered normal spaceupdated to includesystemAddressandbodyIdproperties.Entered supercruiseupdated to include asystemAddressproperty.FSD engagedupdated to include asystemAddressproperty.FSD targetupdated to include asystemAddressproperty.Glideupdated to include asystemAddressproperty.Jumpedupdated to include asystemAddressproperty.Liftoffupdated to includesystemAddressandbodyIdproperties.Locationupdated to includesystemAddressandbodyIdproperties.Nav beacon scanupdated to include asystemAddressproperty.Near surfaceupdated to includesystemAddressandbodyIdproperties.Next destinationupdated to includesystemAddressandbodyIdproperties.Ring hotspotsupdated to include asystemAddressproperty.Ring mappedupdated to include asystemAddressproperty.Route detailsupdated to includesystemAddressandmarketIdproperties.Settlement approachedupdated to includesystemAddress,marketIdandbodyIdproperties.Star scannedupdated to includesystemAddressandbodyIdproperties.Surface signalsupdated to includesystemAddressandbodyIdproperties.System scan completeupdated to include asystemAddressproperty.Touchdownupdated to includesystemAddressandbodyIdproperties.
- Scripts
Carrier jump engagedupdated to remove excess "welcome home" statement and invokeSystem reportwhen applicable.Carrier jumpedupdated to remove segments already voiced byCarrier jump engaged.FSD engagedupdated to remove excess "welcome home" statement and invokeSystem reportwhen applicable.Jumpedupdated to remove segments already voiced byFSD engaged.System reportupdated for slightly better grammar if there is a problem classifying stations.
- Custom Functions
- Core
- Added
Coriolis (Beta)export target to Ship Monitor andcoriolisbetaplugin command. - Fixed cargo need calculations. (#2645)
- Fixed child scripts not always using the latest state variables in their contexts.
- Fixed a null reference exception which could occur when deleting scripts.
- Simplified and centralized legacy game mode handling.
- Updated star system lookups to use Spansh APIs rather than EDSM APIs.
- Added
- Definitions
- Added new ship types
MandalayandCobra Mk 5and modules. - Added and updated powerplay object definitions.
- Added star property
luminosityclass. - Added star system property
contestingpowers. - Removed the
permitnameproperty from thesystemobject (permit data is now calculated and permit names are not stored / not always known).
- Added new ship types
- Events
Carrier jumpedevent updated to expose new Powerplay properties and additional faction properties.Entered signal sourceevent removed and replaced byDestination arrivedevent.Fuel scoopevent added.Holoscreen hackedevent added.Jumpedevent updated to expose new Powerplay properties and additional faction properties.Locationevent updated to expose new Powerplay properties and additional faction properties.Material collectedevent updated to include a newtotalproperty.Material discardedevent updated to include a newtotalproperty.Material donatedevent updated to include a newtotalproperty.Material tradedevent updated to include newreceived__totalandlost_totalproperties.Power commodity fast trackedobsolete event removed.Power defectedobsolete event removed.Power expansion vote castobsolete event removed.Power preparation vote castobsolete event removed.Power micro resources collectedevent added.Power micro resources deliveredevent added.Power salary claimedobsolete event removed.Powerplayevent updated to remove the obsoletevotesproperty (Powerplay 2.0 does not use a voting system).Ship refueledevents are no longer broken up into 5T increments.Signal detectedevent updated to include new Powerplay properties.Star scannedevent updated to add missingsystemnameproperty.
- Ship Monitor
- Updated ships grid to add distances in light years.
- Speech Responder
- Scripts
Bodies to mapscript updated to correct an issue with quotes.Body materials reportupdated to optionally filter non-volcanic bodies (enabled by default).Carrier jump engagedscript updated to better mirror theFSD engagedscript.Carrier jumpedscript updated to include new Powerplay details.Carrier pads lockedscript updated to not speak when you are not docked at the carrier.Commodity soldscript updated to reduce verbosity.Engineer reportscript updated to change the response when docked at an engineer's station.Entered normal spacescript updated to resolve station data first.Holoscreen hackedevent added.Jumpedscript updated to include new Powerplay details.Locationscript updated to include new Powerplay details.Mission redirectedscript updated to update mission guidance when applicable.Power commodity fast trackedobsolete script removed.Power defectedobsolete script removed.Power expansion vote castobsolete script removed.Power preparation vote castobsolete script removed.Power micro resources collectedscript added.Power micro resources deliveredscript added.Power salary claimedobsolete script removed.Powerplay reportscript added.Route detailsscript updated to reduce redundant warnings for low fuel.Ship refuelledscript updated to no longer suppress 5T refueling increments.Signal detectedscript updated to incorporate additional signal types and Powerplay details.System reportscript updated to omit power information now covered by thePowerplay reportscript.
- Scripts
- Powerplay 2.0 Known Issues
- No journal or status event is written for updates to the commander's merit count throughout the game session.
- No journal or status event is written for updates to the commander's power rank throughout the game session.
- No journal event is written to record the redeemed contents power care packages.
- The journal event
PowerplayCollect(EDDI eventPower commodity obtained) is missing. Commodities simply appear in cargo with no transaction event. - The journal event
PowerplayDeliver(EDDI eventPower commodity delivered) is missing. Commodities simply disappear from cargo with no transaction event. - The journal event
PowerplayVoucher(EDDI eventPower voucher received) is missing. The journal eventRedeemVoucher(EDDI eventBounty paid) is written but is missing faction data needed to accurately track bounties redeemed through your Power contact.
- Core
- Miscellaneous minor bug fixes.
- The
Crew paid wageevent has been reconfigured with a delay (so that it triggers after other events deducting commander credits).
- Speech Responder
- Fixed a bug that made the default EDDI personality editable.
- The
Edit scriptwindow now contains an option to specify other scripts to include (prepend) to the triggered script. If your personality uses "helper" scripts to set preferences or create common functions then you can use this option to prepend the contents of your helper scripts before the triggered script is rendered. - "Error with this script" messages have been updated to provide better information about the script location which could not be parsed.
- Speech Responder
- Scripts
Commodity sale checkupdated fix a typo.
- Scripts
- Core
- Added support for the Type-8 Transporter.
- Added
sourcesystem,sourcebody,collected, anddelivered, properties to themissionobject. - Commodities now have a
corrosiveboolean property. - Removed
haulageDatamap from thecargoobject, addmissionCargodictionary object in its place. - Suppressed a repetitious
Body scannedevent which could occur after mapping. (#2633) - The
needproperty ofcargois now calculated after resolvers have handled events (to minimize cross linking between the Cargo and Mission Monitors).
- Crime Monitor
- An interstellar bounty applies when fines or bounties for factions aligned with a superpower exceed 10,000 credits.
- Mission Monitor
- The drop-down on missions now includes a "Notes" section where you can record notes about ongoing missions. (#2410)
- Speech Responder
- Fixed a bug that could prevent variables set with
setfrom being available in some contexts. - Custom Functions
HaulageDetails()function has been removed.
- Scripts
Body scannedupdated to improve the context passed to child scripts.Blueprint make reportupdated to fix a typo (stray letter).Cargo depotupdated to replaceHaulageDetails()function withMissionDetails().Carrier jump engagedupdated to better separate carrier context from commander context.Carrier jumpedupdated to better separate carrier context from commander context.Commodity sale checkupdated to remove unnecessary reference tohaulageData.FSD engagedupdated to tidy context.Jumpedupdated to tidy context.Material discard reportupdated to tidy context.Material inventory reportupdated to tidy context.Mission check galaxyupdated to makeallmissions()internal function pure.Mission check systemupdated to makeaddstation()internal function pure.Mission expiredupdated to demo themissionCargoproperty and add more clarity when cargo shall be marked as stolen.Route detailsupdated to replaceHaulageDetails()function withMissionDetails().Star scannedupdated to fix a typo (missing comma) and to improve the context passed to child scripts.System distance reportupdated to tidy context.System materials reportupdated to fix an error with theisSeleniumSpecialCasehelper function.System state changedupdated to tidy context.
- Fixed a bug that could prevent variables set with
- VoiceAttack
- Variables set with SetState are now set to as types as possible (e.g. TXT, DEC, INT, SMALL, BOOL) in VoiceAttack.
- Speech Responder
- Increased the render cycle limit (https://cottle.readthedocs.io/en/latest/page/04-configuration.html#render-cycle-limit) from 10,0000 to 100,000.
- Scripts
System materials reportupdated to more efficiently identify volcanic bodies.
- Events
Cargo Transferadded. (#2621)
- Speech Responder
- Update Cottle to latest available experimental version. Variables which are set in a script are now being stored in an immutable context. While these variables can still be passed to a child script / context, variables in a child script / context cannot be set and passed back to a parent script / context.
- Custom Functions
- A variable set with
SetStatecan no longer be retrieved usingstatefrom the same script / context where it was set. GetStatehas been added to allow retrieval of state variables in the same script / context where it was set.
- A variable set with
- Scripts
Blueprint make reportupdated to simplify state retrieval.Blueprint material reportupdated to simplify state retrieval.Galnet newsupdated to simplify state retrieval.Material discard reportupdated to simplify state retrieval.Material inventory reportupdated to simplify state retrieval.Material required reportupdated to simplify state retrieval.Material location reportupdated to simplify state retrieval.Material use reportupdated to simplify state retrieval.System materials reportupdated to usefactionStatevariable name rather than reservedstatevariable name.
- VoiceAttack
- EDDI.vap commands updated to synchronize state variable names with updated scripts.
- Whole number variables set with SetState are now set as INT values rather than DEC values in VoiceAttack.
- Core
- Further fixes for
Loadoutparsing exceptions that appear to have been impacting fuel level updates from the Status Monitor.
- Further fixes for
- Cargo Monitor
- Fixed a crash that could occur when viewing the Cargo Monitor while it contains cargo.
- Speech Responder
- Scripts
Star reportupdated to fix incorrect invokation of theSpacialisefunction for some rare star types. (#2625)
- Scripts
- Core
- Speculative fix for a
Loadoutparsing exception that appears to have been impacting fuel level updates from the Status Monitor.
- Speculative fix for a
- Events
Destination arrivedexpanded to trigger when arriving at destination settlements / ground sites. (#2623)Ship targetedfixed to resolve an exception when 'Drive' subsystems were targeted. (#2624)
- Speech Responder
- Scripts
Blueprint make reportupdated to prevent overwriting theinventorymap used for tracking cargo. (#2622)Material discard reportupdated to prevent overwriting theinventorymap used for tracking cargo. (#2622)Material inventory reportupdated to prevent overwriting theinventorymap used for tracking cargo. (#2622)Material required reportupdated to prevent overwriting theinventorymap used for tracking cargo. (#2622)System materials reportupdated to prevent overwriting theinventorymap used for tracking cargo. (#2622)
- Scripts
- Speech Responder
- Core
- (Accidentally omitted from 4.0.4-b1 change notes): Fixed a rendering issue which had previously required doubled escape characters in some scripts. Note: You can minimize your use of escape characters by alternating between single and double quoted strings in nested function calls.
- Scripts
Body volcanism reportupdated to fix an escape character issue. (#2618)Destination arrivedupdated to fix an escape character issue (#2614)Entered normal spaceupdated to fix a typo / missing quote mark.Mission faction stateupdated to prevent overwriting thestatemap used for theSetStatefunction. (#2607)Ship targetedupdated to fix an escape character issue.
- Core
- Core
- Updated ship and module definitions.
- Revised jump calculations for new SCO FSDs.
- EDDI will no longer report your environment as "Supercruise" right after a Thargoid hyperdiction. (#2597)
- EDDI will no longer report your enviroment as "Normal Space" when starting docked. (#2598)
- EDDI will delay rather than discard speech when hit by a full Thargoid shutdown. (#2603)
- Fixed a crash when using the Cottle
dump()function to enumerate aHaulageobject. Removed theexpiryproperty from theHaulageobject (but it is still available from theMissionobject). (#2593) - Fixed the
inventoryobject not being updated until after theCommodity collectedevent.
- EDDN Responder
- Add support for
DockingDeniedandDockingGrantedschemas (for identifying fleet carriers with limited docking permissions).
- Add support for
- Events
Bounty awardedupdated to include newpilotproperty (when applicable).Entered signal sourceremoved (replaced byDestination arrived).Hyperdictedadded.Micro resources purchasedupdated to use a list of purchased micro resources with name, category, and amount for each (so that it could support both purchases from a station and from carrier bartenders).Settlement approachedupdated with new propertieseconomy,secondeconomy,stationservices,faction,allegiance, government(similar toDocked` event)Signal detectedupdated to include newsignaltypeproperty.Ship shutdownupdated to include newpartialshutdownproperty (for instances where the power flickers but doesn't go out completely). (#2603)Ship targetedupdated to better utilize localized names (where available). (#2604)Station mailslotevent added, triggered when your ship enters through a station's mailslot without the aid of a docking computer
- Navigation Monitor
- Improved route guidance updates.
- Fixed ship routes reporting wrong jump distances. (#2591)
- Speech Responder
- Functions
Play()now supports relative file system paths. (#2581)
- Variables
{version}top level variable added to allow users to check EDDI's latest version via a script.
- Scripts
Carrier jump engagedandFSD engagedupdated to consistently use{reportsystem}.Entered normal spaceupdated to correct an occasional rendering error in the default script.Entered signal sourceremoved.Destination arrivedadded.Message receivedupdated to handle the oddly written phrase "Every feel like".Route detailsupdated so that theupdatetype will not restate a destination that you've already selected as your next system destination.Ship deliveredupdated to more clearly state the in-game result of the event.Ship repairedupdated to correct an occasional rendering error in the default script.Ship targetedupdated to not comment on wanted targets identified while in supercruise unless the current ship contains an interdictor.Star reportupdated to correct an occasional rendering error in the default script.System scan completeupdated to correct an occasional rendering error in the default script.
- Functions
- EDSM Responder
- Reverted a change that had inadvertantly slowed the EDSM sync.
- Inara Responder
- Fixed a bug with profile retrieval.
- Speech Responder
- UI
- Fixed
Edit&Deletebuttons being greyed out on new scripts. (#2562)
- Fixed
- UI
- VoiceAttack
- Fixed a bug with
{BOOL:EDDI speaking}remaining true even after speech was ended. (#2563)
- Fixed a bug with
- Core
- Fixed a bug with retrieving values previously set with
SetState(). (#2554) - Fixed a bug where the main star data was being overwritten when jumping to a system. (#2557)
- Improved quality checks applied prior to using custom lexicons.
- Normalized body types reported during the
Carrier jumped,Entered normal space, &Locationevents. (#2556) - Re-enabled the "Prefer 32 bit" build flag to allow commanders, wherever possible, to use voices which are not supported in 64 bit mode.
- Revised speech service to make rendering even more thread-safe when transitioning between the
Play()function and normal speech (#2549). - Revised speech service to retry using speech stripped of SSML tags when speech fails using the System.Speech synthesizer.
- Worked around a journal bug when
HullHealthis not written to the player journalLoadoutevent. (#2552)
- Fixed a bug with retrieving values previously set with
- Speech Responder
- Changes to existing scripts
System state reportupdated to allow thargoid warremainingDaysto be null (since for some states it is not present in the journal output).
- Changes to existing scripts
- Core
- Fixed a crash that can occur if you go click-crazy testing scripts containing the
Play()function. (#2549) - Fixed another exception that could be thrown when obtaining old EDSM logs via the EDSM responder. (#2544)
- Refined handling of EDSM API rate limits.
- Revised speech service to adjust exclusive locking statements, add a simple render test for Windows.Media speech, and improve error handling for failed speech.
- Fixed a crash that can occur if you go click-crazy testing scripts containing the
- Core
- Fixed an exception that could be thrown when obtaining old EDSM logs via the EDSM responder. (#2544)
- Fixed a loss of
scannedandmappedvalues for explored bodies. - Various other minor bug fixes.
- VoiceAttack
- Fixed a bug where compartment module variables might not be cleared when swapping to a smaller ship. (#2547)
- Core
- Fixed a bug that prevented updating body data on nav beacon scans of fully discovered systems. #2505
- Fixed a bug where bodies scanned from a nav beacon scan could be reported as previously undiscovered.
- Fixed a bug where partial star data created by
Next systemevents wasn't properly being replaced by actual star data after scanning. #2522 - Restored access to the Frontier API.
scannedandmappedbody properties are now unix timestamps (seconds since Jan 01 1970 UTC) rather than DateTime objects. #2468Ship shutdownevents now temporarily disrupt the speech responder (for greater immersion when ship systems are forced offline).- Trim any pauses or breaks from the end of speech when that speech isn't followed by more speech.
- Updated body mapping values (these were buffed slightly for Odyssey).
- Removed references to retired site EDDB.
- Navigation Monitor
- Fix
Shortest Missions Routereports all distances as zero (0) light-years #2488 - The
statusobject now contains a new propertyfsd_hyperdrive_charging({BOOL:Status fsd hyperdrive charging}in VoiceAttack), which contains a boolean value indicating whether the FSD is currently charging for a jump to hyperspace.
- Fix
- Speech Responder
- UI
- Implemented text completion for available variables in the editor window.
- The Chinese translation of the default personality has been updated (primarily to improve grammar). #2524 Thanks @MemphyKitay!
- Events
Carrier jumped,Jumped, andLocationevents updated to add Thargoid war data.Dockedupdated to revise thestateproperty to be translatable and include a default value (Normal Operation).FSD engagednow includes a newtaxijumpboolean property.Hull damagedupdated to fix a bug with thevehicleproperty where EDDI might be confused as to whether the ship or SRV was being damaged.Ship interdictedupdated to include a newisthargoidboolean property and report the interdictor as "Thargoid Vessel" (or its localized equivalent) rather than "Unknown Vessel" (or its localized equivalent) when interdicted by Thargoids.Ship FSDevent now includes a newhyperdrive_chargingboolean property.Ship shutdown rebootevent added, triggered after the ship's systems were forced into shutdown and have rebooted.
- Changes to existing scripts
Bodies to mapupdated to add a preference for recommending already mapped bodies and to include terraforming bodies. #2490, #2527Carrier jump engagedupdated to more gracefully handle jumps where the commander is on-foot on the carrierDockedupdated to add theLimpet Checkscript and incorporate the updatedstateproperty.Fsd engaged(triggered after the FSD is engaged) no longer warns about hazardous or non-scoopable arrival stars.Low fuel, which normally triggers at about 25%, now re-triggers at 5%, 10%, 15%, and 20%. It also now triggers whether in your ship or an SRV. #2462Market Information Updatedupdated to remove theLimpet Checkscript.Message receivedupdated to improve localization of AX pilot messages, add randomized voices for player messages, suppress highly repetitious military speech, and allow setting the gender of the voice based on the name of the sender.Next jumpupdated to add context.Route detailsupdated to add search for scorpion SRV.Ship FSD(triggered before the FSD is engaged) now warns about nearby hazardous stars or no charted scoopable stars in your arrival system.Ship interdictedupdated to use newisthargoidproperty.Ship refuelledrevised to prevent adding pauses when there is no other speech.System state reportupdated to report Thargoid war data, when applicable.Swapout checkupdated to fix a bug that was causing false positives and to exclude Guardian modules.
- UI
- VoiceAttack Responder
- Fixed a bug that prevented current ship variables from being updated properly on a ship change. #2482
- Fixed a bug that prevented a clean application shut-down from VoiceAttack.
- Added plugin commands to access Inara (inaracarrier, inaraprofile, inarasystem, and inarastation)
- Redirect plugin commands for accessing EDDB (eddbsystem and eddbstation) to instead reference Inara (inarasystem, and inarastation)
- Updated EDDI.vap to add new commands referencing Inara.cz.
- Updated EDDI.vap to remove commands referencing EDDB.
- Renamed
Last station ...variables toCurrent station ..., updated EDDI.vap, and updated docs.
- Core
- Fix on-foot missions not redirecting appropriately to origin.
- Fix a crash that could occur when selecting a destination without a localized name.
- Various other minor bug fixes
- Speech Responder
- Changes to existing scripts
Module swappedrevised to identify pluralized module names (e.g. "sensors") as a "package" (for real this time).System materials reporttouched up again to improve grammar for systems containing only one reportable body.
- Changes to existing scripts
- Core
- Various minor bug fixes
- Speech Responder
- Changes to existing scripts
Body report summaryrevised to add optional temperature scale selection. #2235Module arrived,Module purchased,Module retrieved,Module sold,Module sold from storage,Module stored,Module swapped, andModule transferrevised to identify pluralized module names (e.g. "sensors") as a "package".Module retrieved,Module sold,Module sold from storage,Module stored,Module swapped, andModule transferrevised to identify loaned modules (with zero value). #2441Ring mappedrevised to omit reserve level if reserve level is not known.System materials reportrevised again per player feedback. #2466Touchdownrevised to make reporting coordinates an opt-in feature and add optional temperature reporting for Odyssey on-foot expeditions. #2463
- Changes to existing scripts
- Core
- Fixed some translations into Spanish reverting to English. #2452
- Fixed the
influenceproperty inFactionPresenceobjects sometimes being reported on a scale from 0-1 and sometimes being reported on a scale from 0-100. Should be 0-100 only moving forwards. - Various minor bug fixes
- Speech Responder
- UI
- Fixed a bug whereby syntax coloring was not initiated until an Edit window was opened. #2447
- Changes to existing scripts
Nav routeupdated with minor gramatical touch-ups.Star reportfixed mispelling of "luminosity". #2445System materials reportupdated to correct incorrect variable invocations and enhance in accordance with player feedback. #2454System scan completeupdated to use the contextual system rather than a mixture of the current system and contextual system. #2458
- UI
- Core
- Fixed a nasty bug that would reset customized versions of non-event Speech Responder scripts to default values.
- EDDI now backs up personality files on each run prior to upgrading scripts, keeping the most recent 10 backups available in case you need to roll back scripts (similar to how EDDI logs are cycled).
- Core
- Fixed a crash that could occur when invoking the
RouteDetails()function when the commander did not own a fleet carrier. - Various other bug fixes
- Fixed a crash that could occur when invoking the
- Navigation Monitor
- Fixed having
destinationdistanceset to the wrong value after plotting an in-game route.
- Fixed having
- Ship Monitor
- Add new ship roles: Anti-Xeno Combat, Anti-Xeno Support, Evacuation, Repair, Stealth, Tourism
- Speech Responder
- Stopped the text filter from resetting when switching personalities.
- Functions
VoiceDetails()function revised. Zero arguments now returns details of the current voice, rather than a list of voice details. One numeric argument now provides the list of available voices, using the provided number as a seed to sort the list. One string arument now returns details about the named voice.
- Changes to existing scripts
Message receivedupdated to use the updatedVoiceDetails()function and a newseedproperty to select NPC voices.
- Core
- Fixed bugs that would cause carrier events not to trigger if the commander hadn't already obtained fleet carriier data from the Frontier API.
- Various services, monitors, and responders shall be disabled or send/receive data from different endpoints when running a legacy Elite game version (less than 4.0). Disabled services shall be noted by EDDI logs.
- Speech Responder
- Functions
CargoDetails()shall now provide a generic commodity definition even when the commodity is not included in the current cargo manifest.CommodityMarketDetails()shall now provide a generic commodity definition even when the commodity is not found in the current station inventory.
- Changes to existing scripts
Carrier docking permissioncorrected occasional grammar issue.Carrier service changedcorrected occasional grammar issue.Fuel checkadded checks to preventObject reference not an instance of an objecterrors.Ship interdictedupdated to add a default script (for real this time).
- Functions
- Status Monitor
- Corrected documentation of new status destination name variables (e.g. "destination_name" rather than "destinationName").
- Core
- Improved transitions between voices being handled by different speech synthesizers.
- Improved parsing of Odyssey settlements from EDSM API data.
- Don't assume that bodies retrieved from EDSM have already been mapped.
- Overhauled route plotting functions.
Ringobjects now containmappedandhotspotsproperties to allow tracking mapped rings and hotspots within a system.- Add a top-level
carrierobject updated from the Frontier API and various journal events (note that carrier cargo / material inventories are not yet supported).
- Crime Monitor
- Fixed a bug that could identify a fleet carrier as a faction station.
- Moved navigation functions to the Navigation Monitor
- EDDN Responder
- Updated schema support to include all current schemas from https://github.com/EDCD/EDDN/tree/master/schemas.
- Inara Responder
- Fixed an issue with asset data not being reported correctly.
- Material Monitor
- Moved navigation functions to the Navigation Monitor
- Mission Monitor
- Moved navigation functions to the Navigation Monitor
- Navigation Monitor
- Added new Navigation Monitor with support for planetary and galactic bookmarking, ship and carrier route planning, and galactic POIs.
- The
DestinationSystemobject has been revised to match your current in-game route's final destination. - The
DestinationStationobject has been removed. - Navigation commands (e.g. via
RouteDetails()or therouteVoiceAttack command) will no longer generate a route in EDDI independent of your in-game routing.
- Speech Responder
- Events
Bookmark detailsadded, triggered when a navigation bookmark is added in the Navigation Monitor.Carrier bank transferadded, triggered when you transfer money to or from your fleet carrier.Carrier decommission cancelledadded, triggered when you cancel the decommissioning of your fleet carrier.Carrier decommission scheduledadded, triggered when you request the decommissioning of your fleet carrier.Carrier docking permissionadded, triggered when changing the docking permission criteria at your fleet carrier.Carrier financeadded, triggered when changing tax rates or reserve funds at your fleet carrier.Carrier fuel depositadded, triggered when depositing fuel at your fleet carrier.Carrier name changedadded, triggered when your fleet carrier's name is changed.Carrier purchasedadded, triggered when you purchase a fleet carrier.Carrier service changedadded, triggered when you change the services available at your fleet carrier.Carrier statsadded, triggered when you open the carrier management screen.Carrier jump engagedupdated to add a newdockedproperty.Locationupdated to addfactionandconflictsproperties (like theJumpedevent).Route detailsupdated to addtritiumusedproperty for fleet carrier tritium consumption.SRV dockedupdated to add propertiessrvTypeandsrvTypeInvariant.SRV launchedupdated to add propertiessrvTypeandsrvTypeInvariant.Surface signals detectedevent updated to add a new propertydetectionTypewith values "FSS" or "SAA".Mission acceptedupdated to addtagsandinvariantTagsproperties.Nav routeadded, triggered when a route is plotted in the Galaxy Map.Near bookmarkadded, triggered when entering or departing the (customizable) nearby radius of a bookmark.Next destinationadded, triggered when selecting an in-system destination.Permit acquiredadded, triggered when you acquire a permit from the mission board.Vehicle destroyedupdated to add propertiessrvTypeandsrvTypeInvariantwhen vehicle is an SRV
- Functions
- Fixed a bug that could cause the
ShipDetails()function to fail to resolve some ship model names. - Fixed a bug that could cause the
TrafficDetails()function to fail. - Fixed a bug that prevented
Pause()from affectingPlay(). - The
SetState()function now allows variables to be set tovoid. RouteDetails()revised to remove obsoletenexttype and to addcarrier,neutron,recalculating,scorpion, andscooptypes.
- Fixed a bug that could cause the
- Changes to existing scripts
Asteroid prospectedupdated to conform to an in-game name change fromVoid OpalstoVoid OpalBodies to mapupdated to prevent re-recommending bodies we've already mapped.Body atmosphere reportrevised to correct some issues around reporting for class 1 gas giants.Body materials reportrevised to special case hard-to-find Selenium.Body reportrevised to improve grammar (around "days") and skip theBody materials reportby default.Body report summaryrevised to improve grammar (around "days") and skip theBody materials reportby default.Carrier jump engagedupdated use newdockedproperty and carrier name.Carrier jumpedupdated to replace references todestinationsystemwith references tosearchsystem.Commodity purchasedupdated to increase variety and lightly reduce verbosity.Community goalupdated to refine responses upon goal completion.Crime check stationupdated to remove obsolete references toshipid.Crime check systemupdated to better distinguish fines and bounties.Discovery scanupdated to incorporate newSystem materials reportinvoked script.Docking deniedupdated to add newDockOfflinereason.Docking grantedrevised to reference automated docking if such a module is installed.Engineer contributedrevised to correct grammar when contributing materials to an engineer unlock.Entered normal spacerevised to correct grammar when dropping out near a ring.Entered signal sourcerevised to correct obsolete signal source names.Entered supercruiserevised to reset a state variable after updating you on your crime status.Fuel checkrevised to move relevant data to theRoute detailsscript.FSD Engagedrevised to move some speech to theJumpedevent.Glideupdated to remove gravity warnings (e.g. "Danger", "Caution", etc.) when approaching a body in a taxi or dropship.Jumpedrevised to remove jump count reporting (to slightly reduce verbosity), report the distance to your carrier when you have a carrier but no home system, and add speech moved from theFSD engagedevent.Locationupdated to add local reputation, system state, and system engineer details and to remove redundant mission information.Material required reportupdated to fix a typo.Market Information updatedupdated to fix a typo.Module purchasedupdated to fix broken weapon mount details.Module retrievedupdated to fix broken weapon mount details.Module soldupdated to fix broken weapon mount details.Module sold from storageupdated to fix broken weapon mount details.Module storedupdated to fix broken weapon mount details.Module swappedupdated to fix broken weapon mount details.Module transferupdated to fix broken weapon mount details and refine time estimates.Modules storedupdated to fix broken weapon mount details.Mission abandonedupdated to fix broken community goal abandonment and to observe mission abandonment fines.Mission acceptedupdated to remove mission counting and reduce verbosityMission check stationupdated to improve grammar.Mission check systemupdated to improve grammar.Mission check galaxyupdated to remain silent if you have no active or claimable missions.Mission completedupdated to reduce verbosity by only sometimes referencing faction state info.Mission faction stateupdated to correct incorrect faction names and reduce verbosity.Mission failedupdated to prevent speech if no mission is found matching the mission id.Route detailsrevised to remove obsoletenexttype and to addcarrier,neutron,recalculating,scorpion, andscooptypes.Ship interdictedupdated to add a default script.Ship repairedupdated to fix broken weapon mount details.Ship transfer initiatedupdated to refine time estimates.Signal detectedrevised to correct the "Convoy Dispersal Pattern" source and to report Compromised Nav Beacons by default.SRV dockedupdated to make use of the newsrvTypeproperty.SRV launchedupdated to make use of the newsrvTypeproperty.Star reportrevised to correct a grammar bug when reporting star class.Star scannedrevised to report primary stars unknown to Universal Cartographics.Surface signals detectedupdated to indicate the body containing the signals, when available.System materials reportadded.System reportupdated to include alliance superpower, improve several government descriptors, and add local reputation details.System scan completeupdated to invoke theSystem materials reportscript when appropriate.System state reportupdated to facilitate localization, add several newer faction states, and improve grammar around recent conflicts.Undockedupdated to invoke RouteDetails("update").
- Events
- Status Monitor
- Fixed a bug that caused fuel percent calculations to not calculate immediately after a vehicle change.
- Added new
statuspropertycredit_balance. - Added new
statuspropertyon_foot_in_hangar. - Added new
statuspropertyon_foot_social_space. - Added new
statuspropertybreathable_atmosphere. - Added new
statuspropertytelepresence_multicrew. - Added new
statuspropertyphysical_multicrew.
- VoiceAttack Responder
- The
setstateplugin function now allows variables to be set toNot set.
- The
- Core
- Promote 4.0.1-rc1 to 4.0.1
- Core
- Promote 4.0.1-b5 to rc1
- Core
- Improve speech service detection of older Windows versions.
- Core
- Added a speculative fix for a bug that could prevent speech when the same voice is available from multiple speech synthesizers.
- Refactored to try to improve compatibility with older Windows versions.
- Core
- Fixed a bug that would cause speech volume for some voices to be either 0% or 100%.
- Core
- Unlocked most previously unavailable Windows voices.
- Added support for custom user lexicons (to learn more, search the wiki for "lexicons").
- Fixed a bug that might in some instances make EDDI slow to respond to events.
- Crime Monitor
- Fines are now converted to bounties when a bounty is incurred.
- Improved handling of fines and bounties, particularly with various respawn scenarios.
- Mission Monitor
- Fixed a bug that inverted community goal progression reports when moving between tiers.
- Replaced the mission
typeproperty with a list of missiontags. - Updated missions list to provide the mission name and to provide additional row details by clicking an item on the list.
- Ship monitor
- Fixed a bug that would cause ship roles to not be remembered correctly in 4.0.1-b1.
- Speech Responder
- Events
Respawnedevent added.Mission completedevent updated to record faction effects.Safeevent added.Ship repurchasedevent removed (folded into the newRespawnedevent).
- Functions
- P() function - Touched up star system and body pronunciations
- Scripts
Body reportscript updated to key on the invariant reserve levelBond awardedscript updated to reduce verbosity.Bounty awardedscript updated to reduce verbosity.Bounty incurredscript updated to reduce verbosity.Crime check stationscript updated to more intelligent suggestions about paying off fines and bounties.Crime check systemscript updated to reduce verbosity.Entered supercruisescript updated to report any changes to pending fines, bounties, or claims.Fine incurredscript updated to reduce verbosity.Respawnedscript added.Mission abandonedscript revised to use mission tags.Mission acceptedscript revised to use mission tags.Mission check stationscript revised to use mission tags.Mission check systemscript revised to use mission tags.Mission completedscript revised to use mission tags.Mission expiredscript revised to use mission tags.Mission failedscript revised to use mission tags.Mission redirectedscript revised to use mission tags.Mission warningscript revised to use mission tags.Route detailsscript revised to use mission tags.
- Events
- Core
- Richer event variable documentation (for both the Speech Responder and VoiceAttack).
- Mission Monitor
- Added a tool tip to display the name of each mission.
- Revised mission expiration timers to improve sorting with longer missions and to use a more universal format.
- Speech Responder
- Scripts
- Updated the
Embark,SRV docked,SRV launched, andVehicle destroyedevents to fix a bug with th the SRV deployed warning.
- Updated the
- Scripts
- VoiceAttack Responder
- Added a new plugin context 'volume' to allow commanders to set the text to speech volume from VoiceAttack.
- Event object data is now documented and accessible.
- Fixed scripts invoked from the VoiceAttack
speechcontext having priority 5 rather than priority 3 by default. - Standard variables (e.g. current system variables) are updated immediately after a change rather than with the next event.
- Core
- Promote 4.0.0-rc1 to final
- Inara Responder
- Incorporated Inara API updates for Odyssey (except suit loadouts will be implemented later)
- Speech Responder
- Events
Backpackevent addedBackpack changedevent addedDisembarkevent, revised thefromtaxiproperty tofromtransport(since it will be true for both Apex taxis and Frontline dropships)Dropship deploymentevent addedEmbarkevent, revised thetotaxiproperty tototransport(since it will be true for both Apex taxis and Frontline dropships)Mission acceptedevent variables updated to include micro-resources (on foot items)Mission completedevent variables updated to include micro-resources (on foot items)Ship lockerevent added
- Functions
Emphasize()function tweaked to try to improve compatibility with more voices.Play()function revised to permit a wide variety of audio formats, permit asynchronous playback, and permit custom volumes.
- Scripts
Carrier jumpedscript, revised to correct missing "Information:" verbiage when the engineer report is the only applicable report.Crime reportscript, updated to resolve scripting errors.Engineer reportscript, revised to refine grammar.Jumpedscript, revised to correct missing "Information:" verbiage when the engineer report is the only applicable report.Mission check systemscript, fixed a bug that could prevent the station model from being referenced.Mission completedscript, updated to include micro-resources (on foot items)System reportscript, updated to indicate the security level of the system.
- User Interface
- The current script selection is now remembered after accepting an edited script.
- Events
- Core
- Fixed a bug that caused EDDI to fail to look up engineer systems after new engineers were added to the game.
- Added new microbiologist and mercenary ranks
- Speech Responder
- Events
Commander promotionevent addedCombat promotionevent removed (obsolete)Empire promotionevent removed (obsolete)Exploration promotionevent removed (obsolete)Federation promotionevent removed (obsolete)Trade promotionevent removed (obsolete)
- Scripts
Engineer reportscript updated to more gracefully handle engineers without defined specialties.
- Events
- Inara Responder
- Fixed a missing .dll file that caused the Inara Responder not to load.
- Speech Responder
- Events
Suit purchasedevent added
- Events
- Core
- Added 3 new vehicle types:
- On Foot
- MultiCrew
- Taxi
- EDDI beta releases no longer send to test endpoints for EDDN or the EDSM Responder.
- Fixed a bug that could double-count signal sources when re-logging.
- Fixed a bug that could cause undockable approached settlements to be counted as stations.
- Fixed a bug that had broken access to the
categoryproperty in material objects. - "Conflict zone" signal sources are no longer described as "Combat zone" signal sources.
Starsystemobject properties updated to addscannedbodiesandmappedbodiescounts.
- Added 3 new vehicle types:
- Crime Monitor
- Fixed a bug that caused us to forget the names of known factions when we couldn't connect to a server providing faction data.
- Fixed a parsing error that could occur when trying to parse data for new factions not present in EDDB data dumps.
- Galnet Monitor
- Reduced Galnet article polling from 30s / 2min to 5min / 15min.
- Delayed active monitoring until 5 minutes after we become active in game rather than 5 minutes after EDDI is launched.
- Material Monitor
- Expanded conditions that can trigger a
Material thresholdevent (for example, if the material amount is increased above the minimum) - Fixed a bug that could prevent the
Material thresholdfrom firing when we meet but do not exceed the maximum material threshold. - Fixed a bug that could prevent material counts from being updated for materials no longer in inventory.
- Expanded conditions that can trigger a
- Mission Monitor
- Fixed a bug that temporarily stripped community goal missions from the mission list.
- Fixed a bug that prevented community goal missions from sometimes being identified as community goal missions.
- Speech Responder
- Events
Book transportevent addedCancel transportevent addedCommander continuedevent, new properties added from Odyssey dataDiedevent, revised properties structureDisembarkevent addedEmbarkevent addedLiftoffevent, new properties added from Odyssey dataLocationevent, new properties added from Odyssey dataMicro resources purchasedevent addedTouchdownevent, new properties added from Odyssey data
- Functions
- Revised the
EngineerDetailsfunction to accept a system name as an input. - Updated the ShipCallSign() function to improve formatting and use an optional second parameter to customize the response.
- Updated the ShipName() function to provide appropriate responses when in a taxi or similar, and to document its second argument (which is optional).
- Revised the
- Personalities
- Portuguese default personality updated (thanks to @Kenjiro).
- Scripts
Bond awardedscript revised to more gracefully handle Odyssey contexts.Bounty awardedscript revised to more gracefully handle Odyssey contexts.Carrier jumpedscript updated to announce engineer systems.Community goalscript revised and re-enabled. The event is now written only in response to specific changes in community goal status.Community goalsscript added, updated whenever the game provides updated information on community goals.Diedscript revised to more gracefully handle Odyssey contexts.Engineer reportscript added.Entered normal spacescript updated to provide easier access to invariant bodytype names and to correct a bug around filtering unknown station types.Fuel checkscript revised to more gracefully handle Odyssey contexts.Jumpedscript updated to announce engineer systems.Material thresholdscript updated for expanded triggering conditions.Message receivedscript and properties updated to better support localization.Mission check galaxyscript updated to more gracefully handle community goals.Mission check stationscript updated to more gracefully handle community goals.Mission check systemscript updated to more gracefully handle community goals.Ring hotspots detectedscript updated to correct a bug preventing the script from triggering for miners.Ship arrivedevent updated to use theShipName()function and provide improved phonetics.Ship rebootedevent updated to provide localized and invariant module names rather than ship slots.Signal detectedscript revised to referenceconflict zonesignal sources rather thancombat zonesignal sources.SRV dockedscript revised to add a context variable.SRV launchedscript revised to add a context variable.Swapout checkscript revised to clarify that swapping out the module will reduce your re-buy.
- User Interface
- It is now possible to sort scripts by priority and enabled status.
- It is now possible to search script names, descriptions, and contents with a new filter box.
- It is now possible to disable all scripts at once (either when copying a personality or by accessing a context menu on the
Enabledcolumn header) - Fixed the selected personality combo box losing track of the current selected item when a personality was deleted.
- Variables
- Added boolean values for
odysseyandhorizonsgame states.
- Added boolean values for
- Events
- Status Monitor
- Updated the Status Monitor for Odyssey data and
- Updated status documentation in Variables.md
- VoiceAttack
- Added system variables
{INT:System scanned bodies}and{INT:System mapped bodies}. - Added boolean values for
odysseyandhorizonsgame states.
- Added system variables
- Treat alpha game clients just the same as beta game clients, i.e. do not upload data to live endpoints.
- Promote 3.7.2-rc3 to final
- Core
- Fixed a bug with parsing float / decimal commodity prices.
- Core
- Fixed a bug that caused the
Signal detectedevent to identify non-unique signals as unique rather than the reverse.
- Fixed a bug that caused the
- Frontier API
- Fixed a bug that would re-play the speech "Frontier API connection operational" when the token was refreshed.
- Speech Responder
- Scripts
Bond awardedupdated to more consistently apply the P() function.Commander continuedupdated to move mission check to newMissionsevent.Carrier jump engagedupdated to fix indentation.Crime check systemupdated to more consistently apply the P() function.Data voucher awardedupdated to more consistently apply the P() function.Fuel checkupdated to more consistently apply the P() function.Mission abandonedupdated to more consistently apply the P() function.Mission check galaxyupdated to reduce verbosity.Mission check stationupdated to reduce verbosity.Mission check systemupdated to reduce verbosity and more consistently apply the P() function.Mission completedupdated to more consistently apply the P() function.Mission expiredupdated to more consistently apply the P() function.Missionsadded, triggered at startup when mission information has been updated.Star reportupdated to apply the List() function for notable features.System state reportupdated to remove "the" prefixing faction names (to correct pronunciation of faction names like "The Fatherhood").
- Scripts
- Speech Responder
- Functions
Humanise()revised to leave the interpretation of simple whole numbers like 1000 and 10000 to the culture-specific voice.
- Scripts
Body report summaryupdated to correct some script redundancies and formatting errors.Community goalupdated to fix a formatting issue.Mission acceptedupdated to more consistently apply the P() function with faction names.Mission completedupdated to correct typos.Mission failedupdated to more consistently apply the P() function.Mission redirectedupdated to more consistently apply the P() function.Mission warningupdated to more consistently apply the P() function.Module arrivedupdated to more consistently apply the P() function.Power commodity deliveredupdated to correct a script formatting error.Route detailsupdated to more consistently apply the P() function.Ship arrivedupdated to more consistently apply the P() function.Ship soldupdated to more consistently apply the P() function.Ship sold on rebuyupdated to more consistently apply the P() function.Signal detectedupdated to more consistently apply the P() function.System state reportupdated to more consistently apply the P() function.
- Functions
- Core
- Fixed a bug that caused certain faction names (e.g. "Brazilian Armada X") to throw an exception when passed through the
P()function.
- Fixed a bug that caused certain faction names (e.g. "Brazilian Armada X") to throw an exception when passed through the
- Cargo Monitor
- Cargo value (per unit) is now calculated as a weighted average of acquisition costs (rather than using the galactic average price).
- EDSM Responder
- Fixed a bug that could prevent sending pending sync data to EDSM after a request to stop the responder (e.g. on closing).
- Inara Responder
- Fixed a bug that could prevent sending pending sync data to Inara after a request to stop the responder (e.g. on closing).
- Mission Monitor
- Fixed a bug that could cause the Mission monitor to only process the first stacked mission in a set if all were updated at the same time.
- Revised all missions to use the "Claim" status (rather than using "Complete" in some instances and "Claim" in others) after mission conditions are satisfied.
- Speech Responder
- Events
Modules storedupdated to prevent an exception while testing.Signal detectedupdated to fix a bug that could allow non-unique signals to be flagged as unique.
- Functions
- Added an optional hint string 2nd parameter to the P() function to specify the type of pronunciation override to apply.
- Disabling phonetic speech no longer disables all SSML based functions (e.g.
{Pause()}will no longer cease to work with phonetic speech disabled) - Reorganized the way we store EDDI's custom Cottle functions.
Humanise()revised to fix a bug that created inaccurate descriptions for certain numbers, to return short decimal numbers when they are able to accurately and succinctly describe the number, and to round a little more aggressively for reduced verbosity.
- Scripts
Bodies mappedupdated to default to the current star system if context variableeddi_context_system_nameis not set and updated the P() function utilization.Bodies to mapupdated to default to the current star system if context variableeddi_context_system_nameis not set and updated the P() function utilization.Body materials reportupdated the P() function utilization.Body reportupdated the P() function utilization.Body report summaryupdated the P() function utilization.Body volcanism reportupdated the P() function utilization.Bond redeemedupdated the P() function utilization.Bounty awardedupdated the P() function utilization.Bounty incurredupdated the P() function utilization.Bounty redeemedupdated the P() function utilization.Carrier jump engagedupdated the P() function utilization.Carrier jump requestupdated the P() function utilization.Carrier jumpedupdated the P() function utilization.Commander continuedupdated to set context variableeddi_context_system_name.Community goalupdated the P() function utilization.Data voucher redeemedupdated the P() function utilization.Discovery scanupdated to default to the current star system if context variableeddi_context_system_nameis not set.Empire promotionupdated the P() function utilization.Entered normal spaceupdated the P() function utilization.Exploration data purchasedupdated the P() function utilization.Federation promotionupdated the P() function utilization.Fine incurredupdated the P() function utilization.FSD engagedupdated the P() function utilization.Glideupdated the P() function utilization.Jumpedupdated the P() function utilization.Launchbay reportupdated the P() function utilization.Locationupdated the P() function utilization.Mission acceptedupdated to fix a typo preventing warnings about wanted passengers and to make the mission count both occasional and less frequent for higher commander combat ranks and updated the P() function utilization.Mission check galaxyupdated the P() function utilization.Mission completedupdated to summarize rewards more succinctly and include permit rewards. Community goals now use the localized name rather than "MISSION_CommunityGoal" and updated the P() function utilization.Mission redirectedupdated to filter duplicate similar mission redirects (e.g. from stacked similar missions) and updated the P() function utilization.Module purchasedupdated to better pronounce module class & grade.Module retrievedupdated to better pronounce module class & grade.Module soldupdated to better pronounce module class & grade.Module sold from storageupdated to better pronounce module class & grade.Module storedupdated to better pronounce module class & grade.Module swappedupdated to better pronounce module class & grade.Module transferupdated to better pronounce module class & grade.Modules storedupdated to prevent an exception while testing and to better pronounce module class & grade.Power commodity deliveredupdated the P() function utilization.Power commodity fast trackedupdated the P() function utilization.Power commodity obtainedupdated the P() function utilization.Power defectedupdated the P() function utilization.Power joinedupdated the P() function utilization.Power leftupdated the P() function utilization.Power salary claimedupdated the P() function utilization.Powerplayupdated the P() function utilization.Ship purchasedupdated the P() function utilization.Ship renamedupdated the P() function utilization.Ship transfer initiatedupdated the P() function utilization.Signal detectedSpanish translation updated to fix a typo (missing paranthesis).Star reportupdated the P() function utilization.System distance reportupdated the P() function utilization.System reportupdated to default to the current star system if context variableeddi_context_system_nameis not set and updated the P() function utilization.System state changedupdated the P() function utilization.System state reportupdated to default to the current star system if context variableeddi_context_system_nameis not set and updated the P() function utilization.Touchdownupdated the P() function utilization.Trade data purchasedupdated the P() function utilization.Trade voucher redeemedupdated the updated the P() function utilization.
- VoiceAttack Responder
- Revised
$-output to more clearly render commander phonetic name - Updated VoiceAttack wiki documentation to document implicit variables
$=and$-as variables representing phonetic ship and commander names.
- Revised
- Events
- Core Fixed an exception when calculating distances if the second system were null (for example if a home star system were not set).
- Mission monitor
- Fixed a bug that could cause certain types of missions to flip from "Active" to "Claim" when logging into the game.
- Fixed a bug that caused the station to not be recorded correctly for community goal missions.
- Speech responder
- Scripts
- Updated the
Locationscript to fix reporting station crimes and missions when it should be instead reporting system crimes and missions.
- Updated the
- Scripts
- VoiceAttack responder
- Updated EDDI.vap to correct an issue with landing pads not being reported correctly when queried.
- Core
- If you cancel a jump in your fleet carrier, a one minute cooldown is initiated. A
Carrier cooldownevent is now triggered to signal that this cooldown is complete. - Integrated monitors can no longer be disabled. The EDDP and Galnet monitors operate independently and can still be disabled.
- Rollbar telemetry service can now optionally be disabled by editing configuration file at %appdata%/EDDI/eddi.json.
- Various bug and stability fixes.
- If you cancel a jump in your fleet carrier, a one minute cooldown is initiated. A
- EDDN Responder
- Fixed a bug that could cause the incorrect commodity symbols to be forwarded to EDDN.
- EDSM Responder
- Fixed an issue with queued messages not being sent when the EDSM Responder was stopped.
- Inara Responder
- Fixed an issue with queued messages not being sent when the Inara Responder was stopped.
- Speech responder
- Test scripts can now be canceled by clicking on the "Test" button a second time while test speech is in progress.
- Variables
- Added
factions(faction objects) to the documented properties for thesystemobject. - Added
imports(array of Commodity objects) to thestationobject - Added
exports(array of Commodity objects) to thestationobject - Added
prohibited(array of Commodity objects, requires Frontier API access) to thestation object - Added
planetarystationsandorbitalstationsto thesystemobject - Added
carriersignalsourcesto thesystemobject - Added
solardayandsolarsurfacevelocityto thebodyobject. - The
alreadymappedandalreadydiscoveredproperties of thebodyobject are now nullable - a null value indicates that the exploration status is not yet known.
- Added
- Scripts
- Updated the
Asteroid prospectedscript to fix a typo. - Updated the
Bond redeemedscript to better utilize theHumanise()function. - Updated the
Bounty incurredscript to better utilize theHumanise()function. - Updated the
Bounty redeemedscript to better utilize theHumanise()function. - Updated the
Cargo reportevent and script to use commodity objects for the station prohibited list. - Updated the
Commodity purchasedscript to better utilize theHumanise()function. - Updated the
Commodity sale checkscript to better utilize theHumanise()function. - Updated the
Commodity soldscript to better utilize theHumanise()function. - Updated the
Crime check stationscript to resolve an occasional grammar issue. - Updated the
Data voucher awardedscript to better utilize theHumanise()function. - Updated the
Discovery scan scriptscript improve grammar around recommending a single body to be scanned. - Updated the
Market informationevent and script to restore purchase, sales, and swapout checks when appropriate - Updated the
Mission check galaxyscript to fix a typo. - Updated the
Module purchasedscript to better utilize theHumanise()function. - Updated the
Module retrievedscript to better utilize theHumanise()function. - Updated the
Module soldscript to better utilize theHumanise()function. - Updated the
Module sold from storagescript to better utilize theHumanise()function. - Updated the
Module storedscript to better utilize theHumanise()function. - Updated the
Module transferscript to better utilize theHumanise()function. - Updated the
Ship repairedevent and script to remove hard-coded english strings, standardize handling across stations and fleet carriers, and simplify redundant variables. - Updated the
Ship transfer initiatedscript to better utilize theHumanise()function. - Updated the
Signal detectedevent and script to include a newuniqueproperty and fix a typo - Updated the
System reportscript to separate carriers from stations
- Updated the
- Promote 3.7.0-rc1 to final
- Fixed a bug that could cause the
Ship loadoutevent not to fire if piloting an Eagle with a module slotted in the military slot - Added an alpha channel to the splash screen
- Core
- EDDI standalone now displays a splash screen while bringing up the full UI, to give users immediate feedback that it is launching.
Carrier cooldownevent is now sent to the carrier's owner even if they were not aboard for the jump.- Corrected the timing of the
Carrier cooldownevent. Carrier pads lockedandCarrier jump engagedevents are now correctly cancelled if the carrier's jump is cancelled.
- Speech responder
- Fixed text-to-speech errors introduced in b5 and b6 by reverting the Cottle text rendering package to the old version..
- Frontier API
- Fixed missing client ID in 3.5.3-b5
- Speech responder
Fixed Speech Responder always reporting that script errors are at line zero.- Fixed a typo in the
Mission check galaxyscript.
- Core
Updated Rollbar telemetry service to reduce web traffic when idle and to add some additional context from preceeding eddi.log entries.- Various bug fixes, including fixing a bug that could cause the UI to become de-coupled from the true speech configuration.
- Speech responder
Updated Cottle text rendering package to the latest version.
- Core
- Implemented new
Asteroid crackedandAsteroid prospectedevents. - Nanomedicines are now designated as a rare commodity.
- Disregard bogus "Galactic Mean Price" from Fleet carriers.
- Reduced filesystem polling when Elite is not active.
- Defended against some corner-case IO exceptions.
- Implemented new
- Speech Responder
- When the update server is unreachable, the voice message now says that "EDDI" rather than "I" could not reach it.
- Fixed some edge cases around ship model pronounciation, notably Roman numerals.
- Cargo Monitor
- Fixed a bug where the
needproperty of mission-related cargo did not properly update forCollectmission types.
- Fixed a bug where the
- Core
- Implemented a speculative fix for system visit counts sometimes becoming reset.
- Mission Monitor
- Added new
claimstate for missions where the expiration timer ceases upon completion of mission requirements.AssassinateandMassacremission types, as an example.
- Added new
- Speech Responder
- Updated scripts to improve reporting of crime and mission related information:
Crime check stationCrime check systemEntered normal spaceLocationMission check galaxyMission check systemMission check stationMission completedMission reportTouchdown
- Updated the community translation of the default personality for Brazilian Portuguese.
- Updated scripts to improve reporting of crime and mission related information:
- Frontier API
- Fixed an issue whereby the login process would try to launch a second instance of EDDI and fail.
- Core
- Added support for all documented events etc for the Fleet Carriers update.
- Behave gracefully rather than crashing to desktop when the EDSM servers are timing out.
- Events
- Added new event
Carrier cooldown, triggered when you were docked at a fleet carrier during a jump and it completes its cooldown. - Added new event
Carrier jump cancelled, triggered when you cancel a scheduled fleet carrier jump. - Added new event
Carrier jump engaged, triggered when your fleet carrier performs a jump. - Added new event
Carrier jump request, triggered when you request that your fleet carrier performs a jump. - Added new event
Carrier jump jumped, triggered when you are docked at a fleet carrier as it completes a jump. - Added new event
Carrier pads locked, triggered when your fleet carrier locks landing pads prior to a jump. - Added new event
Flight assist, triggered when you toggle flight assist on or off. - Added new event
Hardpoints, triggered when you deploy or retract your hardpoints. - Updated
Ship repairedscript .
- Added new event
- Inara Responder
- Many performance improvements.
- Speech Responder
- The
scoopableproperty now considers all stars in the system, not just the primary star. - Fixed vocalization of whitespace characters by
Spacialise(). - Fixed
event.stationnot being populated in docking events. - Fixed
event.startlandedandstatus.vehiclenot being populated on startup. - The "Copy Personality" dialog now checks the name that you supply against the existing ones, to stop you from accidentally over-writing one.
- Fixed a crash to desktop if the personality JSON files were hand-edited into an invalid state. Instead an error is logged and the offending JSON file is renamed.
- The
- Text-to-Speech
- Ensured that voice effects (except radio effects and audio gain) are completely omitted when "level of voice processing" is set to zero.
- VoiceAttack
- Fixed an exception that could occur when closing VoiceAttack.
- Fixed a bug (#1666) that could prevent variables
{DEC:System X} {DEC:System Y} {DEC:System Z}from populating upon first entry into a system.
- Speech responder
- UI
- Implemented syntax coloring (and there was much rejoicing). The engine is fully customizable: the UI for that will come later.
- Cancel and OK buttons in secondary windows are now correctly bound to
EscandEnter. - Added context menus (aka right-click menus) to the view, edit and diff windows for scripts.
- Extended
Spacialise()to accept text as well as numbers.- If SSML is enabled, it will render the text using the SSML function
SayAsLettersOrNumbers. - If not, it will add spaces between letters in a string and convert to uppercase.
- If SSML is enabled, it will render the text using the SSML function
- Script fixes:
- Fixed a syntax error in the "FSD engaged" script.
- Fixed missing colons in "System report" script.
- Sundry:
- Enabled Cottle code within the
Transmit()function. - Only ships with the "Explorer" role will recommend bodies to map/scan after honking the FSS in inhabited space.
- Fixed "Sagittarius A *" pronunciation in Cereproc voices.
- Fixed pronunciation of ship names with mark numbers in Roman numerals. Your "Cobra Mk III" is now spoken correctly.
- Fixed pronunciation of "Krait Phantom".
- Applied workaround for Cereproc voices not supporting IPA properly.
- Fixed
Engineer progressedreporting rank but not stage when an engineer is unlocked #1629. - Applied
Humanise()to the credits reported by theBond awardedscript
- Enabled Cottle code within the
- UI
- Mission monitor
- Core
- Fixed shield state events not triggering (#1605).
- Core
- Ensured that all translation resources are now correctly incorporated.
- EDSM responder
- Added defensive code to fail gracefully should the EDSM server have a hiccup and not respond.
- Speech Responder
- Don't repeat the
System state reportwhen returning to a system that we've visited recently. - Fixed a typo in the
Engineer Progressedscript that could cause the Engineer's name to be omitted.
- Don't repeat the
- VoiceAttack Responder
- Fixed a regression in 3.5.0: EDDI not remembering window position or tab position when running as a VoiceAttack plugin.
- Promote 3.5.0-rc1 to final
- Core
- Updated commodity definitions, including adding Agronomic Treatments.
- EDSM Responder
- Fixed EDSM star map credentials not being reloaded when the EDSM responder is reloaded.
- Frontier API
- Fixed an issue whereby loading commander data from the Frontier API could clear other types of commander data.
- VoiceAttack Responder
- Added a VoiceAttack system variable for total bodies.
- Core
- Fixed incorrect conversion to the local time zone when parsing timestamps from the journal and cAPI.
- Ship Monitor
- Fixed alignment of ship status (clean vs hot) to conform with the column header.
- VoiceAttack Responder
- Fixed memory leaks when opening and closing EDDI's main window under VoiceAttack
- Core
- Added new
Inara Responder. - Language setting are now preserved across both Standalone and Voice Attack modes of operation.
- Fixed a general bug concerning order of initialisation, which manifested as the Material monitor only showing owned materials on first run.
- Ensure exploration results are preserved when refreshing a 'stale' star system and the data is not yet available on the server.
- Star system name now available as
systemnameinBody scannedandStar scannedevents. totalbodiesnow referenceable (withinStarSystemobject) after a discovery scan (honk).- Added support for new faction state
Blight(written as "Drought" in the journals).
- Added new
- Cargo Monitor
- Fixed #1465 whereby (for example) when a limpet launch frees cargo space which the refinery immediately uses, the Cargo monitor got out of sync.
- Events
- Added new event
Commander loading, triggered at the very beginning of loading a game. - Added new event
Commander reputation, triggered when your reputation is reported. - Added new event
Ring hotspots detected, triggered when hotspot signals are detected in a ring during a SAA scan. - Added new event
Powerplay, triggered while loading the game (if pledged). - Added new event
Statistics, triggered while loading a game. - Added new event
Surface signals detected, triggered when surface biological and/or geological signals are detected on a body during SAA scan. - Updated the
Body scannedandStar scannedevents with new propertyscantype(AutoScan, Basic, Detailed, NavBeacon, NavBeaconDetail) - Updated the
Commander continuedevent with new propertiesstartlandedandstartdead(true if starting the game either landed or dead, respectively). - Updated the
Community goalevent with new propertiesmaxtierandmaxtierrewards. - Updated the
Jumpedevent to remove the propertiesdestinationanddestdistance(this data is now available via thedestinationsystemobject). - Updated the
LiftoffandTouchdownevents with newnearestdestinationproperty. - Updated the
LocationandJumpedevents contain new propertiespowerandpowerstate(if pledged). - Updated the
Next jump(FSDTargetjournal) event with newjumpsremaininginrouteproperty. - Updated the
Ship targetedevent with newpowerproperty (if pledged).
- Added new event
- Inara Responder
- Simply paste in your Inara API key to have EDDI upload your Commander's progress to Inara. Uploads are batched for every 5 minutes to save bandwidth on both your machine and the Inara servers, and any outstanding events are sent upon game exit.
- EDDI can now also get commander details from Inara, which are accessible via Cottle and VA functions as described below.
- Speech Responder
- UI revised to either
DeleteorResetas script, as appropriate. - Replaced the
List launchbaysscript with scriptLaunchbay report(changed to conform to naming conventions for similar scripts). Added protection in script against empty launchbay data. - Fixed inadvertently disabled hyperlink in the UI "Read about the speech responder's functions here".
- Updated the
Bodies mappedscript to correct a typo. - Updated the
Engineer progressedevent to stay silent by default when written at startup (with empty values, signaling that engineer data has been loaded). - Updated the
Fuel checkscript to reduce verbosity and when very low on fuel to recommend the nearest known star system with a scoopable primary star. - Updated the
FSD engagedscript to report jumps remaining until you arrive at your selected destination. - Updated the
Next jumpscript to provide contextual information for theFSD engagedscript. - Updated the
Jumpedscript to usejumpsremaininginrouteand to remove obsolete propertiesdestinationanddestdistance. - Updated the
System reportscript to enhance the description of powerplay status.
- UI revised to either
- Speech Service
- Added new function
InaraDetailsfor looking up commander details on Inara.
- Added new function
- Status Monitor
- Added new
hyperspaceandsrv_high_beamsproperties. - Added new
slopeproperty (relative to the horizon and only if near a surface)
- Added new
- Translations
- Italian translation is now complete.
- VoiceAttack Responder
- Added new plugin function
inara, allowing commanders to look up the Inara profiles of other commanders in their browsers. - Added new
Status hyperspaceandStatus srv high beamsproperties. - Added new
Status slopeproperty (relative to the horizon and only if near a surface) - Fixed 'cadmium' typo in EDDI.vap file
- Added new plugin function
- Core
- Removed in-process .dll accidentally included with release 3.4.3-b1.
- Core
- Reinstated the
Glideevent. - Fixed a bug preventing the
Material use reportscript from executing correctly.
- Reinstated the
- Speech responder
- Fixed display artefacts on the priority column when scrolling.
- Touched up spacing irregularities in the
Material use report.
- Core
- Fixed issues around navigation routing, including the
Jumpedscript not updating correctly.
- Fixed issues around navigation routing, including the
- Material monitor
- Added
SetandCleardestination buttons.
- Added
- Speech responder
- Fixed a bug with speech queues that could in some circumstances cause EDDI to crash in the middle of combat.
- Revised
Route detailsscript.
- Core
- Application startup no longer waits for network operations to respond before displaying the UI.
- Added vehicle (SLF & SRV) definition and loadout description localization
- Fixed a crash that could occur when looking up information about specific factions.
- Fixed a bug that could cause EDDI to crash / not load with some Windows language settings.
- Speech responder
- Increased EDDI's maximum volume level. Users who prefer prior volume levels should set volume to approximately 80% of their former setting.
- Updated the
Docking grantedscript to include basic landing pad info for surface ports. - Revised
Blueprint make reportandBlueprint material reportscripts to reference localized and updated blueprint data. - Updated documentation for the
BlueprintDetails()function andblueprintobject, available via Help and Variables in the SpeechResponder. - The
FSDJumpevent now includes aconflictsproperty, containing a list ofconflictobjects. - Revised the
System state reportscript to describe all factions in the system rather than just the controlling faction and to describe any conflicts between system factions. - Updated the
Galnet news publishedscript to add an option (enabled by default) to read article titles rather than full article text. - Fixed a bug with the
Bodies mappedscript.
- VoiceAttack responder
- Updated EDDI.vap commands for invoking the
Blueprint make reportandBlueprint material reportscripts.
- Updated EDDI.vap commands for invoking the
- Amended a configuration error in the Frontier API module.
- Cargo monitor
- Fixed a bug that could disable the cargo monitor with translated versions of EDDI.
- EDSM responder
- Fixed a bug that caused EDSM synchronization to slow to a crawl, and optimized database access. Resynchronizing with EDSM will speed database access and is recommended for all pilots.
- Speech responder
- Fixed the character encoding in the French personality file.
- Revised the
System reportscript to gracefully handle systems with no controlling power. - The
Body mappedevent now makes available all of the same body data asBody scanned. - Added new event
Ring mapped(theBody mappedevent will no longer trigger when probing a ring).
- Ship monitor
- Reinstated ship export to EDShipyard, as its developer has returned.
- EDSM responder
- Improved EDSM synchronization for system visits and comments
- Speech responder
- Fixed an issue where star chromaticity wasn't being translated correctly.
- Fixed an issue where certain scan scripts such as 'Star scanned' would sometimes give an error message.
- Revised the
Star reportscript to resolve a couple of minor bugs. - Revised the
Body report summary scriptscript to resolve a couple of minor bugs. - Revised the
System scan completescript to reduce verbosity and increase variety.
- Core
- Reconfigured the installer to improve backwards compatibility between EDDI versions
- Fixed a bug with deep-space system look-ups of EDSM data (where EDSM returns no results)
- Speech responder
- Revised the
Mission faction statescript to gracefully handle faction states like "None". - Fixed a bug with the
MaterialDetails()function when only one parameter was supplied.
- Revised the
-
Core
- All 'Location' events are now processed (repeats of this event are no longer suppressed).
- Added
DockedandLandedEnvironment states. Note that theEnvironmentvariable follows the ship andVehiclevariable follows the commander. - Added
destinationsystem(similar tosystem),destinationstation(similar tostation), anddestinationdistancevariables - Revised
bodyobject definition returned by theBodyDetails()function and revisedBody scannedandStar scannedevent values for better interchangeability of object properties withBody scannedandStar scannedevents.- WAS:
name*, IS:bodyname - WAS:
type*, IS:bodytype- Expanded
bodytypevalues to separatePlanetandMoonbody types
- Expanded
- WAS:
atmospherecomposition, IS:atmospherecompositions(planets and moons only) - WAS:
axialtilt*, IS:tilt - WAS:
bodyclass*, IS:planettype(planets and moons only) - WAS:
distancefromarrival*, IS:distance - WAS
orbitalinclination*, ISinclination - WAS
rotationperiod*, IS:rotationalperiod - WAS:
solidcomposition, IS:solidcompositions(planets and moons only) - Added
stellarsubclass(stars only) - Added
density - Added
scanned - Added
mapped - Added
alreadydiscovered(true if another commander has already submitted a scan of that body to Universal Cartographics) - Added
alreadymapped(true if another commander has already submitted mapping details of that body to Universal Cartographics) - Added
estimatedvalue(this was previously only available from the event variables) - Added
massprobability - Added
radiusprobability - Added
tempprobability - Added
orbitalperiodprobability - Added
semimajoraxisprobability - Added
eccentricityprobability - Added
inclinationprobability - Added
periapsisprobability - Added
rotationalperiodprobability - Added
tiltprobability - Added
densityprobability - Added
ageprobability(stars only) - Added
absolutemagnitudeprobability(stars only) - Added
gravityprobability(planets and moons only) - Added
pressureprobabilityplanets and moons only)
- WAS:
- Revised
systemobject definition- Added
isgreen, true if bodies in this starsystem contain all elements required for FSD synthesis - Added
isgold, true if bodies in this starsystem contain all elements available from surface prospecting - Added
estimatedvalue, the estimated exploration value of the starsystem (includes bonuses for fully scanning and mapping)
- Added
- Updated estimated scanning and mapping value calculations.
-
Crime Monitor
- New monitor tracks all bond & bounty awards and fines & bounties incurred.
- Monitor attempts to determine the minor faction's 'home system' via its name, but defaults to system presence with highest influence.
- Minor faction's 'home system' may be manually entered and is archived for future use.
- 'Add Record' button allows manual addition of claims, fines & bounties.
- 'Find Legal Facilities' button allows standalone users to locate the nearest 'Legal Facilities' contact.
- New
FactionRecordandFactionReportproperties, available via Cottle scripting. See theVariableswindow for details. - Tracks all ships you have targeted within the current system. Data available in
shiptargetsas a list ofTargetproperties.
-
Galnet monitor
- Fixed a bug causing the Galnet monitor to occasionally reset the read status of articles.
-
Material Monitor
- Added 'Find' buttons for the nearest
encoded,manufactured&rawMaterials Traders andguardian&humanTechnology Brokers.
- Added 'Find' buttons for the nearest
-
Mission Monitor
- Added 'Find Route', 'Next Route', 'Update Route', and 'Clear Route' buttons to give standalone users access to missions routing functionality.
-
Navigation Service
- Consolidated all
RouteDetails()functionality. - Added
facilitatorroute type toRouteDetails(), which finds and sets theDestinationproperties to the nearest 'Legal Facilities' contact. - Added
encoded,manufactured&rawtoRouteDetails(), which finds and sets theDestinationproperties to the nearest Materials Trader. - Added
guardian&humantoRouteDetails(), which finds and sets theDestinationproperties to the nearest Technology Broker. - Destination system, distance & station data populated & maintained by
RouteDetails(). Distance re-calculated after each jump. - The
missionsRouteList&missionsRouteDistanceproperties simplified toRouteList&RouteDistance, respectively.
- Consolidated all
-
Ship Monitor
- 3.4 Update
Loadoutjournal event additionsunladenmassandmaxjumprangeincluded in theShipobject. - FSD
optimalmassretrieved from engineering data and used to calculatemaxfuelperjumpproperty.
- 3.4 Update
-
Speech responder
- The
Humanise()function now supports negative numbers. - The
MaterialDetails()function has been revised to optionally recommend the body with highest concentration of a material, given a material name and star system name. - The
P()function now converts roman numerals in planet classes (e.g. Class II gas giant) into numbers (e.g. Class 2 gas giant) to ensure proper pronunciation. - The
P()function has been revised to correct mispronunciations of body names ending in "a" or "g" - The
Spacialise()function no longer adds an extra space at the end of the string. - Added
JumpDetails()Cottle function call to provide useful jump infomation based on ship loadout and fuel level. SeeHelp&Variableswindows for details. - Added
TrafficDetails()Cottle function call to provide information on traffic, deaths, and hostilities in a star system. SeeHelp&Variableswindows for details. - Added
unladenmassandmaxjumprangeproperties to theLoadoutevent handler. - Added
distancefromstarproperty to theLocationevent. - Added vehicle ID for SLF/SRV related events.
- Added
Crime check systemscript to report wanted status and 'legal facilities', upon entering the system. - Added
Crime check stationscript to report 'legal facilities', upon entering normal space, next to station. - Added
Bodies mappedscript to allow reporting which bodies in the system have already been mapped. - Added
Bodies to mapscript to allow reporting recommendations of bodies to map (configurable in the script). - Added
Body report summaryscript to allow reporting of summary body data, taking into account statistically unusual bodies. - Revised
Entered normal space,Glide,Location, andNear surfaceevent variables for better interchangeability with theBodyDetailsfunction.- WAS:
body*, IS:bodyname - WAS:
system*, IS:systemname
- WAS:
- Revised
Approached settlementevent to include thebodynameof the settlement. Star scannedscript revised. Preference added for reporting stellar class. Corrected edit scars. Refactored to reduce redundancies.Body volcanism scriptrevised. Corrected edit scars and added a little more variety to the script.- Revised
Exploration data soldevent and revised script.- Added variable
total, describing the total credits received (after any wages paid to crew and including for example the 200% bonus if rank 5 with Li Yong Rui) - Removed variable
firsts(it is no longer supported by post 3.3 batch selling of exploration data).
- Added variable
- Revised
Discovery scanscript to report the number of bodies remaining to be scanned while your ship's role is eitherexplorationormultipurpose. - Revised
Star reportscript to incorporate new variables documented above. - Revised
System scan completescript to recommend bodies for mapping (using the newBodies to mapscript) and to identifygreenandgoldsystem discoveries while your ship's role is eitherexplorationormultipurpose - Revised
Body atmosphere reportfor better handling of Earth-like worlds. - Revised
Body mappedscript. By default, the fullBody reportscript is now given after this event completes rather than afterBody scanned. Optionally recommends other bodies in the system for mapping. - Revised
Body materials reportscript to optionally report material percent concentrations. - Revised
Body reportscript to correct some errors identified by users (terraformable bodies will now be reported as such). - Revised
Body scannedscript to include option to useBody report summaryscript. - Revised
Body volcanism reportto touch it up. - Revised
Signal detectedscript to allow users to better customize signal detection (particularly for rare signal types). - Variables from the following scripts have been revised to add new variables and improve consistency between events.
Glideevent (body => bodyname, system => systemname)Locationevent (body => bodyname, system => systemname)Near surfaceevent (body => bodyname, system => systemname)
- Revised
Jumpedscript to provide a (reasonably) accurate jump range, based on total ship mass. - Revised
Route detailsscript to handle newencoded, guardian,human,manufacturedandraw` route queries. - Revised
Ship targetedscript to utilize newshiptargetsobject to preclude reporting on previously scanned ships. Signal detectedevents are no longer suppressed outside of fss mode.
- The
-
Status monitor
- Added
legalstatus, the ship's current legal status. Can be one of- "Clean",
- "Illegal cargo",
- "Speeding",
- "Wanted",
- "Hostile",
- "Passenger wanted", or
- "Warrant"
- Added
bodyname, the name of the current body (if landed or in an srv) - Added
planetradius, the radius of the current body (if landed or in an srv) - Added
altitude_from_average_radius, true if the altitude is computed relative to the average radius (which is used at higher altitudes) rather than surface directly below the srv
- Added
-
Voice Attack
- Added
Destination system,Destination system distance, andDestination stationproperties. - Added
{TXT:Status legal status} - Added
{TXT:Status body name} - Added
{DEC:Status planet radius} - Added
{BOOL:Status altitude from average radius} - Added
jumpdetailsplugin invocation to provide useful jump infomation based on ship loadout and fuel level.
* For noted properties, old property names are preserved for legacy script compatibility
- Added
- Core
- Added localised names for the Advanced Docking Computer and Supercruise Assist modules.
- Galnet monitor
- Restored multi-lingual access.
- No longer loses its place if a web request times out or fails.
- Speech responder
- Added event
System scan complete, triggered when all bodies in the star system have been discovered. - Added new function
GetFaction()to obtain details about a faction. - Revised faction object to allow reporting faction data spanning multiple star systems.
- Added event
- Voice Attack
- Fixed a bug that would incorrectly disable invoked speech while
disablespeechresponderwas set.
- Fixed a bug that would incorrectly disable invoked speech while
- Speech responder
- Preliminary Portuguese version of the default personality script.
- Speech responder
- Fixed some minor errors re plurals etc in the mission reports and fuel check scripts.
- Commander details
- Added auto-complete for the home system and squadron system and catered for two-character system names such as 'Ix'.
- GalNet monitor
- Restored access using the new RSS feed, but it's English-only for now unfortunately.
- Journal monitor
- Fixed a bug that would prevent new file header events from registering when Elite Dangerous was restarted with EDDI running.
- Ship monitor
- Dropped access for EDShipyard.com as it is no longer being maintained.
- Speech responder
- Fixed a bug that would cause Test scripts to only be written to file and not voiced.
- Amended layout of the 'Delete' button.
- VoiceAttack responder
- Reduced CPU utilization significantly in some cases, particularly when interacting with the ship monitor and when loading the last journal file.
- Core
- Fixed a bug whereby names of materials (Carbon, Iron, Conductive Components, etc) were not always localized.
- Cargo & Mission monitors
- Improved efficiency in 'LogLoad' handling of mission-related events.
- Minimize cargo & mission monitor.json writes.
- Localization
- Added Brazilian Portuguese localization.
- Increased coverage of the Russian localization.
- Updated the Spanish default speech personality.
- Ship monitor
- Fixed a lock-up that could occur when opening the ship monitor from VoiceAttack.
- Speech responder
- Implemented speech priorities as follows:
- 1 - high priority, interrupts other speech.
- 2 - high priority.
- 3 - standard priority.
- 4 - low priority.
- 5 - low priority, interruptible by any higher priority speech.
- Added new types to the
RouteDetails()Cottle function:- 'cancel' - Cancel the currently stored route.
- 'next' - Get the next destination in the currently stored route.
- 'set' - Set the destination route to a single system.
- All
RouteDetails()types now update theMissions routeeventrouteanddistancevariables. RouteDetails()'update' function re-calculates the route when other than the 'next' system is removed.
- Implemented speech priorities as follows:
- VoiceAttack responder
- Improved event responsiveness.
- Reduced CPU utilization.
- Restored missing home system variables.
- Revised VoiceAttack integration documents with updated guidance on accessing home and squadron variables.
- Documented methods for using speech priorities with
sayandspeechplugin functions.
- Frontier API
- Fixed missing client ID in 3.3.5
- Core
- Miscellaneous minor bug fixes.
- Added Russian translations.
MarketInformationUpdatedevent no longer triggers when cAPI is down. As a result, this event will not consistently trigger following aDockedevent.
- Mission monitor
- Fixed a 'deadlock' vulnerability in the derived
Mission expiredevent creator which would freeze EDDI.
- Fixed a 'deadlock' vulnerability in the derived
- Speech responder
- Fixed "Engineer progressed" script to account for stages other than getting a new blueprint level.
- Fixed punctuation in the "Fuel check" script.
- VoiceAttack
- Improved variable setting efficiency by adding granularity via 'Update' event handling.
- Added information command to EDDI.vap to test status variables.
- Speech responder
- Fixed a bug that would cause star scans to accumulate until the FSS scanner was opened.
- Fixed a bug that could prevent proper lookup of bodies using the
BodyDetails()function. - Added new
Next jumpevent - Added new top level object
nextsystem- likelastsystembut for the next system you are visiting. e.g. "Our next waypoint is {nextsystem.name}".
- VoiceAttack
- Added new
Next systemvariables
- Added new
- Frontier API
- Fixed missing client ID in 3.3.4-rc2.
- Core
- Added
SquadronStartupevent handler. Docked,FSDJump, andLocationevents now pass Faction objects. Localized state, government & allegiance properties are still derived for use in Cottle & VA.
- Added
- Localization
- Fixed crashing bug in the Italian localization.
- Added Russian localization (no translations yet).
- Bug fixes for database transactions
- Bug fixes for changes to journal events in Elite Dangerous patch 3.3.03
- Speech responder
- Easier control for the
Message receivedscript:- Up-front settings for
spokenChannelsandspokenNpcSources: each item can be settrue(spoken) orfalse(not spoken). - the npc sources "Cruise liner", "Passenger liner", "Station" and "Wedding convoy" default to false -- and there was great rejoicing.
- the "starsystem" channel defaults to false to prevent overwhelming EDDI with messages in systems with high player counts.
- Up-front settings for
- Revised the
System reportscript so that it won't report a "None" government type.
- Easier control for the
- Core
- Added manual market, outfitting and shipyard updates, upon docking. Associated EDDN message is sent.
- EDDI will now sync to the most current journal on startup (dramatically improving the accuracy of data available after startup)
- Event responder
Empire promotionAdded the integer rank rating associated with the current promotion.Federation promotionAdded the integer rank rating associated with the current promotion.
- Ship monitor
- Added new values to the current ship:
hullhealth&hot - Added
Hotproperty to the Ship monitor UI - Added new values to modules:
hot,modification,engineerlevel, andengineerquality - Updated module-related events to handle engineering modification data
- Added
Stored shipsevent handling, triggered when theShipyardscreen is selected in-game. - Added
Stored modulesevent handling, triggered when theOutfittingscreen is selected in-game. Newstoredmoduleobject properties are available in Variables.md
- Added new values to the current ship:
- Speech responder
- Revised
Empire promotionscript to include rank specific rewards. - Revised
Federation promotionscript to include rank specific rewards. - Revised
Mission completedscript to remove rank rewards.
- Revised
- VoiceAttack plugin
- EDDI will no longer lose track of position data when you pass through a system where your squadron minor faction has influence.
- Emergency hotfix for a breaking change in the way fuel levels are reported.
- EDDN responder
- Made revisions to guard against reporting inaccurate star position data to EDDN.
- The EDDN responder will now provide an audible warning if it detects that location data is in an invalid state.
- Mission monitor
- Updated the mission monitor to fix a parsing error for donation mission entries created by a change in how these are recorded.
- EDDN responder
CodexEntryevents are bugged and always return a SystemAddress of 1. These must be ignored by the EDDN responder to prevent sending bad data.
- Speech responder
- Fixed a bug in the way that the status of friends is tracked, and fixed the broken
Testbutton for theFriends statusevent.
- Fixed a bug in the way that the status of friends is tracked, and fixed the broken
- Core
- All drop-down menus are now sorted appropriately.
- Internal fixes and efficiency improvements.
- EDDN responder
- Corrected an issue that was preventing certain event types from being sent to EDDN.
-
Core
- Fixed a bug that could result in rotational and orbital periods being reported as much faster than they really were.
- Fixed very low hab zone values in
Star scannedevents - The
bodyobject now includes a newshortnameproperty (removing the system name if it is part of the body name) - The
bodyobject now includesestimatedhabzoneinnerandestimatedhabzoneouterfor stars. - The
Body scannedevent has been revised to include new data. - Added
factionobject. Check theVariableswindow for details. - Added squadron data to Commander details UI & the
cmdrobject. Details in Variables.md - Squadron data updated in
LocationandFSDJumpevents, when in squadron home system.
-
Frontier API
- This has been disabled for the time being, due to changes that Frontier made to the authentication protocol without any transition period.
- Unfortunately this means that EDDI is temporarily blind to market, outfitting and shipyard data. We will rectify this in EDDI 3.3.1 by reading the local journal files, but that will require visiting the screens in question in-game.
- This has been disabled for the time being, due to changes that Frontier made to the authentication protocol without any transition period.
-
Ship monitor
- Added new value to the current ship:
ident
- Added new value to the current ship:
-
Speech responder
- Fixed system messages triggering the
Message receivedevent. - Added new channels to the
Message receivedevent: "squadron" and "starsystem" - Added new event
Body mapped, triggered after mapping a body with the Surface Area Analysis scanner - Added new event
Discovery scan, triggered when performing a full system scan (honk) with the FSS - Added new event
Signal detected, triggered when a signal source is detected - Added new event
Squadron status, triggered status of squadron has changed (applied,created,disbanded,invited,joined,kicked,left). - Added new event
Squadron rank, triggered when squadron rank has changed. - Updated
Jumpedevent to contains the name of the star at which you've arrived - Updated
JumpedandLocationevents to contain details about the status of factions. - Updated
Entered signal sourceevent by adding new variablelocalizedsource - Revised
Body reportevent script. (1) (2) - Revised
Body scannedscript. - Revised
Star scannedevent script - Revised
Star reportscript (1) (2) - Added
Body atmosphere reportscript. (2) - Added
Body materials reportscript. (2) - Added
Body volcanism reportscript. - Added
Star habitable zonescript.
(1) In the interest of brevity, the default
Body reportandStar reportscripts now will only be used if your ship's role is set to eitherMultipurposeorExploration. (2) Script contains aPreferencessection for setting user preferences about the details reported. - Fixed system messages triggering the
-
Status monitor
- The status object has new values for:
- HUD analysis mode
- Night Vision mode
- New GUI modes
- Orrery view
- FSS mode
- SAA mode
- Codex
- Fuel (for ship or SRV)
- Fuel percentage
- Fuel time remaining (in seconds)
- Cargo carried (in tons)
- The status object has new values for:
- Core
- Fixed a bug that could reset system comments, visits, and the date last visited while refreshing star system data.
- Material monitor
- Revised material rarities and default material maxima (material maxima are recalulated to the following values if not set):
- (Thargoid) Propulsion Elements (Very Rare - 100 MAX)
- (Thargoid) Weapon Parts (Rare - 150 MAX)
- Pattern Alpha Obelisk Data (Rare - 150 MAX)
- Pattern Beta Obelisk Data (Rare - 150 MAX)
- Pattern Gamma Obelisk Data (Rare - 150 MAX)
- Polonium (Rare - 150 MAX)
- Antimony (Rare - 150 MAX)
- Revised material rarities and default material maxima (material maxima are recalulated to the following values if not set):
- Speech responder
- Added new event
EngineerContributed, triggered when contributing resources to an engineer in exchange for access. - Added new function
EngineerDetails()for accessing information about relations with engineers. - The
cmdrobject now includesengineers. - Updated documentation to describe
Engineerobject andEngineerDetailsfunction. Docked event: Addedwanted,activefine, andcockpitbreach.Engineer progressedevent: Addedstage,rankprogress, andprogresstype.Modification appliedevent: Removed. This event was redundant withModification craftedand is no longer written by the game as of Elite Dangerous version 3.0.Modification craftedevent: Addedmodule,quality, andexperimentaleffect.Settlement approached: Addedlatitudeandlongitude.- The
Voice()function now tolerates incomplete voice names (EDDI will return the first matching voice) and casing no longer matters. - Added new function
VoiceDetails()for accessing details of installed voices while scripting.
- Added new event
- Localization
- Material locations have been moved from the update server to the app and are now a translatable resource.
- Speech responder
- Tweaked pronunciations of "Megaship" and "Orbis" in English. Tweaked pronuncations are available via the
P()function.
- Tweaked pronunciations of "Megaship" and "Orbis" in English. Tweaked pronuncations are available via the
- Core
- Fixed crash to desktop when the folder
%APPDATA%\EDDIdoes not exist.
- Fixed crash to desktop when the folder
- Localization
- Imported latest translation files.
- Speech responder
- Tweaked pronunciations of "Megaship" and "Orbis" in English.
- Amended "Entered normal space" script for cases when dropping near a non-station settlement.
- Core
- Fixed scan message spam upon scanning a Nav Beacon.
- Localization
- Added translation files for Mission Monitor.
- VoiceAttack responder
- Fixed a bug that prevented the
shutupcommand from firing correctly.
- Fixed a bug that prevented the
- Localization
- Added resource files for Japanese (no translations yet).
- Core
- EDDI now uses EDSM as the primary backend for server data (rather than the no longer maintained server set up by EDDI's original creator)
- Strings returned from the player journal and from server data have been standardized and should match each other much more closely than they have in the past.
- Variables.md has been updated with new fields available for our core data objects: Body, Station, and System
- Body: Atmospheric composition data, made available from
atmospherecompositions - Body: Solid body compositon data, made available from
solidcompositions - StarSystem: Starsystem permit data, made available from
requirespermitandpermitname(for the SystemDetails() method only - this info is not published to the player journal) - The semi-major axis of the planetary orbit is now given in light seconds, rather than in meters
- Body: Atmospheric composition data, made available from
- Localization: new translatable strings pertaining to body, station, and system data have been added
- Speech responder
Docked event: Addedsecondeconomy.
- VoiceAttack responder
- Amended reporting of cargo & limpets carried.
- Speech responder
- Fixed an error converting a string, such as a ship ID, to the ICAO alphabet that was empty or all symbols (an empty string should result).
- Ship monitor
- Fixed a bug that would cause fighters to be written to the ship monitor
- Status monitor
- Recalibrated the
ShipFSDeventcharging completenow triggers at a more appropriate time.- Added new FSD status -
charging cancelled.
- Recalibrated the
- VoiceAttack responder
- Added command to open ships in EDShipyard
- When commands for EDDB, EDShipyard, or Coriolis are invoked, the applicable uri will be written to
{TXT:EDDI uri}. - Updated EDDI.vap to set the optional boolean
{BOOL:EDDI open uri in browser}in applicable commands for EDDB, EDShipyard, and Coriolis. If set to false, EDDI shall not open the browser.
- Core
- Fixed a bug in our JSON deserialization code that led to variables changing which were expected to remain constant. This manifested in various ways, including:
- Ship roles changing in unexpected ways
- The ship role drop-down menu becoming scrambled
- System state reporting becoming scrambled or fixated on a particular state
- Fixed a bug in our JSON deserialization code that led to variables changing which were expected to remain constant. This manifested in various ways, including:
- Cargo monitor
- Fixed double report of 'Cargo updated'.
- Mission monitor
- Fixed Mission Warning event reporting wrong expiry #875
- Fixed Entered Normal Space event incorrectly reporting I'm near my last station #876
- Moved body gravity reporting to 'Glide' event script.
- Speech responder
- Fixed Mission warning 'minutes' remaining and 'Entered normal space' script for planetary ports.
- Core
- Implemented log rotation. EDDI will now create a new log file every time it starts, and shall retain no more than 10 log files before it starts clearing the old logs. Immense log files are a thing of the past.
- Added data definitions for Guardian fighters.
- EDDP monitor
- Fixed a bug that prevented selection of any state other than
(anything)and blocked filter input when any state other than(anything)was selected.
- Fixed a bug that prevented selection of any state other than
- Galnet Monitor
- Updated category assignments to match updated article format from Frontier Developments
- Localization
- Fixed a bug preventing localized module names from being displayed correctly within the ship object.
- The filters used to assign categories to Galnet articles in the Galnet monitor are now a translatable resource.
- The category names for categories assigned to Galnet articles in the Galnet monitor are now a translatable resource.
- The source url used by the Galnet monitor for each language is now a translatable resource. For languages that do not have official Galnet feeds, translators may create unofficial feeds that follow the same format as the official Galnet feeds for use with EDDI.
- Ship Monitor
- Added 'Module info' event
- Speech responder
- Revised
Galnet news publishedscript to identify interesting articles by category. - Added new event:
Glide, triggered when your ship enters or exits glide near a planet's surface - Revised script:
Entered normal spaceto omit a pause if it is immediately following a glide event and to check whether gravity is set prior to reporting gravity. - Revised script:
Star scannedto allow us to fix pronunciations of stellar class (some voices renderedTTSclass stars astext-to-speechclass stars).
- Revised
- UI
- Enhanced IPA help with additional links.
- Corrected window size to prevent UI elements from being hidden / obscured at the default window size.
- Minor visual enhancements.
- Voice Attack plugin / Speech synthesizer
- Improved stability by switching to using a single speech synthesizer instance (kudos to VoiceAttack's developer for working with us on this).
- UI
- Tabs are now shown on the the left, and all but the first "EDDI" tab are sorted alphabetically according to the rules of the current locale.
- New Mission monitor feature, tracking all mission parameters. Check the Speech responder
Variableswindow for details.- New
Mission expiredevent, triggers when a mission has expired. - New
Mission warning' event, triggers when a mission expiration is within the 'warning' threshold, set in theMission monitor` tab.
- New
- Speech responder
- New
MissionDetails()function for Cottle scripting to access mission data. - New
RouteDetails()function for Cottle scripting to query for various mission routes.expiring- The destination of your next expiring mission.farthest- The mission destination farthest from your current location.most- The system with the most missions.nearest- The mission destination nearest to your current location.route- The "Traveling Salesman" (RNNA) route for all active missions.update- The next mission destination, once all missions in current system are completed.
- New
Missions routeevent to provide pertinent data for mission route queries. - New
Missions routescript to report the results of theMissions routeevent. - New
Mission check galaxyscript, which reports all active missions. - New
Mission check systemscript, which reports active and completed missions in your current system. - New
Mission check station, which reports active & completed missions, if docked or station in vicinity. - Revised
Commander continuedscript to include theMission check galaxyscript. - Revised
LocationandJumpedscripts to include theMission check systemscript. - Revised
Location&Entered normal spacescripts to include theMission check stationscript.
- New
- Voice Attack plugin
- New
missionsrouteexternal function to query for various mission routes from VA. See RouteDetails() above for query types.
- New
- Core
- Added data definitions for Beyond Chapter 3 (game v3.2).
- Cargo monitor
- Added support for solo delivery missions using the mission depot.
- Additional Italian translations.
- Fixed an exception that occurs during location events if not docked.
- Core
- Fixed a bug that was preventing some events from being passed to EDSM.
- Added more Italian localization.
- Cargo monitor
- Fixed tracking of black market cargo.
- Fixed tracking of cargo sold to the mission depot.
- Added CargoDetails() and HaulageDetails() functions for Cottle scripting.
- EDSM responder
- Fixed a crash when parsing an invalid EDSM configuration.
- Now sends SystemAddress and marketId information.
- EDDN responder
- Removed the
Wantedtag from the data we send to EDDN, since all data submissions should be anonymized. - Now sends SystemAddress and marketId information.
- Alpha and beta builds will now use EDDN's test endpoints.
- Removed the
- Ship monitor
- EDDI will now open shipyard links to coriolis.io rather than edcd.coriolis.io (at Coriolis dev's request).
- You will need to MIGRATE your ships!
- The Coriolis dev team has prepared a handy video to show you how.
- Fixed a bug that was preventing full module details from being saved to our config files correctly.
- EDDI will now open shipyard links to coriolis.io rather than edcd.coriolis.io (at Coriolis dev's request).
- Speech responder
- Revised the
Ship targetedscript so that it won't repeat whenever switching targeted subsystems. - Added
Cargo scoopevent - Added
Landing gearevent - Added
Lightsevent - Added
Bounty paidevent - Updated the properties available from the
Fines paidevent. (Note that legacy fines were discontinued with Elite Dangerous version 3.0, thelegacyboolean has been removed from this event.)
- Revised the
- Status monitor
Status.hardpoints_deployedis now locked to false while we are in supercruise.
- VoiceAttack responder
- EDDI.vap (for VoiceAttack users)
- Fixed a typo in the description of the
((EDDI: station variables))command - Fixed a missing
;in the commandPlease repeat that;What was that?;Could you say that again?;Say that again
- Fixed a typo in the description of the
- EDDI.vap (for VoiceAttack users)
- Released!
- EDDN responder
- Fixed symbol for Krait Mk II in shipyard data.
- Release builds of EDDI will now use the live EDDN endpoints.
- Core
- Fixed some sitations on which hull health was incorrectly being set to 100%. Unfortuntely not all sources of hull damage are currently reported in real-time in the journal, so EDDI may sometimes remain unaware of new damage for a while.
- Fixed a bug that could occur when hull and module values aren't present in the
Loadoutevent.
- EDDN responder
- Fixed an issue whereby average prices where not being sent.
- Fixed an issue with the parsing of stock and demand bracket JSON which can be either
intorstring. - Added test coverage for the above.
- VoiceAttack responder
- Found and fixed the remaining cause of excessive CPU load. It should now be back to 3.0.0 levels.
- Core
- Removed
insurance excessfrom the user interface and theinsuranceproperty from the top levelcommandervariable. FDev now gives us rebuy values directly, so this is no longer needed.
- Removed
- Ship monitor
- Fix ship value and model (for unnamed ships) not being updated correctly in the Ship Monitor.
- Speech responder
- Updated the
Loadoutevent to include new properties.- "hullvalue" The value of the ship's hull (less modules)
- "modulesvalue" The value of the ship's modules (less hull)
- "value" The total value of the ship (hull + modules)
- "rebuy" The rebuy value of the ship
- Revised
Insurance checkscript to take advantage of the new ship "rebuy" property. - Added variety to the
Ship targetedscript and made it less verbose, as it fires a lot in the heat of combat.
- Updated the
- EDDN responder
- Fixed an issue whereby incomplete commodity data could be sent to EDDN.
- VoiceAttack responder
- Dramatically reduced CPU load.
- Core
- Added data definitions for the new ships and modules in Chapter 2.
- Core
- Revised EDDI's logging code and removed an unintended recursion that could cause the log to bloat.
- Core
- The Search and rescue event was having its
commodityproperty set to just the commodity name, rather than the commodity definition object that scripts expect. Fixed. - Updated the
Ship refueledevent to include new boolean valuefull. True if this is a full refill and false if this is a partial refill. - Updated system definition to include new variable
lastVisitSeconds.
- The Search and rescue event was having its
- Speech responder
- Added the following Cottle function, documented in the SpeechResponder documentation:
CommodityMarketDetails()for retrieving market information about commodities.
- Updated the following events to include new properties
stationtypeandstationDefinition:Docking cancelledDocking deniedDocking requestedDocking grantedDocking timed out
- Updated
Commodity sales checkscript to make use ofCommodityMarketDetails()function. - Updated
Docking grantedscript to make use of ofstationtypeproperty. - Fixed a bug that had made
{ship.role}inaccessible via scripts. - Updated
FSD engagedscript to correct a bug that was preventing sub-functionSystem reportfrom ever running. - Updated
Ship refueledscript to correct a bug that would cause it to sometimes report more than 100% fuel after refueling. - Revised punctuation in the various module scripts to speak more naturally (mostly removing commas as in
You have sold a 4-D, Power Plant).
- Added the following Cottle function, documented in the SpeechResponder documentation:
- Cargo monitor
- Discard all cargo if your ship is destroyed.
- Localization
- Fixed the English pronunciation of "Biowaste" by localizing it to "bio-waste". And there was much rejoicing.
- VoiceAttack
- The Search and rescue event has a new variable
{TXT:localizedcommodityname}because thecommodityvaraible is now an object.
- The Search and rescue event has a new variable
- Core
- Fixed issues arising in betas 2 and 3: data written to file by old code was not being read correctly by new code. This manifested in various ways: too many to list.
- As a by-product, we now have rather more test coverage.
- Speech Responder
- Added
Ship targetedevent. - Fixed
Dockedevent not firing. - Fixed planet mass and radius not being reported.
- Fixed inconsistencises in ship name pronunciation in the default personality scripts.
- Added
- Localization
- Updated the localizations for French, Spanish, German, Hungarian and Italian.
- You can join up at https://crowdin.com/project/eddi to help.
- Updated the localizations for French, Spanish, German, Hungarian and Italian.
- Core
- Fixed a bug that was preventing chromaticity and various stellar probabilities from being set in some circumstances.
- EDDI will now track the nearest stellar body and make that data available to EDDI's Speech Responder via the
bodyvariable (planet, moon, etc.).
- EDSM Responder
- Fixed a bug that was resetting system visit totals during syncs with EDSM. Please re-obtain logs from EDSM to update the information in your local database.
- Localization
- Added partial localizations for French, Spanish, German, Hungarian and Italian.
- Please be aware that all these are incomplete work in progress.
- You can join up at https://crowdin.com/project/eddi to help.
- Added partial localizations for French, Spanish, German, Hungarian and Italian.
- Speech Responder
- Added
Silent runningevent. - Updated the 'Near surface' event to include the name of the body that you are approaching or exiting.
- Add a new top level
bodyobject, which contains details of the nearest stellar body. Any values might be missing, depending on EDDI's configuration and the information available about the body.
- Added
- Text-to-Speech
- The
Tranmit()function no longer insists on being the first speech rendered by your script. - The
Play()function no longer insists on being the only element rendered by your script. - Add new audio function
Voice, which allows you to render speech within a script using any installed voice which EDDI recognizes (not just the one selected in theText-to-Speechtab).
- The
- VoiceAttack
- Added the following new variables describing details of the nearest stellar body, with values as described by the 'Body' object
{DEC:Body EDDB id}{TXT:Body type}{TXT:Body name}{TXT:Body system name}{DEC:Body age}{DEC:Body distance}{BOOL:Body landable}{BOOL:Body tidally locked}{DEC:Body temperature}{BOOL:Body main star}{TXT:Body stellar class}{TXT:Body luminosity class}{DEC:Body solar mass}{DEC:Body solar radius}{TXT:Body chromaticity}{DEC:Body radius probability}{DEC:Body mass probability}{DEC:Body temp probability}{DEC:Body age probability}{DEC:Body periapsis}{TXT:Body atmosphere}{DEC:Body tilt}{DEC:Body earth mass}{DEC:Body gravity}{DEC:Body eccentricity}{DEC:Body inclination}{DEC:Body orbital period}{DEC:Body radius}{DEC:Body rotational period}{DEC:Body semi major axis}{DEC:Body pressure}{TXT:Body terraform state}{TXT:Body planet type}{TXT:Body reserves}
- Added the following new variables describing details of the nearest stellar body, with values as described by the 'Body' object
- Localization
- EDDI is now localized! You can choose your language in the EDDI tab or just go with the system default.
- Added French and Spanish localizations, complete at the time of writing, except for the personality scripts.
- Added Italian localization, 4% work in progress at the time of writing.
- The default personality file
EDDI.jsonhas been generalized intoEDDI.fr.jsonetc. However it is clear that this will not scale with the number of supported languages and we will be looking at re-working this in future.
- Text-to-Speech
- Add new audio function
Transmit, which adds a radio effect to speech output. Details on this new function are described in the SpeechResponder documentation.
- Add new audio function
- Ship monitor
- Made sure we are using human readable ship names in all scripts (e.g. "Imperial Eagle" rather than "Empire_Eagle").
- Completely re-written Cargo Monitor. Cargo and limpets should now be tracked accurately.
- Exports to Coriolis and EDShipyard now send data in
Loadoutjournal event format, rather than in the old Frontier API format.
- Core
- Fixed the reporting of the Location event to EDDB. Was using the current body when it should have used the current station.
- Tuned the new logging to Rollbar for quicker startup in some situaitons.
- Added missing definitions for:
- Lavigny Garrison Supplies.
- Shock Cannon
- FdL Cargo Hatch
- Type-10 cockpit
- String of white cockpit lights
- Figher cockpit weapons and armor
- Meta Alloy Hull Reinforcement
- Core
- The EDSM responder has been updated to send data to EDSM per their revised API.
- Switched error reporting to Rollbar.
- Incorporated new material transaction events
- EDDI's Material Monitor will now auto-calculate maximum material limits when they are not otherwise defined, provided the material rarity is known.
- Speech Responder
- Added
Fighter rebuiltevent - Added
Material tradeevent - Added
Technology brokerevent
- Added
- Core
- Incorporated new data definitions for 3.0.
- Installer
- First installations will now take any custom VoiceAttack installation location into account when proposing a location for EDDI.
- Upgrade installations will continue to use whatever location was selected in the first installation.
- Speech Responder
- Added
Jet cone damageevent - Script changes
- Added new script
Jet cone damage
- Added new script
- Added
- VoiceAttack
- Added the following new variables
{BOOL:EDDI speaking}True if EDDI is speaking, false otherwise. Useful for synchronizing speech between EDDI and other sources in VoiceAttack.
- Fixed a bug whereby
cmdr.titlewas not being initialised.
- Added the following new variables
- Core
- Fixed a crash upon startup when the EDSM responder was not configured.
- Fixed a crash upon shipyard refresh when any ships had been sold while EDDI was not running.
- Core
- Squashed a bug that was preventing EDDI from correctly registering changes to the shipyard.
- Squashed a bug with the status monitor that was preventing events from being detected in VoiceAttack and was messing up some other variables.
- EDDI will no longer try to sync data from EDSM while the EDSM responder is disabled, and when syncing EDSM data EDDI will now write to the local SQL database in batches.
- Squashed a bug that was causing EDDI to request and re-process complete EDSM flight logs on every load. Now it'll only request the new stuff since its last update.
- Update Server
- Fixed the outdated TLS protocol usage on EDDI's side whereby the update server began refusing to talk to existing releases of EDDI.
- In future, EDDI will let you know if it cannot reach its update server for any reason.
- Unfortunately, users of all prior versions won't be able to automatically update so please tell your friends that they can manually update to the latest and greatest version.
- Fixed the outdated TLS protocol usage on EDDI's side whereby the update server began refusing to talk to existing releases of EDDI.
- Speech Responder
- Added new 'SRV turret deployable' event. The variable
deployableis a boolean value describing whether the SRV's turret is now available. - Script changes
- Made the 'Fuel check' script more succinct, for less cognitive burden during those buckyballing runs.
- Added new 'SRV turret deployable' event. The variable
- VoiceAttack
- Added the following new variables
{TXT:Gender}the preferred gender of the commander for pronouns and titles. One of "Male", "Female", or "Neither".
- Added the following new variables
- UI
- If EDDI is run as a standalone app, its entire window state is now preserved. If EDDI is invoked via VoiceAttack commands, we only remember whether it was maximised and don't disturb the rest.
- Core
- Added Alliance Chieftan.
- Added decontamination limpets.
- Added recon limpets.
- EDDI will now more readily notice if your SRV or fighter was destroyed (EDDI couldn't always tell before).
- Shipyard
- Speculative fix for the concurrency bug that messes up shipmonitor.json when you buy a ship.
- NPC Comms
- Reporting of NPC comms is much more succint. Was: Message received from "name". Message reads: "blah". Now: From "name": "blah".
- Speech Responder
- Added new 'Near surface' event, triggered when you enter or depart the gravity well around a surface
Added new 'SRV under ship' event, triggered when your SRV enters or leaves the proximity zone around your ship- Added new 'SRV turret' event, triggered when you deploy or retract your SRV's turret
- Added new 'Ship fsd' event, triggered when there is a change to the status of your ship's fsd
- Added new 'Ship low fuel' event, triggered when your fuel level falls below 25%
- Added new 'Under attack' event
- Add new event 'Shutdown', triggered on a clean shut down of the game.
- The 'Vehicle destroyed' event now includes the variable
vehicle, describing the vehicle that was destroyed. - Add a new top level
statusobject, which contains the following new variablesvehiclethe vehicle that is under the commander's control. Can be one of "Ship", "SRV" or "Fighter"being_interdicteda boolean value indicating whether the commander is currently being interdictedin_dangera boolean value indicating whether the commander is currently in dangernear_surfacea boolean value indicating whether the commander is near a landable surface (within it's gravity well)overheatinga boolean value indicating whether the commander's vehicle is overheatinglow_fuela boolean value indicating whether the commander has less than 25% fuel remainingfsd_statusthe current status of the ship's frame shift drive. Can be one of "ready", "cooldown", "charging", or "masslock"srv_drive_assista boolean value indicating whether SRV drive assist is activesrv_under_shipa boolean value indicating whether the SRV in within the proximity zone around the shipsrv_turret_deployeda boolean value indicating whether the SRV's turret has been deployedsrv_handbrake_activateda boolean value indicating whether the SRV's handbrake has been activatedscooping_fuela boolean value indicating whether the ship is currently scooping fuelsilent_runninga boolean value indicating whether silent running is activecargo_scoop_deployeda boolean value indicating whether the cargo scoop has been deployedlights_ona boolean value indicating whether the vehicle's external lights are activein_winga boolean value indicating whether the commander is currently in a winghardpoints_deployeda boolean value indicating whether hardpoints are currently deployedflight_assist_offa boolean value indicating whether flight assistance has been deactivatedsupercruisea boolean value indicating whether the ship is currently in supercruiseshields_upa boolean value indicating whether the ship's shields are maintaining their integritylanding_gear_downa boolean value indicating whether the ship's landing gears have been deployedlandeda boolean value indicating whether the ship is currently landed (on a surface)dockeda boolean value indicating whether the ship is currently docked (at a station)pips_sysa decimal value indicating the power distributor allocation to systemspips_enga decimal value indicating the power distributor allocation to enginespips_weaa decimal value indicating the power distributor allocation to weaponsfiregroupan integer value indicating the ship's currently selected firegroupgui_focusthe commander's current focus. Can be one of "none", "internal panel" (right panel), "external panel" (left panel), "communications panel" (top panel), "role panel" (bottom panel), "station services", "galaxy map", or "system map"latitudea decimal value indicating the ship's current latitude (if near a landable surface)longitudea decimal value indicating the ship's current longitude (if near a landable surface)altitudea decimal value indicating the ship's current altitude (if in flight near a landable surface)headinga decimal value indicating the ship's current heading (if near a landable surface)
- VoiceAttack
- Added the following new variables
- {TXT:Status vehicle}: the vehicle that is under the commander's control. Can be one of "Ship", "SRV" or "Fighter"
- {BOOL:Status being interdicted} a boolean value indicating whether the commander is currently being interdicted
- {BOOL:Status in danger} a boolean value indicating whether the commander is currently in danger
- {BOOL:Status near surface} a boolean value indicating whether the commander is near a landable surface (within it's gravity well)
- {BOOL:Status overheating} a boolean value indicating whether the commander's vehicle is overheating
- {BOOL:Status low fuel} a boolean value indicating whether the commander has less than 25% fuel remaining
- {TXT:Status fsd status} the current status of the ship's frame shift drive. Can be one of "ready", "cooldown", "charging", or "masslock"
- {BOOL:Status srv drive assist} a boolean value indicating whether SRV drive assist is active
- {BOOL:Status srv under ship} a boolean value indicating whether the SRV in within the proximity zone around the ship
- {BOOL:Status srv turret deployed} a boolean value indicating whether the SRV's turret has been deployed
- {BOOL:Status srv handbrake activated} a boolean value indicating whether the SRV's handbrake has been activated
- {BOOL:Status scooping fuel} a boolean value indicating whether the ship is currently scooping fuel
- {BOOL:Status silent running} a boolean value indicating whether silent running is active
- {BOOL:Status cargo scoop deployed} a boolean value indicating whether the cargo scoop has been deployed
- {BOOL:Status lights on} a boolean value indicating whether the vehicle's external lights are active
- {BOOL:Status in wing} a boolean value indicating whether the commander is currently in a wing
- {BOOL:Status hardpoints deployed} a boolean value indicating whether hardpoints are currently deployed
- {BOOL:Status flight assist off} a boolean value indicating whether flight assistance has been deactivated
- {BOOL:Status supercruise} a boolean value indicating whether the ship is currently in supercruise
- {BOOL:Status shields up} a boolean value indicating whether the ship's shields are maintaining their integrity
- {BOOL:Status landing gear down} a boolean value indicating whether the ship's landing gears have been deployed
- {BOOL:Status landed} a boolean value indicating whether the ship is currently landed (on a surface)
- {BOOL:Status docked} a boolean value indicating whether the ship is currently docked (at a station)
- {DEC:Status pips sys} a decimal value indicating the power distributor allocation to systems
- {DEC:Status pips eng} a decimal value indicating the power distributor allocation to engines
- {DEC:Status pips wea} a decimal value indicating the power distributor allocation to weapons
- {INT:Status firegroup} an integer value indicating the ship's currently selected firegroup
- {TXT:Status gui focus} the commander's current focus. Can be one of "none", "internal panel" (right panel), "external panel" (left panel), "communications panel" (top panel), "role panel" (bottom panel), "station services", "galaxy map", or "system map"
- {DEC:Status latitude} a decimal value indicating the ship's current latitude (if near a surface)
- {DEC:Status longitude} a decimal value indicating the ship's current longitude (if near a surface)
- {DEC:Status altitude} a decimal value indicating the ship's current altitude (if in flight near a surface)
- {DEC:Status heading} a decimal value indicating the ship's current heading (if near a surface)
- Added the following new variables
- Core
- Improved window size and position handling for multi-display setups.
- EDDI's UI now clearly shows whether EDDI has found your home system and station (if they haven't been found, the associated objects will not be populated). If EDDI cannot find a match, the textbox will display a red border and the contents will not be saved.
- Fixed an error that could occur when a response isn't received from EDSM.
- Fixed a bug that would cause EDDI to write to the shipyard before it had finished processing shipyard related actions (adding and removing ships)
- Fixed a bug caused by a structure change for the 'Bond redeemed' faction name and amount in the Beyond beta.
- Speech Responder
- Updated 'Bond redeemed' script for better handling with redemption via interstellar factors contacts.
- Updated 'Bounty redeemed' script for better handling with redemption via interstellar factors contacts.
- Added a description for the 'Blueprint' object in the Variables documentation
- Updated the description of the 'Material' object in the Variables documentation
- Fixed out-of-date context for the following scripts
- 'Material collected'
- 'Material discarded'
- 'Material discovered'
- 'Material donated'
- Added new event 'VA initialized', triggered when the VoiceAttack plugin is fully initialized. You can respond to this event in VoiceAttack by creating a '((EDDI va initialized))' command.
- Text-to-Speech
- Re-enabled text-to-speech distortion on ship damage. If this option is enabled, EDDI will now increase voice processing effects as damage to the ship increases.
- Revised text-to-speech audio gain to compensate for volume losses when voice processing effects are applied.
- VoiceAttack
- Augmented VoiceAttack commands to manipulate the EDDI user interface. The following commands are now included in the updated EDDI.vap file:
- 'Configure EDDI',
- 'Open EDDI',
- 'Close EDDI'
- 'Minimize EDDI',
- 'Maximize EDDI',
- 'Restore EDDI' and
- 'Initialize EDDI'
- If there is a problem with a script, EDDI will now tell you which script has the problem rather than leaving you to play the guessing game.
- Augmented VoiceAttack commands to manipulate the EDDI user interface. The following commands are now included in the updated EDDI.vap file:
- Galnet Monitor
- Default the galnet monitor plugin to 'off' in favor of the in-game Galnet Audio. The plugin still can be enabled if desired.
- Core
- Added support for the large AX weapons and the Type 10 Defender (export to EDShipyard and Coriolis should be compatible and work just as soon as they are ready).
- EDDI will now remember and restore its window size and position, the selected tab, and its minimized / maximized status on startup (and there was much rejoicing).
- You can now specify your commander's gender in the "Commander Details" tab. Currently this is only relevant for titles of nobility in the Empire. You can specify "Neither" if you prefer to be addressed as "Commander" in situations where convention would otherwise require a gendered form of address.
- Changes to your home system / station will now be honoured immediately rather than after the next app restart.
- Hardened EDDI against a crash that could occur if the folder containing player journals doesn't exist.
- Smarter vehicle state tracking.
- Found a way to improve support for Cereproc voices. These should now support more of the functions described in the SpeechResponder documentation
- The status of friends observed during your play session is now available under the
cmdrobject.
- Speech Responder
- Add new event 'Vehicle destroyed' (it does not perfectly track vehicle destruction since there are no official player journal events for SRV or fighter destruction - we have to infer vehicle destruction. Still, it's better than nothing.).
- Amended the descriptions for the 'Module arrived' and 'Ship arrived' station and system variables.
- Fixed a bug that was causing parsing all promotion events to fail.
- Fixed a bug with the 'Friends' event. This event will no longer repeat the status of friends when no change has been observed in their status. Deprecated variable
friendand replaced with variablename. - Fixed a bug that was causing the 'Ship arrived' event to report bad arrival locations.
- 'Message received' event:
- Fixed a bug that caused the 'Message received' event to not recognize messages from multicrew commanders as being from players.
- New channel: 'multicrew'. New source: 'Crew mate'.
- 'Docked' event:
- New variables 'allegiance' and 'state'. 'State' is a new variable that is currently used to describe damaged stations and stations under repair.
- 'Mission completed' event:
- Added variables
rewardCommodityandrewardAmount. Useful for cargo tracking.
- Added variables
- 'Search and rescue' event:
- Added variable
commoditynameto provide the name of the commodity turned in, free of the commodity object. Accessible to VoiceAttack as{TXT:EDDI search and rescue commodityname} - Updated 'Search and rescue' event to better distinguish between occupied and damaged escape pods, and to fix a bug in handling wreckage commodities.
- Added variable
- Script changes
- New script 'Report last scan value' to report the estimated value of the last scan with variations - used by 'Star scanned' and 'Body scanned'.
- 'Body scanned' leaves naming the body in question to 'Body report', which no longer repeats the base system name if it doesn't have to.
- Add new script 'Vehicle destroyed'
- Updated 'Data voucher redeemed' script for events where the faction is not defined (such as INRA sites).
- Updated 'Docked' script to report emergency docking differently.
- Removed deprecated 'Jumping' script (replaced by 'FSD engaged' in prior updates)
- Renamed 'Crew member role change' event to 'Crew member role changed' to correct a bug that caused the event to be un-editable. Since the VoiceAttack documentation already indicated to use 'Crew member role changed', there should be no affect on VoiceAttack configurations.
- Updated 'Friends event' to use the new
namevariable. For users of the default script, the default script is now re-enabled. - Updated 'Honorific' script to respect your chosen gender.
- Updated 'Jumped' event to fix a typo that was preventing a call to the new 'Fuel check' script.
- Refined script 'Module arrived'
- Refined script 'Ship arrived'
- Moved empire honorific logic into new script 'Empire honorific'.
- Galnet monitor
- Add a checkbox to the Galnet monitor to toggle whether the Galnet monitor will update all of the time or only if the game has posted a journal event in the last ten minutes. This option prevents Galnet spam upon starting EDDI.
- The Galnet monitor will now check the player journal for recent activity prior to updating - VoiceAttack users rejoice!
- VoiceAttack
- Updated EDDI.VAP to include a new command for marking Galnet article categories as read (documented in the Galnet Monitor documentation.
- Speech Responder
- 'Body scanned' and 'Star scanned' events - added new calculated variable "estimatedvalue".
- 'Star scanned' event - added new calculated variables "estimatedhabzoneinner" and "estimatedhabzoneouter" to provide calculated values for the habitable zone of a scanned star. Note: calculations are most accurate for star systems containing a single star (multiple close proximity stars will make these calculations less reliable).
- 'Bounty incurred' event - added new variable 'crime' with a more humanized description of the crime committed.
- 'Fine incurred' event - added new variable 'crime' with a more humanized description of the crime committed.
- Added new 'Jet cone boost' event
- Added new 'Module arrived' event
- Added new 'Ship arrived' event
- Revised speech responder UI to clarify that the default personality is read-only and a new personality must be generated via the 'Copy personality' prior to editing.
- Revised speech responder UI to clarify for users of custom personalities when a script can be disabled and/or deleted.
- The 'Enabled' checkbox in the Speech responder UI shall now be enabled only for scripts which are triggered by events, not for scripts which are only triggered by other scripts.
- Script changes
- Added new script 'Galnet mark read' to allow users to bulk mark news articles as read.
- Revised script 'Galnet news' to mark the article as read after reading.
- Revised script 'Galnet news published' to mark all articles summarized by this script as read.
- 'Body scanned' - revised to report estimated scan value
- 'Star scanned' - revised to report estimated scan value and calculated habitable zone
- Updated 'Bounty incurred' to describe your crimes with the new 'crime' variable.
- Updated 'Fine incurred' to describe your crimes with the new 'crime' variable.
- Added new script 'Fuel check'.
- Updated 'Jumped' event and 'Ship refueled' event. With the new 'Fuel check' script, 'Ship refueled' will no longer repeat for every 5T refueled.
- Added new script 'Jet cone boost'
- Added new script 'Module arrived'
- Added new script 'Ship arrived'
- Added the following Cottle functions, documented in the SpeechResponder documentation:
List(): returns a humanised list of items from an array (e.g. "this, that, and the other thing").
- Core
- Added defensive coding so that EDDI will not crash on startup if it has trouble reading the configuration files.
- Material Monitor
- Added definitions for some previously unknown materials found at crash sites.
- Added defensive coding so that EDDI will not crash when unknown materials are encountered in future.
- Speech Responder
- Fixed a bug that was causing some SSML related functions (e.g. Pause()) to not render correctly.
- Fixed unit conversion of the star's age in star scans. They should no longer report every star as "one of the oldest".
- Core
- We will no longer ask users to send logs for commodity definition errors (and there was much rejoicing).
- Fixed a time zone snafu that was causing the "Report an issue" button to export empty log files for west of GMT locales.
- EDSM
- Fixed a bug that was preventing EDSM comments from being updated and read.
- Speech Responder
- Added the following Cottle functions, documented in the SpeechResponder documentation:
Emphasize()SpeechPitch()SpeechRate()SpeechVolume()
- 'FSD jump' event - reduced the pause between jumping and speaking.
- Script changes
- 'Star report'
- Amended the age calculations for the fact that age is reported in millions of years, not years.
- Amended reporting of stars less than a million years old.
- Amended the test for Herbig-Haro objects.
- Enhanced the reporting of Wolf-Rayet stars.
- Sundry punctuation tweaks to make the speech more natural.
- 'Entered signal source'
- Thoroughly re-written to better report both human and Thargoid signal sources.
- 'Star report'
- Worked around non-compliance of CereProc voices with industry standards that would cause EDDI to revert to a system default voice.
- Fixed a bug that was preventing the Play() function from working properly
- Added the following Cottle functions, documented in the SpeechResponder documentation:
- Core
- Revised EDDN updating for naming changes in ED 2.4. This makes EDDI 2.4.2 a mandatory update.
- Revised error reporting. The 'Send EDDI log to developers' button is now called 'Report an Issue' and routes users to our Github issues page. If verbose logging is enabled, a zipped and truncated log file is placed on the desktop so that it may be attached to the Github issue.
- Material Monitor
- Fixed a bug that prevented EDDI from recognizing and removing old versions of some data from the Material Monitor.
- We just needed to bump the version number to flush out 2.4.0 builds that didn't understand that 'rc' means 'release candidate'. (Because it's a computer and, guess what, we have to tell it stuff like that.)
- Core
- Eliminated the approx 7 second delay on app startup that was introduced in rc1.
- Speech Responder
- Script changes
- 'FSD engaged'
- Amended test for white dwarf arrival stars to match all subtypes, courtesy of CMDR J. Calvert (Joshua).
- Simplified logic for testing for scoopable stars.
- 'Market information updated'
- Delay 4.5 seconds before speaking market data on docking.
- 'FSD engaged'
- Script changes
- Core
- EDDI will now take commander ratings/rankings from the journal in addition to from the API.
- EDDN market and outfitting updating restored, accomodating 2.4 cAPI changes. Bonus - now sending shipyard data to EDDN!
- Updated Variables.md to include a description of commodities objects and their available properties.
- Fixed a bug where some commanders weren't receiving updates to their EDSM profiles.
- Shipyard
- Export to both Coriolis and EDShipyard is now supported.
- Fixed a bug that was preventing EDDI from retaining full data from the API, thus mucking up exports to 3rd party services.
- The 'Export' button is now disabled when EDDI doesn't have the necessary information about the ship in question.
- Information about engineer modifications will be exported provided you have used the ship at least once in ED 2.4 or later.
- EDDI can now tell you what's in a ship's fighter bays and vehicle hangars.
- Coriolis Export
- Fixed a bug that was preventing EDDI from retaining full data from the API, thus mucking up exports to Coriolis.
- The 'Export to Coriolis' button is now disabled when EDDI doesn't have the necessary information about the ship in question.
- Events
- 'Empire promotion' event added
- 'Federation promotion' event added
- 'Star scanned' event now reports the star's luminosity class and any rings that it has.
- Speech Responder
- Disabled speech for the 'Community goal' event to prevent cg spam (the event still triggers, but it'll be silent until we rework the code for it).
- Fixed the 'Message Received' event for the new 2.4 journal format. EDDI now reads direct messages, local chat and wing comms again.
- Script changes
- 'Empire promotion' - new script
- 'Federation promotion' - new script
- Core
- EDDI can once again track how many limpets you have (and there was much rejoicing).
- The shipyard should now be populated correctly.
- Updated Variables.md to include a description of commodities objects and their available properties.
- EDDI will now capture a timestamp that can be used internally by EDDI to compare journal and API data.
- Events
- Revised 'Community goal' event - event expiry is now given in seconds from now.
- Update 'Message received' event for Frontier's (undocumented) changes to player message entries
- 'Location' event & 'Jumped' event - fixed a bug that would cause some high population systems to report negative populations.
- 'Search and rescue' event - the commodity is now a commodity object with all applicable commodity information included
- Speech Responder
- Script changes
- 'Community goal' - fixed a bug that would claim you could expect a reward without contributing, the script is also now aware of the time remaining in the community goal
- 'Community goal' - fixed a bug that would claim you could expect a reward without contributing, the script is also now aware of the time remaining in the community goal
- 'Search and rescue' event - revised script to use commodity object variables (beta users, please refresh the default script)
- 'Touchdown' event - latitude & longitude are only written to the journal when the ship is player controlled, script revised to not give erroneous information if the ship isn't player controlled
- Core
- Revised EDDI's methods for detecting in-game betas
- Events
- Fixed a bug that would cause the 'Ship transfer initiated' event to be silent
- 'Community goal' event - refined the default script, it'll (probably) be coherent now :-)
- Speech Responder
- 'Community goal' event - fixed a bug that was causing EDDI to describe every goal twice
- 'Ship transfer initiated' event - revised to include both the transfer cost and the time to arrival
- Script changes
- If you scan without a DSS, the 'Body Report' script no longer falsely claims that all bodies are unsuitable for landing
- 'Module swapped' event - revised script to better handle swapping to an empty slot
- Core
- EDDI's version number is now shown in the application's title bar
- Module events now update the ship object
- Internal clean-up: now 100% green on unit tests, compiler warnings and code analyser issues
- Events
- Add 'Module sold remote' event
- Add 'Module transfer' event
- Add 'Modules stored' event
- Revised variable names for module events
- Speech Responder
- 'Module purchased' event - new script
- 'Module retrieved' event - new script
- 'Module sold' event - new script
- 'Module sold remote' event - new script
- 'Module stored' event - new script
- 'Module swapped' event - new script
- 'Module transfer' event new script
- 'Modules stored' event - new script
- Installer
- Fixed: the installer was missing some of the documentation files. This was causing the app to pine for the fjords. And the documentation files.
- Core
- Add 'DataScan' definition for types of datalink scans
- Add new roles to the Ship Monitor
- Add material type information to the Material Monitor
- Add hyperlinks to EDDI.exe, linking to readme.md & the EDDI wiki
- Change Log incorporated via hyperlink in the main window - no more need to check the forums when something changes
- Changed the format for calling ring composition. Was 'composition.name', is 'composition'
- Stellar belt clusters are now included in the definition of rings.
- Update Readme.md to use revised hyperlinks pointing to the new project page.
- Update Troubleshooting.md to use revised hyperlinks pointing to the new project page.
- Update Variables.md to include information available for rings in 'Body scanned' and 'Star scanned' events
- Events
- Add 'AFMU repairs' event
- Add 'Community goal' event
- Add 'Data scanned' event when some type of datalinks (Data Links, Data Posts, Abandoned Data Logs, Listerning Posts, Wrecked Ships) are scanned
- Add 'Data voucher awarded' event when you are awarded a data voucher
- Add 'Friends status' event when a friendly commander changes status
- Add 'Module purchased' event
- Add 'Module retrieved' event
- Add 'Module sold' event
- Add 'Module stored' event
- Add 'Module swapped' event
- Add 'Mission redirected' event
- Add 'Nav beacon scan' event
- Add 'Music' event (triggered when the game music 'mood' changes)
- Add 'Repair drone' event
- Add 'Search and rescue' event when delivering items to a Search and Rescue contact
- Add 'Ship sold on rebuy' event when when you sell a ship to raise funds on the insurance / rebuy screen
- Clarified "channel" in 'Message received' to include 'npc'
- Update 'Body scanned' event to check whether BodyDetails successfully located the body
- Update 'Message received' event, EDDI now distinguishes between a larger variety of message sources
- Update 'Bond redeemed', 'Bounty redeemed', 'Fine paid', 'Data voucher redeemed', and 'Trade voucher redeemed' events to add Broker Percentage when redeemed via broker
- Update 'Docked' event, now includes a list of station services under 'stationservices'
- Update 'Mission accepted' event to correct a bug preventing wanted passengers from being detected
- Update 'Jumped' and 'Location' events to include system population, when present
- Update 'Screenshot' event, now contains longitude & latitude, when appropriate
- Update 'Ship sold' event, now contains a value for the system where the ship was sold
- Update 'Ship transfer initiated' event, now includes transfer time
- Update 'Star scanned' event to add luminosity class property
- Speech Responder
- Add Spacialise() Cottle function. Details on how to use this are in the SpeechResponder documentation
- Add StartsWithVowel() Cottle function. Details on how to use this are in the SpeechResponder documentation
- Script changes:
- 'AFMU repairs' - new script
- 'Community goal' - new script'
- 'Bond redeemed' - revised to correctly get faction names and faction amounts
- 'Data scanned' - new script
- 'Data voucher awarded' - new script
- 'Died' - new script
- 'Docking granted' script revised to recognize asteroid bases
- 'Friends status' - new script
- 'Galnet news published' script revised to only ready out the titles & content of interesting articles
- 'Limpet purchased' - new script
- 'Limpet sold' - new script
- 'Mission redirected' - new script
- 'Music' - new script
- 'Nav beacon scan' - new script
- 'Power expansion vote cast' - new script
- 'Repair drone' - new script
- 'Search and rescue' - new script
- 'Ship sold' - revised to include location for ships sold remotely
- 'Sold ship on rebuy' - new script
- Core
- Tidy ups for reading from and writing to files to catch potential exceptions
- Do not send data to EDSM or EDDN if in a multicrew session
- Better handling of unknown commodities
- Attempt to handle messages coming from unknown ships with the prefix "$ShipName_"
- Update internal list of commodities
- Update internal list of commodities to include all known items
- Fix error when caching starsystem information
- Fix potential crash when comparing current and future star systems
- Fix typo in test event for 'Commander continued'
- Ignore nameplates when obtaining modules from journal
- Add 'Enable ICAO' option on text-to-speech tab. When enabled, planets and starsystems with alphanumeric qualifiers (e.g. the "AB 1" in "Shinrarta Dezhra AB 1") will be spoken phonetically (e.g. "Alpha Bravo One")
- Catch corner cases where ship name could come back empty
- Fix issue where 'Test script' button would not activate with custom scripts
- Changing verbose logging checkbox updates immediately
- Better updating of ship information from combined journal and API data sources
- Add ship role 'Taxi'
- Rename 'Companion App' tab to 'Frontier API' and update relevant text to clarify its use and operation
- Volcanism for bodies is now an object. For details of its fields check the relevant documentation
- Add ancient artifact commodity definitions
- Add ship value 'ident' which is the user-defined identification string for a ship
- Allow monitors to handle events, and generate their own events in turn
- New monitor: Material monitor. This allows you to set minimum/desired/maximum limits for materials and generate events when the limits are exceeded. Materials are tracked automatically in EDDI. Full details of the material monitor operations are available at https://github.com/cmdrmcdonald/EliteDangerousDataProvider/wiki/Material-monitor
- Remove the Netlog monitor. This was only used to obtain destination system when jumping and is no longer required due to additional information made available in the journal for this purpose
- Fix exploration role 'Trailblazer' to have correct name (was showing up as 'Explorer')
- Add reset button to Frontier API configuration panel
- EDDN Responder
- Migrate to new EDDN endpoint
- Avoid use of data from Frontier API when setting starsystem information
- EDSM Responder
- Provide error message when attempt to obtain logs fails
- Provide numeirc progress information rather than system name when syncing logs
- Add upload of materials, ship, etc.
- Events
- Update 'Body scanned' event - added axial tilt. Added earth mass, radius and information on reserve level of rings. Made a number of items optional as they are no longer present if a DSS is not used to scan the body
- Update 'Bond awarded' event to provide details of the awarding faction
- Add 'Bond redeemed' event when a combat bond is redeemed
- Add 'Bounty redeemed' event when a bounty voucher is redeemed
- Update 'Commander continued' event - added fuel level of current ship
- Add 'Crew joined' event when you join a crew
- Add 'Crew left' event when you leave a crew
- Add 'Crew member joined' event when someone joins your crew
- Add 'Crew member left' event when someone leaves your crew
- Add 'Crew member launched' event when a crewmember launches a fighter
- Add 'Crew member removed' event when you remove someone from your crew
- Add 'Crew member role changed' event when a crewmember changes their role
- Add 'Crew role changed' event when your role on someone's crew changes
- Add 'Data voucher redeemed' event when a data voucher is redeemed
- Updated 'Docked' event to include distance from start
- Add 'File Header' event when a new journal file is found. This is usually just for internal use
- Add 'FSD engaged' event when the FSD is engaged to jump to supercruise or hyperspace. This replaces the 'Jumping' event and has a similar script
- Deprecate 'Jumping' event. This is part of the netlog monitor, which is no longer required. The functionality has been replaced by the 'FSD engaged' event
- Update 'Liftoff' event to record if the ship lifting off is player controlled or not
- Update 'Location' event to add longitude and latitude if the location is on the ground
- Add 'Material inventory' event when material information is supplied
- Add 'Material threshold' event when a threshold set in the material monitor is breached
- Update 'Message received' event to include NPC messages. Additional field 'Source' provides more details about the source of the message
- Update 'Mission accepted' event to include the number of kills for massacre missions
- Add 'Settlement approached' event
- Add 'Ship renamed' event to record when ship names and idents are changed
- Add 'Ship repurchased' event to record when player resurrects with their existing ship
- Update 'System state report' to say nothing if the system is not in any particular state
- Update 'Touchdown' event to record if the ship touching down is player controlled or not
- Add 'Trade voucher redeemed' event when a trade voucher is redeemed
- Galnet Monitor
- Galnet monitor now categories and stores news articles
- Material Monitor
- Update locking conditions for inventory
- Ship monitor
- Track cargo using loadout event. This only gives a rough idea of cargo as it only triggers with certain events (docking, swapping ship etc.)
- Track limpets. This gives an approximation of how many limpets are on board and is useful when docked but does not track limpets as they are used
- Update locking conditions for shipyard
- Lock updates to ship monitor data structures to prevent corruption
- Do not update ship name or ident if it contains filtered sequences (***)
- Speech Responder
- Script changes:
- 'Blueprint make report' - new script to report how many of a blueprint can be made
- 'Blueprint material report' - new script to report which materials are required for a blueprint
- 'Body report' - add details of volcanism; handle retrograde rotation
- 'Body scanned' - remove name of body so that it is not repeated in following report
- 'Bond redeemed' - new script
- 'Bounty redeemed' - new script
- 'Commodity sale check' - various updates to give more reliable results
- 'Commodity collected' - fix bug where 'cargo' was used instead of 'commodity'
- 'Commodity sold' - do not report profit when purchase price is 0 (mined/stolen/mission commodities)
- 'Crew fired' - add context
- 'Crew hired' - add context
- 'Crew member joined' - new script
- 'Crew member left' - new script
- 'Crew member launched' - new script
- 'Crew member removed' - new script
- 'Crew member role changed' - new script
- 'Crew role changed' - new script
- 'Crew joined' - new script
- 'Crew left' - new script
- 'Data voucher redeemed' - new script
- 'Docked' - moved information messages to the 'Market information updated' script to trigger at a better time
- 'Entered normal space' - add context
- 'Entered supercruise' - add context
- 'FSD engaged' - new script
- 'Galnet news' - new script
- 'Galnet news published' - updated script to only report on latest non-status news reports; by default does not read contents
- 'Galnet latest news' - new script
- 'Galnet oldest news' - new script
- 'Galnet unread report' - new script
- 'Jumped' - call system security report here rather than in 'Jumping' to guarantee up-to-date information
- 'Liftoff' - change speech depending on if player is controlling ship or not
- 'Limpet check' - correctly select singular or plural of limpet
- 'Location' - add context
- 'Market information updated' - new script taken from the end of the previous 'Docked' script
- 'Material discard report' - new script to report how much of a particular material can be discarded (as per the material monitor settings)
- 'Material inventory report' - new script to report how much of a particular material as defined by state or context is on board
- 'Material location report' - new script to report where to obtain a particular material as defined by state or context
- 'Material required report' - new script to report how much of a particular material as defined by state or context is required (as per the material monitor settings)
- 'Material use report' - new script to the blueprint uses of a particular material as defined by state or context
- 'Materials discard report' - new script to report which materials can be discarded (as per the material monitor settings)
- 'Materials required report' - new script to report which materials can be discarded (as per the material monitor settings)
- 'Message received' - updated to only respond to player messages, and to use appropriate source
- 'Settlement approached' - new script
- 'Ship refuelled' - state when ship is fully refuelled from scooping
- 'Ship renamed' - new script
- 'Ship swapped' - add reminders for limpets and crew if appropriate
- 'Star scanned' - remove name of star so that it is not repeated in following report
- 'System state report' - fixed a couple of typos
- 'Touchdown' - change speech depending on if player is controlling ship or not. Name body on which the ship has touched down
- 'Trade voucher redeemed' - new script
- Fix crash when showing "Changes from default" window
- Handle additional conditions for "changes from default" windows when editing templates in the speech responder
- When renaming scripts ensure that they are renamed not copied
- Update default templates to current latest version when reading in a custom personality
- Attempt to ignore invalid system names if presented in BodyDetails()
- Add "Log" function to write information to EDDI's log. This is an aid when debugging templates
- Fix issue where new templates might show up in custom personalities blank rather than with the contents of the default template
- Change edit window's "Show default" button to "Compare to default"; allowing diff-style comparison between the current and default scripts for templates
- Added 'ICAO' function to allow ICAO-style speech of ship identifiers, sector names etc.
- Added 'Play' function to play an audio file instead of a speech
- Script changes:
- VoiceAttack Responder
- Use defensive copies of arrays to avoid potential exceptions when they are modified whilst we are reading them
- Add other VoiceAttack commands
- 'Tell me about this sytem' - Find out about the current system
- Add "Ship ident" and "Ship ident (spoken)"
- Update 'disablespeechresponder' and 'enablespeechresponder' plugin contexts to continue to work in the background but just be quiet
- Add VoiceAttack commands for the new speech responder plugin contexts:
- "Be quiet" - Speech responder will not talk unless explicitly asked for information
- "You may talk" - Speech responder will talk about events occuring in-game without prompting (this is the default behaviour)
- Add VoiceAttack commands for the material monitor:
- 'How many are on board' - Find out how many units of a particular material is on board
- 'How many do I need' - Find out how many units of a particular material are required to meet your desired level as set in the material monitor
- 'What use is ' - Find out the blueprints that use a particular material
- 'Where can I obtain - Find out where to obtain a particular material
- 'Which materials can I discard' - Find out how many units of materials can be discarded due to being above your maximum or desired level as set in the material monitor
- 'Which materials do I need' - Find out how many units of materials are still required due to being below your minimum or desired level as set in the material monitor
- Add VoiceAttack commands for the Galnet monitor:
- 'Is there any news?' - Report the number of unread articles
- 'Read the latest community goal [news;]' - Read the latest community goal article
- 'Read the latest conflict [news;report]' - Read the latest weekly conflict report
- 'Read the latest democracy [news;report]' - Read the latest weekly democracy report
- 'Read the latest economy [news;report]' - Read the latest weekly economy report
- 'Read the latest expansion [news;report]' - Read the latest weekly expansion report
- 'Read the latest health [news;report]' - Read the latest weekly health report
- 'Read the latest news' - Read the latest news article
- 'Read the latest security [news;report]' - Read the latest weekly security report
- 'Read the latest starport status [news;report]' - Read the latest starport status update
- 'Read the latest community goal [news;]' - Read the latest community goal article
- 'Read the [next;oldest] conflict [news;report]' - Read the oldest weekly conflict report
- 'Read the [next;oldest] democracy [news;report]' - Read the oldest weekly democracy report
- 'Read the [next;oldest] economy [news;report]' - Read the oldest weekly economy report
- 'Read the [next;oldest] expansion [news;report]' - Read the oldest weekly expansion report
- 'Read the [next;oldest] health [news;report]' - Read the oldest weekly health report
- 'Read the [next;oldest] news' - Read the oldest news article
- 'Read the [next;oldest] security [news;report]' - Read the oldest weekly security report
- 'Read the [next;oldest] starport status [news;report]' - Read the oldest starport status update
- Add other VoiceAttack commands
- 'What do I need for ' - Find out the materials required for a particular blueprint
- 'How many can I make' - Find out how many of a particular blueprint you can make with your current inventory
- Fix issue where undocumented change in Frontier API would cause EDDI to crash
- Update netlog monitor to handle new log format
- Add ship definition for Dolphin
- Add module definitions for Dolphin bulkheads
- Make a nuber of scan items optional for compatibility with Elite 2.3
- Add mechanism to see if game version is beta or production, using remote production build list if available
- Update EDSM responder to not send data if game version is beta
- Update EDDN responder to send data to /test schemas if game version is beta
- Core
- Fix issue where commander insurance % is not set internally
- Add assisated upgrade for new versions of EDDI
- Allow opt-in to beta versions of EDDI
- Incorporate data from Body scanned and Star scanned events in to local database
- Ensure that location script is always triggered on first login
- Add CQC rating to commander
- Fix issue where hull damage events were not always triggered
- Add module definitions for Module Reinforcement Packages
- Initial addition of EDDI context. Context attempts to keep track of what EDDI is talking about, to provide the possiblity of two-way dialogue. Details about context can be found in the speech responder documentation
- Station objects no longer have economy arrays, instead they just have a primaryeconomy item
- Attempting to copy a personality over an existing personality will no longer succeed
- Events
- Add 'Mission failed' event
- Add 'System faction changed' and 'System state changed' EDDP events
- EDDP monitor
- Add EDDP monitor. This monitor watches EDDP for state and ownership information about systems and generates events when changes are spotted. See the 'EDDP monitor' tab for more information
- Speech Responder
- Add 'View' button for all scripts
- Add speech responder function 'BodyDetails' to obtain body details. Details of this function are in the SpeechResponder help documentation
- Script changes:
- 'Body report' - new script that uses context information to report on a body
- 'Body scanned' - added context information. Call new function 'Body report' to provide body details
- 'Bounty awarded' - added context information
- 'Bounty incurred' - added context information
- 'Cleared save' - added context information
- 'Cockpit breached' - added context information
- 'Combat promotion' - added context information
- 'Commodity collected' - added context information
- 'Commodity ejected' - added context information
- 'Commodity refined' - added context information
- 'Commodity sale check' - avoid overly-long response if there are lots of commodities that can be sold
- 'Commodity sold' - added context information
- 'Docked' - do not pause just to find out that there is no commodity/swapout/limpet check result
- 'Docking granted' - added context information. Call new function 'Landing pad report' to provide pad details
- 'Fine incurred' - added context information
- 'Jumping' - added context information
- 'Landing pad report' - use context information to report on a landing pad
- 'Material collected' - added context information
- 'Material discarded' - added context information
- 'Material discovered' - added context information
- 'Material donated' - added context information
- 'Message received' - added context information
- 'Message sent' - added context information
- 'Repeat last speech' - new script that repeats the last speech
- 'Star report' - new script that uses context information to report on a star
- 'Star scanned' - added context information. Call new function 'Star report' to provide body details
- 'System distance report' - use context information to report on the distance to a system
- 'System faction changed' - new script triggered when there is a change in the controlling faction of a system
- 'System report' - use context information to report on a system
- 'System state changed' - new script triggered when there is a change in the controlling faction of a system
- 'System state report' - use context information to report on the state of a system
- 'Undocked' - do not pause just to find out that there is no limpet check result
- VoiceAttack Responder
- Ensure that state changes are picked up by VoiceAttack plugin immediately
- Update VoiceAttack with context-related commands:
- 'Please repeat that/What was that?/Could you say that again?/Say that again' - repeat EDDI's last scripted response
- 'Remind me of that landing pad/Which landing pad was it?' - repeat the landing pad name and location when docking
- 'Tell me about it/Tell me more' - provide more information about the last item EDDI mentioned
- 'Tell me about the/that system' - provide more information about the last system EDDI mentioned
- 'Tell me about the/that planet/body' - provide more information about the last body EDDI mentioned
- 'Tell me about the/that star' - provide more information about the last star EDDI mentioned
- 'How far is that system?' - provide a distance report for the last system EDDI mentioned
- Misc
- Send additional data to EDSM
- Core
- Add 'stolen' flag and 'missionid' identifier to cargo
- Use more intelligent method to work from FD names to definitions for commodities, and provide better fallback names if missing
- Ensure that there is a space either side when using the word 'dash' in place of the symbol '-'
- Unconditionally disable EDDN and EDSM responders whilst in CQC. This ensures that no data is accidentally sent to these systems
- Add option to write speech responder output to a file. This is an option that can be checked in the speech responder tab, and writes all speech to %APPDATA%\EDDI\speechresponder.out
- Allow speech responder to not speak when subtitles are written
- Retry companion API profile call if returned information is outdated. This should help to avoid situations where outfitting and market data is out-of-date
- Ensure that distance from home is updated whenever system co-ordinates are updated
- Ensure that personality names do not contain illegal file or path characters to avoid issues when saving them
- Send EDDN messages with "Unknown Commander" when commander name is not known
- Provide new API for EDDI versioning. This allows EDDI to provide more information about updates to users, and is a precursor for automatic updates
- Track current vehicle which commander is controlling, and make the value available to the speech and VoiceAttack responders
- Update local system database with details from the journal and companion API. This ensures that this data is always as up-to-date as possible
- Add unknown ship materials
- Update Zinc good and great percentages with latest data
- Fix material name for Cadmium
- Add 'Engineer' government type for engineer bases
- Enable update and outdate messages
- Events
- Add event when being scanned for cargo by an NPC
- Add event when being attacked by an NPC
- Add event when being interdicted by an NPC
- Add 'Ship shutdown' event
- Add 'Power voucher received' event
- Add 'target' to BountyAwardedEvent for Elite release 2.2.03 and above
- Add 'distance' to JumpedEvent. This provides the distance jumped, in light years
- ModificationCraftedEvent now has details of commodities used in crafting as well as materials
- Update mission accepted and completed events to contain more fields. Details on the new fields are in the relevant documentation
- Update location event with details of station name and type where available
- Add events when entering and leaving a station's no-fire zone. Details about the individual events are in the relevant documentation
- Add powerplay events. Details on the new events are in the relevant documentation
- Provide correct name of repaired item in ShipRepairedEvent
- Speech Responder
- Ensure that speech responder's P() Cottle function works for ships
- Add SetState() Cottle function. Details on how to use this are in the SpeechResponder documentation
- Fix implementation of ShipDetails() Cottle function so that it works according to its documentation
- Use fixed-width font for edit script window
- Speech Responder scripts
- Update Commodity sale check' script to not suggest that stolen goods or mission-specific goods can be sold
- Added 'Synthesised' script
- Fix 'Mission completed' script to correctly provide information about commodities received as mission rewards
- Update 'Hull damaged' script to only report damage if the player is in the vehicle that is damaged
- Update 'Docking granted' script to provide clearer information on the location of pads
- Update 'Touchdown' script to use "coordinates" rather than "co-ordinates" as the latter can cause problems with some TTS voices
- Update 'Swapout check' script to use modules' modified flag to see if a module has modifications
- Update 'Commodity sale check' script to ensure that a commodity is in demand at the target station before reporting on a sale
- Add scripts for new events 'Entered CQC', 'Power commodity fast tracked', 'Power commodity delivered', 'Power commodity obtained', 'Power salary claimed', 'Power expansion vote cast', 'Power defected', 'Power left', and 'Power joined'
- Update script for 'Mission completed' event to provide more detail on the accepting faction and reward
- Update script for 'Mission accepted' event to provide a warning about illegal passengers
- Update script for 'Jumping' event to recognise when last system's allegiance is null (as opposed to empty)
- Update 'Docking denied' script to provide info on the reason
- Update 'Location' script to provide correct information when docked at ground stations
- Update 'Body scanned' script to provide additional information about rotation period of the planetary
- Update 'Galnet news published' script to read full contents of interesting items
- VocieAtack integration
- Add 'Voice' parameter for VoiceAttack's 'say' and 'speech' commands to allow individual over-rides of default Voice
- Add VoiceAttack 'setspeechresponderpersonality' context to change the speech responder's personality. Details on this is in the VoiceAttack documentation
- Add VoiceAttack 'disablespeechresponder' and 'enablespeechresponder' contexts to temporarily disable and enable the speech responder. Details on these are in the VoiceAttack documentation
- Remove reference to 'last jump' in VoiceAttack documentation (this is provided by the JumpedEvent)
- Use recursive/dynamic method to populate VoiceAttack variables. This provides many more VoiceAttack variables than were previously available; details are in the relevent documentation
- Add module definitions for SRV, fighter and training loadouts
- Provide update and MOTD information in VoiceAttack window if applicable
- Add ability to set state variables from VoiceAttack. Details on how to use this are in the VoiceAttack documentation
- Ensure that VoiceAttack decimal values are not written as integers
- Fix issue where engineer rank journal message without rank would cause a crash
- Allow non-string sample events for testing scripts
- Add sample galnet news event for testing
- Do not throw spurious errors when shutting down
- Ensure that stellar class VoiceAttack variable is unset if the information available
- Avoid bug in journal where superpower promotions are logged as combat promotions
- Update shield resistances with booster stats when exporting ship
- Add body information to speech responder
- Add system main star stellar class and age to VoiceAttack variables
- Fix commander progress "trade" rating
- Disable "distort voice on damage" effect until we can find a better distortion process
- Add separate exception logging system
- Fix incorrect name for Type-7 when exporting to Coriolis
- Send raw ship JSON directly to Coriolis for import rather than use local processing
- Update 'Jumping' script: add warning if jumping to known white dwarf or neutron star
- Update 'Body scanned' script: fix typo where 'higher' was written 'higer'
- Further fixes for renamed and missing fields in 2.2.02
- Add "log out" option for companion API tab in UI
- Provide internal Nullable values in VoiceAttack
- Update VoiceAttack documentation with new variables
- Credentials are removed on EDDI uninstall
- Update documentation for material and rarity information
- Update coriolis export for Beluga Liner
- Help large star system databases by adding an index
- Add "shared" flag for bounty events
- Add "source" for ship refuelled
- Ship refuelled event now triggered when finishing scooping fuel
- Handle renamed fields for system information in FSD jumps in 2.2.02
- Add "Modification crafted" event
- Add "Modification applied" event
- Add "Engineer progressed" event
- Do not update ship configuration when data is not available from the companion API
- Be a little harsher when shutting down speech threads on close
- Make home station accessible to scripts
- Make current station more dynamic to match reality
- Fix crash when bringing up help windows from VoiceAttack
- Update coriolis export with additional properties for improved accuracy
- Handle "Profile unavailable" response from companion API
- Provide ship model rather than manufacturer to Coriolis
- Update star class information with better probability distributions
- Add stellar age and temperature probabilities
- Catch bad allegiance data sent from companion API
- Avoid repetition of docking information when still docked at the same station
- Fix potential crash when station model is undefined
- Update default docking and swapout scripts to make them less chatty
- Add ship's main and total fuel tank capacities
- Add capability to upload logs to EDDI server
- Add ability to access EDDI's confguration UI from VoiceAttack
- Update VoiceAttack profile with fuel tank variables
- Provide better translation for VESPER-M4 when speaking that system's name
- Add information about the VoiceAttack 'profile' command
- Update good and great percentage values for materials (thanks to Baroness Galaxy)
- Update coriolis export to include modifications
- Fix gravity and terraformstate for planets (thanks to Michael Werle)
- Update ship information when undocking
- Retain ship information between relogs
- Attempt to avoid crashes when configuration files have been corrupted
- Avoid potential crash when network request times out
- Added keepalive harness to monitor threads to catch errors and restart when appropriate
- Strip SSML tags if SSML speech fails, then try again
- Add material IDs for previously-known materials
- Attempt to avoid bad voices that could crash EDDI
- Fall back to standard speech if SSML isn't working
- Add configuration option to avoid SSML altogether
- Updated troubleshooting guide
- Updated VoiceAttack system variables
- Added fuel used and fuel remaining to JumpedEvent
- Handle missing data in body scans
- Fix incorrect name of key in ShipyardNew
- Update text on speech responder tab to be more informative about copying personalities
- Fix oddity in jumping script where EDDI thought that 'None' was a real allegiance
- Add FDev IDs for new ships and modules
- Add phonetic pronunciation for Lakon
- Fix issue where unknown IDs could cause a crash
- Fix issue where jumps are not announced if the companion API is unavailable
- Fix crash when companion API does not return correct information
- Fix crash when starting EDDI after Elite has started
- Attempt to patch around missing information when companion API does not provide it
- Complete rework of product and VoiceAttack integration
- EDDI no longer dependent on VoiceAttack for spoken responses to events
- Use Frontier journal in addition to netlog to provide more events
- Plugin architecture for monitors (that provide events) and responders (that act on events)
- Introduction of personalities - bundles of responses for the speech responder
- Fix issue with text-to-speech engines mispronouncing sector names with two-letter phrases such as DR and NY
- Rework network communications to provide better debug information
- Unify logging to a single file
- Always use the selected voice's default language when using phonemes
- Validate spoken ship names for valid IPA
- Provide more details when obtaining EDSM logs from configuration UI
- Use local store as primary for star system data and update EDSM asynchronously
- Silently drop existing phonetic ship names with invalid IPA
- Tweaks to increase volume of processed voice
- Fix issue with last utility slots on large ships being missed
- Add verbose logging option to configuration UI
- Add definition for huge burst lasers (fixed, gimballed)
- Avoid hang when sending to EDSM
- Avoid hang when sending to EDDP
- Provide local co-ordinates when systems are not available in EDSM
- Never write credentials to log file
- Add station variables. Note that these are all prefixed 'Last station' because there is no way of knowing if a ship is currently docked at a station or has already left it from the information provided in the API
- Last station name (string): the name of the last station
- Last station faction (string): the name of the controlling faction of the last station
- Last station government (string): the name of the government of the last station
- Last station allegiance (string): the name of the allegiance of the last station (Federation, Empire, etc.)
- Last station state (string): the name of the state of the last station (boom, outbreak, etc.)
- Last station distance from star (decimal): the distance from the primary star to this station, in light seconds
- Last station primary economy (string): the primary economy of this station (extraction, prison colony, etc.)
- Last station secondary economy (string): the secondary economy of this station (extraction, prison colony, etc.)
- Last station tertiary economy (string): the tertiary economy of this station (extraction, prison colony, etc.)
- Last station has refuel (boolean): true if this station has refuel capability
- Last station has rearm (boolean): true if this station has rearm capability
- Last station has repair (boolean): true if this station has repair capability
- Last station has market (boolean): true if this station has a commodities market
- Last station has black market (boolean): true if this station has a black market
- Last station has outfitting (boolean): true if this station has outfitting
- Last station has shipyard (boolean): true if this station has a shipyard
- Add more system translations
- Fix issue with 0-cargo ships causing profile problems
- Fix issue where unknown systems provided an incorrect JSON result
- Add command to show the current system in EDDB
- Add command to show the current station in EDDB
- Add timeout for EDDP queries
- Fix isue where hardpoints returned out of order resulted in incorrect export URL for Coriolis
- Log engineer modifications as part of module definition
- Fix issue where shipyard would not be populated in some situations
- Close down HTTP responses sooner, hopefully fixing occasional hangs
- Populate the email address field in the configuration GUI from stored data if available
- Ensure that co-ordinates are sent to EDSM in US format regardless of client locale
- Added 'System orbital stations' value
- Added modules from 1.6/2.1
- Added commodities from 1.6/2.1
- Support for new modules when exporting to Coriolis
- Handle situation where companion API is available but not responding with data
- Added more star system translations
- Removed requirement for verbose logging
- Compatibility with Elite: Dangerous 1.6/2.1
- Fixed issue where unknown station models would cause EDDI to crash
- Fixed issue where commander's home system and insurance discount were reset on configuration startup
- Added relative volume for text-to-speech voice
- Added support for 1.6/2.1 new-style system change messages
- Send system co-ordinates to EDSM as part of the travel log if available
- Added more star system translations
- Fixed issue where EDDI would need the user to log in repeatedly to maintain a connection to the Elite servers
- Added configuration option to set insurance excess percentage
- Added Insurance (decimal): the percentage insurance excess (usually 5, 3.75 or 2.5)
- Added Ship limpets carried (int): the number of limpets carried by the ship
- Added 'generate callsign' plugin context
- Added configuration of the ship voice
- Added configuration option to sync EDSM data with local information
- Added ability to set and recollect notes from EDSM
- Added ability to carry out trilateration of systems for EDSM
- Added phonetic pronunciation for ship names
- Added further Powerplay weapons
- Fix minor VoiceAttack script issues
- Added 'System distance from home'
- Provide information about primary faction, number of stations and distance from home with the system report
- Added 'Tell me about this system' command to trigger the system report
- Reworked star system name translation routines to provide correct result in more situations
- Move to internal speech generation routines for computer voice
- Fix issue where sold ships still showed up in the shipyard
- Add information on modules and hardpoints to damage and outfitting reports
- Add missing IDs for some EDDB->Coriolis mappings
- Fix issue where removed ship names are not treated as absent
- Added ship variables for hardpoints and internal compartments
- Ship tiny/small/medium/large/huge hardpoint n occupied (boolean): true if there is a module in this slot, otherwise false
- Ship tiny/small/medium/large/huge hardpoint n module (string): the name of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module class (int): the class of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module grade(grade): the grade of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module health (decimal): the percentage health of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module cost (decimal): the purchase cost of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module value (decimal): the undiscounted cost of the module in this slot
- Ship tiny/small/medium/large/huge hardpoint n module discount (decimal): the percentage discount of the purchased module against the undiscounted cost
- Ship tiny/small/medium/large/huge hardpoint n module discount (spoken) (text): the percentage discount of the purchased module against the undiscounted cost
- Ship Compartment n size: the size of this slot
- Ship Compartment n occupied (boolean): true if there is a module in this slot, otherwise false
- Ship compartment n module (string): the name of the module in this slot
- Ship compartment n module class (int): the class of the module in this slot
- Ship compartment n module grade (string): the grade of the module in this slot
- Ship compartment n module health (decimal): the percentage health of the module in this slot
- Ship compartment n module cost (decimal): the purchase cost of the module in this slot
- Ship compartment n module value (decimal): the undiscounted cost of the module in this slot
- Ship compartment n module discount (decimal): the percentage discount of the purchased module against the undiscounted cost
- Ship compartment n module discount (spoken) (text): the percentage discount of the purchased module against the undiscounted cost
- Created separate variable debug commands for commander, ship, ship hardpoints, ship compartments, and shipyard
- Ensure that 'System power' is not set if a system is not controlled by a power
- Fix issue where setting a home system caused scripts not to report system information
- Do not create 'system change' or 'location change' events when in CQC
- Provide starsystem information even if profile is not available
- Fix crash if starsystem has no stations
- Avoid VoiceAttack bug that causes VoiceAttack to crash
- Added more checks for correct system data prior to triggering system change event
- Added debug value for the event loop
- Separated the event loop from the startup, to provide better reliability for the event loop [B]Anyone updating will need to change the startup command in their profile from EDDI event loop to EDDI startup[/B]
- Added 'System minutes since previous visit' value
- Added callsigns, names and roles for ships
- Added home system and station
- Added more events in the handler. These are often triggered by voice actions themselves, but have been built in this way to allow for the future when these events become available directly to EDDI
- Added the name of the last station the commander docked at
- Added the ship's fuel tank capacity
- Add ship name and callsign to coriolis export
- Provided a number of voice-activated commands; see the README for details
- Added EDSM integration: provide the ability for EDDI to send data to EDSM, keeping a log of every system you have visited
- Ensure that "Last system rank" is set appropriately
- Move from 'Login' to 'Configuration' binary for setting up EDDI
- Event loop only returns if there is a new event to handle
- Avoid problems if VA_Init1() is called multiple times
- Added decimal variables 'Stored ship n distance' for the distance to each stored ship from the current system
- Ensure that Environment is set on startup
- Ensure that cached system data is refreshed correctly
- Fix issue where Empire rating was showing incorrectly with Federation names
- Catch errors when authenticating and obtaining the first profile and display a suitable error message
- Added text variables "Ship model (spoken)", "System name (spoken)", "System power (spoken)", "Last system name (spoken)" and "Last system power (spoken)" to provide values that fit the text-to-speech engine
- Renamed string variables "Credits", "Debt", "Ship value", "System population", "Last system population", "Ship station discount" to have the " (spoken)" suffix. The old names of the variables will be removed in the next major release.
- Deprecated int variables "Credits", "Debt", "Ship value", "System population", "Last system population" in favour of decimal values with the same name. The int variables were in thousands due to int limits and the decimal values are in units. The int variables will be removed in the next major release
- Added event loop to monitor the netlog
- Added decimal variables "Ship * cost" "Ship * value" and "Ship * discount" for each of the ship's standard modules (e.g. "Ship power plant cost", "Ship power plant value" and "Ship power plant discount"). Cost is the number of credits the commander spent purchasing the module, Value is the undiscounted cost of the module and discount is (1 - cost / value)
- Added decimal varaibles "Ship * station cost" for the cost of the ship's existing modules at the currently docked station.
- Added text varaibles "Ship * station discount" for the discount possible by purchasing the ship's existing modules at the currently docked station.
- Added int variable "System visits" that contains the number of times that the commander has visited the current system since the plugin was initialised
- Added datetime variable "Previous system visit" that contains the date and time of the the commander previously visited this system
- Added text variable "Environment" that lists the current environment ("Normal space" or "Supercruise")
- Fixed issue where templates were updated with commander data, resulting in incorrect data after the first refresh
- Added int variable "System stations" with the number of stations (of all types) in the system
- Added int variable "System starports" with the number of starports in the system
- Added int variable "System outposts" with the number of outposts in the system
- Added int variable "System planetary stations" with the number of planetary stations (of all types) in the system
- Added int variable "System planetary outposts" with the number of planetary outposts in the system
- Added int variable "System planetary ports" with the number of planetary ports in the system
- Added int variable "Last system stations" with the number of stations (of all types) in the last system
- Added int variable "Last system starports" with the number of starports in the last system
- Added int variable "Last system outposts" with the number of outposts in the last system
- Added int variable "Last system planetary stations" with the number of planetary stations (of all types) in the last system
- Added int variable "Last system planetary outposts" with the number of planetary outposts in the last system
- Added int variable "Last system planetary ports" with the number of planetary ports in the last system
- Added string variable 'Ship size' containing the size of the ship (Small, Medium or Large)
- Added decimal variables 'System X' 'System Y', 'System Z', 'Last system X', 'Last system Y', 'Last system Z' using EDDB co-ordinates
- Added decimal variable 'Just jump' with the distance of the last jump in LY to two decimal places
- Fixed incorrect trade rank (showed 'Elite' as 'Pioneer')
- Added int variable 'Stored ships' with the number of ships in storage
- Added string variables 'Stored ship n model', 'Stored ship n system' and 'Stored ship n location' for each ship in storage
Initial release