mirror of
https://github.com/magefree/mage.git
synced 2026-01-10 04:42:07 -08:00
Ability picker shows now the name of the object instead of {this] in ability text..
This commit is contained in:
parent
e8a7a66b52
commit
33c6bf1385
9 changed files with 37 additions and 20 deletions
|
|
@ -140,7 +140,7 @@ public interface Game extends MageItem, Serializable {
|
|||
void firePriorityEvent(UUID playerId);
|
||||
void firePlayManaEvent(UUID playerId, String message);
|
||||
void firePlayXManaEvent(UUID playerId, String message);
|
||||
void fireGetChoiceEvent(UUID playerId, String message, List<? extends ActivatedAbility> choices);
|
||||
void fireGetChoiceEvent(UUID playerId, String message, MageObject object, List<? extends ActivatedAbility> choices);
|
||||
void fireGetModeEvent(UUID playerId, String message, Map<UUID, String> modes);
|
||||
void fireGetAmountEvent(UUID playerId, String message, int min, int max);
|
||||
void fireChoosePileEvent(UUID playerId, String message, List<? extends Card> pile1, List<? extends Card> pile2);
|
||||
|
|
|
|||
|
|
@ -1506,11 +1506,15 @@ public abstract class GameImpl<T extends GameImpl<T>> implements Game, Serializa
|
|||
}
|
||||
|
||||
@Override
|
||||
public void fireGetChoiceEvent(UUID playerId, String message, List<? extends ActivatedAbility> choices) {
|
||||
public void fireGetChoiceEvent(UUID playerId, String message, MageObject object, List<? extends ActivatedAbility> choices) {
|
||||
if (simulation) {
|
||||
return;
|
||||
}
|
||||
playerQueryEventSource.chooseAbility(playerId, message, choices);
|
||||
String objectName = null;
|
||||
if (object != null) {
|
||||
objectName = object.getName();
|
||||
}
|
||||
playerQueryEventSource.chooseAbility(playerId, message, objectName, choices);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ package mage.game.events;
|
|||
|
||||
import java.io.Serializable;
|
||||
import java.util.EventObject;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -142,8 +143,13 @@ public class PlayerQueryEvent extends EventObject implements ExternalEvent, Seri
|
|||
return new PlayerQueryEvent(playerId, message, null, null, null, null, QueryType.ASK, 0, 0, false);
|
||||
}
|
||||
|
||||
public static PlayerQueryEvent chooseAbilityEvent(UUID playerId, String message, List<? extends ActivatedAbility> choices) {
|
||||
return new PlayerQueryEvent(playerId, message, choices, null, null, null, QueryType.CHOOSE_ABILITY, 0, 0, false);
|
||||
public static PlayerQueryEvent chooseAbilityEvent(UUID playerId, String message, String objectName, List<? extends ActivatedAbility> choices) {
|
||||
Set<String> nameAsSet = null;
|
||||
if (objectName != null) {
|
||||
nameAsSet = new HashSet<String>();
|
||||
nameAsSet.add(objectName);
|
||||
}
|
||||
return new PlayerQueryEvent(playerId, message, choices, nameAsSet, null, null, QueryType.CHOOSE_ABILITY, 0, 0, false);
|
||||
}
|
||||
|
||||
public static PlayerQueryEvent choosePileEvent(UUID playerId, String message, List<? extends Card> pile1, List<? extends Card> pile2) {
|
||||
|
|
|
|||
|
|
@ -58,8 +58,8 @@ public class PlayerQueryEventSource implements EventSource<PlayerQueryEvent>, Se
|
|||
dispatcher.fireEvent(PlayerQueryEvent.selectEvent(playerId, message));
|
||||
}
|
||||
|
||||
public void chooseAbility(UUID playerId, String message, List<? extends ActivatedAbility> choices) {
|
||||
dispatcher.fireEvent(PlayerQueryEvent.chooseAbilityEvent(playerId, message, choices));
|
||||
public void chooseAbility(UUID playerId, String message, String objectName, List<? extends ActivatedAbility> choices) {
|
||||
dispatcher.fireEvent(PlayerQueryEvent.chooseAbilityEvent(playerId, message, objectName, choices));
|
||||
}
|
||||
|
||||
public void choosePile(UUID playerId, String message, List<? extends Card> pile1, List<? extends Card> pile2) {
|
||||
|
|
|
|||
|
|
@ -914,7 +914,6 @@ public abstract class PlayerImpl<T extends PlayerImpl<T>> implements Player, Ser
|
|||
LinkedHashMap<UUID, ActivatedAbility> useable = new LinkedHashMap<UUID, ActivatedAbility>();
|
||||
if (!(object instanceof Permanent) || ((Permanent)object).canUseActivatedAbilities(game)) {
|
||||
for (ActivatedAbility ability: object.getAbilities().getActivatedAbilities(zone)) {
|
||||
|
||||
if (ability.canActivate(playerId, game)) {
|
||||
useable.put(ability.getId(), ability);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue