initial commit

Pretty raw state, SpanshAttack is in a usable state. Use things at your
own risk.
This commit is contained in:
alterNERDtive 2019-08-06 16:37:51 +02:00
commit af13889039
6 changed files with 8519 additions and 0 deletions

74
README.md Normal file
View file

@ -0,0 +1,74 @@
= Elite Dangerous VoiceAttack Profiles =
These are various profiles for [VoiceAttack](https://voiceattack.com) (VA) I use
to enhance my Elite experience. They give me important info, facilitate
day-to-day gaming and do some special things for [Fuel
Rats](https://fuelrats.com) and [Hull Seals](https://hullseals.space) work.
Each of the profiles is documented in `/docs/`.
== Available Profiles ==
* [EliteDangerous](docs/EliteDangerous.md): My main Elite VA profile. Here be
dragons; things may be heavily tailored towards how _I_ play the game and may
not apply to how you play it. Included for reference and as a baseline or
inspiration to create your own stuff.
* [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.
* [SealAttack](docs/SealAttack.md): profile for interactions with the Hull
Seals IRC server.
== Requirements ==
* [VoiceAttack](https://voiceattack.com): absolutely required (duh).
* [bindED](FIXXME): required for all profiles; makes anything involving hitting
E:D key binds portable.
* [EDDI](FIXXME) installed as a VoiceAttack plugin: required for my personal
profile and for SpanshAttack, optional for RatAttack and SealAttack.
* [FIXXME that neutron plugin thing](FIXXME): required for SpanshAttack.
Additionally, you need to have keyboard binds setup at least as secondary
bindings in Elites controls options. VA _cannot_ “push” joystick buttons for
you, it can only do keyboard inputs. Hence its only way to interact with Elite
is through keyboard emulation, even if you otherwise play the game with
a controller or HOTAS. Or racing wheel. Or Rock Band set. Or bananas.
== Settings ==
Each profile has its respective `startup` command that should be launched upon
loading the profile. If you include the profile in your own (see below) you have
to manually call them for each included profile when yours is loaded.
== Using a Profile ==
Import the profile into VA, check the startup command for any settings you might
want to adjust, activate it, done.
Oh, and you probably might want to check the corresponding README first.
<! FIXXME: does importing it include the startup settings? Check! !>
== Including a Profile ==
If you are already using a custom profile (or want to use mine), you can include
others by FIXXME.
VoiceAttack does not execute configured startup commands for included profiles.
Hence, youll have your own profile have one that in turn runs the included
profiles startup commands. While you are doing that, you might as well set all
settings here, centrally. Main advantage is that you can just upgrade the
included profiles to newer versions without losing your settings.
Because of limitations of VoiceAttack itself, only the first matching command
found will be executed, _including EDDI events_. That means you have to check
your profile against the imported ones for events they both handle. E.g. if you
already have a `((EDDI Message sent))` handler in your profile, you have to run
`RatAttack.EDDI Message sent` and `SealAttack.EDDI Message sent` from within it.
You also have to do that if you include multiple profiles using the same events
(e.g. RatAttack + SealAttack), even if you dont have the same event in the
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.

30
docs/EliteDangerous.md Normal file
View file

@ -0,0 +1,30 @@
= EliteDangerous =
This is my personal VoiceAttack profile for Elite: Dangerous. It started out
ages ago as a modification of [MalicVRs public profile](FIXXME), 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.
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
profiles.
The rest is a random conglomerate of all things VA and E:D; from various voice
commands and some buttons that are now being handled by VA to lots of EDDI event
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.
(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.
Go through the thing, look at what is possible with some fiddling, then do your
own crazy shit :D

0
docs/RatAttack.md Normal file
View file

0
docs/SealAttack.md Normal file
View file

112
docs/SpanshAttack.md Normal file
View file

@ -0,0 +1,112 @@
= SpanshAttack =
This profile uses the FIXXME plugin to plot neutron jumps using
[spansh](https://spansh.co.uk/plotter). It fully does everything you need from
within the game and VoiceAttack, you wont have to visit the site at any point.
== Settings ==
Currently the only setting in the strict sense is the key use for pasting text
into Elite:Dangerous. If you are using a “standard” QWERT[YZ] layout, you dont
have to do anything; if you are using something different, you have to set it to
the symbol thats on the physical button that has `V` on QWERT[YZ]. E.g. for
AZERTY, set it to FIXXME.
The other “setting” in the not-so-strict sense of the word is the
`SpanshAttack.getShipRange` command. Any ship listed in there will automatically
have its jump range used instead of VA prompting you for it. Since, again, VA
will execute the first matching command found, you can create this command in
your own profile when you are using SpanshAttack by including it.
The FIXXME plugin is technically supposed to read the current jump range from
EDDI; sadly a) its [bugged](FIXXME) right now, and EDDI is storing the
_maximum_ distance for your ship instead of the current / full on fuel one.
== Usage ==
=== Plotting a Route ===
1. _Target_ the system you want to be routed to (target, do not plot to it).
1. Either exit the galaxy map or make sure you are on its first tab (or plotting
will break).
1. Trigger the `SpanshAttack.plotRoute` command either by voice (`plot neutron
[course;route;trip]`) or calling it from another command
1. (if ship not listed in `SpanshAttack.getShipRange`) Enter your ships jump
range when prompted.
1. Wait for the route to be calculated. The command will automatically open the
galaxy map and jump to the first waypoint on your route.
1. Either target the first waypoint or plot to it.
1. Start jumping!
=== Neutron Jumping ===
With standard setting, just supercharge off a neutron cone, you should
automatically be taken to the galaxy map with the next waypoint selected.
In case you have disabled auto-plotting to the next waypoint, manually invoke
the `SpanshAttack.targetNextNeutronWaypoint` command by voice (`[target;] next
neutron [waypoint; way point]` or calling it from another command.
Additionally, you can use the `SpanshAttack.getNextNeutronWaypoint`
/ `[get;copy] next neutron [waypoint;way point]` command to copy the next
neutron waypoint to the clipboard.
==== Manual Re-Plot ====
Trigger the `SpanshAttack.replotRoute` command either by voice (`replot neutron
[course;route;trip]`) or calling it from another command. This will start
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.
=== Clearing a Route ===
When you reach your target system, the neutron route will automatically be
cleared. If you want to prematurely end your trip, call the
`SpanshAttack.clearRoute` / `clear neutron [course;route;trip]` command.
== Other Commands ==
The profile contains a lot of helper functions that get called by the
aforementionde commands. Have a look around, maybe learn something about
VoiceAttack :)
== Exposed Variables ==
The following Variables are _global_ and thus readable (and writeable! please
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.
* Elite.pasteKey (string): the key used for pasting into Elite. On QWERTY this
is `v`. Default: `v`.
* 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. Default:
“1;3;5;10;15;20;30;50;75;100”
* SpanshAttack.autoPlot (boolean): whether to automatically plot to the next
waypoint on supercharging. 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.
=== 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
neutron route
* SpanshAttack.neutronJumpMode (boolean): neutron jump mode active/inactive
* SpanshAttack.jumpRange (decimal): the current ships jump range

8303
profiles/SpanshAttack-Profile.vap Executable file

File diff suppressed because it is too large Load diff