mirror of
https://github.com/correl/mage.git
synced 2025-04-09 17:00:09 -09: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
Mage.Server.Plugins/Mage.Player.Human/src/mage/player/human
Mage/src/mage/abilities
|
@ -717,7 +717,7 @@ public class HumanPlayer extends PlayerImpl<HumanPlayer> {
|
|||
updateGameStatePriority("chooseMode", game);
|
||||
if (modes.size() > 1) {
|
||||
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()) {
|
||||
String modeText = mode.getEffects().getText(mode);
|
||||
if (obj != null)
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
*/
|
||||
package mage.abilities;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import mage.game.Game;
|
||||
|
@ -37,7 +37,7 @@ import mage.players.Player;
|
|||
*
|
||||
* @author BetaSteward_at_googlemail.com
|
||||
*/
|
||||
public class Modes extends HashMap<UUID, Mode> {
|
||||
public class Modes extends LinkedHashMap<UUID, Mode> {
|
||||
|
||||
private UUID modeId;
|
||||
|
||||
|
@ -63,8 +63,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
|||
}
|
||||
|
||||
public void setMode(Mode mode) {
|
||||
if (this.containsKey(mode.getId()))
|
||||
if (this.containsKey(mode.getId())) {
|
||||
this.modeId = mode.getId();
|
||||
}
|
||||
}
|
||||
|
||||
public void addMode(Mode mode) {
|
||||
|
@ -75,8 +76,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
|||
if (this.size() > 1) {
|
||||
Player player = game.getPlayer(source.getControllerId());
|
||||
Mode choice = player.chooseMode(this, source, game);
|
||||
if (choice == null)
|
||||
if (choice == null) {
|
||||
return false;
|
||||
}
|
||||
setMode(choice);
|
||||
return true;
|
||||
}
|
||||
|
@ -86,8 +88,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
|||
|
||||
public String getText() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (this.size() > 1)
|
||||
if (this.size() > 1) {
|
||||
sb.append("Choose one - ");
|
||||
}
|
||||
for (Mode mode: this.values()) {
|
||||
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
||||
}
|
||||
|
@ -97,8 +100,9 @@ public class Modes extends HashMap<UUID, Mode> {
|
|||
|
||||
public String getText(String sourceName) {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
if (this.size() > 1)
|
||||
if (this.size() > 1) {
|
||||
sb.append("Choose one - ");
|
||||
}
|
||||
for (Mode mode: this.values()) {
|
||||
sb.append(mode.getEffects().getText(mode)).append("; or ");
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue