mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-15 10:18:01 +00:00
Fix Spell targets
This commit is contained in:
@@ -239,6 +239,14 @@ public abstract class SpellAbilityEffect {
|
||||
: AbilityUtils.getDefinedObjects(sa.getHostCard(), sa.getParam(definedParam), sa);
|
||||
}
|
||||
|
||||
protected final static List<Card> getCardsfromTargets(final SpellAbility sa) {
|
||||
List<Card> cards = getTargetCards(sa);
|
||||
List<SpellAbility> spells = getTargetSpells(sa);
|
||||
for (SpellAbility s : spells) {
|
||||
cards.add(s.getHostCard());
|
||||
}
|
||||
return cards;
|
||||
}
|
||||
|
||||
protected static void registerDelayedTrigger(final SpellAbility sa, String location, final Iterable<Card> crds) {
|
||||
boolean intrinsic = sa.isIntrinsic();
|
||||
|
||||
@@ -132,7 +132,7 @@ public class AnimateEffect extends AnimateEffectBase {
|
||||
sVars.addAll(Arrays.asList(sa.getParam("sVars").split(",")));
|
||||
}
|
||||
|
||||
List<Card> tgts = getTargetCards(sa);
|
||||
List<Card> tgts = getCardsfromTargets(sa);
|
||||
|
||||
for (final Card c : tgts) {
|
||||
doAnimate(c, sa, power, toughness, types, removeTypes, finalDesc,
|
||||
@@ -210,7 +210,7 @@ public class AnimateEffect extends AnimateEffectBase {
|
||||
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
|
||||
final List<Card> tgts = getTargetCards(sa);
|
||||
final List<Card> tgts = getCardsfromTargets(sa);
|
||||
|
||||
for (final Card c : tgts) {
|
||||
sb.append(c).append(" ");
|
||||
|
||||
@@ -97,7 +97,7 @@ public class ChangeTextEffect extends SpellAbilityEffect {
|
||||
changedTypeWordNew = null;
|
||||
}
|
||||
|
||||
final List<Card> tgts = getTargetCards(sa);
|
||||
final List<Card> tgts = getCardsfromTargets(sa);
|
||||
for (final Card c : tgts) {
|
||||
if (changedColorWordOriginal != null && changedColorWordNew != null) {
|
||||
c.addChangedTextColorWord(changedColorWordOriginal, changedColorWordNew, timestamp);
|
||||
@@ -156,7 +156,7 @@ public class ChangeTextEffect extends SpellAbilityEffect {
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
sb.append("Change the text of ");
|
||||
|
||||
final List<Card> tgts = getTargetCards(sa);
|
||||
final List<Card> tgts = getCardsfromTargets(sa);
|
||||
for (final Card c : tgts) {
|
||||
sb.append(c).append(" ");
|
||||
}
|
||||
|
||||
@@ -179,7 +179,7 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
|
||||
final StringBuilder sb = new StringBuilder();
|
||||
List<GameEntity> tgts = Lists.newArrayList();
|
||||
tgts.addAll(getTargetCards(sa));
|
||||
tgts.addAll(getCardsfromTargets(sa));
|
||||
if ((sa.usesTargeting() && sa.getTargetRestrictions().canTgtPlayer()) || sa.hasParam("Defined")) {
|
||||
tgts.addAll(getTargetPlayers(sa));
|
||||
}
|
||||
@@ -279,7 +279,7 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
}
|
||||
|
||||
List<GameEntity> tgts = Lists.newArrayList();
|
||||
List<Card> tgtCards = getTargetCards(sa);
|
||||
List<Card> tgtCards = getCardsfromTargets(sa);
|
||||
List<Player> tgtPlayers = getTargetPlayers(sa);
|
||||
tgts.addAll(tgtCards);
|
||||
tgts.addAll(tgtPlayers);
|
||||
|
||||
@@ -2,8 +2,7 @@ Name:Ersatz Gnomes
|
||||
ManaCost:3
|
||||
Types:Artifact Creature Gnome
|
||||
PT:1/1
|
||||
A:AB$ Animate | Cost$ T | Colors$ Colorless | OverwriteColors$ True | ValidTgts$ Card.inZoneStack | TgtZone$ Stack,Battlefield | TgtPrompt$ Select target spell to make colorless | Permanent$ True | SpellDescription$ Target spell becomes colorless.
|
||||
#For the above part to work, another zone MUST be included because of interaction with regular targeting on the stack that stops the ability from working correctly. Use the inZone targeting restriction to limit it to stack. TODO: Probably need to fix this properly.
|
||||
A:AB$ Animate | Cost$ T | Colors$ Colorless | OverwriteColors$ True | ValidTgts$ Card | TgtZone$ Stack | TgtPrompt$ Select target spell to make colorless | Permanent$ True | SpellDescription$ Target spell becomes colorless.
|
||||
A:AB$ Animate | Cost$ T | Colors$ Colorless | OverwriteColors$ True | ValidTgts$ Permanent | TgtPrompt$ Select target permanent to make colorless | SpellDescription$ Target permanent becomes colorless until end of turn.
|
||||
AI:RemoveDeck:Random
|
||||
AI:RemoveDeck:All
|
||||
|
||||
@@ -3,8 +3,6 @@ ManaCost:RG RG
|
||||
Types:Creature Goblin Shaman
|
||||
PT:2/2
|
||||
K:CARDNAME can't be countered.
|
||||
A:AB$ Pump | Cost$ RG | ValidTgts$ Card.inZoneStack | TgtZone$ Stack,Battlefield | PumpZone$ Stack | KW$ HIDDEN This spell can't be countered. | SpellDescription$ Target spell can't be countered.
|
||||
#Should include another zone otherwise the target would not be defined as a card
|
||||
A:AB$ Pump | Cost$ RG | ValidTgts$ Card.inZoneStack | TgtZone$ Stack | PumpZone$ Stack | KW$ HIDDEN This spell can't be countered. | SpellDescription$ Target spell can't be countered.
|
||||
AI:RemoveDeck:All
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/vexing_shusher.jpg
|
||||
Oracle:This spell can't be countered.\n{R/G}: Target spell can't be countered.
|
||||
|
||||
@@ -3,9 +3,7 @@ ManaCost:1 U
|
||||
Types:Creature Merfolk Wizard
|
||||
PT:1/1
|
||||
A:AB$ ChooseColor | Cost$ T | Defined$ You | SubAbility$ Animate | SpellDescription$ Target instant or sorcery spell becomes the color of your choice.
|
||||
SVar:Animate:DB$ Animate | ValidTgts$ Instant.inZoneStack,Sorcery.inZoneStack | TgtPrompt$ Select target instant or sorcery spell to change the color of | TgtZone$ Stack,Battlefield | Colors$ ChosenColor | OverwriteColors$ True | Permanent$ True
|
||||
#For the above part to work, another zone MUST be included because of interaction with regular targeting on the stack that stops the ability from working correctly. Use the inZone targeting restriction to limit it to stack. TODO: Probably need to fix this properly.
|
||||
SVar:Animate:DB$ Animate | ValidTgts$ Instant,Sorcery | TgtPrompt$ Select target instant or sorcery spell to change the color of | TgtZone$ Stack | Colors$ ChosenColor | OverwriteColors$ True | Permanent$ True
|
||||
AI:RemoveDeck:Random
|
||||
AI:RemoveDeck:All
|
||||
SVar:Picture:http://www.wizards.com/global/images/magic/general/vodalian_mystic.jpg
|
||||
Oracle:{T}: Target instant or sorcery spell becomes the color of your choice.
|
||||
|
||||
Reference in New Issue
Block a user