Skip to content

Commit f42b9ab

Browse files
authored
Fix Nexus Mentality (Card-Forge#10723)
1 parent 539b8b9 commit f42b9ab

7 files changed

Lines changed: 15 additions & 18 deletions

File tree

forge-game/src/main/java/forge/game/GameAction.java

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2661,7 +2661,6 @@ public void scry(final List<Player> players, int numScry, SpellAbility cause) {
26612661
}
26622662

26632663
public CardCollection mill(final PlayerCollection millers, final int numCards, final ZoneType destination, final SpellAbility sa, final Map<AbilityKey, Object> moveParams) {
2664-
final boolean reveal = sa != null && !sa.hasParam("NoReveal");
26652664
final boolean showRevealDialog = sa != null && sa.hasParam("ShowMilledCards");
26662665

26672666
final CardCollection milled = new CardCollection();
@@ -2676,17 +2675,15 @@ public CardCollection mill(final PlayerCollection millers, final int numCards, f
26762675

26772676
// Reveal the milled cards, so players don't have to manually inspect the
26782677
// graveyard to figure out which ones were milled.
2679-
if (reveal) { // do not reveal when exiling face down
2680-
String toZoneStr = destination.equals(ZoneType.Graveyard) ? "" : " (" +
2681-
Localizer.getInstance().getMessage("lblMilledToZone", destination.getTranslatedName()) + ")";
2682-
if (showRevealDialog) {
2683-
final String message = Localizer.getInstance().getMessage("lblMilledCards");
2684-
final boolean addSuffix = !toZoneStr.isEmpty();
2685-
reveal(milledPlayer, destination, p, false, message, addSuffix);
2686-
}
2687-
game.fireEvent(new GameEventAddLog(GameLogEntryType.ZONE_CHANGE, p + " milled " +
2688-
Lang.joinHomogenous(milledPlayer) + toZoneStr + "."));
2678+
String toZoneStr = destination.equals(ZoneType.Graveyard) ? "" : " (" +
2679+
Localizer.getInstance().getMessage("lblMilledToZone", destination.getTranslatedName()) + ")";
2680+
if (showRevealDialog) {
2681+
final String message = Localizer.getInstance().getMessage("lblMilledCards");
2682+
final boolean addSuffix = !toZoneStr.isEmpty();
2683+
reveal(milledPlayer, destination, p, false, message, addSuffix);
26892684
}
2685+
game.fireEvent(new GameEventAddLog(GameLogEntryType.ZONE_CHANGE, p + " milled " +
2686+
Lang.joinHomogenous(milledPlayer) + toZoneStr + "."));
26902687
}
26912688

26922689
if (!milled.isEmpty()) {

forge-gui/res/cardsfolder/g/grindstone.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ ManaCost:1
33
Types:Artifact
44
A:AB$ Repeat | Cost$ 3 T | ValidTgts$ Player | RepeatSubAbility$ DBCleanAndGrind | MaxRepeat$ MaxRepeats | RepeatCheckSVar$ MilledSharesColor | RepeatSVarCompare$ GE2 | SubAbility$ DBCleanup | SpellDescription$ Target player mills two cards. If two cards that share a color were milled this way, repeat this process. | StackDescription$ SpellDescription
55
SVar:DBCleanAndGrind:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBGrind
6-
SVar:DBGrind:DB$ Mill | NumCards$ 2 | Defined$ Targeted | NoReveal$ True | RememberMilled$ True
6+
SVar:DBGrind:DB$ Mill | NumCards$ 2 | Defined$ Targeted | RememberMilled$ True
77
SVar:MaxRepeats:TargetedPlayer$CardsInLibrary
88
SVar:MilledSharesColor:Remembered$Valid Card.SharesColorWithOther Remembered
99
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

forge-gui/res/cardsfolder/h/helm_of_obedience.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Types:Artifact
44
# Doesn't interact properly with Myr Welder right now
55
A:AB$ Repeat | Cost$ XMin1 X T | ValidTgts$ Opponent | MaxRepeat$ MaxRepeats | RepeatSubAbility$ DBCleanBeforeRepeat | RepeatCheckSVar$ AccumulatedMilled | RepeatSVarCompare$ LTX | AILogic$ MaxXAtOppEOT | StackDescription$ SpellDescription | SpellDescription$ Target opponent mills a card, then repeats this process until a creature card or X cards have been put into their graveyard this way, whichever comes first. If one or more creature cards were put into that graveyard this way, sacrifice CARDNAME and put one of them onto the battlefield under your control. X can't be 0. | SubAbility$ DBSacHelm
66
SVar:DBCleanBeforeRepeat:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBMill
7-
SVar:DBMill:DB$ Mill | NumCards$ 1 | RememberMilled$ True | Defined$ Targeted | SubAbility$ DBAccumulateX | NoReveal$ True
7+
SVar:DBMill:DB$ Mill | NumCards$ 1 | RememberMilled$ True | Defined$ Targeted | SubAbility$ DBAccumulateX
88
SVar:DBAccumulateX:DB$ StoreSVar | SVar$ AccumulatedMilled | Type$ CountSVar | Expression$ AccumulatedMilled/Plus.1 | ConditionCheckSVar$ MilledCard | ConditionSVarCompare$ EQ1 | SubAbility$ DBMilledCreature
99
SVar:DBMilledCreature:DB$ StoreSVar | SVar$ AccumulatedMilled | Type$ Calculate | Expression$ X | ConditionCheckSVar$ MilledCreature | ConditionSVarCompare$ EQ1 | SubAbility$ DBEmptyLibrary
1010
SVar:DBEmptyLibrary:DB$ StoreSVar | SVar$ AccumulatedMilled | Type$ Calculate | Expression$ X | ConditionCheckSVar$ TargetedLibrary | ConditionSVarCompare$ EQ0

forge-gui/res/cardsfolder/m/mesmeric_orb.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@ Name:Mesmeric Orb
22
ManaCost:2
33
Types:Artifact
44
T:Mode$ Untaps | ValidCard$ Card | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Whenever a permanent becomes untapped, that permanent's controller mills a card.
5-
SVar:TrigMill:DB$ Mill | Defined$ TriggeredCardController | NumCards$ 1 | NoReveal$ True
5+
SVar:TrigMill:DB$ Mill | Defined$ TriggeredCardController | NumCards$ 1
66
AI:RemoveDeck:Random
77
Oracle:Whenever a permanent becomes untapped, that permanent's controller mills a card.

forge-gui/res/cardsfolder/n/nexus_mentality.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,9 @@ ManaCost:3 U
33
Types:Instant
44
A:SP$ Charm | MinCharmNum$ 1 | CharmNum$ Count$Compare X GE1.2.1 | Choices$ DBMove,DBRemove | AdditionalDescription$ If you control a commander as you cast this spell, you may choose both.
55
SVar:DBMove:DB$ MoveCounter | TargetMin$ 2 | TargetMax$ 2 | ValidTgts$ Permanent.nonLand+YouCtrl | ValidTgtDesc$ nonland permanent you control (move counters) | CounterType$ All | CounterNum$ All | SpellDescription$ Move all counters from target nonland permanent you control onto another target nonland permanent you control.
6-
SVar:DBRemove:DB$ RemoveCounter | ValidTgts$ Permanent.nonLand+YouCtrl | ValidTgtDesc$ nonland permanent you control (remove counters) | CounterType$ All | CounterNum$ All | RememberRemoved$ True | SubAbility$ DBDraw | SpellDescription$ Remove all counters from target nonland permanent you control. Draw a card for each counter removed this way.
6+
SVar:DBRemove:DB$ RemoveCounter | ValidTgts$ Permanent.nonLand+YouCtrl | ValidTgtDesc$ nonland permanent you control (remove counters) | CounterType$ All | CounterNum$ All | RememberAmount$ True | SubAbility$ DBDraw | SpellDescription$ Remove all counters from target nonland permanent you control. Draw a card for each counter removed this way.
77
SVar:DBDraw:DB$ Draw | NumCards$ Y | SubAbility$ DBCleanup
88
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
99
SVar:X:Count$Valid Card.IsCommander+YouCtrl
10-
SVar:Y:Count$RememberedSize
10+
SVar:Y:Count$RememberedNumber
1111
Oracle:Choose one. If you control a commander as you cast this spell, you may choose both instead.\n• Move all counters from target nonland permanent you control onto another target nonland permanent you control.\n• Remove all counters from target nonland permanent you control. Draw a card for each counter removed this way.

forge-gui/res/cardsfolder/s/sphinxs_tutelage.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Types:Enchantment
44
T:Mode$ Drawn | ValidCard$ Card.YouOwn | TriggerZones$ Battlefield | Execute$ TrigMill | TriggerDescription$ Whenever you draw a card, target opponent mills two cards. If two nonland cards that share a color were milled this way, repeat this process.
55
SVar:TrigMill:DB$ Repeat | ValidTgts$ Opponent | IsCurse$ True | RepeatSubAbility$ DBCleanAndGrind | MaxRepeat$ MaxRepeats | RepeatCheckSVar$ MilledSharesColor | RepeatSVarCompare$ GE2 | SubAbility$ DBCleanup
66
SVar:DBCleanAndGrind:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBGrind
7-
SVar:DBGrind:DB$ Mill | NumCards$ 2 | Defined$ Targeted | NoReveal$ True | RememberMilled$ True
7+
SVar:DBGrind:DB$ Mill | NumCards$ 2 | Defined$ Targeted | RememberMilled$ True
88
SVar:MaxRepeats:TargetedPlayer$CardsInLibrary
99
SVar:MilledSharesColor:Remembered$Valid Card.nonLand+SharesColorWithOther Remembered
1010
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True

forge-gui/res/cardsfolder/t/the_tale_of_tamiyo.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Types:Legendary Enchantment Saga
44
K:Chapter:4:DBRepeat,DBRepeat,DBRepeat,DBChangeZone
55
SVar:DBRepeat:DB$ Repeat | RepeatSubAbility$ DBCleanAndGrind | MaxRepeat$ MaxRepeats | RepeatCheckSVar$ MilledSharesType | RepeatSVarCompare$ GE2 | SubAbility$ DBCleanup | SpellDescription$ Mill two cards. If two cards that share a card type were milled this way, draw a card and repeat this process.
66
SVar:DBCleanAndGrind:DB$ Cleanup | ClearRemembered$ True | SubAbility$ DBGrind
7-
SVar:DBGrind:DB$ Mill | NumCards$ 2 | NoReveal$ True | RememberMilled$ True | SubAbility$ DBDraw
7+
SVar:DBGrind:DB$ Mill | NumCards$ 2 | RememberMilled$ True | SubAbility$ DBDraw
88
SVar:DBDraw:DB$ Draw | ConditionCheckSVar$ MilledSharesType | ConditionSVarCompare$ GE2
99
SVar:MaxRepeats:Count$ValidLibrary Card.YouOwn
1010
SVar:MilledSharesType:Remembered$Valid Card.sharesCardTypeWithOther Remembered

0 commit comments

Comments
 (0)