Inner classes should be static. It reduces memory usage and gives perfomance boost + DeckImporter rollback

This commit is contained in:
vraskulin 2017-02-28 12:40:12 +03:00
parent 04973ea5aa
commit 0a3c95dde5
135 changed files with 582 additions and 642 deletions

View file

@ -1,10 +1,5 @@
package mage.client.components.ability; package mage.client.components.ability;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.List;
import javax.swing.*;
import mage.client.SessionHandler; import mage.client.SessionHandler;
import mage.client.util.ImageHelper; import mage.client.util.ImageHelper;
import mage.client.util.SettingsManager; import mage.client.util.SettingsManager;
@ -19,6 +14,12 @@ import org.jsoup.Jsoup;
import org.mage.card.arcane.ManaSymbols; import org.mage.card.arcane.ManaSymbols;
import org.mage.card.arcane.UI; import org.mage.card.arcane.UI;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.util.List;
/** /**
* Dialog for choosing abilities. * Dialog for choosing abilities.
* *
@ -233,7 +234,7 @@ public class AbilityPicker extends JXPanel implements MouseWheelListener {
action.actionPerformed(null); action.actionPerformed(null);
} }
public class ImageRenderer2 extends JEditorPane implements ListCellRenderer { public static class ImageRenderer2 extends JEditorPane implements ListCellRenderer {
public final Map<String, String> cache = new HashMap<String, String>(); public final Map<String, String> cache = new HashMap<String, String>();

View file

@ -36,7 +36,7 @@ public class StackDialog extends IDialogPanel {
private final UUID gameId; private final UUID gameId;
private class CustomLabel extends JLabel { private static class CustomLabel extends JLabel {
@Override @Override
public void paintComponent(Graphics g) { public void paintComponent(Graphics g) {

View file

@ -30,7 +30,7 @@ package mage.client.deck.generator;
import javax.swing.*; import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.util.*; import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
@ -42,7 +42,7 @@ public class RatioAdjustingSliderPanel extends JPanel {
private final List<JLabel> textLabels = new ArrayList<>(); private final List<JLabel> textLabels = new ArrayList<>();
private AdjustingSliderGroup sg; private AdjustingSliderGroup sg;
private class JStorageSlider extends JSlider { private static class JStorageSlider extends JSlider {
// Slider stores its initial value to revert to when reset // Slider stores its initial value to revert to when reset
private final int defaultValue; private final int defaultValue;
@ -74,7 +74,7 @@ public class RatioAdjustingSliderPanel extends JPanel {
} }
private class AdjustingSliderGroup private static class AdjustingSliderGroup
{ {
private final ArrayList<JStorageSlider> storageSliders; private final ArrayList<JStorageSlider> storageSliders;
private int sliderIndex = 0; private int sliderIndex = 0;

View file

@ -27,19 +27,6 @@
*/ */
package mage.client.deckeditor.collection.viewer; package mage.client.deckeditor.collection.viewer;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Image;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import javax.imageio.ImageIO;
import javax.swing.*;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardDimensions; import mage.cards.CardDimensions;
import mage.cards.MageCard; import mage.cards.MageCard;
@ -63,6 +50,16 @@ import org.apache.log4j.Logger;
import org.mage.card.arcane.GlowText; import org.mage.card.arcane.GlowText;
import org.mage.card.arcane.ManaSymbols; import org.mage.card.arcane.ManaSymbols;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
/** /**
* Mage book with cards and page flipping. * Mage book with cards and page flipping.
* *
@ -362,7 +359,7 @@ public class MageBook extends JComponent {
public static final int GAP_Y = 45; public static final int GAP_Y = 45;
} }
abstract class Configuration { abstract static class Configuration {
public int CARDS_PER_PAGE; public int CARDS_PER_PAGE;
public int CARD_ROWS; public int CARD_ROWS;

View file

@ -33,28 +33,8 @@
*/ */
package mage.client.table; package mage.client.table;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.swing.Icon;
import javax.swing.JLabel;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import mage.client.MageFrame; import mage.client.MageFrame;
import mage.client.chat.ChatPanelBasic; import mage.client.chat.ChatPanelBasic;
import static mage.client.chat.ChatPanelBasic.CHAT_ALPHA;
import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_ORDER;
import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_WIDTH;
import mage.client.util.GUISizeHelper; import mage.client.util.GUISizeHelper;
import mage.client.util.MageTableRowSorter; import mage.client.util.MageTableRowSorter;
import mage.client.util.gui.TableUtil; import mage.client.util.gui.TableUtil;
@ -64,6 +44,22 @@ import mage.view.RoomUsersView;
import mage.view.UsersView; import mage.view.UsersView;
import net.java.balloontip.utils.ToolTipUtils; import net.java.balloontip.utils.ToolTipUtils;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.JTableHeader;
import javax.swing.table.TableColumn;
import javax.swing.table.TableColumnModel;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.util.*;
import java.util.List;
import static mage.client.chat.ChatPanelBasic.CHAT_ALPHA;
import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_ORDER;
import static mage.client.dialog.PreferencesDialog.KEY_USERS_COLUMNS_WIDTH;
/** /**
* *
* @author BetaSteward_at_googlemail.com, nantuko * @author BetaSteward_at_googlemail.com, nantuko
@ -391,7 +387,7 @@ public class PlayersChatPanel extends javax.swing.JPanel {
private javax.swing.JTable jTablePlayers; private javax.swing.JTable jTablePlayers;
// End of variables declaration//GEN-END:variables // End of variables declaration//GEN-END:variables
class ColumnHeaderToolTips extends MouseMotionAdapter { static class ColumnHeaderToolTips extends MouseMotionAdapter {
int curCol; int curCol;
final Map<Integer, String> tips = new HashMap<>(); final Map<Integer, String> tips = new HashMap<>();

View file

@ -72,7 +72,7 @@ public class BufferedImageBuilder {
} }
} }
class ImageLoadStatus { static class ImageLoadStatus {
public boolean widthDone = false; public boolean widthDone = false;
public boolean heightDone = false; public boolean heightDone = false;
} }

View file

@ -2,24 +2,6 @@ package org.mage.card.arcane;
import com.google.common.base.Function; import com.google.common.base.Function;
import com.google.common.collect.MapMaker; import com.google.common.collect.MapMaker;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.UUID;
import javax.swing.BorderFactory;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import mage.cards.action.ActionCallback; import mage.cards.action.ActionCallback;
import mage.client.dialog.PreferencesDialog; import mage.client.dialog.PreferencesDialog;
import mage.client.util.ImageCaches; import mage.client.util.ImageCaches;
@ -34,11 +16,20 @@ import mage.view.StackAbilityView;
import net.java.truevfs.access.TFile; import net.java.truevfs.access.TFile;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jdesktop.swingx.graphics.GraphicsUtilities; import org.jdesktop.swingx.graphics.GraphicsUtilities;
import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL;
import org.mage.plugins.card.dl.sources.DirectLinksForDownload; import org.mage.plugins.card.dl.sources.DirectLinksForDownload;
import org.mage.plugins.card.images.ImageCache; import org.mage.plugins.card.images.ImageCache;
import org.mage.plugins.card.utils.impl.ImageManagerImpl; import org.mage.plugins.card.utils.impl.ImageManagerImpl;
import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Map;
import java.util.StringTokenizer;
import java.util.UUID;
import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL;
/** /**
* Class for drawing the mage card object by using a form based JComponent approach * Class for drawing the mage card object by using a form based JComponent approach
* *
@ -84,7 +75,7 @@ public class CardPanelComponentImpl extends CardPanel {
private final static Map<Key, BufferedImage> IMAGE_CACHE; private final static Map<Key, BufferedImage> IMAGE_CACHE;
class Key { static class Key {
final int width; final int width;
final int height; final int height;
@ -341,7 +332,7 @@ public class CardPanelComponentImpl extends CardPanel {
g2d.drawImage( g2d.drawImage(
IMAGE_CACHE.get( IMAGE_CACHE.get(
new Key(getWidth(), getHeight(), getCardWidth(), getCardHeight(), getCardXOffset(), getCardYOffset(), new Key(getWidth(), getHeight(), getCardWidth(), getCardHeight(), getCardXOffset(), getCardYOffset(),
hasImage, isSelected(), isChoosable(), gameCard.isPlayable(), gameCard.isCanAttack())), hasImage, isSelected(), isChoosable(), gameCard.isPlayable(), gameCard.isCanAttack())),
0, 0, null); 0, 0, null);
g2d.dispose(); g2d.dispose();

View file

@ -1,14 +1,6 @@
package org.mage.card.arcane; package org.mage.card.arcane;
import com.google.common.collect.MapMaker; import com.google.common.collect.MapMaker;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Map;
import java.util.UUID;
import mage.cards.action.ActionCallback; import mage.cards.action.ActionCallback;
import mage.constants.CardType; import mage.constants.CardType;
import mage.view.CardView; import mage.view.CardView;
@ -18,10 +10,17 @@ import mage.view.StackAbilityView;
import net.java.truevfs.access.TFile; import net.java.truevfs.access.TFile;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jdesktop.swingx.graphics.GraphicsUtilities; import org.jdesktop.swingx.graphics.GraphicsUtilities;
import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL;
import org.mage.plugins.card.dl.sources.DirectLinksForDownload; import org.mage.plugins.card.dl.sources.DirectLinksForDownload;
import org.mage.plugins.card.images.ImageCache; import org.mage.plugins.card.images.ImageCache;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.util.Map;
import java.util.UUID;
import static org.mage.plugins.card.constants.Constants.THUMBNAIL_SIZE_FULL;
public class CardPanelRenderImpl extends CardPanel { public class CardPanelRenderImpl extends CardPanel {
private static final Logger LOGGER = Logger.getLogger(CardPanelRenderImpl.class); private static final Logger LOGGER = Logger.getLogger(CardPanelRenderImpl.class);
@ -114,7 +113,7 @@ public class CardPanelRenderImpl extends CardPanel {
return true; return true;
} }
class ImageKey { static class ImageKey {
final BufferedImage artImage; final BufferedImage artImage;
final int width; final int width;
@ -258,8 +257,8 @@ public class CardPanelRenderImpl extends CardPanel {
// Try to get card image from cache based on our card characteristics // Try to get card image from cache based on our card characteristics
ImageKey key ImageKey key
= new ImageKey(gameCard, artImage, = new ImageKey(gameCard, artImage,
getCardWidth(), getCardHeight(), getCardWidth(), getCardHeight(),
isChoosable(), isSelected()); isChoosable(), isSelected());
cardImage = IMAGE_CACHE.computeIfAbsent(key, k -> renderCard()); cardImage = IMAGE_CACHE.computeIfAbsent(key, k -> renderCard());
// No cached copy exists? Render one and cache it // No cached copy exists? Render one and cache it

View file

@ -5,12 +5,17 @@
*/ */
package org.mage.card.arcane; package org.mage.card.arcane;
import mage.ObjectColor;
import mage.cards.FrameStyle;
import mage.client.dialog.PreferencesDialog;
import mage.constants.CardType;
import mage.view.CardView;
import mage.view.PermanentView;
import org.apache.log4j.Logger;
import javax.swing.*;
import java.awt.*; import java.awt.*;
import java.awt.font.FontRenderContext; import java.awt.font.*;
import java.awt.font.LineBreakMeasurer;
import java.awt.font.TextAttribute;
import java.awt.font.TextLayout;
import java.awt.font.TextMeasurer;
import java.awt.geom.Rectangle2D; import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.awt.image.RasterFormatException; import java.awt.image.RasterFormatException;
@ -22,14 +27,6 @@ import java.text.CharacterIterator;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
import javax.swing.ImageIcon;
import mage.ObjectColor;
import mage.cards.FrameStyle;
import mage.client.dialog.PreferencesDialog;
import mage.constants.CardType;
import mage.view.CardView;
import mage.view.PermanentView;
import org.apache.log4j.Logger;
/* /*
@ -721,7 +718,7 @@ public class ModernCardRenderer extends CardRenderer {
// Draw the card's textbox in a given rect // Draw the card's textbox in a given rect
protected boolean loyaltyAbilityColorToggle = false; protected boolean loyaltyAbilityColorToggle = false;
private class RuleLayout { private static class RuleLayout {
public List<AttributedString> attributedRules; public List<AttributedString> attributedRules;
public int remainingHeight; public int remainingHeight;

View file

@ -265,7 +265,7 @@ public class TokensMtgImageSource implements CardImageSource {
return newTokensData; return newTokensData;
} }
final class TokenData { static final class TokenData {
final private String name; final private String name;
final private String number; final private String number;

View file

@ -37,7 +37,7 @@ public class MultiConnectTest {
private final Object sync = new Object(); private final Object sync = new Object();
private MageUI ui; private MageUI ui;
private class ClientMock implements MageClient { private static class ClientMock implements MageClient {
private Session session; private Session session;
private final String username; private final String username;

View file

@ -1,5 +1,5 @@
#Generated by Maven #Generated by Maven
#Wed Feb 15 19:18:14 MSK 2017 #Tue Feb 28 12:32:48 MSK 2017
version=1.4.21 version=1.4.21
groupId=org.mage groupId=org.mage
artifactId=mage-game-canadianhighlanderduel artifactId=mage-game-canadianhighlanderduel

View file

@ -27,49 +27,15 @@
*/ */
package mage.player.ai; package mage.player.ai;
import java.io.IOException;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.TreeMap;
import java.util.UUID;
import mage.MageObject; import mage.MageObject;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.*;
import mage.abilities.ActivatedAbility;
import mage.abilities.Mode;
import mage.abilities.Modes;
import mage.abilities.SpellAbility;
import mage.abilities.TriggeredAbility;
import mage.abilities.costs.VariableCost; import mage.abilities.costs.VariableCost;
import mage.abilities.costs.mana.ColoredManaCost; import mage.abilities.costs.mana.*;
import mage.abilities.costs.mana.ColorlessManaCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.costs.mana.HybridManaCost;
import mage.abilities.costs.mana.ManaCost;
import mage.abilities.costs.mana.ManaCosts;
import mage.abilities.costs.mana.MonoHybridManaCost;
import mage.abilities.costs.mana.PhyrexianManaCost;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DamageTargetEffect; import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect; import mage.abilities.effects.common.continuous.BecomesCreatureSourceEffect;
import mage.abilities.keyword.DoubleStrikeAbility; import mage.abilities.keyword.*;
import mage.abilities.keyword.EquipAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlashAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.mana.ActivatedManaAbilityImpl; import mage.abilities.mana.ActivatedManaAbilityImpl;
import mage.abilities.mana.ManaOptions; import mage.abilities.mana.ManaOptions;
import mage.cards.Card; import mage.cards.Card;
@ -81,21 +47,9 @@ import mage.cards.repository.CardInfo;
import mage.cards.repository.CardRepository; import mage.cards.repository.CardRepository;
import mage.choices.Choice; import mage.choices.Choice;
import mage.choices.ChoiceColor; import mage.choices.ChoiceColor;
import mage.constants.AsThoughEffectType; import mage.constants.*;
import mage.constants.CardType;
import mage.constants.ColoredManaSymbol;
import mage.constants.Outcome;
import mage.constants.RangeOfInfluence;
import mage.constants.Rarity;
import mage.constants.Zone;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import mage.filter.common.FilterCreatureForCombatBlock; import mage.filter.common.*;
import mage.filter.common.FilterCreatureOrPlayer;
import mage.filter.common.FilterCreaturePermanent;
import mage.filter.common.FilterLandCard;
import mage.filter.common.FilterNonlandCard;
import mage.filter.common.FilterPermanentOrPlayer;
import mage.filter.common.FilterPlaneswalkerPermanent;
import mage.filter.predicate.permanent.ControllerIdPredicate; import mage.filter.predicate.permanent.ControllerIdPredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.combat.CombatGroup; import mage.game.combat.CombatGroup;
@ -115,31 +69,19 @@ import mage.players.Player;
import mage.players.PlayerImpl; import mage.players.PlayerImpl;
import mage.players.net.UserData; import mage.players.net.UserData;
import mage.players.net.UserGroup; import mage.players.net.UserGroup;
import mage.target.Target; import mage.target.*;
import mage.target.TargetAmount; import mage.target.common.*;
import mage.target.TargetCard; import mage.util.Copier;
import mage.target.TargetPermanent; import mage.util.RandomUtil;
import mage.target.TargetPlayer; import mage.util.TournamentUtil;
import mage.target.TargetSource; import mage.util.TreeNode;
import mage.target.TargetSpell;
import mage.target.common.TargetCardInASingleGraveyard;
import mage.target.common.TargetCardInExile;
import mage.target.common.TargetCardInGraveyard;
import mage.target.common.TargetCardInHand;
import mage.target.common.TargetCardInLibrary;
import mage.target.common.TargetCardInOpponentsGraveyard;
import mage.target.common.TargetCardInYourGraveyard;
import mage.target.common.TargetControlledPermanent;
import mage.target.common.TargetCreatureOrPlayer;
import mage.target.common.TargetCreatureOrPlayerAmount;
import mage.target.common.TargetDefender;
import mage.target.common.TargetDiscard;
import mage.target.common.TargetOpponent;
import mage.target.common.TargetPermanentOrPlayer;
import mage.target.common.TargetSpellOrPermanent;
import mage.util.*;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import java.io.IOException;
import java.io.Serializable;
import java.util.*;
import java.util.Map.Entry;
/** /**
* *
* suitable for two player games and some multiplayer games * suitable for two player games and some multiplayer games
@ -1941,7 +1883,7 @@ public class ComputerPlayer extends PlayerImpl implements Player {
return null; return null;
} }
private class PickedCard { private static class PickedCard {
public Card card; public Card card;
public Integer score; public Integer score;

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.OnEventTriggeredAbility; import mage.abilities.common.OnEventTriggeredAbility;
@ -48,6 +47,8 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/** /**
* *
* @author anonymous * @author anonymous
@ -87,7 +88,7 @@ public class ArchdemonOfGreed extends CardImpl {
return new ArchdemonOfGreed(this); return new ArchdemonOfGreed(this);
} }
class ArchdemonOfGreedEffect extends OneShotEffect { static class ArchdemonOfGreedEffect extends OneShotEffect {
public ArchdemonOfGreedEffect() { public ArchdemonOfGreedEffect() {
super(Outcome.Damage); super(Outcome.Damage);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -46,6 +45,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -79,7 +80,7 @@ public class AshlingThePilgrim extends CardImpl {
class AshlingThePilgrimEffect extends OneShotEffect { class AshlingThePilgrimEffect extends OneShotEffect {
class ActivationInfo { static class ActivationInfo {
public int zoneChangeCounter; public int zoneChangeCounter;
public int turn; public int turn;
public int activations; public int activations;

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -42,6 +41,8 @@ import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -69,7 +70,7 @@ public class AtarkaMonument extends CardImpl {
return new AtarkaMonument(this); return new AtarkaMonument(this);
} }
private class AtarkaMonumentToken extends Token { private static class AtarkaMonumentToken extends Token {
AtarkaMonumentToken() { AtarkaMonumentToken() {
super("", "4/4 red and green Dragon artifact creature with flying"); super("", "4/4 red and green Dragon artifact creature with flying");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,13 +27,11 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.constants.CardType;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.filter.FilterPermanent; import mage.filter.FilterPermanent;
import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.CardTypePredicate;
@ -42,6 +40,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -66,7 +66,7 @@ public class AuraBarbs extends CardImpl {
return new AuraBarbs(this); return new AuraBarbs(this);
} }
private class AuraBarbsEffect extends OneShotEffect { private static class AuraBarbsEffect extends OneShotEffect {
public AuraBarbsEffect() { public AuraBarbsEffect() {
super(Outcome.Detriment); super(Outcome.Detriment);

View file

@ -39,7 +39,10 @@ import mage.abilities.effects.common.counter.AddCountersTargetEffect;
import mage.abilities.keyword.DefenderAbility; import mage.abilities.keyword.DefenderAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*; import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.permanent.CounterPredicate; import mage.filter.predicate.permanent.CounterPredicate;
@ -95,7 +98,7 @@ public class Aurification extends CardImpl {
return new Aurification(this); return new Aurification(this);
} }
public class AddGoldCountersAbility extends TriggeredAbilityImpl { public static class AddGoldCountersAbility extends TriggeredAbilityImpl {
public AddGoldCountersAbility() { public AddGoldCountersAbility() {
super(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.GOLD.createInstance())); super(Zone.BATTLEFIELD, new AddCountersTargetEffect(CounterType.GOLD.createInstance()));
@ -136,7 +139,7 @@ public class Aurification extends CardImpl {
} }
public class RemoveAllGoldCountersEffect extends OneShotEffect { public static class RemoveAllGoldCountersEffect extends OneShotEffect {
public RemoveAllGoldCountersEffect() { public RemoveAllGoldCountersEffect() {
super(Outcome.Neutral); super(Outcome.Neutral);
this.staticText = "remove all gold counters from all creatures"; this.staticText = "remove all gold counters from all creatures";

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -46,6 +45,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author jeffwadsworth * @author jeffwadsworth
@ -81,7 +82,7 @@ public class AwakenTheAncient extends CardImpl {
return new AwakenTheAncient(this); return new AwakenTheAncient(this);
} }
private class GiantToken extends Token { private static class GiantToken extends Token {
GiantToken() { GiantToken() {
super("Giant", "7/7 red Giant creature with haste"); super("Giant", "7/7 red Giant creature with haste");

View file

@ -27,9 +27,6 @@
*/ */
package mage.cards.a; package mage.cards.a;
import java.util.UUID;
import mage.constants.CardType;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -39,10 +36,13 @@ import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.WhiteManaAbility; import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -68,7 +68,7 @@ public class AzoriusKeyrune extends CardImpl {
return new AzoriusKeyrune(this); return new AzoriusKeyrune(this);
} }
private class AzoriusKeyruneToken extends Token { private static class AzoriusKeyruneToken extends Token {
AzoriusKeyruneToken() { AzoriusKeyruneToken() {
super("", "2/2 white and blue Bird artifact creature with flying"); super("", "2/2 white and blue Bird artifact creature with flying");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,16 +27,10 @@
*/ */
package mage.cards.b; package mage.cards.b;
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.Card; import mage.cards.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.cards.Cards;
import mage.cards.CardsImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.Zone; import mage.constants.Zone;
@ -45,6 +39,9 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType; import mage.game.events.GameEvent.EventType;
import mage.players.Player; import mage.players.Player;
import java.util.Set;
import java.util.UUID;
/** /**
* *
* @author jeffwadsworth * @author jeffwadsworth
@ -99,7 +96,7 @@ public class BanefulOmen extends CardImpl {
} }
} }
class BanefulOmenEffect extends OneShotEffect { static class BanefulOmenEffect extends OneShotEffect {
public BanefulOmenEffect() { public BanefulOmenEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);

View file

@ -28,27 +28,27 @@
package mage.cards.b; package mage.cards.b;
import java.util.UUID; import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.counters.CounterType;
import mage.filter.common.FilterSpiritOrArcaneCard;
import mage.game.Game;
import mage.constants.CardType; import java.util.UUID;
import mage.constants.Zone;
import mage.MageInt;
import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastControllerTriggeredAbility;
import mage.abilities.costs.Cost;
import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
import mage.abilities.costs.mana.GenericManaCost;
import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.continuous.BoostSourceEffect;
import mage.abilities.effects.common.counter.AddCountersSourceEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.counters.CounterType;
import mage.filter.common.FilterSpiritOrArcaneCard;
import mage.game.Game;
/** /**
* @author LevelX2 * @author LevelX2
@ -82,7 +82,7 @@ public class BlademaneBaku extends CardImpl {
return new BlademaneBaku(this); return new BlademaneBaku(this);
} }
class BlademaneBakuBoostEffect extends OneShotEffect { static class BlademaneBakuBoostEffect extends OneShotEffect {
public BlademaneBakuBoostEffect() { public BlademaneBakuBoostEffect() {
super(Outcome.UnboostCreature); super(Outcome.UnboostCreature);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.b; package mage.cards.b;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -38,6 +37,8 @@ import mage.filter.common.FilterCreatureCard;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -60,7 +61,7 @@ public class BlossomingWreath extends CardImpl {
return new BlossomingWreath(this); return new BlossomingWreath(this);
} }
class BlossomingWreathEffect extends OneShotEffect { static class BlossomingWreathEffect extends OneShotEffect {
public BlossomingWreathEffect() { public BlossomingWreathEffect() {
super(Outcome.GainLife); super(Outcome.GainLife);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.b; package mage.cards.b;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.condition.common.ManaWasSpentCondition; import mage.abilities.condition.common.ManaWasSpentCondition;
import mage.abilities.decorator.ConditionalOneShotEffect; import mage.abilities.decorator.ConditionalOneShotEffect;
@ -46,6 +45,8 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Dilnu * @author Dilnu
@ -75,7 +76,7 @@ public class BorosFuryShield extends CardImpl {
return new BorosFuryShield(this); return new BorosFuryShield(this);
} }
class BorosFuryShieldDamageEffect extends OneShotEffect { static class BorosFuryShieldDamageEffect extends OneShotEffect {
BorosFuryShieldDamageEffect() { BorosFuryShieldDamageEffect() {
super(Outcome.Damage); super(Outcome.Damage);
staticText = "{this} deals damage to that creature's controller equal to the creature's power"; staticText = "{this} deals damage to that creature's controller equal to the creature's power";

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.b; package mage.cards.b;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -40,8 +36,13 @@ import mage.abilities.mana.RedManaAbility;
import mage.abilities.mana.WhiteManaAbility; import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -68,7 +69,7 @@ public class BorosKeyrune extends CardImpl {
return new BorosKeyrune(this); return new BorosKeyrune(this);
} }
private class BorosKeyruneToken extends Token { private static class BorosKeyruneToken extends Token {
BorosKeyruneToken() { BorosKeyruneToken() {
super("Soldier", "1/1 red and white Soldier artifact creature with double strike"); super("Soldier", "1/1 red and white Soldier artifact creature with double strike");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.b; package mage.cards.b;
import java.util.Set;
import java.util.UUID;
import mage.constants.*;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -41,10 +37,17 @@ import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetOpponent; import mage.target.common.TargetOpponent;
import java.util.Set;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -73,7 +76,7 @@ public class BrinkOfMadness extends CardImpl {
return new BrinkOfMadness(this); return new BrinkOfMadness(this);
} }
class BrinkOfMadnessEffect extends OneShotEffect { static class BrinkOfMadnessEffect extends OneShotEffect {
public BrinkOfMadnessEffect() { public BrinkOfMadnessEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);

View file

@ -27,39 +27,22 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.MageSingleton; import mage.abilities.MageSingleton;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.keyword.ChangelingAbility; import mage.abilities.keyword.*;
import mage.abilities.keyword.DeathtouchAbility;
import mage.abilities.keyword.DoubleStrikeAbility;
import mage.abilities.keyword.FearAbility;
import mage.abilities.keyword.FirstStrikeAbility;
import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.HasteAbility;
import mage.abilities.keyword.LandwalkAbility;
import mage.abilities.keyword.LifelinkAbility;
import mage.abilities.keyword.ProtectionAbility;
import mage.abilities.keyword.ReachAbility;
import mage.abilities.keyword.ShroudAbility;
import mage.abilities.keyword.TrampleAbility;
import mage.abilities.keyword.VigilanceAbility;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author psykad * @author psykad
@ -89,7 +72,7 @@ public class CairnWanderer extends CardImpl {
return new CairnWanderer(this); return new CairnWanderer(this);
} }
class CairnWandererEffect extends ContinuousEffectImpl { static class CairnWandererEffect extends ContinuousEffectImpl {
public CairnWandererEffect() { public CairnWandererEffect() {
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SpellCastOpponentTriggeredAbility; import mage.abilities.common.SpellCastOpponentTriggeredAbility;
@ -47,6 +46,8 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.CardTypePredicate; import mage.filter.predicate.mageobject.CardTypePredicate;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
@ -81,7 +82,7 @@ public class ChimericEgg extends CardImpl {
return new ChimericEgg(this); return new ChimericEgg(this);
} }
private class ChimericEggToken extends Token { private static class ChimericEggToken extends Token {
ChimericEggToken() { ChimericEggToken() {
super("", "6/6 Construct artifact creature with trample"); super("", "6/6 Construct artifact creature with trample");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,9 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.constants.CardType;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.common.ZoneChangeTriggeredAbility; import mage.abilities.common.ZoneChangeTriggeredAbility;
@ -38,6 +35,7 @@ import mage.abilities.effects.common.DamageTargetEffect;
import mage.abilities.effects.common.continuous.GainAbilityAllEffect; import mage.abilities.effects.common.continuous.GainAbilityAllEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
@ -45,6 +43,8 @@ import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.SubtypePredicate; import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -83,7 +83,7 @@ public class ClashOfRealities extends CardImpl {
return new ClashOfRealities(this); return new ClashOfRealities(this);
} }
private class ClashOfRealitiesTriggeredAbility extends ZoneChangeTriggeredAbility { private static class ClashOfRealitiesTriggeredAbility extends ZoneChangeTriggeredAbility {
public ClashOfRealitiesTriggeredAbility(Effect effect, String rule) { public ClashOfRealitiesTriggeredAbility(Effect effect, String rule) {
super(Zone.BATTLEFIELD, effect, rule, true); super(Zone.BATTLEFIELD, effect, rule, true);

View file

@ -68,7 +68,7 @@ public class CoalhaulerSwine extends CardImpl {
return new CoalhaulerSwine(this); return new CoalhaulerSwine(this);
} }
class CoalhaulerSwineEffect extends OneShotEffect { static class CoalhaulerSwineEffect extends OneShotEffect {
public CoalhaulerSwineEffect() { public CoalhaulerSwineEffect() {
super(Outcome.Damage); super(Outcome.Damage);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -42,6 +41,8 @@ import mage.constants.CardType;
import mage.constants.TargetController; import mage.constants.TargetController;
import mage.game.Game; import mage.game.Game;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -67,7 +68,7 @@ public class ConvalescentCare extends CardImpl {
return new ConvalescentCare(this); return new ConvalescentCare(this);
} }
class FiveOrLessLifeCondition implements Condition { static class FiveOrLessLifeCondition implements Condition {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -41,18 +37,16 @@ import mage.abilities.effects.common.SacrificeSourceUnlessPaysEffect;
import mage.abilities.mana.WhiteManaAbility; import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.DependencyType;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterLandPermanent; import mage.filter.common.FilterLandPermanent;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -81,7 +75,7 @@ public class Conversion extends CardImpl {
return new Conversion(this); return new Conversion(this);
} }
class ConversionEffect extends ContinuousEffectImpl { static class ConversionEffect extends ContinuousEffectImpl {
ConversionEffect() { ConversionEffect() {
super(Duration.WhileOnBattlefield, Outcome.Detriment); super(Duration.WhileOnBattlefield, Outcome.Detriment);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
@ -48,6 +47,8 @@ import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType; import mage.game.events.GameEvent.EventType;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -80,7 +81,7 @@ public class CrazedArmodon extends CardImpl {
return new CrazedArmodon(this); return new CrazedArmodon(this);
} }
class CrazedArmodonDelayedTriggeredAbility extends DelayedTriggeredAbility { static class CrazedArmodonDelayedTriggeredAbility extends DelayedTriggeredAbility {
public CrazedArmodonDelayedTriggeredAbility() { public CrazedArmodonDelayedTriggeredAbility() {
super(new DestroySourceEffect()); super(new DestroySourceEffect());

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.c; package mage.cards.c;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.dynamicvalue.common.StaticValue; import mage.abilities.dynamicvalue.common.StaticValue;
@ -43,6 +42,8 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType; import mage.game.events.GameEvent.EventType;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -69,7 +70,7 @@ public class CrosstownCourier extends CardImpl {
return new CrosstownCourier(this); return new CrosstownCourier(this);
} }
class CrosstownCourierTriggeredAbility extends TriggeredAbilityImpl { static class CrosstownCourierTriggeredAbility extends TriggeredAbilityImpl {
public CrosstownCourierTriggeredAbility() { public CrosstownCourierTriggeredAbility() {
super(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(0), false); super(Zone.BATTLEFIELD, new PutLibraryIntoGraveTargetEffect(0), false);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.d; package mage.cards.d;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect; import mage.abilities.effects.common.continuous.BecomesCreatureTargetEffect;
@ -39,6 +38,8 @@ import mage.constants.Duration;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -64,7 +65,7 @@ public class DanceOfTheSkywise extends CardImpl {
return new DanceOfTheSkywise(this); return new DanceOfTheSkywise(this);
} }
private class DragonIllusionToken extends Token { private static class DragonIllusionToken extends Token {
public DragonIllusionToken() { public DragonIllusionToken() {
super("Dragon", "blue Dragon Illusion with base power and toughness 4/4 and with flying"); super("Dragon", "blue Dragon Illusion with base power and toughness 4/4 and with flying");

View file

@ -75,7 +75,7 @@ public class DeathWatch extends CardImpl {
return new DeathWatch(this); return new DeathWatch(this);
} }
class DeathWatchEffect extends OneShotEffect { static class DeathWatchEffect extends OneShotEffect {
public DeathWatchEffect() { public DeathWatchEffect() {
super(Outcome.LoseLife); super(Outcome.LoseLife);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.d; package mage.cards.d;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.common.RegenerateTargetEffect; import mage.abilities.effects.common.RegenerateTargetEffect;
import mage.abilities.effects.common.continuous.GainControlTargetEffect; import mage.abilities.effects.common.continuous.GainControlTargetEffect;
@ -39,6 +38,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Dilnu * @author Dilnu
@ -62,7 +63,7 @@ public class DebtOfLoyalty extends CardImpl {
return new DebtOfLoyalty(this); return new DebtOfLoyalty(this);
} }
class DebtOfLoyaltyEffect extends RegenerateTargetEffect { static class DebtOfLoyaltyEffect extends RegenerateTargetEffect {
public DebtOfLoyaltyEffect ( ) { public DebtOfLoyaltyEffect ( ) {
super(); super();
this.staticText = "Regenerate target creature. You gain control of that creature if it regenerates this way."; this.staticText = "Regenerate target creature. You gain control of that creature if it regenerates this way.";

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.d; package mage.cards.d;
import java.util.Set;
import java.util.UUID;
import mage.constants.*;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -40,11 +36,18 @@ import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect; import mage.abilities.effects.common.search.SearchLibraryPutInPlayEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreatureCard; import mage.filter.common.FilterCreatureCard;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetCardInLibrary;
import java.util.Set;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -72,7 +75,7 @@ public class DefenseOfTheHeart extends CardImpl {
return new DefenseOfTheHeart(this); return new DefenseOfTheHeart(this);
} }
class DefenseOfTheHeartCondition implements Condition { static class DefenseOfTheHeartCondition implements Condition {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.d; package mage.cards.d;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.common.SacrificeXTargetCost; import mage.abilities.costs.common.SacrificeXTargetCost;
import mage.abilities.dynamicvalue.common.GetXValue; import mage.abilities.dynamicvalue.common.GetXValue;
@ -40,6 +39,8 @@ import mage.filter.common.FilterControlledLandPermanent;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author jeffwadsworth * @author jeffwadsworth
@ -95,7 +96,7 @@ class DevastatingSummonsEffect extends OneShotEffect {
return new DevastatingSummonsEffect(this); return new DevastatingSummonsEffect(this);
} }
class ElementalToken extends Token { static class ElementalToken extends Token {
public ElementalToken() { public ElementalToken() {
super("Elemental", "X/X red Elemental creature"); super("Elemental", "X/X red Elemental creature");

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.d; package mage.cards.d;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -40,8 +36,13 @@ import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.BlueManaAbility; import mage.abilities.mana.BlueManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -68,7 +69,7 @@ public class DimirKeyrune extends CardImpl {
return new DimirKeyrune(this); return new DimirKeyrune(this);
} }
private class DimirKeyruneToken extends Token { private static class DimirKeyruneToken extends Token {
DimirKeyruneToken() { DimirKeyruneToken() {
super("Horror", "2/2 blue and black Horror until end of turn and can't be blocked this turn"); super("Horror", "2/2 blue and black Horror until end of turn and can't be blocked this turn");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
@ -49,6 +48,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -88,7 +89,7 @@ public class GenjuOfTheCedars extends CardImpl {
return new GenjuOfTheCedars(this); return new GenjuOfTheCedars(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("", "4/4 green Spirit creature"); super("", "4/4 green Spirit creature");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
@ -49,6 +48,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -86,7 +87,7 @@ public class GenjuOfTheFalls extends CardImpl {
return new GenjuOfTheFalls(this); return new GenjuOfTheFalls(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("Spirit", "3/2 blue Spirit creature with flying"); super("Spirit", "3/2 blue Spirit creature with flying");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
@ -50,6 +49,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -87,7 +88,7 @@ public class GenjuOfTheFens extends CardImpl {
return new GenjuOfTheFens(this); return new GenjuOfTheFens(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("Spirit", "2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\""); super("Spirit", "2/2 black Spirit creature with \"{B}: This creature gets +1/+1 until end of turn.\"");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DealsDamageGainLifeSourceTriggeredAbility; import mage.abilities.common.DealsDamageGainLifeSourceTriggeredAbility;
@ -42,16 +41,14 @@ import mage.abilities.effects.common.continuous.GainAbilityAttachedEffect;
import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.AttachmentType; import mage.constants.*;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.filter.common.FilterLandPermanent; import mage.filter.common.FilterLandPermanent;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -94,7 +91,7 @@ public class GenjuOfTheFields extends CardImpl {
return new GenjuOfTheFields(this); return new GenjuOfTheFields(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("Spirit", "2/5 white Spirit creature"); super("Spirit", "2/5 white Spirit creature");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
@ -48,6 +47,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -84,7 +85,7 @@ public class GenjuOfTheRealm extends CardImpl {
return new GenjuOfTheRealm(this); return new GenjuOfTheRealm(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("Spirit", "legendary 8/12 Spirit creature with trample"); super("Spirit", "legendary 8/12 Spirit creature with trample");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesAttachedTriggeredAbility; import mage.abilities.common.DiesAttachedTriggeredAbility;
@ -48,6 +47,8 @@ import mage.game.permanent.token.Token;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetLandPermanent; import mage.target.common.TargetLandPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -85,7 +86,7 @@ public class GenjuOfTheSpires extends CardImpl {
return new GenjuOfTheSpires(this); return new GenjuOfTheSpires(this);
} }
private class SpiritToken extends Token { private static class SpiritToken extends Token {
SpiritToken() { SpiritToken() {
super("Spirit", "6/1 red Spirit creature"); super("Spirit", "6/1 red Spirit creature");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -47,6 +46,8 @@ import mage.players.Player;
import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetArtifactPermanent;
import mage.target.common.TargetCardInGraveyard; import mage.target.common.TargetCardInGraveyard;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -77,7 +78,7 @@ public class GoblinWelder extends CardImpl {
return new GoblinWelder(this); return new GoblinWelder(this);
} }
public class GoblinWelderEffect extends OneShotEffect { public static class GoblinWelderEffect extends OneShotEffect {
public GoblinWelderEffect() { public GoblinWelderEffect() {
super(Outcome.PutCardInPlay); super(Outcome.PutCardInPlay);
@ -118,7 +119,7 @@ public class GoblinWelder extends CardImpl {
} }
class GoblinWelderTarget extends TargetCardInGraveyard { static class GoblinWelderTarget extends TargetCardInGraveyard {
public GoblinWelderTarget() { public GoblinWelderTarget() {
super(1, 1, new FilterArtifactCard()); super(1, 1, new FilterArtifactCard());

View file

@ -27,9 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.constants.CardType;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -39,10 +36,13 @@ import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.GreenManaAbility; import mage.abilities.mana.GreenManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -68,7 +68,7 @@ public class GolgariKeyrune extends CardImpl {
return new GolgariKeyrune(this); return new GolgariKeyrune(this);
} }
private class GolgariKeyruneToken extends Token { private static class GolgariKeyruneToken extends Token {
GolgariKeyruneToken() { GolgariKeyruneToken() {
super("", "2/2 black and green Insect artifact creature with deathtouch"); super("", "2/2 black and green Insect artifact creature with deathtouch");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -69,7 +69,7 @@ public class GreenbeltRampager extends CardImpl {
return new GreenbeltRampager(this); return new GreenbeltRampager(this);
} }
private class GreenbeltRampagerEffect extends OneShotEffect { private static class GreenbeltRampagerEffect extends OneShotEffect {
GreenbeltRampagerEffect() { GreenbeltRampagerEffect() {
super(Outcome.Neutral); super(Outcome.Neutral);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -49,6 +48,8 @@ import mage.filter.predicate.permanent.TappedPredicate;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -83,7 +84,7 @@ public class GroveOfTheGuardian extends CardImpl {
return new GroveOfTheGuardian(this); return new GroveOfTheGuardian(this);
} }
private class ElementalToken extends Token { private static class ElementalToken extends Token {
ElementalToken() { ElementalToken() {
super("Elemental", "8/8 green and white Elemental creature token with vigilance"); super("Elemental", "8/8 green and white Elemental creature token with vigilance");

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.g; package mage.cards.g;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -40,8 +36,13 @@ import mage.abilities.mana.GreenManaAbility;
import mage.abilities.mana.RedManaAbility; import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -68,7 +69,7 @@ public class GruulKeyrune extends CardImpl {
return new GruulKeyrune(this); return new GruulKeyrune(this);
} }
private class GruulKeyruneToken extends Token { private static class GruulKeyruneToken extends Token {
GruulKeyruneToken() { GruulKeyruneToken() {
super("Beast", "3/2 red and green Beast artifact creature with trample"); super("Beast", "3/2 red and green Beast artifact creature with trample");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,19 +27,19 @@
*/ */
package mage.cards.h; package mage.cards.h;
import java.util.UUID;
import mage.constants.CardType;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -64,7 +64,7 @@ public class HeedTheMists extends CardImpl {
return new HeedTheMists(this); return new HeedTheMists(this);
} }
private class HeedTheMistsEffect extends OneShotEffect { private static class HeedTheMistsEffect extends OneShotEffect {
public HeedTheMistsEffect() { public HeedTheMistsEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.h; package mage.cards.h;
import mage.constants.CardType;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -41,6 +40,7 @@ import mage.abilities.keyword.HasteAbility;
import mage.abilities.mana.ColorlessManaAbility; import mage.abilities.mana.ColorlessManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone; import mage.constants.Zone;
import mage.counters.CounterType; import mage.counters.CounterType;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
@ -81,7 +81,7 @@ public class HellionCrucible extends CardImpl {
return new HellionCrucible(this); return new HellionCrucible(this);
} }
class HellionToken extends Token { static class HellionToken extends Token {
public HellionToken() { public HellionToken() {
super("Hellion", "4/4 red Hellion creature token with haste"); super("Hellion", "4/4 red Hellion creature token with haste");
cardType.add(CardType.CREATURE); cardType.add(CardType.CREATURE);

View file

@ -27,13 +27,13 @@
*/ */
package mage.cards.h; package mage.cards.h;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
@ -92,7 +92,7 @@ class HellionEruptionEffect extends OneShotEffect {
return true; return true;
} }
class HellionToken extends Token { static class HellionToken extends Token {
HellionToken() { HellionToken() {
super("Hellion", "4/4 red Hellion creature token"); super("Hellion", "4/4 red Hellion creature token");

View file

@ -65,7 +65,7 @@ public class HungryFlames extends CardImpl {
return new HungryFlames(this); return new HungryFlames(this);
} }
private class HungryFlamesEffect extends OneShotEffect { private static class HungryFlamesEffect extends OneShotEffect {
HungryFlamesEffect() { HungryFlamesEffect() {
super(Outcome.Damage); super(Outcome.Damage);
this.staticText = "{this} deals 3 damage to target creature and 2 damage to target player"; this.staticText = "{this} deals 3 damage to target creature and 2 damage to target player";

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -46,6 +45,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -77,7 +78,7 @@ public class InnerFlameIgniter extends CardImpl {
class InnerFlameIgniterEffect extends OneShotEffect { class InnerFlameIgniterEffect extends OneShotEffect {
class ActivationInfo { static class ActivationInfo {
public int zoneChangeCounter; public int zoneChangeCounter;
public int turn; public int turn;
public int activations; public int activations;

View file

@ -27,9 +27,6 @@
*/ */
package mage.cards.i; package mage.cards.i;
import java.util.UUID;
import mage.constants.*;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility; import mage.abilities.common.DealsCombatDamageToAPlayerTriggeredAbility;
@ -41,10 +38,16 @@ import mage.abilities.mana.BlueManaAbility;
import mage.abilities.mana.RedManaAbility; import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -73,7 +76,7 @@ public class IzzetKeyrune extends CardImpl {
return new IzzetKeyrune(this); return new IzzetKeyrune(this);
} }
private class IzzetKeyruneEffect extends OneShotEffect { private static class IzzetKeyruneEffect extends OneShotEffect {
public IzzetKeyruneEffect() { public IzzetKeyruneEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);
@ -102,7 +105,7 @@ public class IzzetKeyrune extends CardImpl {
} }
} }
private class IzzetKeyruneToken extends Token { private static class IzzetKeyruneToken extends Token {
IzzetKeyruneToken() { IzzetKeyruneToken() {
super("", "2/1 blue and red Elemental artifact creature"); super("", "2/1 blue and red Elemental artifact creature");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.j; package mage.cards.j;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.condition.common.IsPhaseCondition; import mage.abilities.condition.common.IsPhaseCondition;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -41,6 +40,8 @@ import mage.constants.TurnPhase;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author anonymous * @author anonymous
@ -64,7 +65,7 @@ public class JadeStatue extends CardImpl {
return new JadeStatue(this); return new JadeStatue(this);
} }
private class JadeStatueToken extends Token { private static class JadeStatueToken extends Token {
JadeStatueToken() { JadeStatueToken() {
super("", "3/6 Golem artifact creature"); super("", "3/6 Golem artifact creature");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,8 +27,6 @@
*/ */
package mage.cards.j; package mage.cards.j;
import java.util.ArrayList;
import java.util.UUID;
import mage.MageObject; import mage.MageObject;
import mage.abilities.ActivatedAbilityImpl; import mage.abilities.ActivatedAbilityImpl;
import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.SacrificeSourceCost;
@ -48,6 +46,9 @@ import mage.filter.predicate.mageobject.SubtypePredicate;
import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetCardInLibrary;
import java.util.ArrayList;
import java.util.UUID;
/** /**
* *
* @author Styxo * @author Styxo
@ -74,7 +75,7 @@ public class JediEnclave extends CardImpl {
return new JediEnclave(this); return new JediEnclave(this);
} }
public class JediEnclaveAbility extends ActivatedAbilityImpl { public static class JediEnclaveAbility extends ActivatedAbilityImpl {
public JediEnclaveAbility(JediEnclaveAbility ability) { public JediEnclaveAbility(JediEnclaveAbility ability) {
super(ability); super(ability);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.j; package mage.cards.j;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -48,6 +47,8 @@ import mage.game.permanent.Permanent;
import mage.target.common.TargetControlledCreaturePermanent; import mage.target.common.TargetControlledCreaturePermanent;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/** /**
* @author LevelX * @author LevelX
*/ */
@ -74,7 +75,7 @@ public class JunkyoBell extends CardImpl {
return new JunkyoBell(this); return new JunkyoBell(this);
} }
private class JunkyoBellSacrificeEffect extends OneShotEffect { private static class JunkyoBellSacrificeEffect extends OneShotEffect {
public JunkyoBellSacrificeEffect() { public JunkyoBellSacrificeEffect() {
super(Outcome.Sacrifice); super(Outcome.Sacrifice);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.k; package mage.cards.k;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -45,6 +44,8 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -101,7 +102,7 @@ class KalitasDestroyEffect extends OneShotEffect {
return true; return true;
} }
class VampireToken extends Token { static class VampireToken extends Token {
public VampireToken(int tokenPower, int tokenToughness) { public VampireToken(int tokenPower, int tokenToughness) {
super("Vampire", new StringBuilder(tokenPower).append('/').append(tokenToughness).append(" black Vampire creature token").toString()); super("Vampire", new StringBuilder(tokenPower).append('/').append(tokenToughness).append(" black Vampire creature token").toString());
cardType.add(CardType.CREATURE); cardType.add(CardType.CREATURE);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.k; package mage.cards.k;
import java.util.UUID;
import mage.Mana; import mage.Mana;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -46,6 +45,8 @@ import mage.counters.CounterType;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -91,7 +92,7 @@ public class KyrenToy extends CardImpl {
} }
} }
private class KyrenToyManaEffect extends ManaEffect { private static class KyrenToyManaEffect extends ManaEffect {
KyrenToyManaEffect() { KyrenToyManaEffect() {
super(); super();

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.l; package mage.cards.l;
import java.util.UUID;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
@ -39,6 +38,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -62,7 +63,7 @@ public class LightningDart extends CardImpl {
return new LightningDart(this); return new LightningDart(this);
} }
class LightningDartEffect extends OneShotEffect { static class LightningDartEffect extends OneShotEffect {
public LightningDartEffect() { public LightningDartEffect() {
super(Outcome.Damage); super(Outcome.Damage);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.l; package mage.cards.l;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.costs.Cost; import mage.abilities.costs.Cost;
import mage.abilities.costs.VariableCostImpl; import mage.abilities.costs.VariableCostImpl;
@ -44,6 +43,8 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Dilnu * @author Dilnu
@ -107,7 +108,7 @@ public class LiquidFire extends CardImpl {
} }
} }
class LiquidFireCost extends VariableCostImpl { static class LiquidFireCost extends VariableCostImpl {
public LiquidFireCost() { public LiquidFireCost() {
super("Choose a Number"); super("Choose a Number");
this.text = "As an additional cost to cast {source}, choose a number between 0 and 5"; this.text = "As an additional cost to cast {source}, choose a number between 0 and 5";

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.l; package mage.cards.l;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.common.SacrificeSourceCost; import mage.abilities.costs.common.SacrificeSourceCost;
@ -43,6 +42,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -68,7 +69,7 @@ public class LivingArmor extends CardImpl {
return new LivingArmor(this); return new LivingArmor(this);
} }
class LivingArmorEffect extends OneShotEffect { static class LivingArmorEffect extends OneShotEffect {
public LivingArmorEffect() { public LivingArmorEffect() {
super(Outcome.BoostCreature); super(Outcome.BoostCreature);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.m; package mage.cards.m;
import java.util.UUID;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.Mode; import mage.abilities.Mode;
@ -51,6 +50,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
@ -122,7 +123,7 @@ class MagneticMountainEffect extends DoIfCostPaid {
return true; return true;
} }
class MagneticMountainPredicate implements ObjectPlayerPredicate<ObjectPlayer<Permanent>> { static class MagneticMountainPredicate implements ObjectPlayerPredicate<ObjectPlayer<Permanent>> {
@Override @Override
public boolean apply(ObjectPlayer<Permanent> input, Game game) { public boolean apply(ObjectPlayer<Permanent> input, Game game) {
return input.getObject().isTapped(); return input.getObject().isTapped();

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.m; package mage.cards.m;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -36,19 +35,15 @@ import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.cards.repository.CardRepository; import mage.cards.repository.CardRepository;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.DependencyType;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.filter.common.FilterLandPermanent; import mage.filter.common.FilterLandPermanent;
import mage.filter.predicate.Predicates; import mage.filter.predicate.Predicates;
import mage.filter.predicate.mageobject.SupertypePredicate; import mage.filter.predicate.mageobject.SupertypePredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -82,7 +77,7 @@ public class MagusOfTheMoon extends CardImpl {
return new MagusOfTheMoon(this); return new MagusOfTheMoon(this);
} }
class MagusOfTheMoonEffect extends ContinuousEffectImpl { static class MagusOfTheMoonEffect extends ContinuousEffectImpl {
MagusOfTheMoonEffect() { MagusOfTheMoonEffect() {
super(Duration.WhileOnBattlefield, Outcome.Detriment); super(Duration.WhileOnBattlefield, Outcome.Detriment);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.m; package mage.cards.m;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
@ -38,6 +37,8 @@ import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -60,7 +61,7 @@ public class MinionsMurmurs extends CardImpl {
return new MinionsMurmurs(this); return new MinionsMurmurs(this);
} }
class MinionsMurmursEffect extends OneShotEffect { static class MinionsMurmursEffect extends OneShotEffect {
public MinionsMurmursEffect() { public MinionsMurmursEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.m; package mage.cards.m;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
@ -42,6 +41,8 @@ import mage.game.permanent.token.Token;
import mage.players.Player; import mage.players.Player;
import mage.util.RandomUtil; import mage.util.RandomUtil;
import java.util.UUID;
/** /**
* *
* @author jeffwadsworth * @author jeffwadsworth
@ -99,7 +100,7 @@ class MoltenBirthEffect extends OneShotEffect {
return false; return false;
} }
class ElementalToken extends Token { static class ElementalToken extends Token {
public ElementalToken() { public ElementalToken() {
super("Elemental", "1/1 red Elemental creature"); super("Elemental", "1/1 red Elemental creature");

View file

@ -27,12 +27,6 @@
*/ */
package mage.cards.n; package mage.cards.n;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.ActivatedAbility; import mage.abilities.ActivatedAbility;
@ -43,16 +37,16 @@ import mage.abilities.effects.Effect;
import mage.cards.Card; import mage.cards.Card;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.cards.y.YixlidJailer;
import mage.constants.Duration; import mage.constants.*;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.cards.y.YixlidJailer;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* *
@ -80,7 +74,7 @@ public class NecroticOoze extends CardImpl {
return new NecroticOoze(this); return new NecroticOoze(this);
} }
class NecroticOozeEffect extends ContinuousEffectImpl { static class NecroticOozeEffect extends ContinuousEffectImpl {
public NecroticOozeEffect() { public NecroticOozeEffect() {
super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility); super(Duration.WhileOnBattlefield, Layer.AbilityAddingRemovingEffects_6, SubLayer.NA, Outcome.AddAbility);

View file

@ -27,8 +27,6 @@
*/ */
package mage.cards.n; package mage.cards.n;
import java.util.Objects;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -36,11 +34,7 @@ import mage.abilities.costs.Cost;
import mage.abilities.costs.common.RemoveVariableCountersSourceCost; import mage.abilities.costs.common.RemoveVariableCountersSourceCost;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.Card; import mage.cards.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.cards.Cards;
import mage.cards.CardsImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.Zone; import mage.constants.Zone;
@ -54,6 +48,9 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCardInLibrary; import mage.target.common.TargetCardInLibrary;
import java.util.Objects;
import java.util.UUID;
/** /**
* *
* @author Loki * @author Loki
@ -122,7 +119,7 @@ public class NightDealings extends CardImpl {
} }
} }
private class NightDealingsEffect extends OneShotEffect { private static class NightDealingsEffect extends OneShotEffect {
public NightDealingsEffect() { public NightDealingsEffect() {
super(Outcome.Damage); super(Outcome.Damage);
@ -152,7 +149,7 @@ public class NightDealings extends CardImpl {
} }
} }
private class NightDealingsSearchEffect extends OneShotEffect { private static class NightDealingsSearchEffect extends OneShotEffect {
public NightDealingsSearchEffect() { public NightDealingsSearchEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.n; package mage.cards.n;
import java.util.UUID;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.effects.Effect; import mage.abilities.effects.Effect;
import mage.abilities.effects.common.DestroyTargetEffect; import mage.abilities.effects.common.DestroyTargetEffect;
@ -41,6 +40,8 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -63,7 +64,7 @@ public class NoMercy extends CardImpl {
return new NoMercy(this); return new NoMercy(this);
} }
public class NoMercyTriggeredAbility extends TriggeredAbilityImpl { public static class NoMercyTriggeredAbility extends TriggeredAbilityImpl {
public NoMercyTriggeredAbility() { public NoMercyTriggeredAbility() {
super(Zone.BATTLEFIELD, new DestroyTargetEffect()); super(Zone.BATTLEFIELD, new DestroyTargetEffect());

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.o; package mage.cards.o;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -42,6 +41,8 @@ import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -69,7 +70,7 @@ public class OjutaiMonument extends CardImpl {
return new OjutaiMonument(this); return new OjutaiMonument(this);
} }
private class OjutaiMonumentToken extends Token { private static class OjutaiMonumentToken extends Token {
OjutaiMonumentToken() { OjutaiMonumentToken() {
super("", "4/4 white and blue Dragon artifact creature with flying"); super("", "4/4 white and blue Dragon artifact creature with flying");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.o; package mage.cards.o;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ReplacementEffectImpl;
@ -42,6 +41,8 @@ import mage.game.events.EntersTheBattlefieldEvent;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -64,7 +65,7 @@ public class OrbOfDreams extends CardImpl {
return new OrbOfDreams(this); return new OrbOfDreams(this);
} }
private class OrbOfDreamsEffect extends ReplacementEffectImpl { private static class OrbOfDreamsEffect extends ReplacementEffectImpl {
OrbOfDreamsEffect() { OrbOfDreamsEffect() {
super(Duration.WhileOnBattlefield, Outcome.Tap, false); super(Duration.WhileOnBattlefield, Outcome.Tap, false);

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.o; package mage.cards.o;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -40,8 +36,13 @@ import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.WhiteManaAbility; import mage.abilities.mana.WhiteManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -68,7 +69,7 @@ public class OrzhovKeyrune extends CardImpl {
return new OrzhovKeyrune(this); return new OrzhovKeyrune(this);
} }
private class OrzhovKeyruneToken extends Token { private static class OrzhovKeyruneToken extends Token {
OrzhovKeyruneToken() { OrzhovKeyruneToken() {
super("Thrull", "1/4 white and black Thrull artifact creature with lifelink"); super("Thrull", "1/4 white and black Thrull artifact creature with lifelink");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,25 +27,25 @@
*/ */
package mage.cards.o; package mage.cards.o;
import mage.abilities.Ability;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.filter.Filter;
import mage.filter.FilterSpell;
import mage.game.Game;
import mage.game.stack.Spell;
import mage.game.stack.StackObject;
import mage.players.Player;
import mage.target.Target;
import mage.target.TargetObject;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.UUID; import java.util.UUID;
import mage.constants.CardType;
import mage.abilities.Ability;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.constants.Zone;
import mage.game.Game;
import mage.game.stack.StackObject;
import mage.abilities.effects.common.CounterTargetEffect;
import mage.filter.Filter;
import mage.filter.FilterSpell;
import mage.players.Player;
import mage.game.stack.Spell;
import mage.target.TargetObject;
import mage.target.Target;
/** /**
@ -74,7 +74,7 @@ public class Outwit extends CardImpl {
return new Outwit(this); return new Outwit(this);
} }
private class CustomTargetSpell extends TargetObject { private static class CustomTargetSpell extends TargetObject {
protected FilterSpell filter; protected FilterSpell filter;

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -41,15 +40,12 @@ import mage.abilities.keyword.FlyingAbility;
import mage.abilities.keyword.LifelinkAbility; import mage.abilities.keyword.LifelinkAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author jeffwadsworth * @author jeffwadsworth
@ -91,7 +87,7 @@ public class ParagonOfTheAmesha extends CardImpl {
return new ParagonOfTheAmesha(this); return new ParagonOfTheAmesha(this);
} }
private class ParagonOfTheAmeshaEffect extends ContinuousEffectImpl { private static class ParagonOfTheAmeshaEffect extends ContinuousEffectImpl {
public ParagonOfTheAmeshaEffect() { public ParagonOfTheAmeshaEffect() {
super(Duration.EndOfTurn, Outcome.BecomeCreature); super(Duration.EndOfTurn, Outcome.BecomeCreature);

View file

@ -27,18 +27,17 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.constants.CardType;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.effects.ReplacementEffectImpl; import mage.abilities.effects.ReplacementEffectImpl;
import mage.abilities.effects.common.AttachEffect; import mage.abilities.effects.common.AttachEffect;
import mage.abilities.keyword.EnchantAbility; import mage.abilities.keyword.EnchantAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.events.DamagePlayerEvent; import mage.game.events.DamagePlayerEvent;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
@ -46,6 +45,8 @@ import mage.game.permanent.Permanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author Backfir3 * @author Backfir3
@ -75,7 +76,7 @@ public class Pariah extends CardImpl {
return new Pariah(this); return new Pariah(this);
} }
class PariahEffect extends ReplacementEffectImpl { static class PariahEffect extends ReplacementEffectImpl {
PariahEffect() { PariahEffect() {
super(Duration.WhileOnBattlefield, Outcome.RedirectDamage); super(Duration.WhileOnBattlefield, Outcome.RedirectDamage);
staticText = "All damage that would be dealt to you is dealt to enchanted creature instead"; staticText = "All damage that would be dealt to you is dealt to enchanted creature instead";

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -43,12 +39,16 @@ import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.AttachmentType; import mage.constants.AttachmentType;
import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.target.TargetPermanent; import mage.target.TargetPermanent;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -82,7 +82,7 @@ public class PhantomWings extends CardImpl {
return new PhantomWings(this); return new PhantomWings(this);
} }
private class PhantomWingsReturnEffect extends OneShotEffect { private static class PhantomWingsReturnEffect extends OneShotEffect {
public PhantomWingsReturnEffect() { public PhantomWingsReturnEffect() {
super(Outcome.ReturnToHand); super(Outcome.ReturnToHand);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.StateTriggeredAbility; import mage.abilities.StateTriggeredAbility;
@ -49,6 +48,8 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetControlledPermanent; import mage.target.common.TargetControlledPermanent;
import java.util.UUID;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
@ -81,7 +82,7 @@ public class PhylacteryLich extends CardImpl {
return new PhylacteryLich(this); return new PhylacteryLich(this);
} }
class PhylacteryLichAbility extends StateTriggeredAbility { static class PhylacteryLichAbility extends StateTriggeredAbility {
public PhylacteryLichAbility() { public PhylacteryLichAbility() {
super(Zone.BATTLEFIELD, new SacrificeSourceEffect()); super(Zone.BATTLEFIELD, new SacrificeSourceEffect());

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -49,6 +48,8 @@ import mage.game.permanent.Permanent;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import mage.target.targetpointer.FixedTarget; import mage.target.targetpointer.FixedTarget;
import java.util.UUID;
/** /**
* *
* @author FenrisulfrX * @author FenrisulfrX
@ -76,7 +77,7 @@ public class PhyrexianTotem extends CardImpl {
return new PhyrexianTotem(this); return new PhyrexianTotem(this);
} }
private class PhyrexianTotemToken extends Token { private static class PhyrexianTotemToken extends Token {
PhyrexianTotemToken() { PhyrexianTotemToken() {
super("Horror", "5/5 black Horror artifact creature with trample"); super("Horror", "5/5 black Horror artifact creature with trample");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -39,10 +35,14 @@ import mage.abilities.effects.common.DestroyAllEffect;
import mage.abilities.effects.common.SacrificeSourceEffect; import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController; import mage.constants.TargetController;
import mage.constants.Zone;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.game.Game; import mage.game.Game;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -70,7 +70,7 @@ public class PlanarCollapse extends CardImpl {
return new PlanarCollapse(this); return new PlanarCollapse(this);
} }
class PlanarCollapseCondition implements mage.abilities.condition.Condition { static class PlanarCollapseCondition implements mage.abilities.condition.Condition {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {

View file

@ -28,11 +28,6 @@
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -40,10 +35,16 @@ import mage.abilities.effects.ContinuousRuleModifyingEffectImpl;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Outcome;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType; import mage.game.events.GameEvent.EventType;
import java.util.UUID;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
@ -69,7 +70,7 @@ public class PlatinumAngel extends CardImpl {
return new PlatinumAngel(this); return new PlatinumAngel(this);
} }
class PlatinumAngelEffect extends ContinuousRuleModifyingEffectImpl { static class PlatinumAngelEffect extends ContinuousRuleModifyingEffectImpl {
public PlatinumAngelEffect() { public PlatinumAngelEffect() {
super(Duration.WhileOnBattlefield, Outcome.Benefit, false, false); super(Duration.WhileOnBattlefield, Outcome.Benefit, false, false);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -42,10 +41,12 @@ import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.AbilityPredicate; import mage.filter.predicate.mageobject.AbilityPredicate;
import mage.filter.predicate.permanent.AnotherPredicate; import mage.filter.predicate.permanent.AnotherPredicate;
import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* *
* @author fireshoes * @author fireshoes
@ -86,7 +87,7 @@ public class PrideOfTheClouds extends CardImpl {
return new PrideOfTheClouds(this); return new PrideOfTheClouds(this);
} }
private class BirdToken extends Token { private static class BirdToken extends Token {
public BirdToken() { public BirdToken() {
super("Bird", "1/1 white and blue Bird creature token with flying"); super("Bird", "1/1 white and blue Bird creature token with flying");

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -50,6 +49,8 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author Loki * @author Loki
@ -76,7 +77,7 @@ public class PrimalClay extends CardImpl {
return new PrimalClay(this); return new PrimalClay(this);
} }
class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { static class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl {
private static final String choice33 = "a 3/3 artifact creature"; private static final String choice33 = "a 3/3 artifact creature";
private static final String choice22 = "a 2/2 artifact creature with flying"; private static final String choice22 = "a 2/2 artifact creature with flying";

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -50,6 +49,8 @@ import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -77,7 +78,7 @@ public class PrimalPlasma extends CardImpl {
return new PrimalPlasma(this); return new PrimalPlasma(this);
} }
class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl { static class PrimalPlasmaReplacementEffect extends ReplacementEffectImpl {
private static final String choice33 = "a 3/3 creature"; private static final String choice33 = "a 3/3 creature";
private static final String choice22 = "a 2/2 creature with flying"; private static final String choice22 = "a 2/2 creature with flying";

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.p; package mage.cards.p;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.DelayedTriggeredAbility; import mage.abilities.DelayedTriggeredAbility;
@ -49,6 +48,8 @@ import mage.game.events.GameEvent;
import mage.game.events.GameEvent.EventType; import mage.game.events.GameEvent.EventType;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
@ -82,7 +83,7 @@ public class ProteanHydra extends CardImpl {
return new ProteanHydra(this); return new ProteanHydra(this);
} }
class ProteanHydraEffect2 extends PreventionEffectImpl { static class ProteanHydraEffect2 extends PreventionEffectImpl {
public ProteanHydraEffect2() { public ProteanHydraEffect2() {
super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false); super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false);
@ -161,7 +162,7 @@ public class ProteanHydra extends CardImpl {
} }
class ProteanHydraDelayedTriggeredAbility extends DelayedTriggeredAbility { static class ProteanHydraDelayedTriggeredAbility extends DelayedTriggeredAbility {
public ProteanHydraDelayedTriggeredAbility() { public ProteanHydraDelayedTriggeredAbility() {
super(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2))); super(new AddCountersSourceEffect(CounterType.P1P1.createInstance(2)));

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.q; package mage.cards.q;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -53,6 +52,8 @@ import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -107,7 +108,7 @@ public class QuillmaneBaku extends CardImpl {
return new QuillmaneBaku(this); return new QuillmaneBaku(this);
} }
class QuillmaneBakuReturnEffect extends OneShotEffect { static class QuillmaneBakuReturnEffect extends OneShotEffect {
public QuillmaneBakuReturnEffect() { public QuillmaneBakuReturnEffect() {
super(Outcome.ReturnToHand); super(Outcome.ReturnToHand);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility; import mage.abilities.common.delayed.AtTheBeginOfNextEndStepDelayedTriggeredAbility;
import mage.abilities.effects.ContinuousEffectImpl; import mage.abilities.effects.ContinuousEffectImpl;
@ -35,17 +34,15 @@ import mage.abilities.effects.OneShotEffect;
import mage.abilities.mana.AnyColorManaAbility; import mage.abilities.mana.AnyColorManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType; import mage.constants.*;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import mage.target.Target; import mage.target.Target;
import mage.target.common.TargetOpponent; import mage.target.common.TargetOpponent;
import java.util.UUID;
/** /**
* *
* @author andyfries * @author andyfries
@ -70,7 +67,7 @@ public class RainbowVale extends CardImpl {
return new RainbowVale(this); return new RainbowVale(this);
} }
class RainbowValeEffect extends OneShotEffect { static class RainbowValeEffect extends OneShotEffect {
public RainbowValeEffect() { public RainbowValeEffect() {
super(Outcome.PutManaInPool); super(Outcome.PutManaInPool);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.Mode; import mage.abilities.Mode;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
@ -45,6 +44,8 @@ import mage.players.Player;
import mage.target.TargetPlayer; import mage.target.TargetPlayer;
import mage.target.common.TargetArtifactPermanent; import mage.target.common.TargetArtifactPermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -79,7 +80,7 @@ public class RakdosCharm extends CardImpl {
return new RakdosCharm(this); return new RakdosCharm(this);
} }
private class RakdosCharmDamageEffect extends OneShotEffect { private static class RakdosCharmDamageEffect extends OneShotEffect {
public RakdosCharmDamageEffect() { public RakdosCharmDamageEffect() {
super(Outcome.Detriment); super(Outcome.Detriment);

View file

@ -27,9 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.constants.CardType;
import mage.MageInt; import mage.MageInt;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
import mage.abilities.costs.mana.ManaCostsImpl; import mage.abilities.costs.mana.ManaCostsImpl;
@ -39,10 +36,13 @@ import mage.abilities.mana.BlackManaAbility;
import mage.abilities.mana.RedManaAbility; import mage.abilities.mana.RedManaAbility;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.Duration; import mage.constants.Duration;
import mage.constants.Zone; import mage.constants.Zone;
import mage.game.permanent.token.Token; import mage.game.permanent.token.Token;
import java.util.UUID;
/** /**
* @author LevelX2 * @author LevelX2
*/ */
@ -68,7 +68,7 @@ public class RakdosKeyrune extends CardImpl {
return new RakdosKeyrune(this); return new RakdosKeyrune(this);
} }
private class RakdosKeyruneToken extends Token { private static class RakdosKeyruneToken extends Token {
RakdosKeyruneToken() { RakdosKeyruneToken() {
super("", "3/1 black and red Devil artifact creature with first strike"); super("", "3/1 black and red Devil artifact creature with first strike");
cardType.add(CardType.ARTIFACT); cardType.add(CardType.ARTIFACT);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldTriggeredAbility; import mage.abilities.common.EntersBattlefieldTriggeredAbility;
@ -36,11 +35,7 @@ import mage.abilities.effects.OneShotEffect;
import mage.abilities.effects.common.LookLibraryAndPickControllerEffect; import mage.abilities.effects.common.LookLibraryAndPickControllerEffect;
import mage.abilities.keyword.EchoAbility; import mage.abilities.keyword.EchoAbility;
import mage.abilities.keyword.FlyingAbility; import mage.abilities.keyword.FlyingAbility;
import mage.cards.Card; import mage.cards.*;
import mage.cards.CardImpl;
import mage.cards.CardSetInfo;
import mage.cards.Cards;
import mage.cards.CardsImpl;
import mage.constants.CardType; import mage.constants.CardType;
import mage.constants.Outcome; import mage.constants.Outcome;
import mage.constants.Zone; import mage.constants.Zone;
@ -49,6 +44,8 @@ import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import mage.target.TargetCard; import mage.target.TargetCard;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -82,7 +79,7 @@ public class RavenFamiliar extends CardImpl {
} }
class RavenFamiliarEffect extends OneShotEffect { static class RavenFamiliarEffect extends OneShotEffect {
public RavenFamiliarEffect() { public RavenFamiliarEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);

View file

@ -28,13 +28,6 @@
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Duration;
import mage.constants.Layer;
import mage.constants.Outcome;
import mage.constants.SubLayer;
import mage.constants.Zone;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -42,11 +35,14 @@ import mage.abilities.effects.ContinuousEffectImpl;
import mage.abilities.effects.common.InfoEffect; import mage.abilities.effects.common.InfoEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.*;
import mage.filter.common.FilterCreaturePermanent; import mage.filter.common.FilterCreaturePermanent;
import mage.filter.predicate.mageobject.NamePredicate; import mage.filter.predicate.mageobject.NamePredicate;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author BetaSteward_at_googlemail.com * @author BetaSteward_at_googlemail.com
@ -82,7 +78,7 @@ public class RelentlessRats extends CardImpl {
return new RelentlessRats(this); return new RelentlessRats(this);
} }
class RelentlessRatsEffect extends ContinuousEffectImpl { static class RelentlessRatsEffect extends ContinuousEffectImpl {
public RelentlessRatsEffect() { public RelentlessRatsEffect() {
super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature); super(Duration.WhileOnBattlefield, Layer.PTChangingEffects_7, SubLayer.ModifyPT_7c, Outcome.BoostCreature);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.EntersBattlefieldAbility; import mage.abilities.common.EntersBattlefieldAbility;
@ -51,6 +50,8 @@ import mage.game.Game;
import mage.game.events.GameEvent; import mage.game.events.GameEvent;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.UUID;
/** /**
* *
* @author anonymous * @author anonymous
@ -83,7 +84,7 @@ public class RockHydra extends CardImpl {
return new RockHydra(this); return new RockHydra(this);
} }
class RockHydraEffect extends PreventionEffectImpl { static class RockHydraEffect extends PreventionEffectImpl {
public RockHydraEffect() { public RockHydraEffect() {
super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false); super(Duration.WhileOnBattlefield, Integer.MAX_VALUE, false, false);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbilityImpl; import mage.abilities.TriggeredAbilityImpl;
import mage.abilities.common.SimpleStaticAbility; import mage.abilities.common.SimpleStaticAbility;
@ -47,6 +46,8 @@ import mage.game.permanent.Permanent;
import mage.target.Target; import mage.target.Target;
import mage.target.common.TargetCreaturePermanent; import mage.target.common.TargetCreaturePermanent;
import java.util.UUID;
/** /**
* *
* @author LevelX2 * @author LevelX2
@ -120,7 +121,7 @@ public class RoninWarclub extends CardImpl {
} }
} }
private class RoninWarclubAttachEffect extends OneShotEffect { private static class RoninWarclubAttachEffect extends OneShotEffect {
public RoninWarclubAttachEffect() { public RoninWarclubAttachEffect() {
super(Outcome.BoostCreature); super(Outcome.BoostCreature);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.SimpleActivatedAbility; import mage.abilities.common.SimpleActivatedAbility;
@ -47,6 +46,8 @@ import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -75,7 +76,7 @@ public class RootGreevil extends CardImpl {
return new RootGreevil(this); return new RootGreevil(this);
} }
class RootGreevilEffect extends OneShotEffect { static class RootGreevilEffect extends OneShotEffect {
public RootGreevilEffect() { public RootGreevilEffect() {
super(Outcome.DestroyPermanent); super(Outcome.DestroyPermanent);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.common.DiesTriggeredAbility; import mage.abilities.common.DiesTriggeredAbility;
@ -44,6 +43,8 @@ import mage.filter.common.FilterCreatureCard;
import mage.game.Game; import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -69,7 +70,7 @@ public class RootingKavu extends CardImpl {
return new RootingKavu(this); return new RootingKavu(this);
} }
class RootingKavuEffect extends OneShotEffect { static class RootingKavuEffect extends OneShotEffect {
public RootingKavuEffect() { public RootingKavuEffect() {
super(Outcome.Benefit); super(Outcome.Benefit);

View file

@ -27,7 +27,6 @@
*/ */
package mage.cards.r; package mage.cards.r;
import java.util.UUID;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.effects.OneShotEffect; import mage.abilities.effects.OneShotEffect;
import mage.cards.Card; import mage.cards.Card;
@ -40,6 +39,8 @@ import mage.game.Game;
import mage.players.Player; import mage.players.Player;
import mage.target.common.TargetCardInHand; import mage.target.common.TargetCardInHand;
import java.util.UUID;
/** /**
* *
* @author Styxo * @author Styxo
@ -62,7 +63,7 @@ public class Rumination extends CardImpl {
return new Rumination(this); return new Rumination(this);
} }
class RuminationEffect extends OneShotEffect { static class RuminationEffect extends OneShotEffect {
public RuminationEffect() { public RuminationEffect() {
super(Outcome.DrawCard); super(Outcome.DrawCard);

View file

@ -27,8 +27,6 @@
*/ */
package mage.cards.s; package mage.cards.s;
import java.util.Objects;
import java.util.UUID;
import mage.MageInt; import mage.MageInt;
import mage.ObjectColor; import mage.ObjectColor;
import mage.abilities.Ability; import mage.abilities.Ability;
@ -43,6 +41,9 @@ import mage.filter.common.FilterAttackingCreature;
import mage.game.Game; import mage.game.Game;
import mage.game.permanent.Permanent; import mage.game.permanent.Permanent;
import java.util.Objects;
import java.util.UUID;
/** /**
* *
* @author Derpthemeus * @author Derpthemeus
@ -68,7 +69,7 @@ public class ScarredPuma extends CardImpl {
return new ScarredPuma(this); return new ScarredPuma(this);
} }
class ScarredPumaEffect extends RestrictionEffect { static class ScarredPumaEffect extends RestrictionEffect {
private final FilterAttackingCreature filter = new FilterAttackingCreature(); private final FilterAttackingCreature filter = new FilterAttackingCreature();

View file

@ -27,10 +27,6 @@
*/ */
package mage.cards.s; package mage.cards.s;
import java.util.UUID;
import mage.constants.CardType;
import mage.constants.Zone;
import mage.abilities.Ability; import mage.abilities.Ability;
import mage.abilities.TriggeredAbility; import mage.abilities.TriggeredAbility;
import mage.abilities.common.BeginningOfUpkeepTriggeredAbility; import mage.abilities.common.BeginningOfUpkeepTriggeredAbility;
@ -40,9 +36,13 @@ import mage.abilities.effects.common.SacrificeSourceEffect;
import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect; import mage.abilities.effects.common.turn.AddExtraTurnControllerEffect;
import mage.cards.CardImpl; import mage.cards.CardImpl;
import mage.cards.CardSetInfo; import mage.cards.CardSetInfo;
import mage.constants.CardType;
import mage.constants.TargetController; import mage.constants.TargetController;
import mage.constants.Zone;
import mage.game.Game; import mage.game.Game;
import java.util.UUID;
/** /**
* *
* @author Plopman * @author Plopman
@ -69,7 +69,7 @@ public class SecondChance extends CardImpl {
return new SecondChance(this); return new SecondChance(this);
} }
class FiveOrLessLifeCondition implements Condition { static class FiveOrLessLifeCondition implements Condition {
@Override @Override
public boolean apply(Game game, Ability source) { public boolean apply(Game game, Ability source) {

Some files were not shown because too many files have changed in this diff Show more