forked from External/mage
Implemented Optimistic getNetMana for Selvala, Explorer Returned (#8951)
Based on wording of Oracle ruling.
This commit is contained in:
parent
8c9012d192
commit
d6db77724f
2 changed files with 67 additions and 24 deletions
|
|
@ -34,22 +34,30 @@ public class ParleyCount implements DynamicValue, MageSingleton {
|
|||
public int calculate(Game game, Ability sourceAbility, Effect effect) {
|
||||
// Each player reveals the top card of their library. For each nonland card revealed this way
|
||||
int parleyValue = 0;
|
||||
MageObject sourceObject = game.getObject(sourceAbility.getSourceId());
|
||||
if (sourceObject != null) {
|
||||
for (UUID playerId : game.getState().getPlayersInRange(sourceAbility.getControllerId(), game)) {
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player != null) {
|
||||
Card card = player.getLibrary().getFromTop(game);
|
||||
if (card != null) {
|
||||
if (!card.isLand(game)) {
|
||||
parleyValue++;
|
||||
}
|
||||
player.revealCards(sourceObject.getIdName() + " (" + player.getName() + ')', new CardsImpl(card), game);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
MageObject sourceObject = game.getObject(sourceAbility.getSourceId());
|
||||
if (sourceObject == null) {
|
||||
return parleyValue;
|
||||
}
|
||||
|
||||
for (UUID playerId : game.getState().getPlayersInRange(sourceAbility.getControllerId(), game)) {
|
||||
Player player = game.getPlayer(playerId);
|
||||
if (player == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
Card card = player.getLibrary().getFromTop(game);
|
||||
if (card == null) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if (!card.isLand(game)) {
|
||||
parleyValue++;
|
||||
}
|
||||
|
||||
player.revealCards(sourceObject.getIdName() + " (" + player.getName() + ')', new CardsImpl(card), game);
|
||||
}
|
||||
|
||||
return parleyValue;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue