add Rag Man (from The Dark)

This commit is contained in:
slapshot5
2011-10-16 02:36:53 +00:00
parent e8435a4f7b
commit e0d325bf08
5 changed files with 36 additions and 5 deletions

View File

@@ -1071,9 +1071,10 @@ public abstract class Player extends GameEntity {
* <p>discardRandom.</p>
*
* @param sa a {@link forge.card.spellability.SpellAbility} object.
* @return a CardList of cards discarded
*/
public void discardRandom(SpellAbility sa) {
discardRandom(1, sa);
public CardList discardRandom(SpellAbility sa) {
return discardRandom(1, sa);
}
/**
@@ -1081,12 +1082,25 @@ public abstract class Player extends GameEntity {
*
* @param num a int.
* @param sa a {@link forge.card.spellability.SpellAbility} object.
* @return
* @return a CardList of cards discarded
*/
public CardList discardRandom(final int num, final SpellAbility sa) {
return discardRandom(num, sa, "Card");
}
/**
* <p>discardRandom.</p>
*
* @param num a int.
* @param sa a {@link forge.card.spellability.SpellAbility} object.
* @param valid a valid expression
* @return a CardList of cards discarded
*/
public CardList discardRandom(final int num, final SpellAbility sa, String valid) {
CardList discarded = new CardList();
for (int i = 0; i < num; i++) {
CardList list = this.getCardsIn(Zone.Hand);
list = list.getValidCards(valid, sa.getSourceCard().getController(), sa.getSourceCard());
if (list.size() != 0){
Card disc = CardUtil.getRandom(list.toArray());
discarded.add(disc);

View File

@@ -1126,6 +1126,7 @@ public final class AbilityFactory_Reveal {
*/
private static void revealHandResolve(final AbilityFactory af, final SpellAbility sa) {
HashMap<String, String> params = af.getMapParams();
Card host = af.getHostCard();
ArrayList<Player> tgtPlayers;
@@ -1151,7 +1152,11 @@ public final class AbilityFactory_Reveal {
} else {
//reveal to Computer (when computer can keep track of seen cards...)
}
if (params.containsKey("RememberRevealed")) {
for (Card c : hand) {
host.addRemembered(c);
}
}
}
}
}

View File

@@ -950,7 +950,8 @@ public class AbilityFactory_ZoneAffecting {
numCards = AbilityFactory.calculateAmount(sa.getSourceCard(), params.get("NumCards"), sa);
if (mode.equals("Random")) {
discarded.addAll(p.discardRandom(numCards, sa));
String valid = params.containsKey("DiscardValid") ? params.get("DiscardValid") : "Card";
discarded.addAll(p.discardRandom(numCards, sa, valid));
} else if (mode.equals("TgtChoose")) {
if (params.containsKey("UnlessType")) {
p.discardUnless(numCards, params.get("UnlessType"), sa);