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); }
public override int Visit(ResurrectOrTakeFromGraveyardAbility resurrectAbility) { return(0); }
public abstract int Visit(ResurrectOrTakeFromGraveyardAbility resurrectAbility);