mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-20 04:38:00 +00:00
PlayEffect add option to Imprint
This commit is contained in:
@@ -85,10 +85,12 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
Player controlledByPlayer = null;
|
Player controlledByPlayer = null;
|
||||||
long controlledByTimeStamp = -1;
|
long controlledByTimeStamp = -1;
|
||||||
final Game game = activator.getGame();
|
final Game game = activator.getGame();
|
||||||
boolean optional = sa.hasParam("Optional");
|
final boolean optional = sa.hasParam("Optional");
|
||||||
boolean remember = sa.hasParam("RememberPlayed");
|
final boolean remember = sa.hasParam("RememberPlayed");
|
||||||
|
final boolean imprint = sa.hasParam("ImprintPlayed");
|
||||||
|
final boolean forget = sa.hasParam("ForgetPlayed");
|
||||||
|
final boolean hasTotalCMCLimit = sa.hasParam("WithTotalCMC");
|
||||||
int amount = 1;
|
int amount = 1;
|
||||||
boolean hasTotalCMCLimit = sa.hasParam("WithTotalCMC");
|
|
||||||
int totalCMCLimit = Integer.MAX_VALUE;
|
int totalCMCLimit = Integer.MAX_VALUE;
|
||||||
if (sa.hasParam("Amount") && !sa.getParam("Amount").equals("All")) {
|
if (sa.hasParam("Amount") && !sa.getParam("Amount").equals("All")) {
|
||||||
amount = AbilityUtils.calculateAmount(source, sa.getParam("Amount"), sa);
|
amount = AbilityUtils.calculateAmount(source, sa.getParam("Amount"), sa);
|
||||||
@@ -326,8 +328,11 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
if (remember) {
|
if (remember) {
|
||||||
source.addRemembered(tgtCard);
|
source.addRemembered(tgtCard);
|
||||||
}
|
}
|
||||||
|
if (imprint) {
|
||||||
|
source.addImprintedCard(tgtCard);
|
||||||
|
}
|
||||||
//Forget only if playing was successful
|
//Forget only if playing was successful
|
||||||
if (sa.hasParam("ForgetPlayed")) {
|
if (forget) {
|
||||||
source.removeRemembered(tgtCard);
|
source.removeRemembered(tgtCard);
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
@@ -403,16 +408,18 @@ public class PlayEffect extends SpellAbilityEffect {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (controller.getController().playSaFromPlayEffect(tgtSA)) {
|
if (controller.getController().playSaFromPlayEffect(tgtSA)) {
|
||||||
|
final Card played = tgtSA.getHostCard();
|
||||||
if (remember) {
|
if (remember) {
|
||||||
source.addRemembered(tgtSA.getHostCard());
|
source.addRemembered(played);
|
||||||
|
}
|
||||||
|
if (imprint) {
|
||||||
|
source.addImprintedCard(played);
|
||||||
}
|
}
|
||||||
|
|
||||||
//Forgot only if playing was successful
|
//Forgot only if playing was successful
|
||||||
if (sa.hasParam("ForgetRemembered")) {
|
if (sa.hasParam("ForgetRemembered")) {
|
||||||
source.clearRemembered();
|
source.clearRemembered();
|
||||||
}
|
}
|
||||||
|
if (forget) {
|
||||||
if (sa.hasParam("ForgetPlayed")) {
|
|
||||||
source.removeRemembered(tgtCard);
|
source.removeRemembered(tgtCard);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user