Description
# Cursor Move Stop - Addon Overview & Changelog
**Cursor Move Stop (CMS)** is an advanced user interface addon for World of Warcraft (WoW) players that adds customizable rings, markers, and effects around the mouse cursor to facilitate cast bar tracking, Global Cooldown (GCD) monitoring, and movement controls during combat.
---
## 1. What Does the Addon Do? (Features)
The addon visualizes the following information in real-time using 3 different ring slots (Inner, Main, and Outer Rings) around your mouse cursor:
* **Cast Bar Tracking**: Displays a ring that fills up around your cursor while casting.
* **Standard Cast Spells**: Represents spells that require you to stand still while casting, shown in **Yellow**. When this ring is active, it indicates you must not move.
* **Channeled Spells (e.g., Penance)**: Represents spells that can be channeled (some allowing movement), shown in **Green**.
* **Global Cooldown (GCD) Tracking**: Displays ability global cooldowns using a green or class-colored ring.
* **Overlap Prevention (GCD Hiding)**: When casting any spell (when the cast ring is yellow or green), the green GCD ring is **automatically and unconditionally hidden** to prevent distractions and reduce visual clutter.
* **Cursor Trail**: Leaves a sleek trail behind the cursor when moved.
* Allows selection of class color, custom colors, or seasonal/holiday effects (e.g., snowy winter effect).
* **High Contrast Ring**: Adds a dual-layered black-and-white high contrast ring to prevent the cursor from getting lost during intense combat on very bright or very dark backgrounds.
* **Advanced Modifier Key Actions**: Pressing `Shift`, `Ctrl`, or `Alt` can trigger showing the rings, playing an animated ping, or showing a crosshair.
* **Comprehensive Settings Panel**: Accessible via `/cms` or `/cursormovestop` in-game, allowing pixel-perfect configuration of ring sizes, transparencies, textures, color modes, and positions.
---
## 2. Recent Updates (Current Version)
* **Hide GCD on Cast Feature Added**:
* The green GCD ring is automatically hidden the moment any cast starts. Once the cast finishes or is cancelled, if there is still GCD duration remaining, the GCD ring becomes visible again.
* **Cast Bar Color Standardization**:
* Standard stationary casts (Smite, Flash Heal, etc.) now default to **Yellow**.
* Channeled spells that allow movement (Penance, etc.) now show a **Green** cast bar.
* **Penance & Channeled Spell Improvements**:
* Casting Penance displays the green cast bar to track channel progress while keeping the redundant GCD ring hidden.
* **Advanced Event Filtering**:
* Added a `unit == "player"` filter to ignore spellcast events from other players and NPCs, preventing them from desynchronizing or breaking your rings.
* Implemented `castGUID` tracking to correctly synchronize start/stop animations, resolving overlap issues from instant spells (like Power Word: Shield).
* **Lua 60 Upvalues Limit Resolved**:
* Fixed a settings panel load crash caused by WoW's engine limit of 60 upvalues per closure. Packed all slider and dropdown references into a single local table (`rCtrl`) inside the Reset button click handler, reducing upvalue count.
* **WoW FontString Crash Fix**:
* Resolved a startup crash in newer WoW client versions regarding FontString child node references on checkbox templates by implementing a dynamic FontString validation and fallback creation system.
* **Turkish Code Comments Translation & Cleanup**:
* Translated all technical comments in the source files to Turkish and stripped out obsolete/unused commented code blocks to make the codebase cleaner and easier to maintain.
