mirror of
https://github.com/magefree/mage.git
synced 2025-12-21 19:11:59 -08:00
Modes are now sorted in the order they are added in the card. For rules text and when a player chooses a mode.
This commit is contained in:
parent
7de8b2860f
commit
76233a4252
2 changed files with 11 additions and 7 deletions
|
|
@ -717,7 +717,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
|
||||||
updateGameStatePriority("chooseMode", game);
|
updateGameStatePriority("chooseMode", game);
|
||||||
if (modes.size() > 1) {
|
if (modes.size() > 1) {
|
||||||
MageObject obj = game.getObject(source.getSourceId());
|
MageObject obj = game.getObject(source.getSourceId());
|
||||||
Map<UUID, String> modeMap = new HashMap<UUID, String>();
|
Map<UUID, String> modeMap = new LinkedHashMap<UUID, String>();
|
||||||
for (Mode mode: modes.values()) {
|
for (Mode mode: modes.values()) {
|
||||||
String modeText = mode.getEffects().getText(mode);
|
String modeText = mode.getEffects().getText(mode);
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,7 @@
|
||||||
*/
|
*/
|
||||||
package mage.abilities;
|
package mage.abilities;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
import mage.game.Game;
|
import mage.game.Game;
|
||||||
|
|
@ -37,7 +37,7 @@ import mage.players.Player;
|
||||||
*
|
*
|
||||||
* @author BetaSteward_at_googlemail.com
|
* @author BetaSteward_at_googlemail.com
|
||||||
*/
|
*/
|
||||||
public class Modes extends HashMap<UUID, Mode> {
|
public class Modes extends LinkedHashMap<UUID, Mode> {
|
||||||
|
|
||||||
private UUID modeId;
|
private UUID modeId;
|
||||||
|
|
||||||
|
|
@ -63,9 +63,10 @@ public class Modes extends HashMap<UUID, Mode> {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMode(Mode mode) {
|
public void setMode(Mode mode) {
|
||||||
if (this.containsKey(mode.getId()))
|
if (this.containsKey(mode.getId())) {
|
||||||
this.modeId = mode.getId();
|
this.modeId = mode.getId();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void addMode(Mode mode) {
|
public void addMode(Mode mode) {
|
||||||
this.put(mode.getId(), mode);
|
this.put(mode.getId(), mode);
|
||||||
|
|
@ -75,8 +76,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
||||||
if (this.size() > 1) {
|
if (this.size() > 1) {
|
||||||
Player player = game.getPlayer(source.getControllerId());
|
Player player = game.getPlayer(source.getControllerId());
|
||||||
Mode choice = player.chooseMode(this, source, game);
|
Mode choice = player.chooseMode(this, source, game);
|
||||||
if (choice == null)
|
if (choice == null) {
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
setMode(choice);
|
setMode(choice);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
@ -86,8 +88,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
||||||
|
|
||||||
public String getText() {
|
public String getText() {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (this.size() > 1)
|
if (this.size() > 1) {
|
||||||
sb.append("Choose one - ");
|
sb.append("Choose one - ");
|
||||||
|
}
|
||||||
for (Mode mode: this.values()) {
|
for (Mode mode: this.values()) {
|
||||||
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
||||||
}
|
}
|
||||||
|
|
@ -97,8 +100,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
||||||
|
|
||||||
public String getText(String sourceName) {
|
public String getText(String sourceName) {
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
if (this.size() > 1)
|
if (this.size() > 1) {
|
||||||
sb.append("Choose one - ");
|
sb.append("Choose one - ");
|
||||||
|
}
|
||||||
for (Mode mode: this.values()) {
|
for (Mode mode: this.values()) {
|
||||||
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue