mirror of
https://github.com/correl/mage.git
synced 2024-11-15 11:09:30 +00:00
Cleaned up Painter's Servant. Made it change the color of cards in Command and Graveyard zones.
This commit is contained in:
parent
e1ad6ed7d2
commit
6a48aacfc6
1 changed files with 42 additions and 93 deletions
|
@ -133,110 +133,39 @@ class PaintersServantEffect extends ContinuousEffectImpl {
|
||||||
}
|
}
|
||||||
String colorString = color.toString();
|
String colorString = color.toString();
|
||||||
for (Permanent perm : game.getBattlefield().getActivePermanents(source.getControllerId(), game)) {
|
for (Permanent perm : game.getBattlefield().getActivePermanents(source.getControllerId(), game)) {
|
||||||
switch (colorString) {
|
setObjectColor(perm, colorString);
|
||||||
case "W":
|
}
|
||||||
perm.getColor().setWhite(true);
|
// Stack
|
||||||
break;
|
for (MageObject object : game.getStack()) {
|
||||||
case "B":
|
if (object instanceof Spell) {
|
||||||
perm.getColor().setBlack(true);
|
setObjectColor(object, colorString);
|
||||||
break;
|
|
||||||
case "U":
|
|
||||||
perm.getColor().setBlue(true);
|
|
||||||
break;
|
|
||||||
case "G":
|
|
||||||
perm.getColor().setGreen(true);
|
|
||||||
break;
|
|
||||||
case "R":
|
|
||||||
perm.getColor().setRed(true);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Exile
|
||||||
|
for (Card card : game.getExile().getAllCards(game)) {
|
||||||
|
setObjectColor(card, colorString);
|
||||||
|
}
|
||||||
|
// Command
|
||||||
|
for (CommandObject commandObject : game.getState().getCommand()) {
|
||||||
|
if (commandObject instanceof Commander) {
|
||||||
|
setObjectColor(commandObject, colorString);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (UUID playerId : controller.getInRange()) {
|
for (UUID playerId : controller.getInRange()) {
|
||||||
Player player = game.getPlayer(playerId);
|
Player player = game.getPlayer(playerId);
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
// Hand
|
// Hand
|
||||||
for (Card card : player.getHand().getCards(game)) {
|
for (Card card : player.getHand().getCards(game)) {
|
||||||
switch (colorString) {
|
setObjectColor(card, colorString);
|
||||||
case "W":
|
|
||||||
card.getColor().setWhite(true);
|
|
||||||
break;
|
|
||||||
case "B":
|
|
||||||
card.getColor().setBlack(true);
|
|
||||||
break;
|
|
||||||
case "U":
|
|
||||||
card.getColor().setBlue(true);
|
|
||||||
break;
|
|
||||||
case "G":
|
|
||||||
card.getColor().setGreen(true);
|
|
||||||
break;
|
|
||||||
case "R":
|
|
||||||
card.getColor().setRed(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
// Library
|
// Library
|
||||||
for (Card card : player.getLibrary().getCards(game)) {
|
for (Card card : player.getLibrary().getCards(game)) {
|
||||||
switch (colorString) {
|
setObjectColor(card, colorString);
|
||||||
case "W":
|
|
||||||
card.getColor().setWhite(true);
|
|
||||||
break;
|
|
||||||
case "B":
|
|
||||||
card.getColor().setBlack(true);
|
|
||||||
break;
|
|
||||||
case "U":
|
|
||||||
card.getColor().setBlue(true);
|
|
||||||
break;
|
|
||||||
case "G":
|
|
||||||
card.getColor().setGreen(true);
|
|
||||||
break;
|
|
||||||
case "R":
|
|
||||||
card.getColor().setRed(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
// Graveyard
|
||||||
}
|
for (Card card : player.getGraveyard().getCards(game)) {
|
||||||
|
setObjectColor(card, colorString);
|
||||||
// Stack
|
|
||||||
for (MageObject object : game.getStack()) {
|
|
||||||
if (object instanceof Spell) {
|
|
||||||
switch (colorString) {
|
|
||||||
case "W":
|
|
||||||
object.getColor().setWhite(true);
|
|
||||||
break;
|
|
||||||
case "B":
|
|
||||||
object.getColor().setBlack(true);
|
|
||||||
break;
|
|
||||||
case "U":
|
|
||||||
object.getColor().setBlue(true);
|
|
||||||
break;
|
|
||||||
case "G":
|
|
||||||
object.getColor().setGreen(true);
|
|
||||||
break;
|
|
||||||
case "R":
|
|
||||||
object.getColor().setRed(true);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
// Exile
|
|
||||||
for (Card card : game.getExile().getAllCards(game)) {
|
|
||||||
switch (colorString) {
|
|
||||||
case "W":
|
|
||||||
card.getColor().setWhite(true);
|
|
||||||
break;
|
|
||||||
case "B":
|
|
||||||
card.getColor().setBlack(true);
|
|
||||||
break;
|
|
||||||
case "U":
|
|
||||||
card.getColor().setBlue(true);
|
|
||||||
break;
|
|
||||||
case "G":
|
|
||||||
card.getColor().setGreen(true);
|
|
||||||
break;
|
|
||||||
case "R":
|
|
||||||
card.getColor().setRed(true);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -245,6 +174,26 @@ class PaintersServantEffect extends ContinuousEffectImpl {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected static void setObjectColor(MageObject obj, String colorString) {
|
||||||
|
switch (colorString) {
|
||||||
|
case "W":
|
||||||
|
obj.getColor().setWhite(true);
|
||||||
|
break;
|
||||||
|
case "B":
|
||||||
|
obj.getColor().setBlack(true);
|
||||||
|
break;
|
||||||
|
case "U":
|
||||||
|
obj.getColor().setBlue(true);
|
||||||
|
break;
|
||||||
|
case "G":
|
||||||
|
obj.getColor().setGreen(true);
|
||||||
|
break;
|
||||||
|
case "R":
|
||||||
|
obj.getColor().setRed(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PaintersServantEffect copy() {
|
public PaintersServantEffect copy() {
|
||||||
return new PaintersServantEffect(this);
|
return new PaintersServantEffect(this);
|
||||||
|
|
Loading…
Reference in a new issue