Beispiel #1
0
        public override int Visit(ResurrectOrTakeFromGraveyardAbility ability)
        {
            Random rnd = new Random();
            //Log(OwnerCard.Name + " used ResurrectOrTakeFromGraveyardAbility");
            CreatureCard resurrect = GameManager.Graveyard[rnd.Next(GameManager.Graveyard.Count)];

            GameManager.Graveyard.Remove(resurrect);
            CreatureCard evoked = (CreatureCard)resurrect.Original;
            //Log(OwnerCard.Name + " used ResurrectOrTakeFromGraveyardAbility, 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(ResurrectOrTakeFromGraveyardAbility ability)
 {
     if (Target == null)
     {
         return(0);
     }
     return(-1);
 }
Beispiel #3
0
 public override int Visit(ResurrectOrTakeFromGraveyardAbility resurrectAbility)
 {
     return(0);
 }
Beispiel #4
0
 public abstract int Visit(ResurrectOrTakeFromGraveyardAbility resurrectAbility);