using System.Collections.Generic; namespace DCGO.CardEffects.EX7 { public class EX7_041 : CEntity_Effect { public override List CardEffects(EffectTiming timing, CardSource card) { List cardEffects = new List(); #region Alternate Digivolution if (timing == EffectTiming.None) { bool PermanentCondition(Permanent targetPermanent) { return targetPermanent.TopCard.IsLevel3 && targetPermanent.TopCard.ContainsTraits("NSp"); } cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect( permanentCondition: PermanentCondition, digivolutionCost: 2, ignoreDigivolutionRequirement: false, card: card, condition: null) ); } #endregion #region Blocker if (timing == EffectTiming.None) { cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect( isInheritedEffect: false, card: card, condition: null)); } #endregion #region Opponent's Turn if (timing == EffectTiming.None) { bool PermanentCondition(Permanent permanent) { return permanent == card.PermanentOfThisCard(); } bool CardEffectCondition(ICardEffect cardEffect) { return CardEffectCommons.IsOpponentEffect(cardEffect, card); } bool CanUseCondition() { return CardEffectCommons.IsExistOnBattleAreaDigimon(card) && CardEffectCommons.IsOpponentTurn(card); } string effectName = "Can't be deleted by opponent's effects"; cardEffects.Add(CardEffectFactory.CanNotBeDestroyedBySkillStaticEffect( permanentCondition: PermanentCondition, cardEffectCondition: CardEffectCondition, isInheritedEffect: false, card: card, condition: CanUseCondition, effectName: effectName )); } #endregion #region Reboot - ESS if (timing == EffectTiming.None) { cardEffects.Add(CardEffectFactory.RebootSelfStaticEffect( isInheritedEffect: true, card: card, condition: null)); } #endregion return cardEffects; } } }