Description
# Spy (WoW Forever)
Detects nearby enemy players and alerts you.
This is Spy 1.3.8 for Classic Era, adapted to World of Warcraft : Forever. The lists, alerts, sounds, statistics window, options and /spy commands are the same as the original. The Forever client closes the combat log to addons, so Spy now detects enemies differently. What changed is described below.
- Client : WoW Forever, Interface 16001. Checked against the Forever beta client, build 1.60.1.69913.
- For Classic Era, Anniversary or Retail, use the original Spy.
---
## Before you start
1. Turn on enemy nameplates (V key, or Options > Nameplates). Spy uses them to see enemies. Spy reminds you once per session if they are off.
2. By default, Spy is off when you are not flagged for PvP. This is the original Spy setting: General > "Disable Spy when not flagged for PvP". Turn it off if you want Spy active everywhere. /spy debug tells you why Spy is off in your current zone.
---
## How Spy detects enemies on Forever
- An enemy player is detected when he appears as a nameplate, or when you target, focus or mouse over him.
- Visible enemies are scanned again every second, so an enemy standing in view stays active in the list.
- His level, class, race, guild and faction are read from the unit.
- If his level shows as a skull, the level is estimated at your level + 10. It is raised when he casts an ability that requires a higher level.
- Range : you can only see enemies within nameplate range (about 40 yards). On Classic, Spy could also pick up enemies from their actions in the combat log. That is no longer possible.
---
## Lists
Switch lists with the arrows in the title bar, or with Alt + mouse wheel on the title.
- Nearby : enemies detected around you.
- Kill On Sight players are listed first (option).
- An enemy not seen for half the removal delay turns grey. After the full delay, he leaves the list.
- Removal delay: 1, 2, 5, 10 or 15 minutes, or never. Default: 1 minute.
- Last Hour : every enemy detected in the last hour.
- Ignore : players Spy never reports.
- Kill On Sight : players who trigger the KoS alarm.
Each row shows name plus level/class (default), level/guild, level only, or guild. A "rank" choice also exists.
---
## Alerts
- Sound only :
- a new enemy nearby;
- an enemy of a chosen race, with its own sound (off by default; Spy must have seen his race once, e.g. by targeting him).
- Sound and warning :
- a Kill On Sight player, with his KoS reasons;
- a member of a guild that has a KoS player (off by default);
- a stealth: an enemy casts Stealth, Vanish or Prowl in your view (on a visible nameplate or your target).
- Where warnings appear: the alert window (fixed or movable), or the error message area at the top of the screen.
- Sound options: sound channel, sounds only for Kill On Sight players, no alerts while on a flight path (default: on).
- Announcements to Self, Party, Guild, Raid or the Local Defense channel, optionally only for Kill On Sight players. Off by default.
---
## Kill On Sight
- Add or remove a player :
- Shift + left-click his row;
- the right-click menu;
- /spy kos <name>
- the KoS button on the target frame (option, off by default).
- Reasons : 6 categories of predefined reasons (Started combat, Style of combat, Camping, Questing, Stole resources, Other), or your own text.
- The list is shared between your characters on the same realm and faction (option, on by default).
---
## Statistics window
- Every enemy you have met, sortable by name, level, class, guild, wins, losses and last seen.
- Search by the start of a name or guild.
- Filters : Kill On Sight only, your realm only, with wins or losses, with a KoS reason.
- Shows your lifetime honorable kills.
### Wins and losses
- Win : your killing blow, or your pet's, on an enemy player Spy knows.
- Loss : the killing blow shown in Blizzard's death recap.
- If the recap cannot be read, the loss goes to the only enemy player who had you targeted in the 6 seconds before your death. Two or more such enemies: no loss is counted.
- A death from a fall or a creature, or from a player Spy has never seen, is not a loss.
---
## Sharing with other Spy users (off by default)
- Send your detections to your party, raid or guild. Guild sharing is off inside instances.
- Detections received from other Spy users appear in your Nearby list, as icons on the world map and the minimap.
- Map icons : every zone, same zone only (default) or same continent. Option to switch the world map to your zone on detection.
## Minimap tracking
If you can track humanoids, hovering an enemy on the minimap:
- adds his level and class to the minimap tooltip when Spy knows him (default : on);
- can add him to the Nearby list (default: off).
---
## Spy window
- Left-click a row : target that player (out of combat only).
- Shift + click a row : add/remove Kill On Sight. Ctrl + click : add/remove Ignore.
- Right-click a row : menu (Ignore, Kill On Sight, KoS reasons, announce to party/raid/guild/Local Defense).
- Clear button : empties the Nearby list. Ctrl + click turns Spy on/off. Shift + click turns sounds on/off.
- Window options : lock, keep on screen, flip upside down, auto-resize (list limit), transparency (separate value in battlegrounds), font, row height, bar texture.
- Row tooltip : win/loss count, KoS reasons, last seen time and place. Optionally anchored next to the Spy window.
## Minimap button
- Left-click : show/hide the Spy window.
- Right-click : options.
- Drag : move around the minimap.
- Hover : number of nearby enemies and KoS players present.
- Hide it with /spy minimap or General > "Show the minimap button".
---
## Zones
Settings for when Spy runs :
- in battlegrounds, arenas and world PvP combat zones (all on by default);
- in sanctuaries (off by default);
- in a list of zones you choose to exclude (Booty Bay, Gadgetzan, Ratchet, Everlook, Cenarion Hold…).
Spy is always off in dungeons and raids.
---
## Commands
| Command | Action |
|---|---|
| `/spy` | List the commands |
| `/spy show` | Turn Spy on and show the window |
| `/spy hide` | Turn Spy off and hide the window |
| `/spy clear` | Empty the Nearby list |
| `/spy reset` | Reset window positions |
| `/spy config` | Open the options (in their own window; also under Options > AddOns > Spy) |
| `/spy stats` | Open the statistics window |
| `/spy kos <name>` | Add/remove a player from Kill On Sight |
| `/spy ignore <name>` | Add/remove a player from Ignore |
| `/spy test` | Show a test stealth alert |
| `/spy minimap` | Show/hide the minimap button |
| `/spy debug` | Show what Spy sees on this client: zone and why Spy is on or off, nameplates, list counts, detections, last death and how the loss was decided, whether saved data was loaded, last error |
---
## Differences from Spy on Classic Era
- Detection : nameplates, target, focus and mouseover instead of the combat log. See "How Spy detects enemies on Forever".
- Stealth alert : only for casts seen on a visible unit. Vanish is now included.
- Wins and losses : Forever's kill event and the death recap, instead of the combat log.
- Options open in their own window.
- Added : minimap button, /spy debug, a warning when enemy nameplates are off.
- Hidden values : the Forever client can hide some unit information from addons, mostly in instanced PvP. Spy skips those units instead of raising errors.
- Library fixes for this client :
- options tooltips;
- option checkboxes;
- statistics window tab;
- map data (Forever uses the Classic maps);
- LibChatAnims removed (unused, and it interfered with the chat).
---
## Known limitations
- An enemy you cannot see (out of nameplate range, stealthed, not shown) is not detected by his actions.
- Forever beta : the client writes saved variables but does not load them back (Blizzard bug, build 1.60.1.69913). Until it is fixed, your Kill On Sight and Ignore lists, statistics and settings reset at each login. /spy debug shows "Saved data read at login: no" when this happens.
- Minimap tracking depends on the client exposing the minimap tooltip text to addons.
When reporting a problem, include the output of /spy debug please :).
---
## Languages
The original Spy translations: English, German, Spanish (EU and Latin America), French, Korean, Portuguese, Russian, Simplified and Traditional Chinese.
Texts added for Forever (minimap button, nameplate warning) are in English, French, German and Spanish; the other languages show them in English. /spy debug output is in English.
---
## Credits
- Spy : created by Immolation, maintained by Slipjack.
- Translations : Kasth, Cruzluz, Jaspy10, Jana, Kidd8250, Ringdove, FishtrBone, TeHbZShadow.
- Forever port : Zerka.
- Libraries : Ace3, LibSharedMedia-3.0, AceGUI-3.0-SharedMediaWidgets, HereBeDragons.



