/// <returns>Is target been unset</returns> public bool Cancel() { if (Me.TargetId != 0) { lock (Sync) { GameServer.Cancel(); return(Wait(r => { if (r is Result.TargetChanged) { var _r = (Result.TargetChanged)r; return _r.Creature == Me && _r.Target == null; } else { return r is Result.ActionFailed; } }) is Result.TargetChanged); } } else { return(true); } }