|
|
@@ -164,15 +164,37 @@ namespace DCGO.CardEffects.ST21
|
|
|
{
|
|
|
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-ST21_09");
|
|
|
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) &&
|
|
|
@@ -226,6 +248,8 @@ namespace DCGO.CardEffects.ST21
|
|
|
|
|
|
IEnumerator ActivateCoroutine(Hashtable hashtable)
|
|
|
{
|
|
|
+ bool Used = false;
|
|
|
+
|
|
|
List<Permanent> etbPermanents = new List<Permanent>();
|
|
|
List<Hashtable> hashtables = CardEffectCommons.GetHashtablesFromHashtable(hashtable);
|
|
|
|
|
|
@@ -267,8 +291,10 @@ namespace DCGO.CardEffects.ST21
|
|
|
|
|
|
IEnumerator SelectBoostedDigimon(Permanent target)
|
|
|
{
|
|
|
- yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainAlliance(targetPermanent: target, effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass)); ;
|
|
|
+ yield return ContinuousController.instance.StartCoroutine(CardEffectCommons.GainAlliance(targetPermanent: target, effectDuration: EffectDuration.UntilEachTurnEnd, activateClass: activateClass));
|
|
|
}
|
|
|
+
|
|
|
+ Used = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -311,8 +337,21 @@ namespace DCGO.CardEffects.ST21
|
|
|
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();
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -333,4 +372,4 @@ namespace DCGO.CardEffects.ST21
|
|
|
return cardEffects;
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
+}
|