BT24_053.cs 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. // Protecmon
  5. namespace DCGO.CardEffects.BT24
  6. {
  7. public class BT24_053 : CEntity_Effect
  8. {
  9. public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
  10. {
  11. List<ICardEffect> cardEffects = new List<ICardEffect>();
  12. #region Alternative Digivolution Condition
  13. if (timing == EffectTiming.None)
  14. {
  15. bool PermanentCondition(Permanent targetPermanent)
  16. {
  17. return targetPermanent.TopCard.IsLevel2 && targetPermanent.TopCard.HasAppmonTraits;
  18. }
  19. cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
  20. permanentCondition: PermanentCondition,
  21. digivolutionCost: 0,
  22. ignoreDigivolutionRequirement: false,
  23. card: card,
  24. condition: null)
  25. );
  26. }
  27. #endregion
  28. #region Link Condition
  29. if (timing == EffectTiming.None)
  30. {
  31. static bool PermanentCondition(Permanent targetPermanent)
  32. {
  33. return targetPermanent.TopCard.HasAppmonTraits;
  34. }
  35. cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 1, card: card));
  36. }
  37. #endregion
  38. #region Link
  39. if (timing == EffectTiming.OnDeclaration)
  40. {
  41. cardEffects.Add(CardEffectFactory.LinkEffect(card));
  42. }
  43. #endregion
  44. #region Blocker
  45. if (timing == EffectTiming.None)
  46. {
  47. cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(
  48. isInheritedEffect: false,
  49. card: card,
  50. condition: null));
  51. }
  52. #endregion
  53. #region Link ESS
  54. #region Blocker
  55. if (timing == EffectTiming.None)
  56. {
  57. cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(isInheritedEffect: false, card: card, condition: null, isLinkedEffect: true));
  58. }
  59. #endregion
  60. #endregion
  61. return cardEffects;
  62. }
  63. }
  64. }