using System.Collections; using System.Collections.Generic; // Puroromon namespace DCGO.CardEffects.EX11 { public class EX11_003 : CEntity_Effect { public override List CardEffects(EffectTiming timing, CardSource card) { List cardEffects = new List(); #region Inherited if (timing == EffectTiming.OnAddSecurity) { ActivateClass activateClass = new ActivateClass(); activateClass.SetUpICardEffect("Draw 1.", CanUseCondition, card); activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDescription()); activateClass.SetHashString("EX11_003_ESS"); activateClass.SetIsInheritedEffect(true); cardEffects.Add(activateClass); string EffectDescription() { return "[Your Turn] [Once Per Turn] When face-up [Royal Base] trait cards are placed in your security stack, ."; } bool CanUseCondition(Hashtable hashtable) { List securityCards = CardEffectCommons.GetCardSourcesFromHashtable(hashtable).Filter(SecurityCondition); return CardEffectCommons.IsExistOnBattleAreaDigimonTrigger(card, activateClass) && CardEffectCommons.IsOwnerTurn(card) && CardEffectCommons.CanTriggerWhenAddSecurity(hashtable, player => player == card.Owner); } bool CanActivateCondition(Hashtable hashtable) { return CardEffectCommons.IsExistOnBattleAreaDigimonActivate(card, activateClass); } bool SecurityCondition(CardSource cardSource) { return (!cardSource.IsFlipped || cardSource.IsDigiEgg) && cardSource.EqualsTraits("Royal Base"); } IEnumerator ActivateCoroutine(Hashtable _hashtable) { yield return ContinuousController.instance.StartCoroutine(new DrawClass( player: card.Owner, drawCount: 1, cardEffect: activateClass).Draw() ); } } #endregion return cardEffects; } } }