BT21_041.cs 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. namespace DCGO.CardEffects.BT21
  4. {
  5. public class BT21_041 : CEntity_Effect
  6. {
  7. public override List<ICardEffect> CardEffects(EffectTiming timing, CardSource card)
  8. {
  9. List<ICardEffect> cardEffects = new List<ICardEffect>();
  10. #region Link Condition
  11. if (timing == EffectTiming.None)
  12. {
  13. static bool PermanentCondition(Permanent targetPermanent)
  14. {
  15. return targetPermanent.TopCard.HasAppmonTraits;
  16. }
  17. cardEffects.Add(CardEffectFactory.AddSelfLinkConditionStaticEffect(permanentCondition: PermanentCondition, linkCost: 1, card: card));
  18. }
  19. #endregion
  20. #region Link
  21. if (timing == EffectTiming.OnDeclaration)
  22. {
  23. cardEffects.Add(CardEffectFactory.LinkEffect(card));
  24. }
  25. #endregion
  26. #region Alternate Digivolution Condition
  27. if (timing == EffectTiming.None)
  28. {
  29. bool PermanentCondition(Permanent targetPermanent)
  30. {
  31. return (targetPermanent.TopCard.HasAppmonTraits) && targetPermanent.TopCard.IsLevel2;
  32. }
  33. cardEffects.Add(CardEffectFactory.AddSelfDigivolutionRequirementStaticEffect(permanentCondition: PermanentCondition, digivolutionCost: 0, ignoreDigivolutionRequirement: false, card: card, condition: null));
  34. }
  35. #endregion
  36. #region Security
  37. if (timing == EffectTiming.SecuritySkill)
  38. {
  39. cardEffects.Add(CardEffectFactory.PlaySelfDigimonAfterBattleSecurityEffect(card: card));
  40. }
  41. #endregion
  42. #region Linked Effect
  43. if (timing == EffectTiming.None)
  44. {
  45. bool CardCondition(CardSource cardSource)
  46. {
  47. return cardSource.Owner == card.Owner.Enemy;
  48. }
  49. bool Condition()
  50. {
  51. return CardEffectCommons.IsExistOnBattleAreaDigimon(card) && CardEffectCommons.IsOwnerTurn(card);
  52. }
  53. cardEffects.Add(CardEffectFactory.ChangeSecurityDigimonCardDPStaticEffect(
  54. cardCondition: CardCondition,
  55. changeValue: -3000,
  56. isInheritedEffect: false,
  57. islinkedEffect: true,
  58. card: card,
  59. condition: Condition,
  60. effectName: "Opponent's Security Digimon gains DP -3000"));
  61. }
  62. #endregion
  63. return cardEffects;
  64. }
  65. }
  66. }