Jump to content

About This File

Advanced Feral Tank Fight Class Documentation

Overview

Advanced Feral Tank Fight Class is a sophisticated automation script for World of Warcraft 3.3.5 (Wrath of the Lich King) designed for Druid tanks in Bear Form. This fight class features advanced movement AI, intelligent threat management, and optimized rotation systems for maximum tanking performance.

Key Features

Advanced Movement System

  • Line of Sight Detection: Uses TraceLine raycast technology to detect obstacles and plan optimal paths
  • PathFinding Algorithms: Automatically navigates around obstacles using WRobot's pathfinding system
  • Smart Positioning: Analyzes enemy positions and maintains optimal tanking stance
  • Stuck Detection: Multiple unstuck mechanisms including jumping, strafing, and backtracking
  • Manual Control Override: Detects WASD keyboard input and disables bot movement when player takes manual control

Combat Initiation

The fight class uses Faerie Fire (Feral) as the primary combat opener, providing:

  • Long-range threat generation (30-yard range)
  • Armor reduction debuff application
  • Safe engagement without requiring melee range
  • Multi-target application during pulls

Intelligent Threat Management

  • Mass Taunt Logic: Automatically uses Challenging Roar when 2+ enemies attack party members
  • Priority Targeting: Focuses threats based on distance, casting status, and target priority
  • Feral Charge Integration: Uses charge abilities for distant threat pickup
  • Tab-Targeting: During Berserk, applies Mangle to multiple targets for maximum TPS

Optimized Rotation System

The rotation follows a sophisticated priority system designed for maximum Threat Per Second (TPS):

  1. Proactive Rage Management: Uses Enrage early when rage drops below 25
  2. Berserk Activation: Aggressive use in multi-target or high-threat situations
  3. Interrupt Priority: Bash casting enemies within range
  4. Maul Queueing: Dynamic rage thresholds based on enemy count and situation
  5. Mangle Spam: Primary TPS ability with multi-target application during Berserk
  6. Faerie Fire Multi-dotting: Applies to multiple targets for threat and armor reduction
  7. Swipe Optimization: Scales usage based on enemy count and rage availability
  8. Lacerate Management: Maintains 5-stack DoT with refresh timing
  9. Demoralizing Roar: Applied strategically for damage reduction

Emergency Systems

  • Survival Cooldowns: Automatic use of Survival Instincts, Frenzied Regeneration, and Barkskin
  • Healer Support: Intelligent Innervate casting on low-mana healers (below 15%)
  • Fear Breaking: Uses Berserk to break fear effects
  • Health-based Responses: Graduated emergency responses based on health percentage

Party Support Features

  • Auto-buffing: Applies Mark/Gift of the Wild and Thorns when out of combat
  • Healer Detection: Identifies healers through role assignment or class detection
  • Threat Rescue: Immediate response to party members under attack
  • Combat Resurrection: Uses Rebirth on fallen party members when appropriate

Technical Specifications

Movement Controller

  • PID Control System: Smooth turning with proportional-integral-derivative control
  • Collision Avoidance: Multi-step obstacle detection and avoidance
  • Path Optimization: Removes unnecessary waypoints from calculated paths
  • Movement States: Priority-based system preventing movement conflicts

Cache Systems

  • Enemy Cache: Tracks all attackable units within 40 yards
  • Party Cache: Maintains list of party members with role information
  • Target Cache: Prevents repeated clearing of dead targets
  • Loot Cache: Tracks looted corpses to prevent multiple loot attempts

Performance Optimizations

  • Timer-based Updates: Prevents excessive calculations with intelligent timing
  • LUA Integration: Uses game's native functions for buff/debuff detection
  • Memory Management: Automatic cleanup of outdated cache entries
  • Thread Safety: Lock-based synchronization for movement operations

Configuration and Usage

Installation

  1. Place the fight class file in your WRobot FightClass directory
  2. Select "Advanced Feral Tank" from the fight class dropdown
  3. Ensure your character is a Druid with Bear Form available

Combat Behavior

  • Pull Initiation: Faerie Fire (Feral) is cast at maximum range to begin combat
  • Form Management: Automatically maintains Dire Bear Form or Bear Form
  • Positioning: Maintains 1.5-4.5 yard optimal distance from enemies
  • Threat Generation: Prioritizes abilities based on enemy count and threat requirements

Manual Override

The fight class detects manual player input through Windows API:

  • WASD Detection: Monitors W, A, S, D key presses
  • QE Detection: Also monitors Q and E for strafing
  • Complete Override: All bot movement stops when manual input detected
  • Spell Casting Continues: Rotation continues even during manual movement

Targeting Logic

Auto-targeting prioritizes enemies based on:

  1. Enemies attacking the player (200 points)
  2. Enemies attacking party members (150 points + healer bonus)
  3. Casting enemies (80 points)
  4. Elite enemies (60 points)
  5. Higher level enemies (30 points)
  6. Current target bonus (25 points)

Advanced Features

Line of Sight System

  • TraceLine Integration: Uses WRobot's collision detection
  • Obstacle Classification: Categorizes obstacles as jumpable, strafeable, or requiring detour
  • Alternative Path Generation: Creates waypoint sequences around obstacles
  • Path Validation: Verifies each waypoint for accessibility

Unstuck Mechanisms

Progressive unstuck system with escalating responses:

  1. Jump: Simple vertical movement for small obstacles
  2. Strafe + Jump: Combination movement for medium obstacles
  3. Backtrack: Returns to last known good position for major obstacles

Smart Positioning Analysis

  • Enemy Centroid Calculation: Weighted center point of all enemies
  • Spread Analysis: Detects when enemies are too dispersed
  • Behind Detection: Identifies enemies attacking from rear
  • Distance Optimization: Maintains ideal tanking range automatically

Troubleshooting

Common Issues

  • Movement Conflicts: Ensure no other movement addons are active
  • API Errors: Windows API detection may fail on some systems (fallback included)
  • Performance Issues: Reduce timer frequencies if experiencing lag
  • Form Problems: Verify Bear Form is learned and available

Debug Information

The fight class logs important events:

  • Movement state changes
  • Threat management actions
  • Emergency ability usage
  • Auto-targeting decisions
  • Manual control detection

Compatibility

  • WRobot Version: Compatible with current WRobot releases
  • WoW Version: Designed for 3.3.5 (Wrath of the Lich King)
  • Hardware Requirements: Windows API requires Windows OS
  • Memory Usage: Optimized cache systems minimize memory footprint

Support and Customization

Customizable Parameters

Key values that can be adjusted:

  • Timer intervals for different systems
  • Distance thresholds for positioning
  • Priority scores for threat management
  • Rage thresholds for ability usage

Performance Tuning

  • Adjust objectCacheTimer (default 100ms) for cache update frequency
  • Modify movement timer intervals for smoother or more responsive movement
  • Tune threat detection sensitivity through score adjustments

This fight class represents a complete tanking solution with professional-grade automation features while maintaining the flexibility for manual override when needed.


What's New in Version 1.0.81   See changelog

Released

Improved HandleEmergency()

HandleEmergency() Function Documentation

Overview

The HandleEmergency() function is a critical component of the Feral Druid Tank rotation system that manages emergency situations during combat. It handles both self-preservation abilities and party support mechanics, with a primary focus on keeping the tank alive and supporting healers with mana management.

Function Signature

private void HandleEmergency()

Execution Control

The function operates on a timer-based system to prevent spam casting:

  • Timer: emergencyTimer with 800ms interval
  • Early Exit: Returns immediately if timer is not ready
  • Reset: Resets timer at start of execution

Core Functionality

1. Healer Support - Innervate Management

The function prioritizes supporting party healers through intelligent Innervate casting:

Healer Detection Methods

Primary Method: Role-based Detection

local healName = '';
local group = {"party1", "party2", "party3", "party4"};
for i = 1, #group do
    local isTank, isHeal,_ = UnitGroupRolesAssigned(group[i]);
    if isHeal then                                    
        healName = UnitName(group[i]);
        break;
    end    
end

Fallback Method: Class-based Detection

  • Searches for players with healing classes: Priest, Druid, Shaman, Paladin
  • Identifies the healer with lowest mana percentage

Healer Search Process

  1. Cache Search: First searches cachedPartyMembers for efficiency
  2. Direct Search: Falls back to ObjectManager.GetObjectWoWPlayer() if not found in cache
  3. Validation: Ensures healer is valid, alive, and within 40 yards

Innervate Trigger Conditions

  • Healer mana percentage < 15%
  • Player is in combat
  • Innervate spell is known and available
  • Last Innervate wasn't cast recently (prevents spam)

Innervate Execution Process

var currentTarget = ObjectManager.Me.Target;
ObjectManager.Me.Target = healer.Guid;
SpellManager.CastSpellByNameLUA(INNERVATE);
Thread.Sleep(200);
ObjectManager.Me.Target = currentTarget; // Restore original target

2. Self-Preservation Abilities

The function monitors the tank's health percentage and activates defensive cooldowns at specific thresholds:

Critical Health (≤30% HP)

Survival Instincts

  • Reduces damage taken by 60% for 12 seconds
  • Used as last resort defensive cooldown
  • Logs emergency action for debugging

Moderate Health (≤50% HP)

Frenzied Regeneration

  • Converts rage into health regeneration
  • Provides sustained healing over time
  • Complements other defensive abilities

Light Damage (≤60% HP)

Barkskin

  • Reduces damage taken by 20%
  • No rage cost, relatively short cooldown
  • Early intervention defensive measure

Rage Management (≤20 Rage, >80% HP)

Enrage

  • Generates rage when not in immediate danger
  • Only used when health is high (>80%)
  • Ensures rage availability for threat abilities

Technical Implementation Details

Thread Safety

  • Uses Thread.Sleep(200) after Innervate to prevent casting conflicts
  • Saves and restores target to avoid disrupting rotation

Spell Validation

Each spell cast includes validation checks:

if (SpellManager.KnowSpell(SPELL_NAME) && SpellManager.SpellUsableLUA(SPELL_NAME))

Logging Integration

  • Emergency actions are logged for monitoring and debugging
  • Includes specific information like healer name and mana percentage

Priority System

  1. Highest: Healer mana support (prevents group wipe)
  2. High: Critical health situations (≤30% HP)
  3. Medium: Moderate damage mitigation (≤50-60% HP)
  4. Low: Rage management when safe (>80% HP)

Integration with Main Rotation

  • Called during combat phases only
  • Executes after movement and positioning logic
  • Runs independently of main spell rotation
  • Does not block other rotation components

Error Handling

  • Validates all unit references before casting
  • Checks spell availability before attempting to cast
  • Gracefully handles missing healers or unavailable spells
  • Uses safe fallback methods for healer detection

Performance Considerations

  • Timer-based execution prevents excessive CPU usage
  • Caches party members for efficient lookups
  • Minimal LUA calls for optimal performance
  • Thread sleep prevents spell queue conflicts

User Feedback

You may only provide a review once you have downloaded the file.

There are no reviews to display.

×
×
  • Create New...