mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-17 11:18:01 +00:00
- Fixed the loseControl commands in AF GainControl.
This commit is contained in:
@@ -14,6 +14,7 @@ import forge.Command;
|
||||
import forge.ComputerUtil;
|
||||
import forge.Constant;
|
||||
import forge.Constant.Zone;
|
||||
import forge.GameEntity;
|
||||
import forge.Player;
|
||||
import forge.card.cardfactory.CardFactoryUtil;
|
||||
import forge.card.spellability.Ability;
|
||||
@@ -380,13 +381,21 @@ public class AbilityFactoryGainControl {
|
||||
}
|
||||
// tgtCards.add(hostCard);
|
||||
|
||||
ArrayList<Player> newController = AbilityFactory.getDefinedPlayers(sa.getSourceCard(),
|
||||
ArrayList<Player> controllers = new ArrayList<Player>();
|
||||
|
||||
if (params.containsKey("NewController")) {
|
||||
controllers = AbilityFactory.getDefinedPlayers(sa.getSourceCard(),
|
||||
this.params.get("NewController"), sa);
|
||||
if (tgt != null && tgt.getTargetPlayers() != null) {
|
||||
newController = tgt.getTargetPlayers();
|
||||
} else if (tgt != null && tgt.getTargetPlayers() != null && tgt.canTgtPlayer()) {
|
||||
controllers = tgt.getTargetPlayers();
|
||||
}
|
||||
if (newController.size() == 0) {
|
||||
newController.add(sa.getActivatingPlayer());
|
||||
|
||||
GameEntity newController;
|
||||
|
||||
if (controllers.size() == 0) {
|
||||
newController = this.hostCard;
|
||||
} else {
|
||||
newController = controllers.get(0);
|
||||
}
|
||||
|
||||
final int size = tgtCards.size();
|
||||
@@ -401,13 +410,7 @@ public class AbilityFactoryGainControl {
|
||||
|
||||
if (AllZoneUtil.isCardInPlay(tgtC) && tgtC.canBeTargetedBy(sa)) {
|
||||
|
||||
if (this.params.containsKey("NewController")) {
|
||||
tgtC.addController(newController.get(0));
|
||||
} else if (tgt != null && tgt.getTargetPlayers() != null) {
|
||||
tgtC.addController(newController.get(0));
|
||||
} else {
|
||||
tgtC.addController(this.hostCard);
|
||||
}
|
||||
tgtC.addController(newController);
|
||||
// AllZone.getGameAction().changeController(new CardList(tgtC),
|
||||
// tgtC.getController(), newController.get(0));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user