use forge_foundation::ZoneType;
use crate::game::GameState;
use crate::spellability::SpellAbility;
pub type Ability = super::SpellAbility;
pub fn can_play(sa: &SpellAbility, game: &GameState) -> bool {
let card_id = match sa.source {
Some(id) => id,
None => return false,
};
if !sa.is_mana_ability && super::has_split_second_on_stack(game) {
return false;
}
if !game.card_is_in_zone(card_id, ZoneType::Battlefield) {
return false;
}
let card = game.card(card_id);
if card.face_down {
return false;
}
sa.can_play(game)
}