manabrew_engine/staticability/
static_ability_plot_zone.rs1use crate::card::{valid_filter, Card};
2use crate::staticability::StaticMode;
3
4pub fn plot_zone(cards: &[Card], card: &Card) -> bool {
5 for source in cards.iter().filter(|c| c.zone.is_static_ability_source()) {
6 for st_ab in source
7 .static_abilities
8 .iter()
9 .filter(|sa| sa.check_mode(&StaticMode::PlotZone) && sa.zones_check(source.zone))
10 {
11 if valid_filter::matches_valid_card_selector_opt(
12 st_ab.ir.valid_card.as_ref(),
13 card,
14 source,
15 ) {
16 return true;
17 }
18 }
19 }
20 false
21}