mirror of
https://github.com/magefree/mage.git
synced 2025-12-20 02:30:08 -08:00
merge fix
This commit is contained in:
parent
5626c5f932
commit
0c8d49ce56
2 changed files with 8 additions and 6 deletions
|
|
@ -554,10 +554,11 @@ public final class SystemUtil {
|
|||
|
||||
case COMMAND_OPPONENT_UNDER_CONTROL_START: {
|
||||
Target target = new TargetPlayer().withNotTarget(true).withChooseHint("to take under your control");
|
||||
if (feedbackPlayer.chooseTarget(Outcome.GainControl, target, fakeSourceAbilityTemplate, game)) {
|
||||
Ability fakeSourceAbility = fakeSourceAbilityTemplate.copy();
|
||||
if (feedbackPlayer.chooseTarget(Outcome.GainControl, target, fakeSourceAbility, game)) {
|
||||
Player targetPlayer = game.getPlayer(target.getFirstTarget());
|
||||
if (targetPlayer != null && targetPlayer != feedbackPlayer) {
|
||||
CardUtil.takeControlUnderPlayerStart(game, fakeSourceAbilityTemplate, feedbackPlayer, targetPlayer, false);
|
||||
CardUtil.takeControlUnderPlayerStart(game, fakeSourceAbility, feedbackPlayer, targetPlayer, false);
|
||||
// allow priority play again in same step (for better cheat UX)
|
||||
targetPlayer.resetPassed();
|
||||
}
|
||||
|
|
@ -569,10 +570,11 @@ public final class SystemUtil {
|
|||
|
||||
case COMMAND_OPPONENT_UNDER_CONTROL_END: {
|
||||
Target target = new TargetPlayer().withNotTarget(true).withChooseHint("to free from your control");
|
||||
if (feedbackPlayer.chooseTarget(Outcome.GainControl, target, fakeSourceAbilityTemplate, game)) {
|
||||
Ability fakeSourceAbility = fakeSourceAbilityTemplate.copy();
|
||||
if (feedbackPlayer.chooseTarget(Outcome.GainControl, target, fakeSourceAbility, game)) {
|
||||
Player targetPlayer = game.getPlayer(target.getFirstTarget());
|
||||
if (targetPlayer != null && targetPlayer != feedbackPlayer && !targetPlayer.isGameUnderControl()) {
|
||||
CardUtil.takeControlUnderPlayerEnd(game, fakeSourceAbilityTemplate, feedbackPlayer, targetPlayer);
|
||||
CardUtil.takeControlUnderPlayerEnd(game, fakeSourceAbility, feedbackPlayer, targetPlayer);
|
||||
}
|
||||
// workaround for refresh priority dialog like avatar click (cheats called from priority in 99%)
|
||||
game.firePriorityEvent(feedbackPlayer.getId());
|
||||
|
|
|
|||
|
|
@ -55,11 +55,11 @@ public class LoadCheatsTest extends CardTestPlayerBase {
|
|||
setStopAt(1, PhaseStep.BEGIN_COMBAT);
|
||||
execute();
|
||||
|
||||
setChoice(playerA, "5"); // choose [group 3]: 5 = 2 default menus + 3 group
|
||||
setChoice(playerA, "7"); // choose [group 3]: 7 = 4 default menus + 3 group
|
||||
SystemUtil.executeCheatCommands(currentGame, commandsFile, playerA);
|
||||
|
||||
assertHandCount(playerA, "Razorclaw Bear", 1);
|
||||
assertPermanentCount(playerA, "Mountain", 3);
|
||||
assertHandCount(playerA, "Island", 10); // by cheats
|
||||
assertHandCount(playerA, "Island", 10); // possible fail: changed in amount of default cheat commands
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue