CopyPermanentEffect: fixed Embalm trigger and fix some Remove StaticAbilities too

This commit is contained in:
Hanmac
2017-06-29 04:35:31 +00:00
parent 2c91682a23
commit 98f97f8fb8

View File

@@ -38,7 +38,6 @@ import forge.util.PredicateString.StringOp;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import java.util.Arrays; import java.util.Arrays;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@@ -291,7 +290,9 @@ public class CopyPermanentEffect extends SpellAbilityEffect {
copy.removeStaticAbility(sta); copy.removeStaticAbility(sta);
} }
if (sa.hasParam("SetCreatureTypes")) { if (sa.hasParam("SetCreatureTypes")) {
if (sta.hasParam("AddType")) { // currently only Changeling and similar should be affected by that
// other cards using AddType$ ChosenType should not
if (sta.hasParam("AddType") && "AllCreatureTypes".equals(sta.getParam("AddType"))) {
copy.removeStaticAbility(sta); copy.removeStaticAbility(sta);
} }
} }
@@ -403,10 +404,10 @@ public class CopyPermanentEffect extends SpellAbilityEffect {
} }
if (sa.hasParam("Embalm") || sa.hasParam("Eternalize")) { if (sa.hasParam("Embalm") || sa.hasParam("Eternalize")) {
// Trigger EmbalmOrEternalize! // Trigger EmbalmOrEternalize!
final HashMap<String, Object> runParams = new HashMap<String, Object>(); final Map<String, Object> runParams = Maps.newHashMap();
runParams.put("Card", sa.getHostCard()); runParams.put("Card", c);
runParams.put("Player", sa.getActivatingPlayer()); runParams.put("Player", sa.getActivatingPlayer());
sa.getHostCard().getGame().getTriggerHandler().runTrigger(TriggerType.EmbalmOrEternalize, runParams, false); game.getTriggerHandler().runTrigger(TriggerType.EmbalmOrEternalize, runParams, false);
} }
} // end canBeTargetedBy } // end canBeTargetedBy
} // end foreach Card } // end foreach Card