EX7_015.cs 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. namespace DCGO.CardEffects.EX7
  5. {
  6. public class EX7_015 : CEntity_Effect
  7. {
  8. public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
  9. {
  10. List<ICardEffect> cardEffects = new List<ICardEffect>();
  11. #region Alternate Digivolution
  12. if (timing == EffectTiming.None)
  13. {
  14. bool PermanentCondition(Permanent targetPermanent)
  15. {
  16. if(targetPermanent.TopCard.HasLevel && targetPermanent.TopCard.IsLevel2)
  17. return targetPermanent.TopCard.CardTraits.Contains("NSp");
  18. return false;
  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 All Turns
  30. if (timing == EffectTiming.None)
  31. {
  32. //Use this instead of activateClass?
  33. CannotReduceCostClass cannotReduceCostClass = new CannotReduceCostClass();
  34. cannotReduceCostClass.SetUpICardEffect("Players can't reduce play costs", CanUseCondition, card);
  35. cannotReduceCostClass.SetUpCannotReduceCostClass(
  36. playerCondition: PlayerCondition,
  37. targetPermanentsCondition: TargetPermanentsCondition,
  38. cardCondition: CardCondition);
  39. cardEffects.Add(cannotReduceCostClass);
  40. //string EffectDescription()
  41. //{
  42. // return "[All Turns] Players can't reduce play costs.";
  43. //}
  44. bool CanUseCondition(Hashtable hashtable)
  45. {
  46. return CardEffectCommons.IsExistOnBattleAreaDigimon(card);
  47. }
  48. bool PlayerCondition(Player player)
  49. {
  50. if (CardEffectCommons.IsExistOnBattleAreaDigimon(card))
  51. {
  52. return true;
  53. }
  54. return false;
  55. }
  56. bool TargetPermanentsCondition(List<Permanent> targetPermanents)
  57. {
  58. if (targetPermanents == null)
  59. {
  60. return true;
  61. }
  62. else
  63. {
  64. if (targetPermanents.Count((permanent) => permanent != null) == 0)
  65. {
  66. return true;
  67. }
  68. }
  69. return false;
  70. }
  71. bool CardCondition(CardSource cardSource)
  72. {
  73. return cardSource.HasPlayCost;
  74. }
  75. }
  76. #endregion
  77. return cardEffects;
  78. }
  79. }
  80. }