Skip to main content

manabrew_engine/trigger/
selector_domain.rs

1use crate::card::valid_filter::MatchContext;
2use crate::card::Card;
3
4pub(crate) fn matches_selector_domain_predicate(
5    raw: &str,
6    card: &Card,
7    _context: MatchContext<'_>,
8) -> Option<bool> {
9    let lower = raw.trim().to_ascii_lowercase();
10    if let Some(zone) = lower.strip_prefix("thisturnenteredfrom_") {
11        return Some(zone == "battlefield" && card.entered_this_turn());
12    }
13    if lower.contains("triggeredcardlkicopy")
14        || lower.contains("triggeredattackedtarget")
15        || lower.contains("validexile ")
16        || lower.starts_with("toplibrary_")
17    {
18        return Some(false);
19    }
20    None
21}