manabrew_engine/trigger/
selector_domain.rs1use 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}