Turn under control reworked:

- game: fixed game freezes when computer try to take control over another computer or human (added game logs, related to #12878);
 - cheats: improved take and give control commands, now you can give control under yourself to another player;
 - cheats: improved take and give control commands, now you can return control to computer in the same priority;
 - cheats: deleted useless and unused command to activate opponent's ability;
This commit is contained in:
Oleg Agafonov 2025-01-11 22:21:58 +04:00
parent a5c354f960
commit 1f1d1088a1
6 changed files with 50 additions and 73 deletions

View file

@ -1358,7 +1358,11 @@ public final class CardUtil {
*/
public static void takeControlUnderPlayerStart(Game game, Ability source, Player controller, Player playerUnderControl, boolean givePauseForResponse) {
// game logs added in child's call
controller.controlPlayersTurn(game, playerUnderControl.getId(), CardUtil.getSourceLogName(game, source));
if (!controller.controlPlayersTurn(game, playerUnderControl.getId(), CardUtil.getSourceLogName(game, source))) {
return;
}
// give pause, so new controller can look around battlefield and hands before finish controlling choose dialog
if (givePauseForResponse) {
while (controller.canRespond()) {
if (controller.chooseUse(Outcome.Benefit, "You got control of " + playerUnderControl.getLogName()