About This File
set line 221 according to how NPCs behave on your server.
etc.:
// Ideal melee position (2-4 yards)
bool inMeleeRange = distanceToTarget >= 5f && distanceToTarget <= 6f;
Advanced Feral Tank – FightClass Documentation
etc.:
// Ideal melee position (2-4 yards)
bool inMeleeRange = distanceToTarget >= 5f && distanceToTarget <= 6f;
Overview
The Advanced Feral Tank FightClass is designed for Feral Druids in Bear Form to tank effectively in WoW 3.3.5 using WRobot. It automates:
-
Buff management (self and party)
-
Threat generation and taunting
-
Single-target and AoE tanking rotations
-
Emergency defensive cooldowns
-
Rage management
The class runs in a dedicated background thread, executing the rotation every 150 ms when in-game, alive, and not mounted.
Main Components
1. Main Class
Implements ICustomClass
:
-
Initialize() – Creates the rotation handler, starts the rotation thread, logs initialization.
-
RunRotation() – Loop that calls
PulseRotation()
if conditions are met. -
Dispose() – Stops the rotation thread and cleans up.
-
Range – Fixed at 5 yards (melee range).
-
ShowConfiguration() – Currently empty.
2. FeralDruidTankRotation
Handles all combat and out-of-combat logic.
Key Spell Constants
-
Forms:
Bear Form
,Dire Bear Form
-
Threat/Damage:
Mangle (Bear)
,Lacerate
,Swipe (Bear)
,Faerie Fire (Feral)
-
Debuffs:
Demoralizing Roar
-
Taunt:
Growl
-
Defensive CDs:
Survival Instincts
,Frenzied Regeneration
,Barkskin
-
Utility:
Enrage
-
Buffs:
Mark of the Wild
,Gift of the Wild
,Thorns
Rotation Logic
Out of Combat
-
BuffPartyMembers():
-
Applies
Gift of the Wild
orMark of the Wild
to unbuffed party members. -
Applies
Thorns
to tanking players. -
Buff checks occur every 5 seconds.
-
In Combat
-
EnsureBearForm() – Shifts into
Dire Bear Form
orBear Form
if not already active. -
HandleEmergency() – Uses defensive cooldowns based on health thresholds:
-
≤ 30% HP →
Survival Instincts
-
≤ 50% HP →
Frenzied Regeneration
-
≤ 60% HP →
Barkskin
-
Low rage & high HP →
Enrage
-
-
HandleThreatManagement() – Every 1 s:
-
Scans for hostile mobs attacking party members.
-
Uses
Growl
to taunt. -
Applies
Faerie Fire (Feral)
if missing.
-
-
ExecuteMainRotation():
-
Counts nearby enemies (≤ 8 yards).
-
AoE Rotation (≥ 3 enemies):
-
Demoralizing Roar
if missing -
Mangle (Bear)
-
Swipe (Bear)
-
Lacerate
-
-
Single Target Rotation (< 3 enemies):
-
Faerie Fire (Feral)
if missing -
Demoralizing Roar
if missing -
Mangle (Bear)
-
Maintain 5 stacks of
Lacerate
(refresh if < 5 stacks or < 3 s remaining) -
Swipe (Bear)
as filler -
Auto-attack if idle
-
-
Utility Functions
-
HasBuff() / HasBuffOnUnit() – Checks buffs on player or unit.
-
HasDebuffOnTarget() – Checks debuffs on target.
-
GetDebuffStacks() / GetDebuffTimeLeft() – Tracks
Lacerate
stacks and duration. -
GetPartyMembers() – Retrieves player and party members.
-
IsPlayerTank() – Detects if a party member is a tank (class/form check).
-
GetUnitId() – Resolves WoW unit IDs for Lua API calls.
Timers
Custom Timer
class prevents excessive checks:
-
threatCheckTimer – 1 s interval
-
buffCheckTimer – 5 s interval
-
emergencyTimer – 0.5 s interval
Key Features
-
Automatic form shifting into Bear/Dire Bear.
-
Party support with buffs and Thorns for tanks.
-
Smart threat control with taunts and debuffs.
-
Adaptive rotation for single-target and AoE.
-
Emergency survival logic with cooldown prioritization.
-
Rage management via Enrage when safe.
Intended Use
-
Class: Druid (Feral Tank)
-
Game Version: WoW 3.3.5 (Wrath of the Lich King)
-
Bot Framework: WRobot
-
Role: Main tank in dungeons/raids or off-tank in groups.
What's New in Version 1.0.4 See changelog
Released
Fixed and improved : line 230