Skip to main content

manabrew_engine/ability/effects/
cleanup_effect.rs

1use super::EffectContext;
2
3/// Mirrors Java's `CleanupEffect.java`.
4///
5/// `DB$ Cleanup | ClearRemembered$ True`
6///
7/// Clears remembered cards and CMC values from the source card.
8/// Used at the end of transform trigger chains (e.g. Delver of Secrets).
9/// Struct form of this effect so it can participate in the
10/// `SpellAbilityEffect` trait hierarchy — mirrors Java's
11/// `CleanupEffect` class extending `SpellAbilityEffect`.
12#[manabrew_engine_macros::spell_effect(CleanupEffect)]
13fn resolve(ctx: &mut EffectContext, sa: &crate::spellability::SpellAbility) {
14    if sa.ir.clear_remembered {
15        if let Some(source_id) = sa.source {
16            ctx.game.card_mut(source_id).clear_remembered();
17        }
18    }
19}