mirror of
https://github.com/magefree/mage.git
synced 2025-12-24 20:41:58 -08:00
[ZNR] Implemented Inscription of Abundance
This commit is contained in:
parent
9cf96bd391
commit
d4ca287f0f
3 changed files with 120 additions and 1 deletions
|
|
@ -1,6 +1,6 @@
|
|||
package mage.abilities;
|
||||
|
||||
import java.util.*;
|
||||
import mage.abilities.condition.common.KickedCondition;
|
||||
import mage.abilities.costs.OptionalAdditionalModeSourceCosts;
|
||||
import mage.cards.Card;
|
||||
import mage.constants.Outcome;
|
||||
|
|
@ -12,6 +12,8 @@ import mage.players.Player;
|
|||
import mage.target.common.TargetOpponent;
|
||||
import mage.util.RandomUtil;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
|
|
@ -35,6 +37,7 @@ public class Modes extends LinkedHashMap<UUID, Mode> {
|
|||
private Filter maxModesFilter = null; // calculates the max number of available modes
|
||||
private boolean isRandom = false;
|
||||
private String chooseText = null;
|
||||
private boolean allWhenKicked = false;
|
||||
|
||||
public Modes() {
|
||||
this.currentMode = new Mode();
|
||||
|
|
@ -214,6 +217,10 @@ public class Modes extends LinkedHashMap<UUID, Mode> {
|
|||
}
|
||||
|
||||
public boolean choose(Game game, Ability source) {
|
||||
if (this.allWhenKicked && KickedCondition.instance.apply(game, source)) {
|
||||
this.setMinModes(0);
|
||||
this.setMaxModes(3);
|
||||
}
|
||||
if (this.size() > 1) {
|
||||
this.clearSelectedModes();
|
||||
if (this.isRandom) {
|
||||
|
|
@ -404,6 +411,8 @@ public class Modes extends LinkedHashMap<UUID, Mode> {
|
|||
StringBuilder sb = new StringBuilder();
|
||||
if (this.chooseText != null) {
|
||||
sb.append(chooseText);
|
||||
} else if (this.allWhenKicked) {
|
||||
sb.append("choose one. If this spell was kicked, choose any number instead.");
|
||||
} else if (this.getMaxModesFilter() != null) {
|
||||
sb.append("choose one or more. Each mode must target ").append(getMaxModesFilter().getMessage());
|
||||
} else if (this.getMinModes() == 0 && this.getMaxModes() == 1) {
|
||||
|
|
@ -476,6 +485,10 @@ public class Modes extends LinkedHashMap<UUID, Mode> {
|
|||
this.isRandom = isRandom;
|
||||
}
|
||||
|
||||
public void setAllWhenKicked(boolean allWhenKicked) {
|
||||
this.allWhenKicked = allWhenKicked;
|
||||
}
|
||||
|
||||
public void setChooseText(String chooseText) {
|
||||
this.chooseText = chooseText;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue