|
|
@@ -156,15 +156,38 @@ namespace DCGO.CardEffects.BT21
|
|
|
{
|
|
|
ActivateClass activateClass = new ActivateClass();
|
|
|
activateClass.SetUpICardEffect("Gain alliance then attack", CanUseCondition, card);
|
|
|
- activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDiscription());
|
|
|
+ activateClass.SetUpActivateClass(CanActivateCondition, ActivateCoroutine, 1, false, EffectDescription());
|
|
|
+ activateClass.SetIsSkippableFunction(IsSkippable);
|
|
|
activateClass.SetHashString("alliance-attack-BT21_078");
|
|
|
cardEffects.Add(activateClass);
|
|
|
|
|
|
- string EffectDiscription()
|
|
|
+ string EffectDescription()
|
|
|
{
|
|
|
return "[Your Turn][Once Per Turn] When your other Digimon are played or digivolve, if any of them have the [ADVENTURE] trait, 1 of your Digimon gains <Alliance> for the turn. Then, 1 of your Digimon may attack.";
|
|
|
}
|
|
|
|
|
|
+ bool IsSkippable(Hashtable hashtable)
|
|
|
+ {
|
|
|
+ List<Permanent> etbPermanents = new List<Permanent>();
|
|
|
+ List<Hashtable> hashtables = CardEffectCommons.GetHashtablesFromHashtable(hashtable);
|
|
|
+
|
|
|
+ if (hashtables != null)
|
|
|
+ {
|
|
|
+ foreach (Hashtable hashtable1 in hashtables)
|
|
|
+ {
|
|
|
+ Permanent permanent = CardEffectCommons.GetPermanentFromHashtable(hashtable1);
|
|
|
+
|
|
|
+ if (permanent != null && MyDigimonAdventurePlayedDigid(permanent))
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ etbPermanents = etbPermanents.Filter(MyDigimonAdventurePlayedDigid);
|
|
|
+ }
|
|
|
+
|
|
|
+ return etbPermanents.Count <= 0;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
bool MyDigimonAdventurePlayedDigid(Permanent permanent)
|
|
|
{
|
|
|
return CardEffectCommons.IsPermanentExistsOnOwnerBattleAreaDigimon(permanent, card) &&
|
|
|
@@ -218,6 +241,8 @@ namespace DCGO.CardEffects.BT21
|
|
|
|
|
|
IEnumerator ActivateCoroutine(Hashtable hashtable)
|
|
|
{
|
|
|
+ bool Used = false;
|
|
|
+
|
|
|
List<Permanent> etbPermanents = new List<Permanent>();
|
|
|
List<Hashtable> hashtables = CardEffectCommons.GetHashtablesFromHashtable(hashtable);
|
|
|
|
|
|
@@ -261,6 +286,8 @@ namespace DCGO.CardEffects.BT21
|
|
|
{
|
|
|
yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainAlliance(targetPermanent: target, effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass)); ;
|
|
|
}
|
|
|
+
|
|
|
+ Used = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -303,8 +330,21 @@ namespace DCGO.CardEffects.BT21
|
|
|
defenderCondition: _ => true,
|
|
|
cardEffect: activateClass);
|
|
|
|
|
|
+ selectAttackEffect.SetAfterOnAttackCoroutine(AfterOnAttackCoroutine);
|
|
|
+
|
|
|
yield return ContinuousController.instance.StartCoroutine(selectAttackEffect.Activate());
|
|
|
}
|
|
|
+
|
|
|
+ IEnumerator AfterOnAttackCoroutine()
|
|
|
+ {
|
|
|
+ Used = true;
|
|
|
+ yield return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Used)
|
|
|
+ {
|
|
|
+ activateClass.RemoveUse();
|
|
|
}
|
|
|
}
|
|
|
}
|