/*****************************************************************************************/

        IEnumerator ISpecialAttack.Attack()
        {
            Effect animation     = new AnimationCardAction(ThisCard, audioClip: ThisCard.Effect1).RunNow;
            Effect SpecialAttack = new AddTokenAction(GameControl.CurrentAgenda.ThisCard.DoomToken, 1).RunNow;

            new EffectAction(SpecialAttack, animation).AddActionTo();
            yield return(null);
        }
Exemple #2
0
 bool CheckActAdvance(AddTokenAction addTokenAction)
 {
     if (addTokenAction.ToToken != ThisCard.CluesToken)
     {
         return(false);
     }
     if (ThisCard.CluesToken.Amount < ThisCard.Info.Clues * Multiplier)
     {
         return(false);
     }
     return(true);
 }
Exemple #3
0
 bool CheckDie(AddTokenAction addTokenAction)
 {
     if (addTokenAction.ToToken != ThisCard.HealthToken)
     {
         return(false);
     }
     if (ThisCard.HealthToken.Amount < Health)
     {
         return(false);
     }
     return(true);
 }
Exemple #4
0
 protected virtual bool CheckDie(AddTokenAction addTokenAction)
 {
     if (addTokenAction.ToToken != ThisCard.HealthToken && addTokenAction.ToToken != ThisCard.SanityToken &&
         addTokenAction.SecundaryToToken != ThisCard.HealthToken && addTokenAction.SecundaryToToken != ThisCard.SanityToken)
     {
         return(false);
     }
     if (!CheckDieByHealth() && !CheckDieBySanity())
     {
         return(false);
     }
     return(true);
 }
 bool CheckDie(AddTokenAction addTokenAction)
 {
     if (addTokenAction.ToToken != ThisCard.HealthToken && addTokenAction.ToToken != ThisCard.SanityToken &&
         addTokenAction.SecundaryToToken != ThisCard.HealthToken && addTokenAction.SecundaryToToken != ThisCard.SanityToken)
     {
         return(false);
     }
     if (ThisCard.HealthToken.Amount < ThisCard.Info.Health && ThisCard.SanityToken.Amount < ThisCard.Info.Sanity)
     {
         return(false);
     }
     if (ThisCard.Owner.IsBeingEliminated)
     {
         return(false);
     }
     return(true);
 }
Exemple #6
0
 bool CheckIfDamaged(AddTokenAction addTokenAction)
 {
     if (!ThisCard.IsInPlay)
     {
         return(false);
     }
     if (addTokenAction.ToToken.TokenInThisCard != Investigator.InvestigatorCardComponent)
     {
         return(false);
     }
     if (addTokenAction.ToToken.TokenType != CardTokenType.Sanity)
     {
         return(false);
     }
     if (addTokenAction.Amount < 1)
     {
         return(false);
     }
     return(true);
 }
Exemple #7
0
 bool TakeExtraDamage(AddTokenAction addTokenAction)
 {
     if (!ThisCard.IsInPlay)
     {
         return(false);
     }
     if (addTokenAction.ToToken.TokenInThisCard != Investigator.InvestigatorCardComponent)
     {
         return(false);
     }
     if (addTokenAction.ToToken.TokenType != CardTokenType.Health)
     {
         return(false);
     }
     if (addTokenAction.Amount < 1)
     {
         return(false);
     }
     return(true);
 }
Exemple #8
0
 bool CheckActiveEffect(AddTokenAction addTokenAction)
 {
     if (ThisCard.Owner.AllEnemiesInMyLocation.Count < 1)
     {
         return(false);
     }
     if (effectUsed)
     {
         return(false);
     }
     if (addTokenAction.ToToken == ThisCard.SanityToken && addTokenAction.Amount > 0)
     {
         return(true);
     }
     if (addTokenAction.SecundaryToToken == ThisCard.SanityToken && addTokenAction.SecundaryAmount > 0)
     {
         return(true);
     }
     return(false);
 }