mirror of
https://github.com/correl/mage.git
synced 2025-03-16 17:00:13 -09:00
* Conditional Mana- Fixed that conditional mana was not emptied at end of phase step.
This commit is contained in:
parent
473204d713
commit
d078763be1
2 changed files with 26 additions and 10 deletions
|
@ -30,7 +30,6 @@ package mage.sets.vintagemasters;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.ConditionalMana;
|
import mage.ConditionalMana;
|
||||||
import mage.abilities.costs.common.TapSourceCost;
|
import mage.abilities.costs.common.TapSourceCost;
|
||||||
import mage.abilities.mana.ConditionalAnyColorManaAbility;
|
|
||||||
import mage.abilities.mana.ConditionalColorlessManaAbility;
|
import mage.abilities.mana.ConditionalColorlessManaAbility;
|
||||||
import mage.abilities.mana.builder.ConditionalManaBuilder;
|
import mage.abilities.mana.builder.ConditionalManaBuilder;
|
||||||
import mage.abilities.mana.conditional.ArtifactCastConditionalMana;
|
import mage.abilities.mana.conditional.ArtifactCastConditionalMana;
|
||||||
|
|
|
@ -181,16 +181,33 @@ public class ManaPool implements Serializable {
|
||||||
Iterator<ManaPoolItem> it = manaItems.iterator();
|
Iterator<ManaPoolItem> it = manaItems.iterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
ManaPoolItem item = it.next();
|
ManaPoolItem item = it.next();
|
||||||
|
ConditionalMana conditionalItem = item.getConditionalMana();
|
||||||
for (ManaType manaType : ManaType.values()) {
|
for (ManaType manaType : ManaType.values()) {
|
||||||
if (item.get(manaType) > 0 && !doNotEmptyManaTypes.contains(manaType)) {
|
if (!doNotEmptyManaTypes.contains(manaType)) {
|
||||||
if (!item.getDuration().equals(Duration.EndOfTurn) || game.getPhase().getType().equals(TurnPhase.END)) {
|
if (item.get(manaType) > 0) {
|
||||||
if (game.replaceEvent(new GameEvent(GameEvent.EventType.EMPTY_MANA_POOL, playerId, null, playerId))) {
|
if (!item.getDuration().equals(Duration.EndOfTurn) || game.getPhase().getType().equals(TurnPhase.END)) {
|
||||||
int amount = item.get(manaType);
|
if (game.replaceEvent(new GameEvent(GameEvent.EventType.EMPTY_MANA_POOL, playerId, null, playerId))) {
|
||||||
item.clear(manaType);
|
int amount = item.get(manaType);
|
||||||
item.add(ManaType.COLORLESS, amount);
|
item.clear(manaType);
|
||||||
} else {
|
item.add(ManaType.COLORLESS, amount);
|
||||||
total += item.get(manaType);
|
} else {
|
||||||
item.clear(manaType);
|
total += item.get(manaType);
|
||||||
|
item.clear(manaType);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (conditionalItem != null) {
|
||||||
|
if (conditionalItem.get(manaType) > 0) {
|
||||||
|
if (!item.getDuration().equals(Duration.EndOfTurn) || game.getPhase().getType().equals(TurnPhase.END)) {
|
||||||
|
if (game.replaceEvent(new GameEvent(GameEvent.EventType.EMPTY_MANA_POOL, playerId, null, playerId))) {
|
||||||
|
int amount = conditionalItem.get(manaType);
|
||||||
|
conditionalItem.clear(manaType);
|
||||||
|
conditionalItem.add(ManaType.COLORLESS, amount);
|
||||||
|
} else {
|
||||||
|
total += conditionalItem.get(manaType);
|
||||||
|
conditionalItem.clear(manaType);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue