Skip to content

Commit 0abdecc

Browse files
authored
Clean up (#10211)
1 parent b00167b commit 0abdecc

3 files changed

Lines changed: 28 additions & 28 deletions

File tree

forge-game/src/main/java/forge/game/ability/effects/ChangeZoneEffect.java

Lines changed: 16 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -894,8 +894,15 @@ private void changeKnownOriginResolve(final SpellAbility sa) {
894894
* a {@link forge.game.spellability.SpellAbility} object.
895895
*/
896896
private void changeHiddenOriginResolve(final SpellAbility sa) {
897-
List<Player> fetchers = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("DefinedPlayer"), sa);
897+
final Card source = sa.getHostCard();
898+
final Game game = source.getGame();
899+
final boolean chooseFromDef = sa.hasParam("ChooseFromDefined");
900+
final boolean defined = sa.hasParam("Defined") || chooseFromDef;
901+
final String changeType = sa.getParamOrDefault("ChangeType", "");
902+
boolean mandatory = sa.hasParam("Mandatory");
903+
Map<Player, HiddenOriginChoices> hiddenChoices = Maps.newHashMap();
898904

905+
List<Player> fetchers = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("DefinedPlayer"), sa);
899906
Player chooser = null;
900907
if (sa.hasParam("Chooser")) {
901908
final FCollectionView<Player> choosers = AbilityUtils.getDefinedPlayers(sa.getHostCard(), sa.getParam("Chooser"), sa);
@@ -904,18 +911,6 @@ private void changeHiddenOriginResolve(final SpellAbility sa) {
904911
}
905912
}
906913

907-
changeZonePlayerInvariant(chooser, sa, fetchers);
908-
}
909-
910-
private void changeZonePlayerInvariant(Player chooser, SpellAbility sa, List<Player> fetchers) {
911-
final Card source = sa.getHostCard();
912-
final Game game = source.getGame();
913-
final boolean chooseFromDef = sa.hasParam("ChooseFromDefined");
914-
final boolean defined = sa.hasParam("Defined") || chooseFromDef;
915-
final String changeType = sa.getParamOrDefault("ChangeType", "");
916-
boolean mandatory = sa.hasParam("Mandatory");
917-
Map<Player, HiddenOriginChoices> HiddenOriginChoicesMap = Maps.newHashMap();
918-
919914
for (Player player : fetchers) {
920915
Player decider = chooser;
921916
if (decider == null) {
@@ -1279,7 +1274,7 @@ else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand)
12791274
choices.libraryPos = libraryPos;
12801275
choices.origin = origin;
12811276
choices.destination = destination;
1282-
HiddenOriginChoicesMap.put(player, choices);
1277+
hiddenChoices.put(player, choices);
12831278
}
12841279

12851280
final boolean remember = sa.hasParam("RememberChanged");
@@ -1290,13 +1285,13 @@ else if (!origin.contains(ZoneType.Library) && !origin.contains(ZoneType.Hand)
12901285
boolean combatChanged = false;
12911286
final CardZoneTable triggerList = CardZoneTable.getSimultaneousInstance(sa);
12921287

1293-
for (Player player : HiddenOriginChoicesMap.keySet()) {
1294-
boolean searchedLibrary = HiddenOriginChoicesMap.get(player).searchedLibrary;
1295-
boolean shuffleMandatory = HiddenOriginChoicesMap.get(player).shuffleMandatory;
1296-
CardCollection chosenCards = HiddenOriginChoicesMap.get(player).chosenCards;
1297-
int libraryPos = HiddenOriginChoicesMap.get(player).libraryPos;
1298-
List<ZoneType> origin = HiddenOriginChoicesMap.get(player).origin;
1299-
ZoneType destination = HiddenOriginChoicesMap.get(player).destination;
1288+
for (Player player : hiddenChoices.keySet()) {
1289+
boolean searchedLibrary = hiddenChoices.get(player).searchedLibrary;
1290+
boolean shuffleMandatory = hiddenChoices.get(player).shuffleMandatory;
1291+
CardCollection chosenCards = hiddenChoices.get(player).chosenCards;
1292+
int libraryPos = hiddenChoices.get(player).libraryPos;
1293+
List<ZoneType> origin = hiddenChoices.get(player).origin;
1294+
ZoneType destination = hiddenChoices.get(player).destination;
13001295
CardCollection movedCards = new CardCollection();
13011296
Player decider = Objects.requireNonNullElse(chooser, player);
13021297

forge-gui-desktop/src/main/java/forge/screens/match/CMatchUI.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,15 +1334,13 @@ public void notifyStackAddition(GameEventSpellAbilityCast event) {
13341334

13351335
FOptionPane.showOptionDialog(null, "Forge", null, mainPanel, ImmutableList.of(Localizer.getInstance().getMessage("lblOK")));
13361336
// here the user closed the modal - time to update the next notifiable stack index
1337-
13381337
}
13391338
// In any case, I have to increase the counter
13401339
nextNotifiableStackIndex++;
13411340
} else {
13421341
// Not yet time to show the modal - schedule the method again, and try again later
13431342
Runnable tryAgainThread = () -> notifyStackAddition(event);
13441343
GuiBase.getInterface().invokeInEdtLater(tryAgainThread);
1345-
13461344
}
13471345
}
13481346

@@ -1463,6 +1461,9 @@ public void notifyStackRemoval(GameEventSpellRemovedFromStack event) {
14631461

14641462
@Override
14651463
public void handleLandPlayed(CardView land) {
1464+
if (ForgeConstants.LAND_PLAYED_NOTIFICATION_NEVER.equals(FModel.getPreferences().getPref(FPref.UI_LAND_PLAYED_NOTIFICATION_POLICY))) {
1465+
return;
1466+
}
14661467
Runnable createPopupThread = () -> createLandPopupPanel(land);
14671468
GuiBase.getInterface().invokeInEdtAndWait(createPopupThread);
14681469
}

forge-gui/src/main/java/forge/gui/control/FControlGameEventHandler.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import forge.game.zone.ZoneType;
1111
import forge.gui.GuiBase;
1212
import forge.gui.interfaces.IGuiGame;
13+
import forge.localinstance.properties.ForgeConstants;
1314
import forge.localinstance.properties.ForgePreferences.FPref;
1415
import forge.model.FModel;
1516
import forge.player.PlayerControllerHuman;
@@ -127,7 +128,8 @@ public void run() {
127128
if (gameOver) {
128129
gameOver = false;
129130
if (humanController != null) {
130-
humanController.getInputQueue().onGameOver(true); // this will unlock any game threads waiting for inputs to complete
131+
// this will unlock any game threads waiting for inputs to complete
132+
humanController.getInputQueue().onGameOver(true);
131133
}
132134
}
133135
if (gameFinished) {
@@ -258,8 +260,10 @@ public Void visit(final GameEventGameFinished ev) {
258260
@Override
259261
public Void visit(final GameEventSpellAbilityCast event) {
260262
needStackUpdate = true;
261-
if(GuiBase.getInterface().isLibgdxPort()) {
262-
return processEvent(); //mobile port don't have notify stack addition like the desktop
263+
if (GuiBase.getInterface().isLibgdxPort() ||
264+
ForgeConstants.STACK_EFFECT_NOTIFICATION_NEVER.equals(FModel.getPreferences().getPref(FPref.UI_STACK_EFFECT_NOTIFICATION_POLICY))) {
265+
// mobile port don't have notify stack addition like the desktop
266+
return processEvent();
263267
} else {
264268
processEvent();
265269

@@ -278,8 +282,8 @@ public Void visit(final GameEventSpellResolved event) {
278282
@Override
279283
public Void visit(final GameEventSpellRemovedFromStack event) {
280284
needStackUpdate = true;
281-
if(GuiBase.getInterface().isLibgdxPort()) {
282-
return processEvent(); //mobile port don't have notify stack addition like the desktop
285+
if (GuiBase.getInterface().isLibgdxPort() ||
286+
ForgeConstants.STACK_EFFECT_NOTIFICATION_NEVER.equals(FModel.getPreferences().getPref(FPref.UI_STACK_EFFECT_NOTIFICATION_POLICY))) {
283287
} else {
284288
processEvent();
285289

0 commit comments

Comments
 (0)