mirror of
https://github.com/correl/mage.git
synced 2025-03-16 09:16:26 -09:00
Merge origin/master
This commit is contained in:
commit
c7f23a8ba4
1 changed files with 21 additions and 2 deletions
|
@ -148,13 +148,23 @@ public class ComputerPlayer extends PlayerImpl implements Player {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("chooseTarget: " + outcome.toString() + ':' + target.toString());
|
log.debug("chooseTarget: " + outcome.toString() + ':' + target.toString());
|
||||||
}
|
}
|
||||||
|
|
||||||
// sometimes a target selection can be made from a player that does not control the ability
|
// sometimes a target selection can be made from a player that does not control the ability
|
||||||
UUID abilityControllerId = playerId;
|
UUID abilityControllerId = playerId;
|
||||||
if (target.getTargetController() != null
|
if (target.getTargetController() != null
|
||||||
&& target.getAbilityController() != null) {
|
&& target.getAbilityController() != null) {
|
||||||
abilityControllerId = target.getAbilityController();
|
abilityControllerId = target.getAbilityController();
|
||||||
}
|
}
|
||||||
UUID randomOpponentId = getRandomOpponent(target.getTargetController() == null ? abilityControllerId : target.getTargetController(), game);
|
|
||||||
|
UUID randomOpponentId;
|
||||||
|
if (target.getTargetController() != null) {
|
||||||
|
randomOpponentId = getRandomOpponent(target.getTargetController(), game);;
|
||||||
|
} else if (abilityControllerId != null) {
|
||||||
|
randomOpponentId = getRandomOpponent(abilityControllerId, game);
|
||||||
|
} else {
|
||||||
|
randomOpponentId = getRandomOpponent(playerId, game);
|
||||||
|
}
|
||||||
|
|
||||||
if (target.getOriginalTarget() instanceof TargetPlayer) {
|
if (target.getOriginalTarget() instanceof TargetPlayer) {
|
||||||
return setTargetPlayer(outcome, target, null, sourceId, abilityControllerId, randomOpponentId, game);
|
return setTargetPlayer(outcome, target, null, sourceId, abilityControllerId, randomOpponentId, game);
|
||||||
}
|
}
|
||||||
|
@ -438,7 +448,16 @@ public class ComputerPlayer extends PlayerImpl implements Player {
|
||||||
if (target.getAbilityController() != null) {
|
if (target.getAbilityController() != null) {
|
||||||
abilityControllerId = target.getAbilityController();
|
abilityControllerId = target.getAbilityController();
|
||||||
}
|
}
|
||||||
UUID randomOpponentId = getRandomOpponent(target.getTargetController() == null ? source.getControllerId() : target.getTargetController(), game);
|
|
||||||
|
UUID randomOpponentId;
|
||||||
|
if (target.getTargetController() != null) {
|
||||||
|
randomOpponentId = getRandomOpponent(target.getTargetController(), game);;
|
||||||
|
} else if (source != null && source.getControllerId() != null) {
|
||||||
|
randomOpponentId = getRandomOpponent(source.getControllerId(), game);
|
||||||
|
} else {
|
||||||
|
randomOpponentId = getRandomOpponent(playerId, game);
|
||||||
|
}
|
||||||
|
|
||||||
if (target.getOriginalTarget() instanceof TargetPlayer) {
|
if (target.getOriginalTarget() instanceof TargetPlayer) {
|
||||||
return setTargetPlayer(outcome, target, source, source.getSourceId(), abilityControllerId, randomOpponentId, game);
|
return setTargetPlayer(outcome, target, source, source.getSourceId(), abilityControllerId, randomOpponentId, game);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue