private static bool toIsFriendly(Relations rel)
		{
			if (rel.HasFlagFast(Relations.Enemy))
				return false;

			return rel.HasFlagFast(Relations.Owner) || rel.HasFlagFast(Relations.Faction);
		}
        public static Relations getRelationsTo(this IMyCubeBlock block, IMyCubeGrid target, Relations breakOn = Relations.None)
        {
            VRage.Exceptions.ThrowIf <ArgumentNullException>(block == null, "block");
            VRage.Exceptions.ThrowIf <ArgumentNullException>(target == null, "target");

            if (target.BigOwners.Count == 0 && target.SmallOwners.Count == 0)             // grid has no owner
            {
                return(Relations.Enemy);
            }

            Relations relationsToGrid = Relations.None;

            foreach (long gridOwner in target.BigOwners)
            {
                relationsToGrid |= block.getRelationsTo(gridOwner);
                if (breakOn != Relations.None && relationsToGrid.HasFlagFast(breakOn))
                {
                    return(relationsToGrid);
                }
            }

            foreach (long gridOwner in target.SmallOwners)
            {
                relationsToGrid |= block.getRelationsTo(gridOwner);
                if (breakOn != Relations.None && relationsToGrid.HasFlagFast(breakOn))
                {
                    return(relationsToGrid);
                }
            }

            return(relationsToGrid);
        }
        private static bool toIsFriendly(Relations rel)
        {
            if (rel.HasFlagFast(Relations.Enemy))
            {
                return(false);
            }
            if (rel.HasFlagFast(Relations.Neutral))
            {
                return(false);
            }

            if (rel == Relations.None)
            {
                return(false);
            }

            return(true);
        }
		private static bool toIsHostile(Relations rel)
		{
			if (rel.HasFlagFast(Relations.Enemy))
				return true;

			if (rel == Relations.None)
				return true;

			return false;
		}
 public static Relations mostHostile(this Relations rel)
 {
     foreach (Relations flag in new Relations[] { Relations.Enemy, Relations.Neutral, Relations.Faction, Relations.Owner })
     {
         if (rel.HasFlagFast(flag))
         {
             return(flag);
         }
     }
     return(Relations.None);
 }
        private static bool toIsHostile(Relations rel)
        {
            if (rel.HasFlagFast(Relations.Enemy))
            {
                return(true);
            }

            if (rel == Relations.None)
            {
                return(true);
            }

            return(false);
        }