Released 24-12-23
=================
General
-------
- Added a new ReadMe file for the new Unreal Tournament style on-foot combat kills (also see Bond awarded below).
- VA Autoroute System
Updated the VA Autoroute system to only be voice activated. I was never 100% satisfied with how the automation worked. Sometimes it would activate at an inopportune moment, which could cause problems for the CMDR. Sometimes it would de-select an already plotted route. Making it voice only now, should eliminate those kinds of difficulties. There is already a voice command to activate it ('Plot Missions Route'), so I've just removed the calls from certain VA commands, and updated some speech in EDDI scripts, as noted below. A route will still be calculated by the EDDI scripts as before, but now you'll need to ask for it to be plotted on the Galaxy Map.
* This is still a work-in-progress. I just wanted to get this release out in time for Christmas. It should be mostly working as intended, but you may experience a glitch or two here and there. *
- 'missions...' State variables (abandoned/accepted/completed/expired/failed/redirected)
Changed these to Boolean values (true/false) where necessary in the following scripts:
Carrier jumped
Commander continued
Docked
Entered normal space
Jumped
Mission abandoned
Mission accepted
Mission completed
Mission expired
Mission failed
Mission redirected
Missions Route Clear
Missions Route Update
Missions Route Variable Report
Missions Save VA Data
Voice Attack
------------
Configure EDDI
- Added some activation speech. I seem to remember doing this before, and I'm still not sure about it...
((EDDI entered supercruise))
- Removed call to 'Autoroute' VA command.
((EDDI jumped))
((EDDI mission abandoned))
((EDDI mission accepted))
((EDDI mission completed))
((EDDI mission redirected))
((EDDI undocked))
- Removed these commands. They only had a call to 'Update Missions Route' VA command, and are no longer needed
after the missions routing changes.
((EDDI ship fsd))
- Removed as no longer used.
Autoroute
- Disabled setting the clipboard to the destination, as EDDI handles this now.
- Updated to work around the Galaxy Map bug, and fix autorouting. Removed blocking mouse actions to make this work.
- Removed most of the 'waiting for speech' loops. As this is called by voice command now, there is no need to wait for any EDDI speech at the beginning.
- Removed 'Stand by' speech.
- Added a section at the start to check and report is destination has already been set, skipping the rest of this command if it has.
- Updated the pause while the GalMap is moving to the target system, to use a logarithmic scale.
Update Mission Route
- Updated to ???
I've forgotten what I've done to this, as I had my wrist injury and left it for a while. It still seems to work though, so maybe I did what I needed to do...?
Disengage autoroute (and variations in the command)
Enable autoroute (and variations in the command)
- Removed these as EDDI/VA no longer automatically plots a GalMap route.
Plot missions route
- Updated to add acknowledge speech.
Quote of the day
- Updated variable names to 'wisdomstrings' (added an s at the end) to match the updated EDDI script.
Tell me about the [current; selected; target] system
- Added speech if report type not recognised.
EDDI
----
Bodies to map
- Rebuilt the setup code to be a little more efficient, and put the 'adding' code into a function so it's not repeated.
- Overhauled the script to add new features after a discussion on GitHub #2490:
-- Added a check for a DSS (Detailed Surface Scanner). The script will now only make new recommendations if one is installed.
-- Added a new option for reporting bodies that have already been mapped by other players, 'recommendMappedBodies'. This has three settings, described in the preferences section at the top of the script.
-- Setup code rebuilt again to make use of this new setting.
-- Updated some reporting sections to better use the setting.
-- Added new reporting sections to mention pre-mapped bodies (by other players) in certain situations.
- Fixed bodyTerraform check in the reporting section.
- Updated the report section dealing with 'no DSS installed', to actually explain this.
- Slightly updated the speech for the two 'potential' report sections, to sound better on game load.
Bond awarded
- Rebuilt this script in order to add an 'Unreal Tournament' style multi-kill speech section. This plays various WAV files from the UT game series when killing on-foot combatants in quick succession (within 5 seconds). There is a setting at the top to easily disable this if you don't like it.
See the easy to follow help file on how to get this working. Can you reach 'Unstoppable'?

- Added a tally of kills per faction. This is reported & reset when you hand them in. This is not saved if you log out though.
Bond redeemed
- Added code to report your total kills for this redemption.
- Updated kill report to remark how good the kill count is (subjectively).
Book transport
- Added a State variable to store the transport type for use in other scripts.
- Removed setup of '..._combatzone_depart' State variable, as this is no longer used.
Bounty awarded
- Updated to include Scientist (seems I missed this one).
- Also included Researcher and Technician, as 'Scientist' and 'Worker' are supposed to be updated to these in-game names in the next EDDI release. (v4.0.3?)
Carrier bank transfer
- Added a script to report deposits and withdrawals.
Carrier jumped
- Updated initial IF check to match new default from v4.0.3-b1.
Commander continued
- Put the missions data section inside and IF check, to make sure data exists first.
- Updated 'missions_destination_locked' to a Boolean value.
- Removed code that set a State variable for using autoroute, as this is no longer needed.
Commander started
- Removed code that set a State variable for using autoroute, as this is no longer needed.
Crime check station
- Updated to account for settlements.
Died
- Updated to account for 'killers[<index>].equipment' sometimes being empty.
Discovery scan
- Added an additional check for reporting system materials, in case they were already reported after the jump (see 'Jumped' below).
Disembark
- Set State variable for transport type to 'void'.
- Set State variable for 'eddi_context_last_action' to 'disembark'. Used in the 'Market information updated' event script.
Docked
- Updated to use the 'state' property code from the v4.0.3-b1 default, but moved it to near the end, as I feel it sounds better there. Also added a 'Caution' if the station is under attack.
- Added the limpet check from v4.0.3-b1.
- Moved the canopy check to before the 'crime check', as that's slightly more important.

- Added new State variable 'eddi_context_docked_name' to store the station name. And because of this, I've changed the '...docked_at' state variable to '...docked_type'.
- Updated 'missions_destination_locked' to a Boolean value.
- Updated 'eddi_context_missions_completed' to a Boolean value.
Dropship deployment
- Set State variable for transport type to 'void'.
Engineer report
- Updated to account for loading your game while docked at an Engineer base.
Entered normal space
- Added a section for dropping at a nav beacon.
- Updated the settlement section to only report when near after leaving it. Removed 'approaching' speech as that is now handled by 'Settlement approached' (see below).
- Updated the settlment section to say 'Surface' when appropriate.
- Added a section for dropping at a compromised nav beacon.
- Updated intro speach to use State variable for transport type.
- Updated SetState for last location to be an empty string, and not 'void'. Fixes not speaking any 'final approach' speech.
- Updated use of 'event.bodytype' with 'reportBody.bodytype' to match the default. The Journal reports moons as planets, so this corrects that error.
- Added resetting the State variable for bodytype if it's a planet or moon, as setting it to the event data at the start will be wrong for moons.
- Updated to remove system name from body shortname instances, as this doens't seem to be working for stars.
(Could be related to main star data being nulled bug).
(Update: Yes, it was related, and now fixed in v4.0.3-b4. So removed this change).
Entered supercruise
- Updated intro speech to use State variable for transport type.
- Added check and call to 'Missions Route Update'.
FSD engaged
- Updated intro speach to use State variable for transport type.
- ... and then changed it to use the new 'taxijump' variable in v4.0.3-b1.
- Removed hazardous and scoopable star reporting, to match the new v4.0.3-b1 default.
- Updated the initial Pause() check I added a while ago, to use 'status.hyperspace' instead of 'state.fsd_pause'.
- Updated the number of visits report section. It now randomly reports the number if it's greater than 5, or reports 'several' (6 to 10), or 'many' (11+) visits if the random report isn't used.
Jumped
- Added a reset for 'eddi_context_material_report' state variable.
- Updated SetState for last location to be an empty string, and not 'void'. Fixes not speaking any 'final approach' speech.
- Fixed missing full stop (period) to end of 'distance from' report for Carriers.
Liftoff
- Added check and call to 'Missions Route Update'.
Location
- Replaced use of '..._combatzone_depart' State variable, with a '..._transport_type' check.
- Removed section that recommended launching/supercruise to autoset map route.
- Removed 'eddi_context_mission_accepted'. No longer needed after 'Autoroute' change.
- Added new State variable 'eddi_context_docked_name' to store the station name. And because of this, I've changed the '...docked_at' state variable to '...docked_type' and set it to the station model.
- Moved the mission destination report at the end, up into the ELSE of the pervious IF check. This prevents it from being spoken twice if the first part of the IF check was run.
- Updated 'missions_destination_locked' to a Boolean value.
Market information updated
- Removed the 'limpet check', to match the new v4.0.3-b1 default.
- Removed the hyphen from the 'Multipurpose' ship role, to match the default.
- Updated the IF check used to start speaking, to use the new '...docked_name' State variable in order to prevent speaking at Engineer stations, as they do not provide market or legal facilities. Also added setting 'reportEngineer' to enable checking for an Engineer station.
- Updated IF check again, to include the 'eddi_context_last_action' for 'disembark' (set in the Disembark event). This prevents the market information being spoken every time you step off your ship or a transport (taxi or dropship).
Material Desired On Body (credit to Ultra Fluffy on the Forums)
- New script, called from 'Touchdown'. Requires material 'desired' levels being set in Material Monitor.
- Checks the contextual body for materials below your 'desired' level, and reports them.
- Updated to be a little more efficient, and also use List() for reporting.
Message received
- Fixed the "send:" still being spoken. No, really this time. For sure...
- Rebased on new version from v4.0.3-b1.
- Added 'Erich' NPC name. I'm not sure if it's worth adding every one that I find isn't present in the list...
- Made some minor formatting changes. Nothing that affect functionality.
- Made the 'sort available voices' code a little more efficient.
- Added back some of my previous changes:
-- Added 'Microsoft Zira Desktop' back to the voice exclusions.
-- Reworked the end of the player message section, to better use 'sends' and voices depending on the message.
(If it is only a salute emote, then no need to use 'sends' or use a random voice.)
-- Added back my checks for being on foot and/or in stations, for NPC messages.
-- Added back the check for 'Security' in the sender name.
- Updated the 'Security' check to see if the 'from' contains the 'source' instead. Should cover more duplication possibilities now.
- Added back speaking "from", as it sounded odd without it.
- Updated NPC section to account for emotes, as they seem to use $CHAT_System; as the sender.
Mission abandoned
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
Mission accepted
- Updated check for delivery missions, to prevent speech if it's an on-foot mission.
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
- Updated the last IF block to account for the 'Autoroute' changes.
Mission check station
- Updated to account for on-foot courier type missions.
- Updated to account for settlements.
- Fixed report speech to correctly report included mission types.
Mission check system
- Updated to account for on-foot courier type missions.
Mission completed
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
- Updated 'eddi_context_missions_completed' to a Boolean value.
Mission expired
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
Mission failed
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
Mission redirected
- Updated to rename on-foot collection/delivery missions as 'courier missions'.
- Updated last IF block to account for 'Autoroute' changes.
Missions
- Added a check for transport type to prevent mission reports when leaving a conflict zone in a dropship.
Missions Route Clear
- Removed 'eddi_context_mission_accepted'. No longer needed after 'Autoroute' change.
- Updated 'missions_destination_locked' to a Boolean value.
Missions Route Fast
- Added code to copy the destination to the clipboard.
- Updated report section to calculate route to check if a route is possible, before reporting missions need to be located.
Missions Route Update
- Updated to not say "still" when taking your first mission and it's in your current system.
- Removed the speech sections for launching and entering supercruise to replot route, after 'Autoroute' change.
- Updated 'missions_destination_locked' to a Boolean value.
Near surface
- Updated SetState for last location to be an empty string, and not 'void'. Fixes not speaking any 'final approach' speech.
- Updated to only set 'last_location' if leaving the surface.
Next jump
- Updated context to match the new v4.0.3-b1 default.
Ring hotspots detected
- Tweaked speech a little to make it sound a bit better.
Route details
- Updated to add Scorpion SRV search, to match the new v4.0.3-b1 default.
Settlement approached
- Added a check for approaching a settlement that is your selected destination, including appropriate speech. This replaces the section in 'Entered normal space'. EDDI will now correctly report 'on approach', even if you exit supercruise too far from the settlement. This should trigger about 85-90Km from the settlement.
- Moved 'last_subject' context to the end, as it is used in this script.
- Updated the check to account for arriving at a settlement after landing on the body rather than docking at the settlement (in cases where there are no suitable landing pads).
- Updated to report missions and crimes.
- Updated to report approach to combat zones if in a Dropship.
Ship fsd
- Reset to the new default from v4.0.3-b1, as this now does what mine did, with additional functionality.
- Removed erroneous '{set scoop_present to true}'. Looks like this was left behind from EDDI testing.

- Moved the 'hazardous stars' setup into an IF block that checks the distance first, as this was part of all checks anyway.
Ship interdicted
- Moved the 'evaded' speech to the end, like the default.
- Updated the 'interdictor' speech to account for Federal or Imperial Navy vessels.
- Updated to make use of the new 'isthargoid' variable from v4.0.3-b1. Similar speech options to the default, and a large part of the script will not be spoken if interdicted by a Thargoid.
Ship refuelled
- Moved Pause() into the speech sections, to prevent any uneccessary pausing, like the new v4.0.3-b1 default.
Star report
- Updated to correct grammar to 'browndwarfs', from 'browndwarves', for the array variable. This reverses a previous change I made, which was incorrect.
- Updated the mainsequence/fastburning/browndwarfs checks to be more efficient.
- ... and then removed setup and check of 'browndwarfs' as this is never used in the script.
- Updated 'fastburning' setup to be the actual random speech, instead of setting to '1', and replaced relevant checks in the reporting speech.
Surface signals detected
- Redesigned a little, to make it more reliable. For some reason, body information isn't always available. Sometimes 'BodyDetails()' has missing data, like shortname and bodytype, so I've had to compensate for this.
- Updated the 'mapped' check. This fixes zero time being considered as 'false' and failing the check.
- Updated to remove the pseudo timestamps, and use the UNIX timestamps added in v4.0.3-b1.
Swapout check
- Updated to add the check for Guardian modules, like the new v4.0.3-b1 default.
- Revised to change instances of '.EDName' to '.edname' like the v4.0.3-b1 default.
System Exploration Report
- Fixed saying "is reported as" when it's your first visit to a system.
System materials report
- Added a State variable that will be set if the report says anything. Used to prevent repeating the report.
System state report
- Added the new Thargoid War information from the new v4.0.3-b1 default.
- Put the Thargoid War info in an ELIF check rather than having two ELSE statements.
- Added some additional variety to the Thargoid War speech.
- Updated the Thargoid War section to set up and use {remainingDays}. This now takes into account one day remaining, or if the property is void.
Target Module
- Added some of the new modules:
-- Enhanced AX Multi-Cannon
-- Enhanced Xeno Scanner
-- Shutdown Field Neutraliser
- Ordered 'unique' modules list alphabetically.
- Added above new modules to 'unique' list (not the weapon though).
- Added more speech to the testing tool, to tell you it's a new unrecognised module.
- Fixed missing comma after 'Bi-Weave Shield' in the 'unique' list.
TextWisdom
- Updated to be more efficient, and to use better code.
This was my first script, and I've learned a lot since then.
Touchdown
- Added call to 'Material Desired On Body' if the ship is player controlled.
Undocked
- Added new State variable 'eddi_context_docked_name', and changed the '...docked_at' state variable to '...docked_type' and set them both to 'void'.
- Removed section that reported first route destination, as EDDI/VA no longer automatically plots a GalMap route, and the missions routing scripts already tell you of the first destination.
VA Initialized
- Moved the mission data setup into an IF check, to make sure the data exists first.
- Changed the word 'Mission' from an Occasionally(), to always spoken.
- Added a line to say the EDDI VA plugin is loaded.
- Updated 'missions_destination_locked' to a Boolean value.