forked from External/mage
* Gain cost modification abilities - fixed that commanders can't be played without full mana (example: gained Affinity by Mycosynth Golem, gained Convoke by Chief Engineer, see #7249 #7171, #6698);
This commit is contained in:
parent
53c5abea14
commit
384ff2e7ac
8 changed files with 145 additions and 28 deletions
|
|
@ -1,8 +1,5 @@
|
|||
package mage.game;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
import mage.MageItem;
|
||||
import mage.MageObject;
|
||||
import mage.abilities.Ability;
|
||||
|
|
@ -45,6 +42,10 @@ import mage.players.Players;
|
|||
import mage.util.MessageToClient;
|
||||
import mage.util.functions.ApplyToPermanent;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public interface Game extends MageItem, Serializable {
|
||||
|
||||
MatchType getGameType();
|
||||
|
|
@ -503,6 +504,21 @@ public interface Game extends MageItem, Serializable {
|
|||
return getCommandersIds(player, CommanderCardType.ANY);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return not played commander cards from command zone
|
||||
*
|
||||
* @param player
|
||||
* @return
|
||||
*/
|
||||
default Set<Card> getCommanderCardsFromCommandZone(Player player) {
|
||||
// commanders in command zone aren't cards so you must call getCard instead getObject
|
||||
return getCommandersIds(player).stream()
|
||||
.map(this::getCard)
|
||||
.filter(Objects::nonNull)
|
||||
.filter(card -> Zone.COMMAND.equals(this.getState().getZone(card.getId())))
|
||||
.collect(Collectors.toSet());
|
||||
}
|
||||
|
||||
void setGameStopped(boolean gameStopped);
|
||||
|
||||
boolean isGameStopped();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue