Hello,
Your code is wrong, the code would look more like this (not tested):
using System.Linq;
using System.Windows.Forms;
using robotManager.Helpful;
using wManager.Wow.Bot.States;
using wManager.Wow.Helpers;
using wManager.Wow.ObjectManager;
public class Main : wManager.Plugin.IPlugin
{
public void Initialize()
{
robotManager.Events.FiniteStateMachineEvents.OnBeforeCheckIfNeedToRunState += (engine, state, cancelable) =>
{
if (state is IsAttacked &&
Conditions.InGameAndConnectedAndAliveAndProductStartedNotInPause)
{
var enemies = ObjectManager
.GetObjectWoWPlayer()
.Where(u =>
u.IsValid &&
u.IsAlive &&
u.PlayerFaction != ObjectManager.Me.PlayerFaction &&
u.IsTargetingMe &&
u.InCombatFlagOnly
);
if (enemies.Any())
{
var enemy = enemies.First();
Logging.Write($"Attacking player {enemy.Name} in response to being attacked.");
Fight.StartFight(enemy.Guid);
}
}
};
}
public void Dispose()
{
Logging.Write("Disposed.");
}
public void Settings()
{
MessageBox.Show("No settings for this plugin.");
}
}