Example #1
0
        public override int Visit(ResurrectOrReturnToHandSpellAbility resurrectOrReturnToHandSpellAbility)
        {
            Random       rnd       = new Random();
            CreatureCard resurrect = GameManager.Graveyard[rnd.Next(GameManager.Graveyard.Count)];

            GameManager.Graveyard.Remove(resurrect);
            CreatureCard evoked = (CreatureCard)resurrect.Original;

            Log(OwnerCard.Name + " used ResurrectOrReturn, resurrected " + evoked.Name);
            Place place;

            if (GameManager.GetPlayer(Owner).Outer.Count < AmaruConstants.OUTER_MAX_SIZE)
            {
                place = Place.OUTER;
                GameManager.GetPlayer(Owner).Outer.Add(evoked);
            }
            else if (GameManager.GetPlayer(Owner).Inner.Count < AmaruConstants.INNER_MAX_SIZE)
            {
                place = Place.INNER;
                GameManager.GetPlayer(Owner).Inner.Add(evoked);
            }
            else
            {
                return(0);
            }
            foreach (CharacterEnum c in GameManager.UserDict.Keys)
            {
                AddResponse(c, new ResurrectResponse(Owner, evoked, place));
            }
            return(0);
        }
 public override int Visit(ResurrectOrReturnToHandSpellAbility spellAbility)
 {
     if (Target == null)
     {
         return(0);
     }
     return(-1);
 }
Example #3
0
 public override int Visit(ResurrectOrReturnToHandSpellAbility ability)
 {
     throw new NotImplementedException();
 }
Example #4
0
 public abstract int Visit(ResurrectOrReturnToHandSpellAbility resurrectOrReturnToHandSpellAbility);
 public override int Visit(ResurrectOrReturnToHandSpellAbility resurrectOrReturnToHandSpellAbility)
 {
     return(0);
 }