- A somewhat more fine-grained and less spoiler-y option to order graveyards, now with three states (Never / With Relevant Cards / Always).

This commit is contained in:
Agetian
2017-09-27 14:40:48 +00:00
parent c6ef376d15
commit 06b887cd93
18 changed files with 68 additions and 52 deletions

View File

@@ -1,8 +1,8 @@
- Ixalan -
All 279 cards of the newly released Ixalan set are available in Forge. We've done our best to fix the issues that you reported with the cards in the pre-release version. If you still see anything wrong with the new cards, don't hesitate to report!
- Allow Ordering Graveyard if Needed (option) -
A new option is available in Forge that makes the game offer you to order the cards as they go into graveyard if, for example, several cards are destroyed, sacrificed or milled at the same time. When enabled, this option only takes effect in case there is at least one card in at least one player's library that cares about the order of cards in graveyard (currently the following cards are marked as caring about graveyard order: Nether Shadow, Spinning Darkness, Corpse Dance, Shallow Grave, Phyrexian Furnace, Krovikan Horror, Volrath's Shapeshifter, Ashen Ghoul, Phyrexian Grimoire, Nature's Kiss, Soldevi Digger, Guiding Spirit, Barrow Ghoul, Circling Vultures, Zombie Scavengers, Necratog, Mistmoon Griffin, Bone Dancer, Bosium Strip, Alms, Death Spark). Note that this option does not affect cards that reorder the graveyard as a part of their effect (Fossil Find). If this option is disabled, then no ordering is performed for cards like Volrath's Shapeshifter and the cards go into graveyards in whatever order the game automatically determines them to do so (this is the original Forge behavior). This mechanism is not perfect yet (please report cases in which you were not allowed to order cards in the graveyard, as well as any strange behavior in corner cases, e.g. when some permanents are indestructible, etc.). This option is disabled by default.
- Allow Ordering Cards Put in Graveyard (option) -
A new option is available in Forge that makes the game determine when to offer you to order the cards as they go simultaneously into graveyard if, for example, several cards are destroyed, sacrificed or milled at the same time. There are three states: 1) "Never" (which is the default, when Forge does not let you choose the order of cards going to graveyard since in most cases it doesn't matter); 2) "With Relevant Cards" (you will be allowed to order cards in case there is at least one card in your library or on your side of the battlefield that cares about the order of cards in graveyard; currently the following cards are marked as caring about graveyard order: Nether Shadow, Spinning Darkness, Corpse Dance, Shallow Grave, Phyrexian Furnace, Krovikan Horror, Volrath's Shapeshifter, Ashen Ghoul, Phyrexian Grimoire, Nature's Kiss, Soldevi Digger, Guiding Spirit, Barrow Ghoul, Circling Vultures, Zombie Scavengers, Necratog, Mistmoon Griffin, Bone Dancer, Bosium Strip, Alms, Death Spark; 3) "Always" (you will always be prompted to order cards simultaneously put in graveyard, even if there is no immediate detected need for it judging by the contents of your library and battlefield). Note that this option does not affect cards that reorder the graveyard as a part of their effect (Fossil Find). If this option is set to "Never", which is also the default, then no ordering is performed for cards like Volrath's Shapeshifter and the cards go into graveyards in whatever order the game automatically determines them to do so (this is the original Forge behavior). This mechanism is not perfect yet (please report cases in which you were not allowed to order cards in the graveyard, as well as any strange behavior in corner cases, e.g. when some permanents are indestructible, etc.).
- Desktop Forge: Personal Card Ratings in Quest Mode -
In Desktop Forge, it is now possible to assign personal ratings (from 1 star to 5 stars) to cards in Quest Mode by right clicking them and choosing the relevant context menu entry. It is then possible to filter cards by rating in both the deck editor and the quest shop, which should simplify managing bigger inventories. This patch was provided by Seravy.

View File

@@ -689,10 +689,24 @@ public class PlayerControllerHuman extends PlayerController implements IGameCont
@Override
public CardCollectionView orderMoveToZoneList(final CardCollectionView cards, final ZoneType destinationZone, final SpellAbility source) {
if (source == null || source.getApi() != ApiType.ReorderZone) {
if (destinationZone == ZoneType.Graveyard
&& (!FModel.getPreferences().getPrefBoolean(FPref.UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED) || !game.isGraveyardOrdered())) {
// Ordering not necessary
return cards;
if (destinationZone == ZoneType.Graveyard) {
switch (FModel.getPreferences().getPref(FPref.UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED)) {
case ForgeConstants.GRAVEYARD_ORDERING_NEVER:
// No ordering is ever performed by the player except when done by effect (AF ReorderZone)
return cards;
case ForgeConstants.GRAVEYARD_ORDERING_OWN_CARDS:
// Order only if the relevant cards controlled by the player determine the potential necessity for it
if (!game.isGraveyardOrdered(player)) {
return cards;
}
break;
case ForgeConstants.GRAVEYARD_ORDERING_ALWAYS:
// Always order cards, no matter if there is a determined case for it or not
break;
default:
// By default, assume no special ordering necessary (but should not get here unless the preference file is borked)
return cards;
}
}
}

View File

@@ -289,6 +289,11 @@ public final class ForgeConstants {
public static final String AUTO_YIELD_PER_CARD = "Per Card (Each Game)";
public static final String AUTO_YIELD_PER_ABILITY = "Per Ability (Each Match)";
// Constants for Graveyard Ordering
public static final String GRAVEYARD_ORDERING_NEVER = "Never";
public static final String GRAVEYARD_ORDERING_OWN_CARDS = "With Relevant Cards";
public static final String GRAVEYARD_ORDERING_ALWAYS = "Always";
// Set boolean constant for landscape mode for gdx port
public static final boolean isGdxPortLandscape = FileUtil.doesFileExist(ASSETS_DIR + "switch_orientation.ini") ? true : false;

View File

@@ -97,7 +97,7 @@ public class ForgePreferences extends PreferencesStore<ForgePreferences.FPref> {
UI_ROTATE_PLANE_OR_PHENOMENON("false"),
UI_DYNAMIC_PLANECHASE_BG("false"),
UI_DISABLE_IMAGES_EFFECT_CARDS("false"),
UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED ("false"),
UI_ALLOW_ORDER_GRAVEYARD_WHEN_NEEDED ("never"),
UI_FOR_TOUCHSCREN("false"),