|
|
|
@@ -1,32 +1,17 @@
|
|
|
|
|
# 🧩 ShaguTweaks — ClassicAPI
|
|
|
|
|
|
|
|
|
|
A lightweight fork of [ShaguTweaks](https://github.com/shagu/ShaguTweaks) for **Turtle WoW-like servers**.
|
|
|
|
|
A lightweight fork of [ShaguTweaks](https://github.com/shagu/ShaguTweaks) for **Turtle WoW-like servers**, focused on **stability, compatibility and performance** while keeping the original ShaguTweaks experience.
|
|
|
|
|
|
|
|
|
|
Focused on **stability, compatibility and performance** while keeping the original ShaguTweaks experience.
|
|
|
|
|
This is an English-only customization of [Dusk/ShaguTweaks-ClassicAPI](https://octowow.st/git/Dusk/ShaguTweaks-ClassicAPI), based on ShaguTweaks, for the Vanilla client environment with ClassicAPI.
|
|
|
|
|
|
|
|
|
|
> This fork requires ClassicAPI and targets **Turtle WoW-like server/client environments**.
|
|
|
|
|
|
|
|
|
|
An English-only customization of [Dusk/ShaguTweaks-ClassicAPI](https://octowow.st/git/Dusk/ShaguTweaks-ClassicAPI), based on [ShaguTweaks](https://github.com/shagu/ShaguTweaks), for the Vanilla client environment with ClassicAPI.
|
|
|
|
|
|
|
|
|
|
## Features of this fork
|
|
|
|
|
|
|
|
|
|
- **Modern Class Colors:** optional palette for all nine Vanilla classes, including blue shamans. Listed directly below **Unit Frame Class Colors**.
|
|
|
|
|
- **Modern textures:** class-tinted health artwork and precolored rage, energy and focus artwork. Mana uses the light-blue rectangular retail fill on every supported frame, including the druid's separate mana bar in bear/cat forms.
|
|
|
|
|
- **Real Health Numbers:** percentage on the left and current health on the right, inset 4 pixels. Power numbers remain centered. Unknown absolute target health stays percentage-only.
|
|
|
|
|
- **Number styling:** health, percentage and power numbers copy the corresponding character name's font, size and shadow. Gold is the default; **White Unit Frame Numbers** under Unit Frames switches the numbers to white independently of Modern Class Colors.
|
|
|
|
|
- **Movable Unit Frames:** hold **Ctrl+Shift+Alt** to drag; right-click while unlocked to reset.
|
|
|
|
|
- **Portrait resting glow:** with **Unit Frame Big Health**, the resting pulse is limited to the portrait. The full status artwork is restored outside resting or in combat.
|
|
|
|
|
- **Tooltip details:** restored guild ranks and leader marker; optional modern class colors and health texture. NPC interaction and tooltip-clear handling prevent cached colors leaking between tooltips.
|
|
|
|
|
- **Range Color fixes:** self/rangeless spells no longer use a misleading legacy fallback; invalid friendly/hostile target checks and stale red/no-mana tint are handled. No additional AoE-specific exceptions have been added.
|
|
|
|
|
- **English-only loading:** only English data and translations are included, avoiding unused locale allocations.
|
|
|
|
|
- **ClassicAPI integration:** native cooldown support, filtered unit events, corrected chat identity/payload handling, and reduced duplicate player-cache records when native persistence is already enabled. Older fallbacks are retained.
|
|
|
|
|
|
|
|
|
|
## 🔌 Requirements
|
|
|
|
|
|
|
|
|
|
- **[ClassicAPI](https://github.com/brues-code/ClassicAPI) — required**
|
|
|
|
|
- **[SuperWoW](https://github.com/balakethelock/SuperWoW) — optional / recommended**
|
|
|
|
|
- **[ClassicAPI](https://github.com/brues-code/ClassicAPI) — required.** Install both the DLL and its bundled `!!!ClassicAPI` addon, and restart the client after a DLL update. v1.18.10 or newer is recommended (it includes a crash fix for addons that restyle nameplates). The integration was last reviewed against v1.18.13; see [Docs/CLASSICAPI_UPDATES.md](Docs/CLASSICAPI_UPDATES.md).
|
|
|
|
|
- **[SuperWoW](https://github.com/balakethelock/SuperWoW) — optional / recommended.** Only used as an additional fallback for some cast/GUID information.
|
|
|
|
|
|
|
|
|
|
ClassicAPI is the main API layer. SuperWoW is only used as an additional fallback for some cast/GUID information.
|
|
|
|
|
ClassicAPI is the main API layer.
|
|
|
|
|
|
|
|
|
|
## 📦 Installation
|
|
|
|
|
|
|
|
|
@@ -38,29 +23,44 @@ ClassicAPI is the main API layer. SuperWoW is only used as an additional fallbac
|
|
|
|
|
|
|
|
|
|
Settings: **Esc → Advanced Options**.
|
|
|
|
|
|
|
|
|
|
## ✨ Main changes
|
|
|
|
|
## ✨ What's different in this fork
|
|
|
|
|
|
|
|
|
|
**Unit frames**
|
|
|
|
|
|
|
|
|
|
- **Modern Class Colors:** optional palette for all nine Vanilla classes, including blue shamans. Listed directly below **Unit Frame Class Colors**.
|
|
|
|
|
- **Modern textures:** class-tinted health artwork and precolored rage, energy and focus artwork. Mana uses the light-blue rectangular retail fill on every supported frame, including the druid's separate mana bar in bear/cat forms.
|
|
|
|
|
- **Real Health Numbers:** an independent module. Percentage on the left and current health on the right, inset 4 pixels; power numbers remain centered. It uses direct values when available and a lazy Vanilla health estimator for percentage-only targets, so unknown absolute target health stays percentage-only.
|
|
|
|
|
- **Number styling:** health, percentage and power numbers copy the corresponding character name's font, size and shadow. Gold is the default; **White Unit Frame Numbers** under Unit Frames switches the numbers to white independently of Modern Class Colors.
|
|
|
|
|
- **Unit Frame Big Health** is presentation-only and no longer forces numeric health/power text. With it, the resting pulse is limited to the portrait, and the full status artwork is restored outside resting or in combat.
|
|
|
|
|
- **Movable Unit Frames:** Player, Target, Party, Minimap, Buffs, Debuffs and Weapon Buffs share one mover and alignment grid. Hold **Ctrl+Shift+Alt** to drag; right-click while unlocked to reset.
|
|
|
|
|
|
|
|
|
|
**Tooltips, items and action bars**
|
|
|
|
|
|
|
|
|
|
- **Tooltip Details:** restored guild ranks and leader marker; optional modern class colors and health texture. NPC interaction and tooltip-clear handling prevent cached colors leaking between tooltips.
|
|
|
|
|
- **Item Rarity Borders** cover merchant, quest, mail, trade, crafting and loot frames, and **Item Rarity Glows** add an independent glow using the same shared rarity engine.
|
|
|
|
|
- **Range Color:** self/rangeless spells no longer use a misleading legacy fallback; invalid friendly/hostile target checks and stale red/no-mana tint are handled. No additional AoE-specific exceptions have been added.
|
|
|
|
|
|
|
|
|
|
**Performance and stability**
|
|
|
|
|
|
|
|
|
|
- ClassicAPI-backed integration for casts, auras, items and unit data.
|
|
|
|
|
- Reduced per-frame work, tooltip scans and repeated UI updates.
|
|
|
|
|
- Event-driven target and nameplate castbars where possible.
|
|
|
|
|
- Safer GUID-based handling for same-name enemies.
|
|
|
|
|
- Better Turtle WoW-like server compatibility for custom items, spells and UI changes.
|
|
|
|
|
- Safer hooks and fewer destructive global overrides.
|
|
|
|
|
- Expanded Item Rarity Borders support for merchant, quest, mail, trade, crafting and loot frames.
|
|
|
|
|
- Added independent Item Rarity Glows using the shared item rarity engine.
|
|
|
|
|
- Expanded Movable Unit Frames to handle Player, Target, Party, Minimap, Buffs, Debuffs and Weapon Buffs through one shared Ctrl+Shift mover and alignment grid.
|
|
|
|
|
- Restored Real Health Numbers as an independent module, with direct values when available and a lazy Vanilla health estimator fallback for percentage-only targets.
|
|
|
|
|
- Unit Frame Big Health is presentation-only again and no longer forces numeric health/power text.
|
|
|
|
|
- Various stability fixes across legacy ShaguTweaks modules.
|
|
|
|
|
- **English-only loading:** only English data and translations are included, avoiding unused locale allocations.
|
|
|
|
|
- Better Turtle WoW-like server compatibility for custom items, spells and UI changes, plus various stability fixes across legacy ShaguTweaks modules.
|
|
|
|
|
|
|
|
|
|
## 🔷 Mods using ClassicAPI directly
|
|
|
|
|
## 🔷 ClassicAPI integration
|
|
|
|
|
|
|
|
|
|
- Actionbar Range Color
|
|
|
|
|
ClassicAPI backs casts, auras, items and unit data: native cooldown support, filtered unit events, corrected chat identity/payload handling, and reduced duplicate player-cache records when native persistence is already enabled. Older fallbacks are retained for clients without the newer features.
|
|
|
|
|
|
|
|
|
|
Modules that use ClassicAPI directly:
|
|
|
|
|
|
|
|
|
|
- Range Color
|
|
|
|
|
- AoE Loot
|
|
|
|
|
- Auto Dismount
|
|
|
|
|
- Chat Tweaks
|
|
|
|
|
- Equip Compare
|
|
|
|
|
- Free Slots
|
|
|
|
|
- Free Slot Count
|
|
|
|
|
- Improved Castbar
|
|
|
|
|
- Item Rarity Borders
|
|
|
|
|
- Item Rarity Glows
|
|
|
|
@@ -68,39 +68,42 @@ Settings: **Esc → Advanced Options**.
|
|
|
|
|
- Real Health Numbers
|
|
|
|
|
- Nameplate Class Colors
|
|
|
|
|
- Nameplate Castbar
|
|
|
|
|
- No Toggle
|
|
|
|
|
- No Toggle Auto-Attack
|
|
|
|
|
- Sell Junk
|
|
|
|
|
- Skip Gossip Text
|
|
|
|
|
- Enemy Target Castbar
|
|
|
|
|
- Enemy Castbars
|
|
|
|
|
- Tooltip Details
|
|
|
|
|
- WorldMap Window
|
|
|
|
|
|
|
|
|
|
Other modules can also benefit indirectly from ClassicAPI through shared ShaguTweaks libraries and caches.
|
|
|
|
|
Other modules can also benefit indirectly from ClassicAPI through shared ShaguTweaks libraries and caches. Per-version notes are in [Docs/CLASSICAPI_UPDATES.md](Docs/CLASSICAPI_UPDATES.md).
|
|
|
|
|
|
|
|
|
|
## ⚙️ Modules
|
|
|
|
|
|
|
|
|
|
Names match the in-game options list. Modules marked *(off)* are disabled until you enable them.
|
|
|
|
|
|
|
|
|
|
### Action Bar
|
|
|
|
|
|
|
|
|
|
- Auto Dismount
|
|
|
|
|
- Auto Stance
|
|
|
|
|
- Actionbar Range Color
|
|
|
|
|
- Range Color *(off)*
|
|
|
|
|
- Cooldown Numbers
|
|
|
|
|
- Hide Gryphons
|
|
|
|
|
- Improved Castbar
|
|
|
|
|
- Hide Gryphons *(off)*
|
|
|
|
|
- Improved Castbar *(off)*
|
|
|
|
|
- No Toggle Auto-Attack
|
|
|
|
|
- Reduced Actionbar
|
|
|
|
|
- Reduced Actionbar Size *(off)*
|
|
|
|
|
|
|
|
|
|
### Unit Frames
|
|
|
|
|
|
|
|
|
|
- Big Health
|
|
|
|
|
- Class Colors
|
|
|
|
|
- Class Portraits
|
|
|
|
|
- Energy & Mana Tick
|
|
|
|
|
- Health Colors
|
|
|
|
|
- Unit Frame Big Health *(off)*
|
|
|
|
|
- Unit Frame Class Colors *(off)*
|
|
|
|
|
- Modern Class Colors *(off)*
|
|
|
|
|
- Unit Frame Class Portraits *(off)*
|
|
|
|
|
- Unit Frame Energy & Mana Tick *(off)*
|
|
|
|
|
- Movable Unit Frames
|
|
|
|
|
- Real Health Numbers
|
|
|
|
|
- Enemy Target Castbar
|
|
|
|
|
- Target Debuff Timer
|
|
|
|
|
- Real Health Numbers *(off)*
|
|
|
|
|
- White Unit Frame Numbers *(off)*
|
|
|
|
|
- Enemy Castbars
|
|
|
|
|
- Debuff Timer
|
|
|
|
|
|
|
|
|
|
### Nameplates
|
|
|
|
|
|
|
|
|
@@ -111,28 +114,28 @@ Other modules can also benefit indirectly from ClassicAPI through shared ShaguTw
|
|
|
|
|
### Tooltip & Items
|
|
|
|
|
|
|
|
|
|
- Equip Compare
|
|
|
|
|
- Free Slots
|
|
|
|
|
- Free Slot Count
|
|
|
|
|
- Item Rarity Borders
|
|
|
|
|
- Item Rarity Glows
|
|
|
|
|
- Item Rarity Glows *(off)*
|
|
|
|
|
- Sell Junk
|
|
|
|
|
- Tooltip Details
|
|
|
|
|
- Vendor Values
|
|
|
|
|
|
|
|
|
|
### Chat & Social
|
|
|
|
|
|
|
|
|
|
- Blue Shaman Class Colors
|
|
|
|
|
- Blue Shaman Class Colors *(off)*
|
|
|
|
|
- Chat Tweaks
|
|
|
|
|
- Chat Levels
|
|
|
|
|
- Chat Spam Filter
|
|
|
|
|
- Chat Levels *(off)*
|
|
|
|
|
- Chat Spam Filter *(off)*
|
|
|
|
|
- Social Colors
|
|
|
|
|
|
|
|
|
|
### Minimap & World Map
|
|
|
|
|
|
|
|
|
|
- Clean Minimap
|
|
|
|
|
- Minimap Clock
|
|
|
|
|
- Minimap Square
|
|
|
|
|
- Minimap Tweaks
|
|
|
|
|
- Minimap Zoom
|
|
|
|
|
- Minimap Clean *(off)*
|
|
|
|
|
- MiniMap Clock
|
|
|
|
|
- MiniMap Square *(off)*
|
|
|
|
|
- MiniMap Tweaks
|
|
|
|
|
- Enlarged Minimap *(off)*
|
|
|
|
|
- Hide Tracking Icon
|
|
|
|
|
- WorldMap Class Colors
|
|
|
|
|
- WorldMap Coordinates
|
|
|
|
@@ -140,28 +143,22 @@ Other modules can also benefit indirectly from ClassicAPI through shared ShaguTw
|
|
|
|
|
|
|
|
|
|
### Loot
|
|
|
|
|
|
|
|
|
|
- AoE Loot
|
|
|
|
|
- Improved Roll Frames
|
|
|
|
|
- AoE Loot *(off)*
|
|
|
|
|
- Improved Roll Frames *(off)*
|
|
|
|
|
- Loot Cursor
|
|
|
|
|
|
|
|
|
|
### Interface
|
|
|
|
|
|
|
|
|
|
- Darkened UI
|
|
|
|
|
- Hide Errors
|
|
|
|
|
- Smaller Error Frame
|
|
|
|
|
- Darkened UI *(off)*
|
|
|
|
|
- Hide Errors *(off)*
|
|
|
|
|
- Smaller Error Frame *(off)*
|
|
|
|
|
- XP Bar Text
|
|
|
|
|
|
|
|
|
|
### General
|
|
|
|
|
|
|
|
|
|
- Super WoW Compatibility
|
|
|
|
|
- Turtle WoW Compatibility
|
|
|
|
|
- Skip Gossip Text
|
|
|
|
|
|
|
|
|
|
## 🔧 Compatibility
|
|
|
|
|
|
|
|
|
|
- ClassicAPI integration
|
|
|
|
|
- Turtle WoW-like server integration
|
|
|
|
|
- SuperWoW integration
|
|
|
|
|
- Skip Gossip Text *(off)*
|
|
|
|
|
|
|
|
|
|
## 🧹 Removed / integrated modules
|
|
|
|
|
|
|
|
|
@@ -181,7 +178,9 @@ For detailed provenance and licensing information, see:
|
|
|
|
|
- [THIRD_PARTY_NOTICES.md](THIRD_PARTY_NOTICES.md)
|
|
|
|
|
- [PROJECT_IDENTITY.md](PROJECT_IDENTITY.md)
|
|
|
|
|
- [Docs/ASSET_PROVENANCE.md](Docs/ASSET_PROVENANCE.md)
|
|
|
|
|
- [LICENSES/](LICENSES/)
|
|
|
|
|
- [Docs/MODERN_MANA.md](Docs/MODERN_MANA.md)
|
|
|
|
|
- [Docs/UPSTREAM_README.md](Docs/UPSTREAM_README.md) — the Dusk fork's README, kept for reference
|
|
|
|
|
- [LICENSES/](LICENSES)
|
|
|
|
|
|
|
|
|
|
## 🙏 Credits
|
|
|
|
|
|
|
|
|
|