An in-game Warrior guide for World of Warcraft: Forever, with Arms, Fury and Protection profiles for PvE and PvP, talent guidance, skills, professions and Legacy. Version 0.8.0 corrects current-stance permissions and separates Tank/DPS role from talent specialization. Charge in Defensive Stance requires confirmed Vanguard; role/stance changes update both the guide and icon strip. Legacy language settings migrate to English once, then manual choices persist. All WoW languages, 46 sourced macro patterns and the player-pressed spell cycle remain available.
Install and update
Extract the release ZIP into World of Warcraft\_forever_\Interface\AddOns. The resulting path must end in Interface\AddOns\WarriorForever\WarriorForever.toc, with no extra nested release folder. Close the game before replacing the existing WarriorForever folder for updates, then enable Warrior Forever in the character-selection AddOns list. Account and character settings live in WoW SavedVariables; replacing the addon folder preserves them.
Controls and safety
Open /wf settings and click Language for the native-name language picker. The catalogs cover enUS, deDE, esES, esMX, frFR, itIT, ptBR, ruRU, koKR, zhCN, zhTW, plus the existing plPL; enGB shares the English catalog. All 13 choices are reachable directly. English is the fresh-install default regardless of game or OS language. On the first 0.8.0 load, unmarked legacy language settings reset to English once; subsequent choices persist through reloads/updates. Other settings and macros are preserved. Missing entries safely fall back to English. Canonical spell/talent/Legacy names may retain their English identifiers in editorial prose; actual spell names and macro commands use the client's names. Translations require no online service.
The guide header's Role picker offers Automatic, Tank and DPS, independent of the chosen talent tree. Manual role wins; Automatic uses the tanking scenario, then a readable assigned TANK/DAMAGER party role, then Protection as Tank and Arms/Fury as DPS. Current stance and confirmed Vanguard gate Charge, alongside its out-of-combat requirement. Verified stance masks also apply to other stance-dependent spells; native readiness/usability remains required for gold advice. Tank plans include learned threat/shield tools across all specializations, and retain Rage for learned core attacks. DPS plans exclude forced defensive stance, taunts and threat maintenance. Taunt requires a confirmed NPC; PvP contexts never recommend it. Stance/role/combat changes rebuild permitted icons and refresh the open rotation guide through lightweight context reads.
The bundled static CJK font includes Latin Extended and Cyrillic, and is selected for Chinese/Korean addon text or a Chinese/Korean game client, including an English-default addon on that client. Language picker buttons use fonts appropriate to their own labels. Switching languages refreshes existing font objects without replacing user drafts.
Use /wf for the full guide, /wf mini for the development panel, /wf semi for rotation icons only, and /wf settings for native AddOns settings. Left-click the shield for the guide, right-click for mini, or Shift-right-click for semi. Drag a semi icon to move its strip and right-click it to close. Drag other windows by their title area. Positions are stored separately; scale is shared. The launcher can be hidden in settings. Select the profile and scenario in the full guide; settings control language, scale and PvE/PvP visibility.
The guide has Overview, Talents, Skills, Professions and Legacy, Rotations, and Macros tabs. Skill hover notes include a client-confirmed unlock level or a clearly marked unknown/talent requirement. Talent grids show live ranks; recommendations require matching client data and available points. Rotation cards explain both the specialization and each spell's purpose. Semi displays only learned rotation spells in priority order, without headings or guide buttons. Its optional gold border selects one usable ability from readable learned-rank, cooldown, GCD, Rage, aura and target state every 0.10 seconds while visible. Missing, throwing or protected reads suppress uncertain advice. Disable it with the Semi highlight setting. Profile, scenario and progression changes rebuild the strip outside combat. Test your preferred Classic or Enhanced UI preset in game.
Current interrupts, usable reaction attacks, missing buffs/debuffs and the shared next-swing queue affect selection. Heroic Strike/Cleave require surplus Rage and a reserve for learned core attacks. Shield Wall, Last Stand and other major situational tools remain manual. The advisor does not forecast future GCDs, encounter danger or target lifespan. Gold identifies a current conditional priority, not a guaranteed optimal action for every encounter.
When exact Rage/cooldown values are protected, only directly readable per-spell readiness and resource booleans may attest availability. No protected value is reconstructed. Heroic Strike/Cleave still require exact readable Rage for their reserve thresholds and receive no highlight when it is unavailable.
Talent and Legacy suggestions do not spend points. Rotation pages describe priorities without casting actions. In Macros, start a new draft or select a suggested template, choose an icon, insert learned spells and edit the text. Save explicitly outside combat, then use To cursor to place it on an empty action-bar slot or WoW macros to inspect the native entry. Right-click cancels cursor placement. Existing names require an explicit overwrite choice. The generator checks spell availability, byte length, native macro capacity and combat restrictions, then reads the saved entry back. A created macro still requires a player keypress. Review edited commands before using them.
The per-press sequence mode attempts one predefined spell per press, advances regardless of success and wraps after its final step. It does not choose casts from cooldown/Rage state and does not cast on a timer. It starts at the first step after reload. Ordinary macros and edited conditional commands remain supported. Suggested macros expose their purpose, requirements and community pattern source on hover; automatic preview chooses a learned example. Source notes distinguish Forever, Classic and general WoW patterns. Stance variants use one conditional cast and can require a second press after changing stance; stance changes may lose Rage. All referenced spells must be learned. The Charge/Intercept combination branches on combat state, not cooldown or Rage. Utility macros need no learned spell; item-slot macros require an equipped on-use trinket. Shield macros do not equip gear.
Compatibility and data limits
The supported Forever clients are 1.60.1.70862 and 1.60.1.70888, interface 16001. Warrior talent nodes, prerequisites and point progression were compared between both builds; the recommendation data is based on 70888. Recommendations are editorial guidance, not official Blizzard build orders. Unknown talent layouts or unavailable client APIs must be treated as unavailable guidance. Spell unlock data comes from game files and does not prove trainer availability for every listed spell. Legacy Talented can grant points early; actual client talent ranks and unspent points determine recommendations. Future patches require a new verified data release.
Version 0.8.0 passes 221 automated tests, including native-boundary stance/role/Vanguard snapshots, Charge despite misleading usable=true, unknown/protected values, role-independent priorities, NPC-only Taunt, live strip/guide refresh without talent polling, and one-time English migration. Protection DPS has its own explanation and distinct single/multiple-target lists, including stance-legal Whirlwind and Cleave. Each translated catalog now covers 683 source texts. New role labels/guide notes passed numeric/color completeness and actual font character-map checks (node tools/check-localization-fonts.js). Native execution of these changes has not been observed in game; see docs/verification-0.8.0.md.
Version 0.7.0 passes 206 automated tests. Each of the 11 translated catalogs resolves all 676 source texts; English and its UK alias use the original source. Tests check fresh English defaults, saved choices, all locale UI/guide lookups, numeric/percentage/color-token preservation, unchanged internal identifiers and native macro spell names, language picker/font refresh and every profile/tab in every language. Profile and rotation/Legacy headings refresh in the chosen language; edited macro bodies show localized draft help, and bounded previews retain full hover descriptions. Every character used in the catalogs was checked against the appropriate actual font's Unicode map. Native display in all localized clients and linguistic review by native speakers remain unverified. See docs/verification-0.7.0.md for coverage and release evidence.
Version 0.6.0 passes 191 automated tests. Coverage includes conditional stance branches and every spell dependency, utility macros without spellbook data, item icons with protected-value fallback, byte limits, localized hover titles and explicit UI save routing. Choosing spell artwork preserves the suggested macro's original tooltip identity. Forever's talent identities are retained: Sweeping Strikes is 12292 and Death Wish is 12328; the earlier Fury guide references to Death Wish were corrected. Actual native execution of the additional macros remains unverified. The earlier native /click sequence, its physical input edges, combat execution and reload restoration also remain unverified: Computer Use was stopped with Escape before the authorized 0.5.0 reload test. These test doubles do not establish native execution. See docs/verification-0.6.0.md in the source project for exact coverage. The 70862 runtime remains untested.
Version 0.4.1 was loaded in 1.60.1.70888 on a level-12 Warrior. Passive observation showed Thunder Clap without a border during its cooldown, then with a gold border when the cooldown expired and the visible Rage was sufficient. The subsequent observation was stopped with Escape, so disappearance after the next use was not confirmed. The compatibility fix came from 47 recorded client states (29 in combat): exact Rage/timings were protected, while per-spell public readiness/resource booleans were readable. No exact protected value is reconstructed.
Version 0.3.0 was previously loaded on a level-10 Warrior in Forever 1.60.1.70888. Those live checks included learned-spell selection, icon choice, creation of WF Test03, its name/icon/body in the native macro window, explicit cursor pickup and cancellation, suggested macros, Tactical Mastery level-14 hover and distinct Arms/Fury/Protection explanations. The semi strip showed only learned Battle Shout and Charge icons; hover details, dragging by an icon, right-click closing and position retention across /reload were observed. Publication previews are crops from that earlier client session, not mockups or evidence of the new highlight. Details are recorded in docs/verification-0.3.0.md.
The previous 0.2.0 session also covered talent ranks, learned-skill filtering, profession and Legacy cards, mini, launcher clicks, Polish accents, minimap visibility and the native Settings Open button. Talent spending, new sequence execution in combat, PvP encounters, both UI presets, the 70862 runtime and settings after a full relog have not been checked in game. Automated tests cover data matching and logic but cannot prove those live behaviors. Recommendations remain conditional guidance for the selected profile.
Build and distribute
With Node.js dependencies installed, run npm test. Build with PowerShell 7: pwsh -NoProfile -File tools/package.ps1. It produces dist/WarriorForever-<version>-Forever.zip, containing one WarriorForever/ root, TOC-listed Lua/catalog files, the Latin and CJK fonts with their licenses, the in-game TGA icon, this README and LICENSE. Development files and tests are excluded. The TOC version controls the release filename.
node tools/localization-source.js exports the source-text inventory used to check translation completeness. It includes UI labels, localized data fields, previously raw talent effects/names and inline advisor messages. node tools/build-polish-catalog.js preserves the existing Polish prose and supplies the formerly English talent descriptions. The other catalogs are authored translations; esMX shares the Spanish base with 49 regional overrides. The source and each translation preserve numeric and WoW color tokens.
Run pwsh -NoProfile -File tools/package-publication.ps1 to produce dist/WarriorForever-<version>-CurseForge-assets.zip. This separate publication package contains the original project avatar as a 400×400 PNG, eight historical 0.3.0 client previews and current Polish listing notes from assets/curseforge. Use the PNG as the project logo, label the previews with their version in the gallery, and use Forever.zip as the installable addon file. Publication assets are not installed into WoW.
For CurseForge, create or select the World of Warcraft addon project, upload the ZIP as a file, choose the Forever game flavor and the matching supported game version, and mark the release type Release. Add compatibility notes and changes before publishing. Upload and publication require the author's account and are separate from building this package.
Sources and credits
Rotation explanations use the official Blizzard Warrior class deep dive. API shapes were checked against Blizzard's generated spellbook documentation and native macro UI, retained in the Gethe source mirror. Those live-branch references describe APIs; local Forever checks establish the runtime coverage stated above.
Combat reads also reference Blizzard's generated spell APIs, cost/cooldown structures, unit APIs and aura APIs. Automated native-API fixtures validate adapter behavior; they do not establish unrestricted combat reads in a particular live client.
Macro pattern references: nobody174's Forever cheatsheet, Muchamiel's Forever Warrior macros, JustAJeSter's Classic macro list, Corpsie/Vvin's stopattack discussion, Vanilla Warrior's stance/macro guide, the Warrior trinket discussion, and Ishbuu/Xomas on setting focus. Warrior Forever independently assembles simplified templates with client-localized names; profile assignments and explanatory text are editorial adaptations. The focus discussion is general WoW, rather than a Forever-specific source. The click-cycle input model is described by GSE's author; this addon has its own spell-only executor and no GSE dependency.
The simplified Challenging Shout and Bloodrage buttons reference actual player casting examples from Ins's Warrior tools and Herod/Zed's Bloodrage discussion. Their additional weapon swaps and Charge casts are not included in these independent buttons.
Talent data: Zephras (https://zephras.com), CC BY 4.0; adapted for Warrior Forever. The source data arrangement is licensed under Creative Commons Attribution 4.0. The addon adapts the Warrior tree from the 1.60.1.70888 dataset and compares it with 1.60.1.70862; see Zephras data. Adaptations include Lua representation and editorial profile priorities.
Latin/Cyrillic interface text uses Noto Sans, Copyright 2018 The Noto Project Authors, under the SIL Open Font License 1.1. The bundled font file is Media/NotoSans-Regular.ttf.
Media/WarriorForeverCJK-Regular.ttf is a renamed static derivative of Noto Sans CJK, from The Noto Project Authors/Adobe/Google, merged with the bundled Noto Sans under the same OFL. Both copyright notices remain in its metadata; the CJK license is included as OFL-CJK.txt. Source: Sans/Variable/TTF/NotoSansCJKsc-VF.ttf, SHA-256 990c807e79c25662a5a9ecf7f971baeb2bf2eab9a559e5ecf15cdfdb8561d21f. tools/build-cjk-font.py with fontTools 4.68.0 pins weight 400, retains the full CJK Unicode character set, removes unused vertical/regional layout variants, merges Latin Extended/Cyrillic and renames the derivative. The resulting TrueType has 48,049 glyphs and 47,122 mapped codepoints. It requires no variable-font support in WoW. No font tooling is bundled in the release.
Game names, spell names, icons and other Blizzard game content remain the property of Blizzard Entertainment and their respective owners. This is an independent addon, not an official Blizzard product. Original addon code is licensed under MIT; the MIT grant does not relicense Zephras's data arrangement or Blizzard content.

