Exemple #1
0
        public override int Visit(ResurrectSpecificCreatureSpellAbility spellAbility)
        {
            Log(OwnerCard.Name + " used ResurrectSpecificCreatureSpellAbility");
            LimitedList <CreatureCard> reborn = new LimitedList <CreatureCard>((AmaruConstants.OUTER_MAX_SIZE - GameManager.UserDict[Owner].Player.Outer.Count) < 3 ? (AmaruConstants.OUTER_MAX_SIZE - GameManager.UserDict[Owner].Player.Outer.Count) : 3);

            try
            {
                foreach (CreatureCard c in GameManager.Graveyard)
                {
                    if (c.CardEnum.Equals(Amaru.BodyGuardian) || c.CardEnum.Equals(Amaru.SoulGuardian))
                    {
                        reborn.Add((CreatureCard)c.Original);
                    }
                }
            }
            catch (LimitedListOutOfBoundException) { }
            finally
            {
                foreach (CreatureCard card in reborn)
                {
                    Log(OwnerCard.Name + " used ResurrectSpecificCreatureSpellAbility, resurrected " + card.Name);
                    GameManager.Graveyard.Remove(card);
                    GameManager.UserDict[Owner].Player.Outer.Add(card);
                    foreach (CharacterEnum ch in GameManager.UserDict.Keys)
                    {
                        AddResponse(ch, new ResurrectResponse(Owner, card, Place.OUTER));
                    }
                }
            }
            return(0);
        }
 public override int Visit(ResurrectSpecificCreatureSpellAbility spellAbility)
 {
     if (Target == null)
     {
         return(0);
     }
     return(-1);
 }
Exemple #3
0
 public override int Visit(ResurrectSpecificCreatureSpellAbility ability)
 {
     throw new NotImplementedException();
 }
Exemple #4
0
 public abstract int Visit(ResurrectSpecificCreatureSpellAbility resurrectSpecificCreatureSpellAbility);
 public override int Visit(ResurrectSpecificCreatureSpellAbility resurrectSpecificCreatureSpellAbility)
 {
     return(0);
 }