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

1
.gitattributes vendored
View File

@@ -6190,6 +6190,7 @@ res/cardsfolder/r/radiants_dragoons.txt svneol=native#text/plain
res/cardsfolder/r/radiants_judgment.txt svneol=native#text/plain res/cardsfolder/r/radiants_judgment.txt svneol=native#text/plain
res/cardsfolder/r/radjan_spirit.txt svneol=native#text/plain res/cardsfolder/r/radjan_spirit.txt svneol=native#text/plain
res/cardsfolder/r/rafiq_of_the_many.txt svneol=native#text/plain res/cardsfolder/r/rafiq_of_the_many.txt svneol=native#text/plain
res/cardsfolder/r/rag_man.txt -text
res/cardsfolder/r/ragamuffyn.txt svneol=native#text/plain res/cardsfolder/r/ragamuffyn.txt svneol=native#text/plain
res/cardsfolder/r/rage_extractor.txt svneol=native#text/plain res/cardsfolder/r/rage_extractor.txt svneol=native#text/plain
res/cardsfolder/r/rage_forger.txt svneol=native#text/plain res/cardsfolder/r/rage_forger.txt svneol=native#text/plain

View File

@@ -0,0 +1,10 @@
Name:Rag Man
ManaCost:2 B B
Types:Creature Human Minion
Text:no text
PT:2/1
A:AB$ RevealHand | Cost$ B B B T | ValidTgts$ Player | TgtPrompt$ Select target player | PlayerTurn$ True | SubAbility$ DBDiscard | SpellDescription$ Target opponent reveals his or her hand and discards a creature card at random. Activate this ability only during your turn.
SVar:DBDiscard:DB$ Discard | Defined$ Targeted | NumCards$ 1 | Mode$ Random | DiscardValid$ Creature
SVar:Rarity:Rare
SVar:Picture:http://www.wizards.com/global/images/magic/general/rag_man.jpg
End

View File

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

View File

@@ -1126,6 +1126,7 @@ public final class AbilityFactory_Reveal {
*/ */
private static void revealHandResolve(final AbilityFactory af, final SpellAbility sa) { private static void revealHandResolve(final AbilityFactory af, final SpellAbility sa) {
HashMap<String, String> params = af.getMapParams(); HashMap<String, String> params = af.getMapParams();
Card host = af.getHostCard();
ArrayList<Player> tgtPlayers; ArrayList<Player> tgtPlayers;
@@ -1151,7 +1152,11 @@ public final class AbilityFactory_Reveal {
} else { } else {
//reveal to Computer (when computer can keep track of seen cards...) //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); numCards = AbilityFactory.calculateAmount(sa.getSourceCard(), params.get("NumCards"), sa);
if (mode.equals("Random")) { 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")) { } else if (mode.equals("TgtChoose")) {
if (params.containsKey("UnlessType")) { if (params.containsKey("UnlessType")) {
p.discardUnless(numCards, params.get("UnlessType"), sa); p.discardUnless(numCards, params.get("UnlessType"), sa);