foul-magics/Mage/src/main/java/mage/constants/PlayerAction.java
Oleg Agafonov 960e896903
Network upgrade and new reconnection mode (#11527)
Network upgrade and new reconnection mode:
* users can disconnect or close app without game progress loose now;
* disconnect dialog will show active tables stats and additional options;
* all active tables will be restored on reconnect (tables, tourneys, games, drafts, sideboarding, constructing);
* user must use same server and username on next connection;
* there are few minutes for reconnect until server kick off a disconnected player from all player's tables (concede/loose);
* now you can safety reconnect after IP change (after proxy/vpn/wifi/router restart);

Other improvements and fixes:
* gui: main menu - improved switch panel button, added stats about current tables/panels;
* gui: improved data sync and updates (fixes many use cases with empty battlefield, not started games/drafts/tourneys, not updatable drafts, etc);
* gui: improved stability on game updates (fixes some random errors related to wrong threads);
* server: fixed miss messages about player's disconnection problems for other players in the chat;
* refactor: simplified and improved connection and network related code, deleted outdated code, added docs;
* tests: improved load test to support lands only set for more stable performance/network testing (set TEST_AI_RANDOM_DECK_SETS = PELP and run test_TwoAIPlayGame_Multiple);
2023-12-07 20:56:52 +04:00

68 lines
1.9 KiB
Java

package mage.constants;
/**
* Defines player actions for a game
*
* @author LevelX2
*/
public enum PlayerAction {
PASS_PRIORITY_UNTIL_MY_NEXT_TURN,
PASS_PRIORITY_UNTIL_TURN_END_STEP,
PASS_PRIORITY_UNTIL_NEXT_MAIN_PHASE,
PASS_PRIORITY_UNTIL_NEXT_TURN,
PASS_PRIORITY_UNTIL_NEXT_TURN_SKIP_STACK,
PASS_PRIORITY_UNTIL_STACK_RESOLVED,
PASS_PRIORITY_UNTIL_END_STEP_BEFORE_MY_NEXT_TURN,
PASS_PRIORITY_CANCEL_ALL_ACTIONS,
TRIGGER_AUTO_ORDER_ABILITY_FIRST,
TRIGGER_AUTO_ORDER_NAME_FIRST,
TRIGGER_AUTO_ORDER_ABILITY_LAST,
TRIGGER_AUTO_ORDER_NAME_LAST,
TRIGGER_AUTO_ORDER_RESET_ALL,
ROLLBACK_TURNS,
UNDO,
CONCEDE,
MANA_AUTO_PAYMENT_ON,
MANA_AUTO_PAYMENT_OFF,
MANA_AUTO_PAYMENT_RESTRICTED_ON,
MANA_AUTO_PAYMENT_RESTRICTED_OFF,
USE_FIRST_MANA_ABILITY_ON,
USE_FIRST_MANA_ABILITY_OFF,
RESET_AUTO_SELECT_REPLACEMENT_EFFECTS,
REVOKE_PERMISSIONS_TO_SEE_HAND_CARDS,
REQUEST_PERMISSION_TO_SEE_HAND_CARDS,
REQUEST_PERMISSION_TO_ROLLBACK_TURN,
ADD_PERMISSION_TO_SEE_HAND_CARDS,
ADD_PERMISSION_TO_ROLLBACK_TURN,
DENY_PERMISSION_TO_ROLLBACK_TURN,
PERMISSION_REQUESTS_ALLOWED_ON,
PERMISSION_REQUESTS_ALLOWED_OFF,
REQUEST_AUTO_ANSWER_ID_YES,
REQUEST_AUTO_ANSWER_ID_NO,
REQUEST_AUTO_ANSWER_TEXT_YES,
REQUEST_AUTO_ANSWER_TEXT_NO,
REQUEST_AUTO_ANSWER_RESET_ALL,
CLIENT_DOWNLOAD_SYMBOLS,
CLIENT_QUIT_TOURNAMENT,
CLIENT_QUIT_DRAFT_TOURNAMENT,
CLIENT_CONCEDE_GAME,
CLIENT_CONCEDE_MATCH,
CLIENT_STOP_WATCHING,
CLIENT_DISCONNECT_FULL, // send disconnect to server and exit (concede)
CLIENT_DISCONNECT_KEEP_GAMES, // close app only (can re-connect again)
CLIENT_EXIT_FULL,
CLIENT_EXIT_KEEP_GAMES,
CLIENT_REMOVE_TABLE,
CLIENT_DOWNLOAD_CARD_IMAGES,
CLIENT_RECONNECT,
CLIENT_REPLAY_ACTION,
HOLD_PRIORITY,
UNHOLD_PRIORITY,
VIEW_LIMITED_DECK,
VIEW_SIDEBOARD,
TOGGLE_RECORD_MACRO
}