General EQWatcher Concepts > The Basics > Navigation Module
The navigation module handles all of the sounds and speech associated with... well.. navigation of course.
There is now lots to play with in the navigation module, including zone time calculation, calculating your current speed and heading, finding a destination /loc (can give you the direction relative to your current heading or just your current /loc, and an ETA based on your current speed), and saving/retrieving named waypoint locations such as "bank" or "butcherblock zone" or "dvinn spawn".
Waypoints are all stored in separate files for each zone, and they are not case sensitive. There is no current default list of waypoint locations, so go ahead and suggest some to be included. When defaults are introduced, they will be stored in a new directory, so it won't overwrite anyone's waypoints they have stored already.
All of the navigation module's calculations are based on the X and Y coordinates given when you hit /loc. Z is not used, since that just makes my head hurt even thinking about it. Anything after the whole numbers in the /locs are ignored. With all this in mind, your run speed according to EQWatcher will not be a constant number, and may not be as accurate as it could be. The best way to observe your speed is to run straight for at least a few seconds -- the less time between the two /locs, the less accurate the speed calculation will be.
Some of the navigation commands are based on a single /loc, and some are based on your last two /locs. Single /loc commands are the ones that do not require calculating your heading or speed. These are the "waypoint" and "bearing" commands. The double /loc commands are commands that DO require calculating your heading or speed, such as giving an estimated time of arrival to a destination based on your speed (given in seconds), or giving a direction to a waypoint based on your current heading (destination at 12 o'clock, or destination at 1 degrees to the right, etc). These commands include "speed", "heading", "moving", and "ETA". There are also commands that are not based on /locs at all, including "find", "zone time", "average zone time" and the preference commands.
Now to explain each of the commands.
speed: This command determines your speed in meters per second (this is assuming that loc's are given in meters), and spits it back at you using Text-to-Speech. The calculation is based on your last two /locs, and assumes that you traveled in a straight line across (X,Y) between those two points.
heading: This command determines your current heading. The calculation is based on your last two /locs, much the same way as speed is calculated. Your heading can be given in directions (north, northeast, east, etc), or in degrees (0 degrees is north, 90 degrees east, etc), based on your preference.
bearing: (Note: Although heading and bearing mean pretty much the same thing, they have different uses here.) This command determines the heading you should travel at to reach a destination /loc. The calculation is based on your last /loc and the destination /loc. The destination can be set by giving the X,Y coordinates as parameters (bearing 1000,-1000 for example). If no destination is given, it will use the last destination used by any navigational destination-type command (find, moving, etc).
moving: This command determines how you should turn relative to your current heading, to reach a destination /loc. The calculation is based on your last two /locs, and the destination /loc. The destination can be set by giving the X,Y coordinates as parameters along with the word "to" (moving to 1000,-1000 for example). If no destination is given, it will use the last destination used by any navigational destination-type command (find, bearing, etc).
ETA: This command determines how long it should take you to reach your destination. The calculation is based on your last two /locs, and the destintion /loc. No destination /loc may be given with this command, it will ONLY give ETA based on the last destination used by any navigational destination-type command (find, bearing, etc). Please note that heading is not figured into this calculation, so you could be heading entirely the wrong direction and it would still say you will get there soon.
waypoint: This command sets a waypoint at your current location (using your last /loc). You must supply a name for the waypoint (examples: waypoint bank, waypoint djarn spawn, waypoint trakanon, waypoint vex thal zone). The waypoint is stored in a file for your current zone. If a waypoint with the name you supplied already exists, it is updated with your current location.
find: This command finds a waypoint and sets your current destination (if the waypoint exists). You must supply the waypoint name (examples: find bank, find butcherblock zone, find sol b zone, find wiz spires).
zone time: This command tells how long it took you to zone last time you zoned, to the nearest tenth of a second.
average zone time: This command tells how long it takes you to zone on average, to the nearest whole second.
Preferences:
heading: If the heading command is supplied with either "degrees" or "directions" (i.e. heading degrees)
relational: Relational headings can be given in either "clocks" or "degrees" (i.e. relational clocks).
say zone time: This will set EQWatcher to say your zone time automatically upon zoning. This is ON by default. To turn it off, use say zone time off instead.