- Added Sheltering Ancient

This commit is contained in:
swordshine
2013-12-10 13:10:32 +00:00
parent afeb4eb815
commit ecbba9f1c0
4 changed files with 30 additions and 6 deletions

1
.gitattributes vendored
View File

@@ -10249,6 +10249,7 @@ forge-gui/res/cardsfolder/s/shell_skulkin.txt svneol=native#text/plain
forge-gui/res/cardsfolder/s/shelldock_isle.txt -text forge-gui/res/cardsfolder/s/shelldock_isle.txt -text
forge-gui/res/cardsfolder/s/shelter.txt -text forge-gui/res/cardsfolder/s/shelter.txt -text
forge-gui/res/cardsfolder/s/sheltered_valley.txt svneol=native#text/plain forge-gui/res/cardsfolder/s/sheltered_valley.txt svneol=native#text/plain
forge-gui/res/cardsfolder/s/sheltering_ancient.txt -text
forge-gui/res/cardsfolder/s/sheltering_prayers.txt svneol=native#text/plain forge-gui/res/cardsfolder/s/sheltering_prayers.txt svneol=native#text/plain
forge-gui/res/cardsfolder/s/sheltering_word.txt -text forge-gui/res/cardsfolder/s/sheltering_word.txt -text
forge-gui/res/cardsfolder/s/sheoldred_whispering_one.txt svneol=native#text/plain forge-gui/res/cardsfolder/s/sheoldred_whispering_one.txt svneol=native#text/plain

View File

@@ -0,0 +1,9 @@
Name:Sheltering Ancient
ManaCost:1 G
Types:Creature Treefolk
PT:5/5
K:Trample
K:Cumulative upkeep:AddCounter<1/P1P1/Creature.OppCtrl/creature an opponent controls>:Put a +1/+1 counter on a creature an opponent controls.
SVar:RemAIDeck:True
SVar:Picture:http://www.wizards.com/global/images/magic/general/sheltering_ancient.jpg
Oracle:Trample\nCumulative upkeep-Put a +1/+1 counter on a creature an opponent controls. (At the beginning of your upkeep, put an age counter on this permanent, then sacrifice it unless you pay its upkeep cost for each age counter on it.)

View File

@@ -216,7 +216,7 @@ public class CostPutCounter extends CostPartWithList {
} }
} else { } else {
// 3 Cards have Put a -1/-1 Counter on a Creature you control. // 3 Cards have Put a -1/-1 Counter on a Creature you control.
final List<Card> typeList = CardLists.getValidCards(activator.getCardsIn(ZoneType.Battlefield), this.getType().split(";"), activator, source); final List<Card> typeList = CardLists.getValidCards(activator.getGame().getCardsIn(ZoneType.Battlefield), this.getType().split(";"), activator, source);
if (typeList.size() == 0) { if (typeList.size() == 0) {
return false; return false;
@@ -240,7 +240,9 @@ public class CostPutCounter extends CostPartWithList {
executePayment(ability, source, c); executePayment(ability, source, c);
} else { } else {
// Put counter on chosen card // Put counter on chosen card
executePayment(ability, decision.cards); for (int i = 0; i < c; i++) {
executePayment(ability, decision.cards);
}
} }
return true; return true;
} }
@@ -264,7 +266,7 @@ public class CostPutCounter extends CostPartWithList {
} else { } else {
// Cards to use this branch: Scarscale Ritual, Wandering Mage - each adds only one counter // Cards to use this branch: Scarscale Ritual, Wandering Mage - each adds only one counter
final Player actor = ability.getActivatingPlayer(); final Player actor = ability.getActivatingPlayer();
List<Card> typeList = CardLists.getValidCards(actor.getCardsIn(ZoneType.Battlefield), getType().split(";"), actor, ability.getSourceCard()); List<Card> typeList = CardLists.getValidCards(game.getCardsIn(ZoneType.Battlefield), getType().split(";"), actor, ability.getSourceCard());
InputSelectCardToPutCounter inp = new InputSelectCardToPutCounter(c, typeList); InputSelectCardToPutCounter inp = new InputSelectCardToPutCounter(c, typeList);
inp.setMessage("Put %d " + getCounter().getName() + " counter on " + getDescriptiveType()); inp.setMessage("Put %d " + getCounter().getName() + " counter on " + getDescriptiveType());
@@ -332,7 +334,7 @@ public class CostPutCounter extends CostPartWithList {
} }
final List<Card> typeList = CardLists.getValidCards(ai.getCardsIn(ZoneType.Battlefield), this.getType().split(";"), ai, source); final List<Card> typeList = CardLists.getValidCards(ai.getGame().getCardsIn(ZoneType.Battlefield), this.getType().split(";"), ai, source);
Card card = null; Card card = null;
if (this.getType().equals("Creature.YouCtrl")) { if (this.getType().equals("Creature.YouCtrl")) {

View File

@@ -415,8 +415,20 @@ public class HumanPlay {
} else { } else {
List<Card> list = p.getGame().getCardsIn(ZoneType.Battlefield); List<Card> list = p.getGame().getCardsIn(ZoneType.Battlefield);
list = CardLists.getValidCards(list, part.getType().split(";"), p, source); list = CardLists.getValidCards(list, part.getType().split(";"), p, source);
boolean hasPaid = payCostPart(sourceAbility, (CostPartWithList)part, amount, list, "add a counter." + orString); if (list.isEmpty()) return false;
if (!hasPaid) return false; if (!GuiDialog.confirm(source, "Do you want to put " + Lang.nounWithAmount(amount, counterType.getName() + " counter") + " on " + part.getTypeDescription() + "?"))
return false;
while (amount > 0) {
InputSelectCards inp = new InputSelectCardsFromList(1, 1, list);
inp.setMessage("Select a card to add a counter");
inp.setCancelAllowed(true);
Singletons.getControl().getInputQueue().setInputAndWait(inp);
if (inp.hasCancelled())
continue;
Card selected = inp.getSelected().get(0);
selected.addCounter(counterType, 1, false);
amount--;
}
} }
} }
else if (part instanceof CostRemoveCounter) { else if (part instanceof CostRemoveCounter) {