mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
Merge pull request #5502 from ZeldaZach/address_mage_stuff
Address Json Tests
This commit is contained in:
commit
8f0351896c
9 changed files with 139 additions and 99 deletions
|
|
@ -69,7 +69,14 @@ public class CreateTokenTargetEffect extends OneShotEffect {
|
|||
return staticText;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName());
|
||||
|
||||
if (mode.getTargets().isEmpty()) {
|
||||
sb.append("target player");
|
||||
}
|
||||
else {
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName());
|
||||
}
|
||||
|
||||
sb.append(" creates ");
|
||||
if (amount.toString().equals("1")) {
|
||||
sb.append("a ");
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
|
|||
* Attention: This effect won't work with targets controlled by different
|
||||
* controllers If this is needed, the validForTurnNum has to be saved per
|
||||
* controller.
|
||||
*
|
||||
*/
|
||||
public DontUntapInControllersNextUntapStepTargetEffect() {
|
||||
this("");
|
||||
|
|
@ -43,10 +42,9 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
|
|||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param targetName used as target text for the generated rule text
|
||||
* @param targetName used as target text for the generated rule text
|
||||
* @param onlyIfControlledByPlayer the effect only works if the permanent is
|
||||
* controlled by that controller, null = it works for all players
|
||||
* controlled by that controller, null = it works for all players
|
||||
*/
|
||||
public DontUntapInControllersNextUntapStepTargetEffect(String targetName, UUID onlyIfControlledByPlayer) {
|
||||
this(targetName, false, onlyIfControlledByPlayer);
|
||||
|
|
@ -116,7 +114,7 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (allHandled) {
|
||||
discard();
|
||||
}
|
||||
|
|
@ -149,8 +147,7 @@ public class DontUntapInControllersNextUntapStepTargetEffect extends ContinuousR
|
|||
} else
|
||||
return targetName + " doesn't untap during its controller's next " + (twoSteps ? "two " : "") + "untap step" + (twoSteps ? "s" : "");
|
||||
} else {
|
||||
return "target " + (mode == null ? "creature" : mode.getTargets().get(0).getTargetName()) + " doesn't untap during its controller's next " + (twoSteps ? "two " : "") + "untap step" + (twoSteps ? "s" : "");
|
||||
return "target " + (mode == null || mode.getTargets().isEmpty() ? "creature" : mode.getTargets().get(0).getTargetName()) + " doesn't untap during its controller's next " + (twoSteps ? "two " : "") + "untap step" + (twoSteps ? "s" : "");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -65,19 +65,24 @@ public class ReturnFromGraveyardToBattlefieldTargetEffect extends OneShotEffect
|
|||
return staticText;
|
||||
}
|
||||
StringBuilder sb = new StringBuilder();
|
||||
Target target = mode.getTargets().get(0);
|
||||
sb.append("return ");
|
||||
if (target.getMaxNumberOfTargets() > 1) {
|
||||
if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
|
||||
sb.append("up to ");
|
||||
|
||||
if (mode.getTargets().isEmpty()) {
|
||||
sb.append("return target creature to the battlefield");
|
||||
} else {
|
||||
Target target = mode.getTargets().get(0);
|
||||
sb.append("return ");
|
||||
if (target.getMaxNumberOfTargets() > 1) {
|
||||
if (target.getMaxNumberOfTargets() != target.getNumberOfTargets()) {
|
||||
sb.append("up to ");
|
||||
}
|
||||
sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(' ');
|
||||
}
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" to the battlefield");
|
||||
if (tapped) {
|
||||
sb.append(" tapped");
|
||||
}
|
||||
sb.append(CardUtil.numberToText(target.getMaxNumberOfTargets())).append(' ');
|
||||
}
|
||||
sb.append("target ").append(mode.getTargets().get(0).getTargetName()).append(" to the battlefield");
|
||||
if (tapped) {
|
||||
sb.append(" tapped");
|
||||
}
|
||||
sb.append(" under your control");
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -51,6 +51,9 @@ public class TapAllTargetPlayerControlsEffect extends OneShotEffect {
|
|||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
return "tap all " + filter.toString() + " target " + mode.getTargets().get(0).getTargetName() + " controls";
|
||||
|
||||
return "tap all " + filter.toString() + " target " +
|
||||
(mode.getTargets().size() == 0 ? "player" : mode.getTargets().get(0).getTargetName()) +
|
||||
" controls";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,6 +54,10 @@ public class TapTargetEffect extends OneShotEffect {
|
|||
return "tap " + staticText;
|
||||
}
|
||||
|
||||
if (mode.getTargets().isEmpty()) {
|
||||
return "tap target permanent";
|
||||
}
|
||||
|
||||
Target target = mode.getTargets().get(0);
|
||||
if (target.getMaxNumberOfTargets() > 1) {
|
||||
if (target.getMaxNumberOfTargets() == target.getNumberOfTargets()) {
|
||||
|
|
|
|||
|
|
@ -65,8 +65,12 @@ public class UntapTargetEffect extends OneShotEffect {
|
|||
if (staticText != null && !staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
Target target = mode.getTargets().get(0);
|
||||
|
||||
if (mode.getTargets().isEmpty()) {
|
||||
return "untap target permanent";
|
||||
}
|
||||
|
||||
Target target = mode.getTargets().get(0);
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append("untap ");
|
||||
if (target.getNumberOfTargets() == 0) {
|
||||
|
|
@ -84,4 +88,4 @@ public class UntapTargetEffect extends OneShotEffect {
|
|||
|
||||
return sb.toString();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -112,6 +112,11 @@ public class GainControlTargetEffect extends ContinuousEffectImpl {
|
|||
if (!staticText.isEmpty()) {
|
||||
return staticText;
|
||||
}
|
||||
|
||||
if (mode.getTargets().isEmpty()) {
|
||||
return "gain control of target permanent";
|
||||
}
|
||||
|
||||
Target target = mode.getTargets().get(0);
|
||||
StringBuilder sb = new StringBuilder("gain control of ");
|
||||
if (target.getMaxNumberOfTargets() > 1) {
|
||||
|
|
|
|||
|
|
@ -80,6 +80,12 @@ public class EchoEffect extends OneShotEffect {
|
|||
@Override
|
||||
public String getText(Mode mode) {
|
||||
StringBuilder sb = new StringBuilder("sacrifice {this} unless you ");
|
||||
|
||||
if (cost == null) {
|
||||
sb.append("pay this permanent's mana cost");
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
String costText = cost.getText();
|
||||
if (costText.toLowerCase(Locale.ENGLISH).startsWith("discard")) {
|
||||
sb.append(costText.substring(0, 1).toLowerCase(Locale.ENGLISH));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue