DoTimer
DoTimer is a highly sophisticated DoT (Damage-over-Time) tracking tool. It tracks up to 10 targets with 20 debuffs each, supports macro functions, offers customizable interfaces, and detects resistances, immunities, and other effects for high accuracy.
Installation
GitAddonsManager
The easiest way to keep DoTimer up to date is by using GitAddonsManager.
- Add the Repository: Add the following URL to GitAddonsManager: https://github.com/kc8pnd/DoTimer.git
- Select the Branch: Ensure that the master branch is selected.
- Update: Using GitAddonsManager, you can check for and install updates for all your AddOns with a single click.
Manual Installation
If you prefer manual installation, follow these steps:
- Go to the main page of the repository.
- Click the <> Code dropdown and download the repository as a
.zip
. - Unpack the
.zip
and rename the folder toDoTimer
, removing the-master
suffix. - Move the folder into your
Interface/AddOns
directory and restart the game.
Note: Replace "expalert.wav"
with your preferred sound file in the addon directory for custom alerts.
Git Links
Usage Commands
Command | Description |
---|---|
/dotimer help
|
Show help menu with available commands |
/dotimer / /dot
|
Open GUI interface |
/dotimer on
|
Enable tracking |
/dotimer off
|
Disable tracking |
/dotimer reset
|
Reset settings |
/dotimer help [category]
|
Specific help on categories (e.g., sizing, interface) |
Common Settings via /dotimer
GUI
- Change display mode (icons/bars)
- Adjust scale and layout
- Enable/disable sounds
- Set max targets/debuffs
- Lock/unlock interface
- Toggle features like only current target timers, hide target names, etc.
Preview
Options:
Timers:
Core Features
- Target Separation & Management: Supports tracking multiple targets simultaneously.
- Debuff Support: Tracks up to 20 debuffs per target; older entries are overwritten when limits are reached.
- Timer Display: Show timers as icons or bars (no other formats planned). Timers update several times per second for accuracy.
- Smart Timer Handling: Avoids erratic deletion of timers, detects resists, immunities, reflect, evade, etc.
- Macro Support: Extensive functions for macro automation and debuff checks.
- Interface Customization: Scale, position, layout, sorting, display mode, and more.
- Sound Alerts: Play sounds near expiration; customizable sound files.
- Ghost Timers & Simulations: For testing and recasting timers.
- Localization & Support: Supports multiple languages and additional classes.
Customization & Interface
Layout & Size
Use /dotimer
commands or GUI options to:
- Change scale (
/dotimer scale 1.5
) - Switch display mode (
/dotimer set format bars
) - Adjust bar length:
/dotimer bar length 200
- Lock/unlock interface positions
Target & Debuff Display
- Show only current target's timers (
/dotimer onlytarget on
) - Enable/disable target names
- Change layout (up, down, left, right) with
/dotimer set layout
command
Sound & Alerts
- Enable sound notifications (
/dotimer play sounds
) - Replace default sound by placing a file named
expalert.wav
in your addon folder - Ghost timers can automatically cast Conflag or Swiftmend if enabled
Macro Support & Sample Macros
DoTimer provides several functions for macro automation. Here are some examples:
<syntaxhighlight lang="lua">-- Cast corruption if not on target, else shadow bolt /script if DoT_IsPSpell("Corruption") then CastSpellByName("Shadow Bolt") end -- Cast corruption and immolate if not present, then shadow bolt /script if DoT_IsPSpell("Corruption") then if not DoT_SpellOnTarget("Immolate") then CastSpellByName("Immolate") end end -- Cast Curse of Shadow if not on target, else shadow bolt /script if not DoT_IsSpell("Curse of Shadow") then CastSpellByName("Shadow Bolt") end -- Cast Curse of Shadow or Curse of Agony /script if not DoT_DetermineSpell("Curse of Shadow", "Curse of Agony") then CastSpellByName("Shadow Bolt") end -- Cast Conflagrate after Immolate has been active for 13 seconds /script if DoT_ReturnElapsed("Immolate") >= 13 then CastSpellByName("Conflagrate") end -- Banish if less than 2 seconds remaining /script if DoT_ReturnRemaining("Banish") <= 2 then CastSpellByName("Banish") end -- Rejuvenate or Swiftmend depending on castability /script local r,s,c="Rejuvenation",DoT_SpellOnTarget,CastSpellByName; if (s(r) or s("Regrowth")) then c("Swiftmend") else c(r) end</syntaxhighlight>
Class & Spell Support
DoTimer supports all classes, with some support for priests, druids, and hunters. It tracks common DoTs, curses, and buffs.
How to Customize Spells
Edit spells.lua
and spellsdata.lua
to add or modify spells:
Use the format:<syntaxhighlight lang="lua"> ["texture_path"] = { name = "Spell Name", duration = seconds, multiplier = 1 } </syntaxhighlight>
Add to class-specific spell tables in DefineSpells
.
Changelog Highlights
- Version 1.1.6: Fixed issues for Turtle WoW
- Version 1.1.5.2: Fix for Shaman
- Version 1.1.5.1: Added Shaman, Russian localization
- Version 1.1: Major improvements:
- Smarter ghost timers
- Show only current target
- Improved layout options
- Smarter spell detection
- Support for more classes and spells