diff --git a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java index 9d0d5730cc..c7dae39355 100644 --- a/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java +++ b/Mage.Client/src/main/java/org/mage/plugins/card/utils/CardImageUtils.java @@ -126,6 +126,15 @@ public final class CardImageUtils { return path; } + public static String fixSetNameForWindows(String set) { + // windows can't create con folders + if (set.equals("CON") || set.equals("con")) { + return "COX"; + } else { + return set; + } + } + public static String buildImagePathToTokens() { String imagesPath = getImagesDir() + File.separator; @@ -159,14 +168,14 @@ public final class CardImageUtils { String imagesPath = getImagesDir() + File.separator; if (PreferencesDialog.isSaveImagesToZip()) { - return imagesPath + set + ".zip" + File.separator + set + File.separator; + return imagesPath + fixSetNameForWindows(set) + ".zip" + File.separator + fixSetNameForWindows(set) + File.separator; } else { - return imagesPath + set + File.separator; + return imagesPath + fixSetNameForWindows(set) + File.separator; } } private static String buildImagePathToSetAsToken(String set) { - return buildImagePathToTokens() + set + File.separator; + return buildImagePathToTokens() + fixSetNameForWindows(set) + File.separator; } public static String buildImagePathToCard(CardDownloadData card) { @@ -217,7 +226,7 @@ public final class CardImageUtils { } public static String generateFaceImagePath(String cardname, String set) { - return getImagesDir() + File.separator + "FACE" + File.separator + set + File.separator + prepareCardNameForFile(cardname) + ".jpg"; + return getImagesDir() + File.separator + "FACE" + File.separator + fixSetNameForWindows(set) + File.separator + prepareCardNameForFile(cardname) + ".jpg"; } public static String generateTokenDescriptorImagePath(CardDownloadData card) { diff --git a/Mage.Sets/src/mage/cards/c/CaptiveAudience.java b/Mage.Sets/src/mage/cards/c/CaptiveAudience.java index 53a38a2dec..1c1fc05480 100644 --- a/Mage.Sets/src/mage/cards/c/CaptiveAudience.java +++ b/Mage.Sets/src/mage/cards/c/CaptiveAudience.java @@ -97,7 +97,7 @@ class CaptiveAudienceETBEffect extends OneShotEffect { Duration.WhileOnBattlefield, true, player.getId() ); continuousEffect.setTargetPointer( - new FixedTarget(source.getSourceId(), source.getSourceObjectZoneChangeCounter() + 1) + new FixedTarget(source.getSourceId(), source.getSourceObjectZoneChangeCounter()) ); game.addEffect(continuousEffect, source); return true; diff --git a/Mage.Sets/src/mage/cards/r/RakdosRoustabout.java b/Mage.Sets/src/mage/cards/r/RakdosRoustabout.java index 7d354f1e3f..301aed4e1d 100644 --- a/Mage.Sets/src/mage/cards/r/RakdosRoustabout.java +++ b/Mage.Sets/src/mage/cards/r/RakdosRoustabout.java @@ -63,8 +63,10 @@ class RakdosRoustaboutAbility extends TriggeredAbilityImpl { @Override public boolean checkTrigger(GameEvent event, Game game) { - if (sourceId.equals(event.getSourceId())) { - this.getEffects().get(0).setTargetPointer(new FixedTarget(game.getCombat().getDefenderId(event.getSourceId()))); + if (sourceId.equals(event.getTargetId())) { + this.getEffects().get(0).setTargetPointer( + new FixedTarget(game.getCombat().getDefenderId(event.getTargetId()), game) + ); return true; } return false;