Merge branch 'release-prep/0.4' into release

This commit is contained in:
alterNERDtive 2019-10-12 00:36:32 +02:00
commit db5540ab17
6 changed files with 8233 additions and 5962 deletions

View file

@ -1,3 +1,26 @@
# v0.4 (2019-10-12)
## SpanshAttack v1.3
* plotting a route now aborts if no jump range was given
* added option to clear an active neutron route on closing the game client
(default: on)
* added option to auto jump after fuel scooping (default: on)
* fixed `SpanshAttack.announceTripTime` saying “1 hours” and “1 minutes” (#13)
## EliteDangerous v2.0
* added documentation! (#11)
* fixed `EliteDangerous.jumpToSuperCruise` to no longer drop you from SC when
called while in SC
* fixed `relog to [open;solo]` command for new menu structure
* added `distance [from;to] [home;the center;Beagle Point;Colonia]` command
(requires python scripts, see docs)
* now compares current system bodies to the bodies found on EDSM and gives
feedback if theres a discrepancy (and you should FSS the entire system to
update EDSM) (requires python scripts, see doc)
* added compatibility for SpanshAttacks clear on shutdown
# v0.3 (2019-09-22)
## SpanshAttack v1.2
@ -11,14 +34,13 @@ Should be usable by other people now without too much hassle. If you run into
problems, please hit me up on [Discord](https://discord.gg/mD6dAb) or file an
issue here.
# v0.2 (2019-08-06)
# v0.2 (2019-08-28)
## SpanshAttack v1.1
* added a command to announce (approximate) jumps left, see docs (#1)
* added command to announce the time spent on a trip and configuration option to
automatically tell it after completing it (#3)
* fixed a race condition with waypoint pasting into the galaxy map (#2)
* fixed the list of jumps left to announce automatically not working correctly
in all cases (#4)

View file

@ -16,9 +16,9 @@ Each of the profiles is documented in `/docs/`.
* [SpanshAttack](docs/SpanshAttack.md): profile to plot and follow trips along
the neutron highway using [spansh](https://spansh.co.uk/plotter).
* [RatAttack](docs/RatAttack.md): profile for interactions with the Fuel Rats
IRC server.
IRC server. (Not a thing yet.)
* [SealAttack](docs/SealAttack.md): profile for interactions with the Hull
Seals IRC server.
Seals IRC server. (Not a thing yet.)
## Requirements ##
@ -30,6 +30,11 @@ Each of the profiles is documented in `/docs/`.
and SealAttack.
* [ED-NeutronRouter](https://github.com/sc-pulgan/ED-NeutronRouter): required
for SpanshAttack.
* [elite-scripts](https://github.com/alterNERDtive/elite-scripts): required for
EliteDangerous, recommended for RatAttack and SealAttack. The release page
here includes a compiled version for Windows that does not need Python
installed. Just download the zip file from the release page and extract into
your VoiceAttack directory.
Additionally, you need to have keyboard binds setup at least as secondary
bindings in Elites controls options. VA _cannot_ “push” joystick buttons for
@ -74,6 +79,23 @@ including profile! If you want to make sure, manually create all EDDI Event
handlers used in imported profiles and have them call the corresponding
commands. See the Elite Dangerous profile for reference.
## Major Version Changes ##
If a profiles major version number changes (e.g. SpanshAttack 1.x.x to 2.0.0)
there _will_ be changes to the profile that do one or any amount of the
following:
* command names / command invocation have changed
* configuration variable name or format have changed
* features removed
* _major_ features added
**If you see a major version number change in the release notes, please pay
attention to said notes to know what you might have to change to get it to
work!**
If any of the steps are unclear, please see below.
## Need Help / Want to Contribute? ##
If you run into any errors, please try running the profile in question on its

View file

@ -5,7 +5,7 @@ ages ago as a modification of [MalicVRs public
profile](https://forums.frontier.co.uk/threads/malics-voice-attack-profile-for-vr.351050/),
then looked less and less and less like that and I added and cleaned up a lot of
things while removing the stuff I didnt use anyway. By now it would have
probably been simpler starting from scratch.
probably been simpler to start from scratch.
Some of it has grown to a state that it might be useful to others in its own
package, so Ive separated the neutron jumping and Seals stuff into their own
@ -18,14 +18,343 @@ handlers.
Speaking of EDDI; it has become in integral part of my Elite experience,
especially the plethora of information it extracts from the games journal and
presents to you via lots and lots of status variables and by firing various
events that can then be handled through VA commands. Its great. Check it out.
events that can then be handled through VA commands. Its great. Check it out.
(You might want to make it talk a lot less in its personality options, or
disable the speech responder entirely like I have.)
This profile doesnt have and probably never will have an exhaustive
documentation (or basically any documentation at all). That said, the commands
themselves have some comments that might be useful in understanding what they
do. If one does(t, bug me until it does.
## Requirements ##
Go through the thing, look at what is possible with some fiddling, then do your
own crazy shit :D
In addition to the bindED and EDDI VoiceAttack plugins, this profiles needs my
[Python elite-scripts](https://github.com/alterNERDtive/elite-scripts) to do
everything properly. The release page here includes a compiled version for
Windows that does not need Python installed. Just download the zip file from the
release page and extract into your VoiceAttack directory.
## Settings ##
Because Elites keyboard handling is … weird youll have to set the key to use
for pasting text into Elite:Dangerous. If you are using a “standard” QWERT[YZ]
layout, you will have to change it back to `v`. Its defaulting to `p` because
thats the key that is in `v`s place on my keyboard layout, Neo2.
For other settings, see the [Configuration Variables](#Configuration-Variables)
section.
## Including the Profile In Another Profile ##
This is meant to be a standalone profile, including the others in this repo (and
a couple more). It was never designed to be included into your existing profile.
Nevertheless, it _should_ work properly if you follow some guide lines:
* Run the startup command. You will need to have a startup command in your
profile (= one that is run on profile loading) and call
`EliteDangerous.startup` by name from that one.
* Set configuration options. In the same startup command of yours, overwrite all
configuration variables you want changed; _after_ the `EliteDangerous.startup`
call. See [below](#Configuration-Variables).
* Make sure all EDDI events that EliteDangerous needs are correctly handled. For
all events used in EliteDangerous that you already have handlers for in your
profile, youll have to include a call to `EliteDangerous.<event name>`. E.g.
for “EDDI Jumped”, call `EliteDangerous.EDDI Jumped` by name from your `((EDDI
Jumped))` command.
* Initialise the [bindED](https://forum.voiceattack.com/SMF?topic=564.0) plugin
correctly to read your Elite keybinds.
## Usage ##
### Chat Commands ###
Theres a bunch of commands in here to send certain things to chat. Unless
stated otherwise, they will only work with the comms panel active, and you
should be in the edit window ready to send. They will _not_ hit Enter on their
own.
* `announce my services`: Gives a rundown of my refuel&repair services.
I usually post that in system chat coming into the waypoint systems of an
expedition.
* `clear [chat;text]`: Clears the chat window. Use from outside the comms panel.
* `[local;squad;system;wing] chat`: Puts you into the chosen chat channel.
* `paste text`: Pastes your clipboard into Elite. Works outside the comms panel
too, e.g. on the galaxy map inside the search field.
* `salute; oh seven`: Will put “o7” into the chat.
* `send fuel rats p.s.a.`: Sends a fuel rats PSA. Duh.
* `send high gravity p.s.a.`: Warns about (a) high gravity planet(s) being in
the system. I use that on expedition waypoints, too if it applies.
### Events ###
The main point of this profile is to react to Elites journal events (powered by
EDDI). Each of the events listed here will trigger a `((EDDI <event>))` command
in VoiceAttack which in turn triggers `EliteDangerous.EDDI <event>` and all
included profiles similar commands, e.g. `SpanshAttack.EDDI <event>`.
The actual `((EDDI <event>))` command will only be executed once by VoiceAttack,
the first one it can find. Keeping it separate from the actual code to be run
makes it easier to handle (multiple) included profiles.
#### Body Mapped ####
Announces remaining mapping candidates as given by EDDI.
#### Body scanned ####
Announces any interesting body traits found when scanning:
* scan data worth >300,000cr (this translates to roughly 1.5million cr
including bonuses)
* landable and >5g
* semimajor axis <1.5ls (only really interesting for planets, but theres no
proper way to separate them from moons, sadly)
* radius <300km
Feel free to suggest more!
#### Commander Continued ####
Auto-sets my nick in the FuelRats IRC. Probably largely irrelevant to you.
#### Discovery Scan ####
Announces the number of bodies (and non-body signals) found in the system. Also
compares the number of bodies to the amount reported by EDSM (requires Python
scripts).
Last but not least tells you about planets worth scanning if you are on the R2R.
#### Docked ####
Automatically gets your ship into the hangar and opens station services.
#### Docking Denied ####
Tells you the reason for docking denial.
#### Fighter Launched ####
Orders your ship to hold position so it doesnt chase after you immediately.
#### Jet Cone Boost ####
Sets your ship to full throttle immediately after you have supercharged.
#### Jumped ####
* zeroes throttle
* gets the systems body count from EDSM (requires Python scripts)
* if you hvaent visited the systems, starts a discovery scan (see the discovery
scan command)
#### Liftoff ####
Retracts landing gear for you. Seriously, is there any occasion in which you
_dont_ immediately want to retract it after takeoff?
#### Low Fuel ####
Warns you when you reach 25% fuel.
#### Message Sent ####
Checks any message you send for a chat prefix and sends it to the proper chat
window. Probably largely useless to you without modification.
* `.dt`: Actually doesnt send anything, but runs the
`RatAttack.announceNearestCMDR` command with the system given in the rest of
the message.
* `.dc`: Sends the message to the Discord window.
* `.tc`: Sends the message to my twitch channel window (IRC #alternerdtive).
There are similar event commands in RatAttack and SealAttack handling other chat
windows.
#### Ship FSD ####
This event actually is several different events in one. Currently the following
are handled:
* charging: Warns you if your target systems main star is not scoopable,
including an extra warning at low fuel levels. (__Note__: This is currently
kind of bugged, not sure if its EDDIs or Elites fault.)
* cooldown complete: Announces FSD cooldown if you are currently in normal
space.
#### Ship interdiction ####
Tells you when you are interdicted by a player. Is also supposed to target the
interdictor automatically, but that randomly sometimes just doesnt work. Yay!
#### Ship targeted ####
This currently doesnt do anything. I was fiddling around with automatically
targeting a certain module on ship targeting, but it was more hassle than I had
thought.
#### Shutdown ####
Changes my nick back to default in FuelRats IRC. Probably largely useless to
you. If you are using FuelRats IRC you need to change/deactivate this (see
[below](#Configuration-Variables)) or you will start impersonating me by
accident :)
#### SRV Launched ####
Toggles SRV lights off after launching. Currently weirdly bugged.
#### System Scan Complete ####
Lists you all bodies EDDI considers worth mapping in the current system.
#### Undocked ####
Retracts landing gear for you. Seriously, is there any occasion in which you
_dont_ immediately want to retract it after takeoff?
### HOTAS Buttons ####
These commands are all bound to keys on my throttle to make them do different
things on tapping and on holding.
* `docking request key`: Well, that one just sends a docking request using the
proper command. No secondary function.
* `FSS key`: Well … that one too just opens/closes FSS. And sets throttle to 0%
so you can enter it.
* `jump combo key`: Jumps on tap, executes the `jump` command on hold.
* `plot combo key`: Targets next system on route on tap, plots to the thing in
your clipboard via the galaxy map on hold.
* `sc combo key`: Goes into SC on tap, executes the `cruise` command on hold.
Main benefit of using the jump/cruise commands instead of the buttons would be
automatically retracting everything.
### Misc ###
The commands in here do random more or less useful things.
* `bind keys;reset key binds`: Reloads your key binds through the bindED plugin.
You should do that after changing anything in the controls options.
* `copy current system`: Copies the current system name into the clipboard.
* `distance [from;to] […]`: Tells you the distance from your current position to
the other thing you mentioned and is supported in the command. (requires
Python scripts)
* `do a barrow roll`: WHOOOOOOO!
* `fix window dimensions`: When you start the game in VR, it forces into
windowed mode with weird resolution. This changes it back. Hover the “PLAY”
entry in the main menu, then run this. Will need adjustment for different
graphics cards/drivers and the resolution you want.
* `neutron [jump;trip] time`: Shorter version of the same thing in SpanshAttack.
* `neutron jumps left`: Shorter version of the same thing in SpanshAttack.
* `open copied system on EDSM`: Opens the system in your clipboard on EDSM in
your default browser.
* `open [current;] system on EDSM`: Opens your current system on EDSM in your
default browser.
* `open EDDI options; configure EDDI`: Opens the EDDI configuration window.
* `open [the;] miners tool`: Opens https://edtools.ddns.net/miner in your
default browser.
* `[start;stop] [EDISON;navigation]`: Hits `CTRL+ALT+E` which just so happens to
be the start/stop hotkey I have set in E.D.I.S.O.N.
* `[whats;what is] left to [map;be mapped]`: Tells you which bodies EDDI thinks
are worth mapping in the system that you havent mapped yet.
### Ship Controls ###
Basically anything that is related to directly doing something with your ship.
* `[abort;cancel;stop] jumping`: Stops a currently charging FSD jump.
* `[buggy;exploration] power`: Sets your PD to 0/4/2 or 2/4/0 respectively.
Works in SRV too.
* `check next [star;hop;jump;system]`: Will quickly engage and disengage your
FSD to show you the star class of the currently targeted system in the info
window (top right).
* `[close;deploy;extend;open;retract;] […] [up;down;]`: Overly complicated
command to handle everything related to Cargo Scoop, Hard Points, Landing
Gear. You get the gist, I guess. Works in SRV too.
* `[disco;discovery scan]`: Executes a discovery scan. To work properly, youll
have to set the Discovery Scanner to your first fire group, secondary fire.
* `[head;spot;] lights [on;off]`: Turns your lights on and off. Works in SRV
too, kinda; turning lights off there relies on the state updating fast enough,
which sometimes leads to weird results.
* `[jump;engage;get me out;punch it chewie] [and scan;] [when ready;]`: Retracts
everything that might be protruding from your ship, then jumps to the next
system. If the FSD isnt charging within 1s, it gets you into SC instead (e.g.
if your target is obstructed). If given “and scan” runs a discovery scan. If
given “when ready” waits for mass lock to clear, your FSD to cool down and you
to leave scoop range before jumping.
* `night vision [on;off]`: Toggles your night vision on/off. Works in SRV too.
* `power to [engines;shields;systems;weapons`: Sets 4 pips to the thing you told
it, 1 to the others.
* `rapid fire lights`: Flashes your lights 5 times in a row.
* `retract [all;everything]`: Retracts, well, everything.
* `[super;] cruise [when ready;]`: Retracts everything, then jupms to SC. If
given “when ready” will wait for mass lock to clear and your FSD to cool down
first.
### SRV controls ###
Things revelant to your SRV, but not your ship.
* `[recall;dismiss] ship`; Recalls or dismisses ship. Currently does the same
thing regardless of the state of your ship. I wish it would be possible to
restrict it to doing one thing each, but thats currently not possible sadly.
* `[toggle;enable;disable] drive assist`: Handles all your drive assist needs!
### Targeting ###
Well … targeting stuff, I guess. Not really sure why I made that its own
category, but oh well :)
* `target <list of subsystems>`: NYI. Way too fiddly and buggy to be reliable.
* `target next system`: Selects the next system on your route.
* `target wing man [1;2;3]`: Targets your wing men.
* `targets target`: Targets your targets target.
* `wing man [1;2;3] target`: Targets your wing mens target.
* `wing man nav lock`: Toggles wing man nav lock on the selected wing member.
### UI Commands ###
Everything handling stuff thats not related to controlling your ship, but
manipulating some UI element(s).
* `controls options`: Opens the controls options menu.
* `docking request;request dock[ing;]`: Sends a docking request.
* `[enter;leave] F S S`: Opnes/closes FSS.
* `galaxy map`: Opens the galaxy map.
* `[main;game] menu`: Opens the ESC menu.
* `plot course;[target;] next [waypoint;way point]`: Plots a course to the
system set in `~~system` or the one in your clipboard. The former way is
usually used by other commands to not interfere with your clipboard.
* `[relog;reset] to [open;solo]`: Relogs to Open or Solo mode, respectively.
* `set […] filter`: Sets a nav panel filter setting. See the command or just try
different things for what is possible. You need to clear filters and hover
over the filter button, then run this.
* `system map`: Opens the system map.
* `take [high res;] screenshot`: Takes a (high res) screenshot.
* `target […]`: Targets the given system on the galaxy map. Theres a bunch in
there, the list is easily extensible. Drop me a note if you want something
included.
* `toggle orbit lines`: Toggles the visibility of orbit lines.
* `[toggle;show;hide] interface`: Toggles the cockpit interface (CTRL+ALT+G).
Probably needs to be adjusted if you are not playing with Neo2 keyboard layout
:)
### Configuration Variables ###
These are set in `EliteDangerous.startup` and can be overriden from your profile
if you have included EliteDangerous.
* `Elite.pasteKey` (string): the key used for pasting into Elite. On QWERTY this
is `v`. Default: `p`.
* `>announceMappingCandidates` (boolean): whether to announce mapping candidates
when they are scanned. Default: true.
* `>autoChangeFuelratsNick` (boolean): whether to change the FuelRats IRC
nickname automatically when changing commanders. Probably largely irrelevant
to you. Default: true.
* `>enableR2Rannouncements` (boolean): whether to announce planets worth mapping
when jumping into a known system. This is useful for doing some R2R on the
side. Default: false.
* `>targetSubsystem` (string): the default target subsystem. Unused. Default:
“drive”.
* `python.ScriptPath` (string): the path you have placed the compiled python
scripts in. Default: “{VA_DIR}\scripts” (the “scripts” folder in your
VoiceAttack installation directory).
* `>bindingsFile` (string): the bindings file bindED should use for your key
binds. Default: mine. You should really change this setting.

View file

@ -29,9 +29,9 @@ range from EDDI; sadly a) its
b) EDDI is storing the _maximum_ distance for your ship instead of the current
/ full on fuel one.
## Importing the Profile ##
## Including the Profile ##
When importing the prifle, be sure to
When including the profile, be sure to
* Run the startup command. You will need to have a startup command in your
profile (= one that is run on profile loading) and call `SpanshAttack.startup`
@ -40,7 +40,7 @@ When importing the prifle, be sure to
configuration variables you want changed; _after_ the `SpanshAttack.startup`
call. See [below](#Configuration-Variables).
* Make sure all EDDI events that SpanshAttack needs are correctly handled. For
all events used in Spanshattack that you already have handelrs for in your
all events used in Spanshattack that you already have handlers for in your
profile, youll have to include a call to `SpanshAttack.<event name>`. E.g.
for “EDDI Jumped”, call `SpanshAttack.EDDI Jumped` by name from your `((EDDI
Jumped))` command.
@ -89,7 +89,9 @@ a re-plot of the current route with the same target system and jump range.
### Refueling ###
Whenever you refuel off a scoopable star, the profile will automatically
throttle back up to 100% speed.
throttle back up to 100% speed. Unless you have disabled it in your
configuration, you will also automatically target the next system on your route
and jump to it once you leave fuel scoop range.
### Clearing a Route ###
@ -130,33 +132,37 @@ dont unless its a config variable …) from other profiles:
### Configuration Variables ###
These are set in `SpanshAttack.startup` and can be overriden from your profile
if you have imported SpanshAttack.
if you have included SpanshAttack.
* Elite.pasteKey (string): the key used for pasting into Elite. On QWERTY this
* `Elite.pasteKey` (string): the key used for pasting into Elite. On QWERTY this
is `v`. Default: `v`.
* SpanshAttack.timeTrip: whether to automatically tell you at the end of a trip
how long it to you to get there. Default: false.
* SpanshAttack.announceWaypoints (boolean): whether to announce each waypoint of
the neutron route. Default: true.
* SpanshAttack.announceJumpsLeft (string): `;`-separated list of remaining jumps
to announce when said amounts are reached. Right now only works if they are
_exactly_ reached when supercharging off a neutron. Note the extra `;` at the
beginning and end of the string. Default: `;1;3;5;10;15;20;30;50;75;100;`
* SpanshAttack.autoPlot (boolean): whether to automatically plot to the next
* `SpanshAttack.timeTrip` (boolean): whether to automatically tell you at the
end of a trip how long it to you to get there. Default: false.
* `SpanshAttack.announceWaypoints` (boolean): whether to announce each waypoint
of the neutron route. Default: true.
* `SpanshAttack.announceJumpsLeft` (string): `;`-separated list of remaining
jumps to announce when said amounts are reached. Right now only works if they
are _exactly_ reached when supercharging off a neutron. Note the extra `;` at
the beginning and end of the string. Default: `;1;3;5;10;15;20;30;50;75;100;`
* `SpanshAttack.autoJumpAfterScooping` (boolean): whether to automatically jump
after fuel scooping (and moving out of scoop range). Default: true.
* `SpanshAttack.autoPlot` (boolean): whether to automatically plot to the next
waypoint on supercharging. Default: true.
* SpanshAttack.copyWaypointToClipboard (boolean): whether to copy the next
* `SpanshAttack.clearOnShutdown` (boolean): whether or not to automtically clear
an active neutron route on Elite client shutdown. Default: true.
* `SpanshAttack.copyWaypointToClipboard` (boolean): whether to copy the next
waypoint into the Windows clipboard for use in other programs. Default: false.
* SpanshAttack.useEddiForVoice (boolean): whether to use EDDI over VAs builtin
`say` command. Default: false.
* `SpanshAttack.useEddiForVoice` (boolean): whether to use EDDI over VAs
builtin `say` command. Default: false.
### Other Variables ###
These variables can be used to get information about the current neutron route.
Please do not set them manually and / or from outside the SpanshAttack profile.
* SpanshAttack.targetSystem (string): the target system for the current neutron
route
* SpanshAttack.nextNeutronWaypoint (string): the next waypoint on the current
* `SpanshAttack.targetSystem` (string): the target system for the current
neutron route
* SpanshAttack.neutronJumpMode (boolean): neutron jump mode active/inactive
* SpanshAttack.jumpRange (decimal): the current ships jump range
* `SpanshAttack.nextNeutronWaypoint` (string): the next waypoint on the current
neutron route
* `SpanshAttack.neutronJumpMode` (boolean): neutron jump mode active/inactive
* `SpanshAttack.jumpRange` (decimal): the current ships jump range

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff