- Added support for targeting and Defined parameter in AF AnimateAll.

- Little fixed in AF AnimateAll.
- Cleanup of Ego Erasure and Shields of Velis Vel.
This commit is contained in:
Sloth
2011-09-27 20:33:20 +00:00
parent a71d870017
commit c7261b84f6
3 changed files with 30 additions and 16 deletions

View File

@@ -3,8 +3,8 @@ ManaCost:2 U
Types:Tribal Instant Shapeshifter
Text:no text
S:Mode$ Continuous | Affected$ Card.Self | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Description$ Changeling (This card is every creature type at all times.)
A:SP$ PumpAll | Cost$ 2 U | ValidTgts$ Player | TgtPrompt$ Select target player | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -0 | IsCurse$ True | SubAbility$ SVar=DBAnimateAll |SpellDescription$ Creatures target player controls get -2/-0 and lose all creature types until end of turn.
SVar:DBAnimateAll:DB$ AnimateAll | Cost$ 0 | Defined$ Targeted | ValidCards$ Creature | Types$ Creature | RemoveCreatureTypes$ True
A:SP$ PumpAll | Cost$ 2 U | ValidTgts$ Player | TgtPrompt$ Select target player | ValidCards$ Creature | NumAtt$ -2 | NumDef$ -0 | IsCurse$ True | SubAbility$ DBAnimateAll | SpellDescription$ Creatures target player controls get -2/-0 and lose all creature types until end of turn.
SVar:DBAnimateAll:DB$ AnimateAll | Cost$ 0 | Defined$ Targeted | RemoveCreatureTypes$ True
SVar:Rarity:Uncommon
SVar:Picture:http://www.wizards.com/global/images/magic/general/ego_erasure.jpg
SetInfo:LRW|Uncommon|http://magiccards.info/scans/en/lw/59.jpg

View File

@@ -1,12 +1,12 @@
Name:Shields of Velis Vel
ManaCost:W
Types:Tribal Instant Shapeshifter
Text:no text
S:Mode$ Continuous | Affected$ Card.Self | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Description$ Changeling (This card is every creature type at all times.)
A:SP$ PumpAll | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | ValidCards$ Creature | NumAtt$ +0 | NumDef$ +1 | SubAbility$ DBAnimate | SpellDescription$ Creatures target player controls get +0/+1 and gain all creature types until end of turn.
SVar:DBAnimate:DB$ AnimateAll | Cost$ 0 | Defined$ Targeted | Types$ AllCreatureTypes
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/shields_of_velis_vel.jpg
SetInfo:LRW|Common|http://magiccards.info/scans/en/lw/39.jpg
Oracle:Changeling (This card is every creature type at all times.)\nCreatures target player controls get +0/+1 and gain all creature types until end of turn.
Name:Shields of Velis Vel
ManaCost:W
Types:Tribal Instant Shapeshifter
Text:no text
S:Mode$ Continuous | Affected$ Card.Self | CharacteristicDefining$ True | AddType$ AllCreatureTypes | Description$ Changeling (This card is every creature type at all times.)
A:SP$ PumpAll | Cost$ W | ValidTgts$ Player | TgtPrompt$ Select target player | ValidCards$ Creature | NumAtt$ +0 | NumDef$ +1 | SubAbility$ DBAnimate | SpellDescription$ Creatures target player controls get +0/+1 and gain all creature types until end of turn.
SVar:DBAnimate:DB$ AnimateAll | Cost$ 0 | Defined$ Targeted | Types$ AllCreatureTypes
SVar:Rarity:Common
SVar:Picture:http://www.wizards.com/global/images/magic/general/shields_of_velis_vel.jpg
SetInfo:LRW|Common|http://magiccards.info/scans/en/lw/39.jpg
Oracle:Changeling (This card is every creature type at all times.)\nCreatures target player controls get +0/+1 and gain all creature types until end of turn.
End

View File

@@ -9,6 +9,7 @@ import forge.CardUtil;
import forge.Command;
import forge.ComputerUtil;
import forge.Constant;
import forge.Player;
import forge.Constant.Zone;
import forge.card.spellability.Ability_Activated;
@@ -665,7 +666,7 @@ public final class AbilityFactory_Animate {
c.addNewPT(power, toughness, timestamp);
}
if (!types.isEmpty() || !removeTypes.isEmpty()) {
if (!types.isEmpty() || !removeTypes.isEmpty() || removeCreatureTypes) {
c.addChangedCardTypes(types, removeTypes, removeSuperTypes, removeCardTypes, removeSubTypes,
removeCreatureTypes, timestamp);
}
@@ -712,7 +713,7 @@ public final class AbilityFactory_Animate {
c.setStaticAbilities(new ArrayList<StaticAbility>());
}
if (params.containsKey("Types")) {
if (params.containsKey("Types") || params.containsKey("RemoveTypes") || params.containsKey("RemoveCreatureTypes")) {
c.removeChangedCardTypes(timestamp);
}
@@ -1034,8 +1035,21 @@ public final class AbilityFactory_Animate {
if (params.containsKey("ValidCards")) {
valid = params.get("ValidCards");
}
CardList list;
ArrayList<Player> tgtPlayers = null;
Target tgt = af.getAbTgt();
if (tgt != null)
tgtPlayers = tgt.getTargetPlayers();
else if (params.containsKey("Defined")) // Make sure Defined exists to use it
tgtPlayers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(), params.get("Defined"), sa);
if (tgtPlayers == null || tgtPlayers.isEmpty())
list = AllZoneUtil.getCardsIn(Zone.Battlefield);
else
list = tgtPlayers.get(0).getCardsIn(Zone.Battlefield);
CardList list = AllZoneUtil.getCardsIn(Zone.Battlefield);
list = list.getValidCards(valid.split(","), host.getController(), host);
for (final Card c : list) {