public virtual void DuringCheckForTrait(ICheckForTrait state) { if (state.Target.StateId != this.id) { return; } if (traits.Any(x => x == state.Trait)) { state.HasTrait = true; } foreach (var effect in text.Effects.OfType <IDuringCheckForTrait>()) { effect.DuringCheckForTrait(state); } }
public void DuringCheckForTrait(ICheckForTrait check) { if (check.Trait != Trait.Gondor) { return; } var attachment = check.Game.GetCardInPlay <IAttachmentInPlay>(source.Id); if (attachment == null || attachment.AttachedTo == null) { return; } if (check.Target.StateId != attachment.AttachedTo.Card.Id) { return; } check.HasTrait = true; }