EX7_041.cs 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. using System.Collections.Generic;
  2. namespace DCGO.CardEffects.EX7
  3. {
  4. public class EX7_041 : CEntity_Effect
  5. {
  6. public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
  7. {
  8. List<ICardEffect> cardEffects = new List<ICardEffect>();
  9. #region Alternate Digivolution
  10. if (timing == EffectTiming.None)
  11. {
  12. bool PermanentCondition(Permanent targetPermanent)
  13. {
  14. return targetPermanent.TopCard.IsLevel3 && targetPermanent.TopCard.ContainsTraits("NSp");
  15. }
  16. cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(
  17. permanentCondition: PermanentCondition,
  18. digivolutionCost: 2,
  19. ignoreDigivolutionRequirement: false,
  20. card: card,
  21. condition: null)
  22. );
  23. }
  24. #endregion
  25. #region Blocker
  26. if (timing == EffectTiming.None)
  27. {
  28. cardEffects.Add(CardEffectFactory.BlockerSelfStaticEffect(
  29. isInheritedEffect: false,
  30. card: card,
  31. condition: null));
  32. }
  33. #endregion
  34. #region Opponent's Turn
  35. if (timing == EffectTiming.None)
  36. {
  37. bool PermanentCondition(Permanent permanent)
  38. {
  39. return permanent == card.PermanentOfThisCard();
  40. }
  41. bool CardEffectCondition(ICardEffect cardEffect)
  42. {
  43. return CardEffectCommons.IsOpponentEffect(cardEffect, card);
  44. }
  45. bool CanUseCondition()
  46. {
  47. return CardEffectCommons.IsExistOnBattleAreaDigimon(card) &&
  48. CardEffectCommons.IsOpponentTurn(card);
  49. }
  50. string effectName = "Can't be deleted by opponent's effects";
  51. cardEffects.Add(CardEffectFactory.CanNotBeDestroyedBySkillStaticEffect(
  52. permanentCondition: PermanentCondition,
  53. cardEffectCondition: CardEffectCondition,
  54. isInheritedEffect: false,
  55. card: card,
  56. condition: CanUseCondition,
  57. effectName: effectName
  58. ));
  59. }
  60. #endregion
  61. #region Reboot - ESS
  62. if (timing == EffectTiming.None)
  63. {
  64. cardEffects.Add(CardEffectFactory.RebootSelfStaticEffect(
  65. isInheritedEffect: true,
  66. card: card,
  67. condition: null));
  68. }
  69. #endregion
  70. return cardEffects;
  71. }
  72. }
  73. }