/// <summary> /// Start a fight or switch targets forcibly /// </summary> /// <param name="victim"></param> public void StartFighting(IMobile victim) { var wasFighting = IsFighting(); if (victim == null) { victim = this; } if (victim != GetTarget()) { PrimaryTarget = victim; } if (!EnemyGroup.Any(enemy => enemy.Item1 == PrimaryTarget)) { EnemyGroup.Add(new Tuple <IMobile, int>(PrimaryTarget, 0)); } if (!wasFighting) { Processor.StartSubscriptionLoop("Fighting", () => Round.ExecuteRound(this, victim), 50, false); } }