game engine, tests and other fixes:

tests: fixed wrong permanent structure for battlefield cards (addCard command);
tests: added docs and additional runtime checks;
game: Modal double-faced cards - improved support, no more other side effects on battlefield;
game: Copy abilities - improved stability and cards support;
game: Player under control - improved stability and related cards support (possible NPE errors, additional runtime checks);
server: fixed bloated logs with game timer;
AI: fixed wrong timer in computer games;
This commit is contained in:
Oleg Agafonov 2024-02-17 19:35:44 +04:00
parent 824e4c6b7a
commit 229e8d3075
35 changed files with 303 additions and 151 deletions

View file

@ -294,10 +294,8 @@ public interface Player extends MageItem, Copyable<Player> {
void setTopCardRevealed(boolean topCardRevealed);
/**
* Get data from the client Preferences (e.g. avatarId or
* showAbilityPickerForce)
*
* @return
* User's settings like avatar or skip buttons.
* WARNING, game related code must use controlling player settings only, e.g. getControllingPlayersUserData
*/
UserData getUserData();
@ -333,6 +331,9 @@ public interface Player extends MageItem, Copyable<Player> {
List<UUID> getTurnControllers();
/**
* Current turn controller for a player (return own id for own control)
*/
UUID getTurnControlledBy();
/**
@ -360,6 +361,11 @@ public interface Player extends MageItem, Copyable<Player> {
*/
void setGameUnderYourControl(boolean value);
/**
* Return player's turn control to prev player
* @param value
* @param fullRestore return turn control to own
*/
void setGameUnderYourControl(boolean value, boolean fullRestore);
void setTestMode(boolean value);