promotional bannermobile promotional banner

AFKSpinner

Automatically spins your character in place when you go AFK for a fun RP effect. Stops when you return. Includes optional manual controls with /afkspin start | stop.

File Details

AFKSpinner_20-03-26.zip

  • R
  • Mar 20, 2026
  • 18.17 KB
  • 109
  • 12.0.5+4
  • Classic + 3

File Name

AFKSpinner_20-03-26.zip

Supported Versions

  • 12.0.5
  • 12.0.1
  • 5.5.3
  • 2.5.5
  • 1.15.8
## [2.7] — 2025-03-20

### Added
- **`AFKSpinner_Locales.lua`** — all locale tables loaded before the main file; main script uses `AFKSpinnerI18N` then clears the global.
- **`dbVersion`** in saved variables plus **`MigrateDatabase()`** on load (and after reset) for forward-compatible upgrades.
- **Resume after AFK combat pause**: if spinning stopped only because you entered combat in **AFK mode** (`manualMode` false), **`PLAYER_REGEN_ENABLED`** can start the loop again when you leave combat; flag is cleared if you are no longer AFK or the addon is disabled.
- **`ScheduleTestStop`** with **`C_Timer.After`** when available, otherwise a hidden frame **`OnUpdate`** until `GetTime()` reaches the end time.
- **`ClearTestStopSchedule()`** so manual stops do not leave a stale fallback timer.

### Changed
- **`NormalizeText`** is defined before **`NormalizeLanguage`**; language parsing uses explicit string vs non-string handling instead of relying on load order.
- **`StopSpinning`**: applies **`combatPausedSpin`** rules before clearing state; always clears the test-stop scheduler first.
- **`PLAYER_REGEN_DISABLED`**: stops with **`in_combat`** whenever **`running`** and **`UnitAffectingCombat("player")`**, including during the **pre-spin delay** (not only when the camera is already turning).
- **`RunTestSpin(duration)`** — single path for the options **Test** button and **`/afkspin test`** (validation 1–15 s, “already running” guard).
- **`defaults.language`** comment documents all six locale codes (en / uk / ru / de / fr / es).
- **`## Notes`** in the TOC: clarifies **camera view** rotation vs the character model in the world.

### Fixed
- **Russian** `msg_wait_delay` string reads naturally (“Активно, ожидание задержки…”).