private bool doAllChoices( Playfield p, Handmanager.Handcard hc, bool lethalcheck) { bool havedonesomething = false; for (int i = 1; i < 3; i++) { CardDB.Card c = hc.card; if (c.name == "starfall") { if (i == 1) { c = CardDB.Instance.getCardDataFromID("NEW1_007b"); } if (i == 2) { c = CardDB.Instance.getCardDataFromID("NEW1_007a"); } } if (c.name == "ancientoflore") { if (i == 1) { c = CardDB.Instance.getCardDataFromID("NEW1_008a"); } if (i == 2) { c = CardDB.Instance.getCardDataFromID("NEW1_008b"); } } if (hc.canplayCard(p)) { havedonesomething = true; int bestplace = p.getBestPlace(c); List<targett> trgts = c.getTargetsForCard(p); int cardplayPenality = 0; if (trgts.Count == 0) { if (usePenalityManager) { cardplayPenality = penman.getPlayCardPenality(c, -1, p, i, lethalcheck); if (cardplayPenality <= 499) { Playfield pf = new Playfield(p); pf.playCard(hc, hc.position - 1, hc.entity, -1, -1, i, bestplace, cardplayPenality); this.posmoves.Add(pf); } } else { Playfield pf = new Playfield(p); pf.playCard(hc, hc.position - 1, hc.entity, -1, -1, i, bestplace, cardplayPenality); this.posmoves.Add(pf); } } else { foreach (targett trgt in trgts) { if (usePenalityManager) { cardplayPenality = penman.getPlayCardPenality(c, -1, p, i, lethalcheck); if (cardplayPenality <= 499) { Playfield pf = new Playfield(p); pf.playCard(hc, hc.position - 1, hc.entity, trgt.target, trgt.targetEntity, i, bestplace, cardplayPenality); this.posmoves.Add(pf); } } else { Playfield pf = new Playfield(p); pf.playCard(hc, hc.position - 1, hc.entity, trgt.target, trgt.targetEntity, i, bestplace, cardplayPenality); this.posmoves.Add(pf); } } } } } return havedonesomething; }