The
Shaper Parasite morph trigger is broken.
From what I could debug, I found it was entering the first conditional (excerpted from SpellAbilityEffect) below, because tgt was not null. The desired behavior would be to return the defined player in ChooseGenericEffect.resolve() (line 44).
- Code: Select all
private List<Player> getTargetPlayers(SpellAbility sa, final boolean wantEmptyAsDefault, final boolean targetIsPreferred) {
final Target tgt = sa.getTarget();
final String defined = sa.getParam("Defined");
if (tgt != null && (targetIsPreferred || (StringUtils.isEmpty(defined) && !wantEmptyAsDefault))) {
return tgt.getTargetPlayers();
}
if (StringUtils.isEmpty(defined) && wantEmptyAsDefault) {
return emptyPlayerList;
}
return AbilityUtils.getDefinedPlayers(sa.getSourceCard(), defined, sa);
}
Honestly, I am still learning how this all works, but I looked at a bunch of other generic choice cards and noticed they were implemented as a SubAbility, so I took the same route here to fix the card. Here is my proposed fix. I am still too new to post links, but I can send a dropbox link to the patch if desired. I've pasted the patch contents below for now.
patch body:
- Code: Select all
Index: res/cardsfolder/s/shaper_parasite.txt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>ISO-8859-1
===================================================================
--- res/cardsfolder/s/shaper_parasite.txt (revision 21118)
+++ res/cardsfolder/s/shaper_parasite.txt (revision )
@@ -3,8 +3,9 @@
Types:Creature Illusion
PT:2/3
K:Morph:2 U
-T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ TrigChoice | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, target creature gets +2/-2 or -2/+2 until end of turn.
-SVar:TrigChoice:AB$ GenericChoice | ValidTgts$ Creature | TgtPrompt$ Select target creature | Cost$ 0 | Defined$ You | Choices$ TrigPump1,TrigPump2
+T:Mode$ TurnFaceUp | ValidCard$ Card.Self | Execute$ PumpTrig | TriggerZones$ Battlefield | TriggerDescription$ When CARDNAME is turned face up, target creature gets +2/-2 or -2/+2 until end of turn.
+SVar:PumpTrig:AB$ Pump | ValidTgts$ Creature | TgtPrompt$ Select target creature | Cost$ 0 | SubAbility$ TrigChoice
+SVar:TrigChoice:DB$ GenericChoice | Defined$ You | Choices$ TrigPump1,TrigPump2
SVar:TrigPump1:DB$Pump | Cost$ 0 | Defined$ Targeted | NumAtt$ +2 | NumDef$ -2 | IsCurse$ True | ChoiceDescription$ +2/-2
SVar:TrigPump2:DB$Pump | Cost$ 0 | Defined$ Targeted | NumAtt$ -2 | NumDef$ +2 | IsCurse$ True | ChoiceDescription$ -2/+2
SVar:RemAIDeck:True
\ No newline at end of file