Jump to content

Warrior Tank for Dungeons (BETA) 1.0.171

   (0 reviews)

About This File

⚠️ BETA WARNING

This is a BETA version and may contain bugs or unexpected behaviors. Use at your own risk. Always monitor your character during combat and be ready to take manual control if needed. Report any issues you encounter to help improve the class.

Known Beta Limitations:

  • Anti-oscillation system is still being tuned
  • Edge cases in multi-enemy positioning may need refinement
  • Manual control timeout values may require adjustment based on playstyle

Overview

Advanced AI-powered Warrior Tank FightClass for WRobot featuring intelligent positioning, threat management, and smooth manual control integration.

Key Features

Intelligent Movement AI

  • Automated Positioning: Maintains optimal position relative to enemy groups
  • Anti-Oscillation System: Dual-threshold hysteresis prevents character "shaking"
  • Enemy Tracking: Predicts enemy movement and adjusts positioning proactively
  • Centroid-Based Positioning: Faces weighted center of enemy groups for optimal threat coverage

Manual Control Integration

  • RIGHT MOUSE BUTTON (RECOMMENDED): Use RMB + mouse movement for smooth camera turning
    • AI automatically detects and respects RMB camera control
    • Most natural and precise manual turning method
    • Works perfectly with AI - no conflicts
  • A/D Key Support: Alternative keyboard turning with 300ms timeout
    • Hold A or D to manually turn - AI waits
    • Release keys - AI resumes after 300ms delay
  • W/S/Q/E Support: Full movement override when using forward/backward/strafe keys
  • No Target Required: Manual control works even without an active target

TIP: For best experience, use RIGHT MOUSE BUTTON to turn your character. This is the smoothest method and works seamlessly with the AI positioning system.

Combat Features

  • Threat Management: Automatically taunts enemies attacking party members
  • Priority Targeting: Intelligent target selection based on threat level
  • Interrupt System: Kicks/stuns enemy casters automatically
  • Emergency Cooldowns: Automatic use of Shield Wall, Last Stand at critical HP
  • AoE Optimization: Uses Thunder Clap, Shockwave, Cleave for multi-target situations

Party Support

  • Vigilance Management: Automatically casts on healers or attacked party members
  • Intervene Protection: Charges to protect healers in danger
  • Party Buffs: Maintains Battle Shout and Commanding Shout on group
  • Healer Detection: Identifies and prioritizes healer protection

Advanced Systems

  • Thread-Safe Architecture: Separate rotation and movement threads
  • Turn Command Arbiter: Priority-based system prevents movement conflicts
  • WRobot Coordinator: Manages pathfinding vs AI movement ownership
  • State Reconciliation: Automatic recovery from desyncs between C# and WoW

Anti-Oscillation Technology

How It Works

The class uses three anti-oscillation mechanisms:

  1. Dual-Threshold Hysteresis
    • Start turning: >17° angle difference
    • Stop turning: <7° angle difference
    • Creates "dead zone" preventing rapid direction changes
  2. Time-Based Constraints
    • Minimum turn duration: 180ms
    • Turn cooldown: 250ms between turn actions
    • Prevents "flappy" behavior
  3. Angle Smoothing
    • Tracks last 5 angle measurements
    • Uses weighted average (newer = higher weight)
    • Filters noise from enemy movement

Configuration & Tuning

If Character Turns Too Much

Increase these values in TurnHysteresis class:

csharp
public const double START_TURN_THRESHOLD = 0.35;  // Higher = less sensitive
public const double STOP_TURN_THRESHOLD = 0.15;   // Higher = stops sooner

If Character Doesn't Turn Enough

Decrease these values:

csharp
public const double START_TURN_THRESHOLD = 0.25;  // Lower = more sensitive
public const double STOP_TURN_THRESHOLD = 0.10;   // Lower = turns longer

Manual Control Timeout (A/D Keys)

Adjust in TurnCommandArbiter class:

csharp
private const double MANUAL_TURN_TIMEOUT_MS = 300.0;  // Default 300ms
  • Lower (200ms): Faster AI resumption
  • Higher (500ms): More time for manual adjustment

Note: RMB camera control has no timeout - AI respects it instantly.


Usage Instructions

Installation

  1. Copy the entire code into WRobot FightClass Editor
  2. Save as "WarriorTankAdvanced.cs"
  3. Compile and select in WRobot settings

Combat Behavior

  • Automatic Mode: AI handles all positioning and rotation
  • Manual Turn Mode (RECOMMENDED): Hold RMB + move mouse to adjust facing
  • Manual Turn Mode (Alternative): Hold A or D for keyboard turning
  • Full Manual Mode: Press W/S/Q/E for complete movement control

Control Methods Comparison

 
Method Responsiveness Smoothness AI Conflict Recommended
RMB + Mouse Instant Excellent None YES
A/D Keys 300ms delay Good Minimal OK
W/S/Q/E Keys Instant N/A (stops AI) Full override Emergency only

Best Practices

  • PREFER RIGHT MOUSE BUTTON for manual turning
  • Let AI handle positioning in multi-enemy fights
  • Use A/D keys only if you can't use mouse
  • Monitor console for debug messages (if issues occur)
  • Report reproducible bugs with specific scenarios

Troubleshooting

Character Spinning/Oscillating

  • Increase START_TURN_THRESHOLD to 0.40
  • Increase STOP_TURN_THRESHOLD to 0.18
  • Check console for "[RECONCILE]" messages indicating desync

AI Not Responding to Manual Input

  • If using RMB: Check if WRobot is interfering with camera controls
  • If using A/D: Verify Windows API key detection is working
  • Check if WRobot is blocking key inputs
  • Increase MANUAL_TURN_TIMEOUT_MS to 500ms (A/D only)

Character Not Facing Enemies

  • Decrease thresholds (see Configuration section)
  • Check if enemy tracking is working (console logs)
  • Verify you're in combat (AI only active during combat)

Performance Issues

  • Reduce CALCULATION_CACHE_MS in TankMovementAI (currently 100ms)
  • Increase sleep intervals in threads (currently 30ms)

FAQ

Q: Should I use keyboard (A/D) or mouse (RMB) for turning? A: Always prefer RIGHT MOUSE BUTTON + mouse movement. It's smoother, has no timeout, and works perfectly with the AI.

Q: Why does AI wait 300ms after I release A or D? A: This prevents the AI from immediately overriding your manual adjustment. RMB doesn't have this delay.

Q: Can I use both mouse and keyboard turning? A: Yes, but stick to one method for consistency. RMB is recommended.

Q: Does manual control work outside of combat? A: Yes, manual control (both RMB and A/D) works everywhere.


Debug Logging

Enable debug messages by searching for Logging.WriteDebug calls. Useful logs:

  • [AI] - Movement AI events
  • [RECONCILE] - State synchronization
  • [THREAT] - Threat management actions
  • [ROTATION] - Spell rotation decisions

Changelog v0.9 BETA

  • Added dual-threshold anti-oscillation system
  • Implemented angle smoothing (5-point weighted average)
  • Added time-based turn constraints (min duration, cooldown)
  • Improved manual control integration (A/D timeout)
  • Enhanced state reconciliation for turn actions
  • Removed centroid oscillation through hysteresis
  • Documented RMB as preferred turning method

Credits & Support

  • Author:  AI
  • Bug Reports: Reply to thread with detailed scenario description
  • Suggestions: Welcome for improving AI behavior

Disclaimer

This FightClass automates gameplay. Use responsibly and in accordance with game terms of service. The author is not responsible for any consequences of using this software.

Remember: This is BETA software. Always supervise your character!

PRO TIP: Use RIGHT MOUSE BUTTON for the best manual control experience!


What's New in Version 1.0.30   See changelog

Released

Some fixes 


User Feedback

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

There are no reviews to display.

×
×
  • Create New...