- Fixed a display issue with blinked cards.

This commit is contained in:
Sloth
2013-06-11 19:56:21 +00:00
parent 7d4f5a0108
commit 3019e23367
2 changed files with 9 additions and 3 deletions

View File

@@ -1,7 +1,7 @@
Name:Ghostly Flicker Name:Ghostly Flicker
ManaCost:2 U ManaCost:2 U
Types:Instant Types:Instant
A:SP$ ChangeZone | Cost$ 2 U | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl,Land.YouCtrl | TargetMin$ 2 | TargetMax$ 2 | TgtPrompt$ Select 2 target artifacts, creatures, or lands that you control | Origin$ Battlefield | Destination$ Exile | RememberTargets$ True | SubAbility$ DBReturn | SpellDescription$ Exile two target artifacts, creatures and/or lands you control, then return those cards to the battlefield under your control. A:SP$ ChangeZone | Cost$ 2 U | ValidTgts$ Artifact.YouCtrl,Creature.YouCtrl,Land.YouCtrl | TargetMin$ 2 | TargetMax$ 2 | TgtPrompt$ Select 2 target artifacts, creatures, or lands that you control | Origin$ Battlefield | Destination$ Exile | RememberChanged$ True | SubAbility$ DBReturn | SpellDescription$ Exile two target artifacts, creatures and/or lands you control, then return those cards to the battlefield under your control.
SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup SVar:DBReturn:DB$ ChangeZone | Defined$ Remembered | Origin$ Exile | Destination$ Battlefield | GainControl$ True | SubAbility$ DBCleanup
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
SVar:RemAIDeck:True SVar:RemAIDeck:True

View File

@@ -520,13 +520,18 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
oldCards.add(cpa.getGameCard()); oldCards.add(cpa.getGameCard());
} }
toDelete = new ArrayList<Card>(oldCards); toDelete = new ArrayList<Card>(oldCards);
List<Card> toReplace = new ArrayList<Card>();
// delete all cards that differ in timestamp (they have been blinked) // delete all cards that differ in timestamp (they have been blinked)
for (final Card c : model) { for (final Card c : model) {
for (int i = 0; i < toDelete.size(); i++) { for (int i = 0; i < toDelete.size(); i++) {
final Card c2 = toDelete.get(i); final Card c2 = toDelete.get(i);
if (c.equals(c2) && c.getTimestamp() == c2.getTimestamp()) { if (c.equals(c2)) {
toDelete.remove(i); if (c.getTimestamp() == c2.getTimestamp()) {
toDelete.remove(i);
} else {
toReplace.add(c);
}
} }
} }
} }
@@ -540,6 +545,7 @@ public class PlayArea extends CardPanelContainer implements CardPanelMouseListen
List<Card> toAdd = new ArrayList<Card>(model); List<Card> toAdd = new ArrayList<Card>(model);
toAdd.removeAll(oldCards); toAdd.removeAll(oldCards);
toAdd.addAll(toReplace);
List<CardPanel> newPanels = new ArrayList<CardPanel>(); List<CardPanel> newPanels = new ArrayList<CardPanel>();
for (final Card card : toAdd) { for (final Card card : toAdd) {