Skip to main content

manabrew_engine/staticability/
static_ability_plot_zone.rs

1use 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}