//Should i remove flying everytime? public object PostDamagePhase(bool item2) { if (item2 && Attrs != null) { var list = Attrs.ToList(); list.RemoveAll((attr) => attr.Matches(Attributes.Attributes.Flying)); Attrs = list.ToArray(); //Attrs.ToList().Where((attr)=> attr.Matches(Attributes.Attributes.Flying)); } return(null); }