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.26 See changelog
Released
The updated algorithm correctly identifies when to use Feral Charge against distant casting enemies without blocking normal movement. All motion is now smoothed for more natural, human-like behavior.