mirror of
https://github.com/magefree/mage.git
synced 2025-12-22 11:32:00 -08:00
Merge branch 'master' of https://github.com/magefree/mage
This commit is contained in:
commit
207cb04dbc
6 changed files with 59 additions and 20 deletions
|
|
@ -81,7 +81,7 @@ public class PlayAreaPanel extends javax.swing.JPanel {
|
||||||
private JCheckBoxMenuItem allowViewHandCardsMenuItem;
|
private JCheckBoxMenuItem allowViewHandCardsMenuItem;
|
||||||
private JCheckBoxMenuItem holdPriorityMenuItem;
|
private JCheckBoxMenuItem holdPriorityMenuItem;
|
||||||
|
|
||||||
public static final int PANEL_HEIGHT = 242;
|
public static final int PANEL_HEIGHT = 263;
|
||||||
public static final int PANEL_HEIGHT_SMALL = 190;
|
public static final int PANEL_HEIGHT_SMALL = 190;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -106,8 +106,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
private static final String DEFAULT_AVATAR_PATH = "/avatars/" + DEFAULT_AVATAR_ID + ".jpg";
|
private static final String DEFAULT_AVATAR_PATH = "/avatars/" + DEFAULT_AVATAR_ID + ".jpg";
|
||||||
|
|
||||||
private static final int PANEL_WIDTH = 94;
|
private static final int PANEL_WIDTH = 94;
|
||||||
private static final int PANEL_HEIGHT = 242;
|
private static final int PANEL_HEIGHT = 262;
|
||||||
private static final int PANEL_HEIGHT_SMALL = 212;
|
private static final int PANEL_HEIGHT_SMALL = 232;
|
||||||
private static final int MANA_LABEL_SIZE_HORIZONTAL = 20;
|
private static final int MANA_LABEL_SIZE_HORIZONTAL = 20;
|
||||||
|
|
||||||
private static final Border GREEN_BORDER = new LineBorder(Color.green, 3);
|
private static final Border GREEN_BORDER = new LineBorder(Color.green, 3);
|
||||||
|
|
@ -193,6 +193,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
}
|
}
|
||||||
lifeLabel.setText(Integer.toString(playerLife));
|
lifeLabel.setText(Integer.toString(playerLife));
|
||||||
poisonLabel.setText(Integer.toString(player.getCounters().getCount(CounterType.POISON)));
|
poisonLabel.setText(Integer.toString(player.getCounters().getCount(CounterType.POISON)));
|
||||||
|
energyLabel.setText(Integer.toString(player.getCounters().getCount(CounterType.ENERGY)));
|
||||||
|
experienceLabel.setText(Integer.toString(player.getCounters().getCount(CounterType.EXPERIENCE)));
|
||||||
handLabel.setText(Integer.toString(player.getHandCount()));
|
handLabel.setText(Integer.toString(player.getHandCount()));
|
||||||
int libraryCards = player.getLibraryCount();
|
int libraryCards = player.getLibraryCount();
|
||||||
if (libraryCards > 99) {
|
if (libraryCards > 99) {
|
||||||
|
|
@ -380,6 +382,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
lifeLabel = new JLabel();
|
lifeLabel = new JLabel();
|
||||||
handLabel = new JLabel();
|
handLabel = new JLabel();
|
||||||
poisonLabel = new JLabel();
|
poisonLabel = new JLabel();
|
||||||
|
energyLabel = new JLabel();
|
||||||
|
experienceLabel = new JLabel();
|
||||||
graveLabel = new JLabel();
|
graveLabel = new JLabel();
|
||||||
libraryLabel = new JLabel();
|
libraryLabel = new JLabel();
|
||||||
setOpaque(false);
|
setOpaque(false);
|
||||||
|
|
@ -501,8 +505,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
});
|
});
|
||||||
|
|
||||||
zonesPanel = new JPanel();
|
zonesPanel = new JPanel();
|
||||||
zonesPanel.setPreferredSize(new Dimension(100, 20));
|
zonesPanel.setPreferredSize(new Dimension(100, 60));
|
||||||
zonesPanel.setSize(100, 20);
|
zonesPanel.setSize(100, 60);
|
||||||
zonesPanel.setLayout(null);
|
zonesPanel.setLayout(null);
|
||||||
zonesPanel.setOpaque(false);
|
zonesPanel.setOpaque(false);
|
||||||
|
|
||||||
|
|
@ -524,6 +528,40 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
cheat.setBounds(28, 0, 25, 21);
|
cheat.setBounds(28, 0, 25, 21);
|
||||||
zonesPanel.add(cheat);
|
zonesPanel.add(cheat);
|
||||||
|
|
||||||
|
energyExperiencePanel = new JPanel();
|
||||||
|
energyExperiencePanel.setPreferredSize(new Dimension(100, 20));
|
||||||
|
energyExperiencePanel.setSize(100, 20);
|
||||||
|
energyExperiencePanel.setLayout(null);
|
||||||
|
energyExperiencePanel.setOpaque(false);
|
||||||
|
|
||||||
|
// Energy count
|
||||||
|
energyLabel.setText("0");
|
||||||
|
r = new Rectangle(18, 18);
|
||||||
|
energyLabel.setToolTipText("Energy");
|
||||||
|
Image imageEnergy = ImageHelper.getImageFromResources("/info/energy.png");
|
||||||
|
BufferedImage resizedEnergy = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageEnergy, BufferedImage.TYPE_INT_ARGB), r);
|
||||||
|
energy = new ImagePanel(resizedEnergy, ImagePanel.ACTUAL);
|
||||||
|
energy.setToolTipText("Energy");
|
||||||
|
energy.setOpaque(false);
|
||||||
|
// Experience count
|
||||||
|
experienceLabel.setText("0");
|
||||||
|
r = new Rectangle(18, 18);
|
||||||
|
experienceLabel.setToolTipText("Experience");
|
||||||
|
Image imageExperience = ImageHelper.getImageFromResources("/info/experience.png");
|
||||||
|
BufferedImage resizedExperience = ImageHelper.getResizedImage(BufferedImageBuilder.bufferImage(imageExperience, BufferedImage.TYPE_INT_ARGB), r);
|
||||||
|
experience = new ImagePanel(resizedExperience, ImagePanel.ACTUAL);
|
||||||
|
experience.setToolTipText("Experience");
|
||||||
|
experience.setOpaque(false);
|
||||||
|
|
||||||
|
energy.setBounds(5, 22, 21, 21);
|
||||||
|
zonesPanel.add(energy);
|
||||||
|
energyLabel.setBounds(27, 22, 21, 21);
|
||||||
|
zonesPanel.add(energyLabel);
|
||||||
|
experience.setBounds(48, 22, 21, 21);
|
||||||
|
zonesPanel.add(experience);
|
||||||
|
experienceLabel.setBounds(69, 22, 21, 21);
|
||||||
|
zonesPanel.add(experienceLabel);
|
||||||
|
|
||||||
btnPlayer = new JButton();
|
btnPlayer = new JButton();
|
||||||
btnPlayer.setText("Player");
|
btnPlayer.setText("Player");
|
||||||
btnPlayer.setVisible(false);
|
btnPlayer.setVisible(false);
|
||||||
|
|
@ -895,6 +933,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
private JButton btnPlayer;
|
private JButton btnPlayer;
|
||||||
private ImagePanel life;
|
private ImagePanel life;
|
||||||
private ImagePanel poison;
|
private ImagePanel poison;
|
||||||
|
private ImagePanel energy;
|
||||||
|
private ImagePanel experience;
|
||||||
private ImagePanel hand;
|
private ImagePanel hand;
|
||||||
private HoverButton grave;
|
private HoverButton grave;
|
||||||
private HoverButton library;
|
private HoverButton library;
|
||||||
|
|
@ -906,6 +946,8 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
private JLabel handLabel;
|
private JLabel handLabel;
|
||||||
private JLabel libraryLabel;
|
private JLabel libraryLabel;
|
||||||
private JLabel poisonLabel;
|
private JLabel poisonLabel;
|
||||||
|
private JLabel energyLabel;
|
||||||
|
private JLabel experienceLabel;
|
||||||
private JLabel graveLabel;
|
private JLabel graveLabel;
|
||||||
private JLabel exileLabel;
|
private JLabel exileLabel;
|
||||||
private boolean changedFontLibrary;
|
private boolean changedFontLibrary;
|
||||||
|
|
@ -914,6 +956,7 @@ public class PlayerPanelExt extends javax.swing.JPanel {
|
||||||
private boolean changedFontExile;
|
private boolean changedFontExile;
|
||||||
|
|
||||||
private JPanel zonesPanel;
|
private JPanel zonesPanel;
|
||||||
|
private JPanel energyExperiencePanel;
|
||||||
private HoverButton exileZone;
|
private HoverButton exileZone;
|
||||||
private HoverButton commandZone;
|
private HoverButton commandZone;
|
||||||
private HoverButton enchantPlayerViewZone;
|
private HoverButton enchantPlayerViewZone;
|
||||||
|
|
|
||||||
BIN
Mage.Client/src/main/resources/info/energy.png
Normal file
BIN
Mage.Client/src/main/resources/info/energy.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.3 KiB |
BIN
Mage.Client/src/main/resources/info/experience.png
Normal file
BIN
Mage.Client/src/main/resources/info/experience.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.3 KiB |
|
|
@ -36,12 +36,11 @@ import mage.abilities.condition.common.PermanentHasCounterCondition;
|
||||||
import mage.abilities.keyword.FlyingAbility;
|
import mage.abilities.keyword.FlyingAbility;
|
||||||
import mage.cards.CardImpl;
|
import mage.cards.CardImpl;
|
||||||
import mage.counters.CounterType;
|
import mage.counters.CounterType;
|
||||||
import mage.filter.common.FilterCreaturePermanent;
|
|
||||||
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
import mage.abilities.effects.common.continuous.BoostSourceEffect;
|
||||||
import mage.abilities.decorator.ConditionalContinuousEffect;
|
import mage.abilities.decorator.ConditionalContinuousEffect;
|
||||||
import mage.abilities.common.SimpleStaticAbility;
|
import mage.abilities.common.SimpleStaticAbility;
|
||||||
import mage.constants.Zone;
|
import mage.constants.Zone;
|
||||||
|
import mage.filter.common.FilterControlledCreaturePermanent;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -64,7 +63,7 @@ public class ChampionsDrake extends CardImpl {
|
||||||
this.addAbility(FlyingAbility.getInstance());
|
this.addAbility(FlyingAbility.getInstance());
|
||||||
|
|
||||||
// Champion's Drake gets +3/+3 as long as you control a creature with three or more level counters on it.
|
// Champion's Drake gets +3/+3 as long as you control a creature with three or more level counters on it.
|
||||||
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), new PermanentHasCounterCondition(CounterType.LEVEL, 2, new FilterCreaturePermanent(), PermanentHasCounterCondition.CountType.MORE_THAN), rule);
|
ConditionalContinuousEffect effect = new ConditionalContinuousEffect(new BoostSourceEffect(3, 3, Duration.WhileOnBattlefield), new PermanentHasCounterCondition(CounterType.LEVEL, 2, new FilterControlledCreaturePermanent(), PermanentHasCounterCondition.CountType.MORE_THAN), rule);
|
||||||
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
this.addAbility(new SimpleStaticAbility(Zone.BATTLEFIELD, effect));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,10 @@ import java.util.List;
|
||||||
*/
|
*/
|
||||||
public class PermanentHasCounterCondition implements Condition {
|
public class PermanentHasCounterCondition implements Condition {
|
||||||
|
|
||||||
public static enum CountType {MORE_THAN, FEWER_THAN, EQUAL_TO}
|
public static enum CountType {
|
||||||
|
MORE_THAN, FEWER_THAN, EQUAL_TO
|
||||||
|
};
|
||||||
|
|
||||||
;
|
|
||||||
private CounterType counterType;
|
private CounterType counterType;
|
||||||
private int amount;
|
private int amount;
|
||||||
private FilterPermanent filter;
|
private FilterPermanent filter;
|
||||||
|
|
@ -62,30 +63,26 @@ public class PermanentHasCounterCondition implements Condition {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean apply(Game game, Ability source) {
|
public boolean apply(Game game, Ability source) {
|
||||||
boolean conditionApplies = false;
|
List<Permanent> permanents = game.getBattlefield().getActivePermanents(this.filter, source.getControllerId(), game);
|
||||||
List<Permanent> permanents = game.getBattlefield().getAllActivePermanents(this.filter, source.getControllerId(), game);
|
|
||||||
for (Permanent permanent : permanents) {
|
for (Permanent permanent : permanents) {
|
||||||
switch (this.type) {
|
switch (this.type) {
|
||||||
case FEWER_THAN:
|
case FEWER_THAN:
|
||||||
if (permanent.getCounters(game).getCount(this.counterType) < this.amount) {
|
if (permanent.getCounters(game).getCount(this.counterType) < this.amount) {
|
||||||
conditionApplies = true;
|
return true;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MORE_THAN:
|
case MORE_THAN:
|
||||||
if (permanent.getCounters(game).getCount(this.counterType) > this.amount) {
|
if (permanent.getCounters(game).getCount(this.counterType) > this.amount) {
|
||||||
conditionApplies = true;
|
return true;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case EQUAL_TO:
|
case EQUAL_TO:
|
||||||
if (permanent.getCounters(game).getCount(this.counterType) == this.amount) {
|
if (permanent.getCounters(game).getCount(this.counterType) == this.amount) {
|
||||||
conditionApplies = true;
|
return true;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return conditionApplies;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue