updated Bonfire of the Damned, added a new method for getting a player or planeswalker's controller

This commit is contained in:
Evan Kranzler 2018-04-19 16:01:44 -04:00
parent 9fe08dd438
commit 1e27d7222a
3 changed files with 24 additions and 9 deletions

View file

@ -132,6 +132,8 @@ public interface Game extends MageItem, Serializable {
Player getPlayer(UUID playerId);
Player getPlayerOrPlaneswalkerController(UUID playerId);
Players getPlayers();
PlayerList getPlayerList();

View file

@ -306,6 +306,20 @@ public abstract class GameImpl implements Game, Serializable {
return state.getPlayer(playerId);
}
@Override
public Player getPlayerOrPlaneswalkerController(UUID playerId) {
Player player = getPlayer(playerId);
if (player != null) {
return player;
}
Permanent permanent = getPermanent(playerId);
if (permanent == null) {
return null;
}
player = getPlayer(permanent.getControllerId());
return player;
}
@Override
public MageObject getObject(UUID objectId) {
if (objectId == null) {
@ -1565,14 +1579,14 @@ public abstract class GameImpl implements Game, Serializable {
}
state.addCommandObject(newPlane);
informPlayers("You have planeswalked to " + newPlane.getLogName());
// Fire off the planeswalked event
GameEvent event = new GameEvent(GameEvent.EventType.PLANESWALK, newPlane.getId(), null, newPlane.getId(), 0, true);
if (!replaceEvent(event)) {
GameEvent ge = new GameEvent(GameEvent.EventType.PLANESWALKED, newPlane.getId(), null, newPlane.getId(), 0, true);
fireEvent(ge);
}
return true;
}