BT23_007.cs 2.4 KB

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