mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 04:42:07 -08:00
* Mana increase effects - fixed that some infinite mana combos gives 0 mana on too much permanents/effects (example: Nyxbloom Ancient);
This commit is contained in:
parent
cda79866ad
commit
2393485320
10 changed files with 165 additions and 103 deletions
|
|
@ -10,6 +10,7 @@ import mage.constants.*;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.ManaEvent;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
|
@ -55,22 +56,22 @@ class ManaReflectionReplacementEffect extends ReplacementEffectImpl {
|
|||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
Mana mana = ((ManaEvent) event).getMana();
|
||||
if (mana.getBlack() > 0) {
|
||||
mana.set(ManaType.BLACK, mana.getBlack() * 2);
|
||||
mana.set(ManaType.BLACK, CardUtil.multiplyWithOverflowCheck(mana.getBlack(), 2));
|
||||
}
|
||||
if (mana.getBlue() > 0) {
|
||||
mana.set(ManaType.BLUE, mana.getBlue() * 2);
|
||||
mana.set(ManaType.BLUE, CardUtil.multiplyWithOverflowCheck(mana.getBlue(), 2));
|
||||
}
|
||||
if (mana.getWhite() > 0) {
|
||||
mana.set(ManaType.WHITE, mana.getWhite() * 2);
|
||||
mana.set(ManaType.WHITE, CardUtil.multiplyWithOverflowCheck(mana.getWhite(), 2));
|
||||
}
|
||||
if (mana.getGreen() > 0) {
|
||||
mana.set(ManaType.GREEN, mana.getGreen() * 2);
|
||||
mana.set(ManaType.GREEN, CardUtil.multiplyWithOverflowCheck(mana.getGreen(), 2));
|
||||
}
|
||||
if (mana.getRed() > 0) {
|
||||
mana.set(ManaType.RED, mana.getRed() * 2);
|
||||
mana.set(ManaType.RED, CardUtil.multiplyWithOverflowCheck(mana.getRed(), 2));
|
||||
}
|
||||
if (mana.getColorless() > 0) {
|
||||
mana.set(ManaType.COLORLESS, mana.getColorless() * 2);
|
||||
mana.set(ManaType.COLORLESS, CardUtil.multiplyWithOverflowCheck(mana.getColorless(), 2));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import mage.constants.*;
|
|||
import mage.game.Game;
|
||||
import mage.game.events.GameEvent;
|
||||
import mage.game.events.ManaEvent;
|
||||
import mage.util.CardUtil;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
|
|
@ -64,22 +65,22 @@ class NyxbloomAncientReplacementEffect extends ReplacementEffectImpl {
|
|||
public boolean replaceEvent(GameEvent event, Ability source, Game game) {
|
||||
Mana mana = ((ManaEvent) event).getMana();
|
||||
if (mana.getBlack() > 0) {
|
||||
mana.set(ManaType.BLACK, mana.getBlack() * 3);
|
||||
mana.set(ManaType.BLACK, CardUtil.multiplyWithOverflowCheck(mana.getBlack(), 3));
|
||||
}
|
||||
if (mana.getBlue() > 0) {
|
||||
mana.set(ManaType.BLUE, mana.getBlue() * 3);
|
||||
mana.set(ManaType.BLUE, CardUtil.multiplyWithOverflowCheck(mana.getBlue(), 3));
|
||||
}
|
||||
if (mana.getWhite() > 0) {
|
||||
mana.set(ManaType.WHITE, mana.getWhite() * 3);
|
||||
mana.set(ManaType.WHITE, CardUtil.multiplyWithOverflowCheck(mana.getWhite(), 3));
|
||||
}
|
||||
if (mana.getGreen() > 0) {
|
||||
mana.set(ManaType.GREEN, mana.getGreen() * 3);
|
||||
mana.set(ManaType.GREEN, CardUtil.multiplyWithOverflowCheck(mana.getGreen(), 3));
|
||||
}
|
||||
if (mana.getRed() > 0) {
|
||||
mana.set(ManaType.RED, mana.getRed() * 3);
|
||||
mana.set(ManaType.RED, CardUtil.multiplyWithOverflowCheck(mana.getRed(), 3));
|
||||
}
|
||||
if (mana.getColorless() > 0) {
|
||||
mana.set(ManaType.COLORLESS, mana.getColorless() * 3);
|
||||
mana.set(ManaType.COLORLESS, CardUtil.multiplyWithOverflowCheck(mana.getColorless(), 3));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue