BT24_019.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. // Kamemon
  6. namespace DCGO.CardEffects.BT24
  7. {
  8. public class BT24_019 : CEntity_Effect
  9. {
  10. public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
  11. {
  12. List<ICardEffect> cardEffects = new List<ICardEffect>();
  13. #region Alt Digivolution Condition
  14. if (timing == EffectTiming.None)
  15. {
  16. static bool PermanentCondition(Permanent targetPermanent)
  17. {
  18. return targetPermanent.TopCard.IsLevel2 && targetPermanent.TopCard.HasTSTraits;
  19. }
  20. cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 0, ignoreDigivolutionRequirement: false, card: card, condition: null));
  21. }
  22. #endregion
  23. #region Your Turn - Reduced Digivolution Cost
  24. if (timing == EffectTiming.None)
  25. {
  26. bool Condition()
  27. {
  28. return CardEffectCommons.IsOwnerTurn(card) && CardEffectCommons.IsExistOnBattleArea(card);
  29. }
  30. bool PermanentCondition(Permanent targetPermanent)
  31. {
  32. return targetPermanent == card.PermanentOfThisCard();
  33. }
  34. bool CardSourceCondition(CardSource cardSource)
  35. {
  36. return cardSource.HasTSTraits
  37. && cardSource.HasCardColor(CardColor.Blue);
  38. }
  39. bool RootCondition(SelectCardEffect.Root root)
  40. {
  41. return true;
  42. }
  43. cardEffects.Add(CardEffectFactory.ChangeDigivolutionCostStaticEffect(
  44. changeValue: -1,
  45. permanentCondition: PermanentCondition,
  46. cardCondition: CardSourceCondition,
  47. rootCondition: RootCondition,
  48. isInheritedEffect: false,
  49. card: card,
  50. condition: Condition,
  51. setFixedCost: false));
  52. }
  53. #endregion
  54. #region ESS
  55. if (timing == EffectTiming.None)
  56. {
  57. cardEffects.Add(CardEffectFactory.JammingSelfStaticEffect(
  58. isInheritedEffect: true,
  59. card: card,
  60. condition: null));
  61. }
  62. #endregion
  63. return cardEffects;
  64. }
  65. }
  66. }