171 lines
4.1 KiB
Python
171 lines
4.1 KiB
Python
"""Cockatrice protocol constants and message definitions."""
|
|
import enum
|
|
|
|
|
|
class SessionCommandType(enum.IntEnum):
|
|
"""Session command types from session_commands.proto"""
|
|
PING = 1000
|
|
LOGIN = 1001
|
|
MESSAGE = 1002
|
|
LIST_USERS = 1003
|
|
GET_GAMES_OF_USER = 1004
|
|
GET_USER_INFO = 1005
|
|
ADD_TO_LIST = 1006
|
|
REMOVE_FROM_LIST = 1007
|
|
DECK_LIST = 1008
|
|
DECK_NEW_DIR = 1009
|
|
DECK_DEL_DIR = 1010
|
|
DECK_DEL = 1011
|
|
DECK_DOWNLOAD = 1012
|
|
DECK_UPLOAD = 1013
|
|
LIST_ROOMS = 1014
|
|
JOIN_ROOM = 1015
|
|
REGISTER = 1016
|
|
ACTIVATE = 1017
|
|
ACCOUNT_EDIT = 1018
|
|
ACCOUNT_IMAGE = 1019
|
|
ACCOUNT_PASSWORD = 1020
|
|
FORGOT_PASSWORD_REQUEST = 1021
|
|
FORGOT_PASSWORD_RESET = 1022
|
|
FORGOT_PASSWORD_CHALLENGE = 1023
|
|
REQUEST_PASSWORD_SALT = 1024
|
|
SET_CARD_ART_PARAMS = 1025
|
|
REPLAY_LIST = 1100
|
|
REPLAY_DOWNLOAD = 1101
|
|
REPLAY_MODIFY_MATCH = 1102
|
|
REPLAY_DELETE_MATCH = 1103
|
|
REPLAY_GET_CODE = 1104
|
|
REPLAY_SUBMIT_CODE = 1105
|
|
|
|
|
|
class GameCommandType(enum.IntEnum):
|
|
"""Game command types from game_commands.proto"""
|
|
KICK_FROM_GAME = 1000
|
|
LEAVE_GAME = 1001
|
|
GAME_SAY = 1002
|
|
SHUFFLE = 1003
|
|
MULLIGAN = 1004
|
|
ROLL_DIE = 1005
|
|
DRAW_CARDS = 1006
|
|
UNDO_DRAW = 1007
|
|
FLIP_CARD = 1008
|
|
ATTACH_CARD = 1009
|
|
CREATE_TOKEN = 1010
|
|
CREATE_ARROW = 1011
|
|
DELETE_ARROW = 1012
|
|
SET_CARD_ATTR = 1013
|
|
SET_CARD_COUNTER = 1014
|
|
INC_CARD_COUNTER = 1015
|
|
READY_START = 1016
|
|
CONCEDE = 1017
|
|
INC_COUNTER = 1018
|
|
CREATE_COUNTER = 1019
|
|
SET_COUNTER = 1020
|
|
DEL_COUNTER = 1021
|
|
NEXT_TURN = 1022
|
|
SET_ACTIVE_PHASE = 1023
|
|
DUMP_ZONE = 1024
|
|
REVEAL_CARDS = 1026
|
|
MOVE_CARD = 1027
|
|
SET_SIDEBOARD_PLAN = 1028
|
|
DECK_SELECT = 1029
|
|
SET_SIDEBOARD_LOCK = 1030
|
|
CHANGE_ZONE_PROPERTIES = 1031
|
|
UNCONCEDE = 1032
|
|
JUDGE = 1033
|
|
REVERSE_TURN = 1034
|
|
|
|
|
|
class GameEventType(enum.IntEnum):
|
|
"""Game event types from game_event.proto"""
|
|
JOIN = 1000
|
|
LEAVE = 1001
|
|
GAME_CLOSED = 1002
|
|
GAME_HOST_CHANGED = 1003
|
|
KICKED = 1004
|
|
GAME_STATE_CHANGED = 1005
|
|
PLAYER_PROPERTIES_CHANGED = 1007
|
|
GAME_SAY = 1009
|
|
CREATE_ARROW = 2000
|
|
DELETE_ARROW = 2001
|
|
CREATE_COUNTER = 2002
|
|
SET_COUNTER = 2003
|
|
DEL_COUNTER = 2004
|
|
DRAW_CARDS = 2005
|
|
REVEAL_CARDS = 2006
|
|
SHUFFLE = 2007
|
|
ROLL_DIE = 2008
|
|
MOVE_CARD = 2009
|
|
FLIP_CARD = 2010
|
|
DESTROY_CARD = 2011
|
|
ATTACH_CARD = 2012
|
|
CREATE_TOKEN = 2013
|
|
SET_CARD_ATTR = 2014
|
|
SET_CARD_COUNTER = 2015
|
|
SET_ACTIVE_PLAYER = 2016
|
|
SET_ACTIVE_PHASE = 2017
|
|
DUMP_ZONE = 2018
|
|
CHANGE_ZONE_PROPERTIES = 2020
|
|
REVERSE_TURN = 2021
|
|
GAME_LOG_NOTICE = 2022
|
|
|
|
|
|
class ResponseCode(enum.IntEnum):
|
|
"""Response codes from response.proto"""
|
|
RespNotConnected = -1
|
|
RespNothing = 0
|
|
RespOk = 1
|
|
RespNotInRoom = 2
|
|
RespInternalError = 3
|
|
RespInvalidCommand = 4
|
|
RespInvalidData = 5
|
|
RespNameNotFound = 6
|
|
RespLoginNeeded = 7
|
|
RespFunctionNotAllowed = 8
|
|
RespGameNotStarted = 9
|
|
RespGameFull = 10
|
|
RespContextError = 11
|
|
RespWrongPassword = 12
|
|
RespSpectatorsNotAllowed = 13
|
|
RespOnlyBuddies = 14
|
|
RespUserLevelTooLow = 15
|
|
RespInIgnoreList = 16
|
|
RespWouldOverwriteOldSession = 17
|
|
RespChatFlood = 18
|
|
RespUserIsBanned = 19
|
|
RespAccessDenied = 20
|
|
RespUsernameInvalid = 21
|
|
RespRegistrationRequired = 22
|
|
RespRegistrationAccepted = 23
|
|
RespUserAlreadyExists = 24
|
|
RespEmailRequiredToRegister = 25
|
|
RespTooManyRequests = 26
|
|
RespPasswordTooShort = 27
|
|
RespAccountNotActivated = 28
|
|
RespRegistrationDisabled = 29
|
|
RespRegistrationFailed = 30
|
|
RespActivationAccepted = 31
|
|
RespActivationFailed = 32
|
|
RespRegistrationAcceptedNeedsActivation = 33
|
|
RespClientIdRequired = 34
|
|
RespClientUpdateRequired = 35
|
|
RespServerFull = 36
|
|
RespEmailBlackListed = 37
|
|
|
|
|
|
class ZoneType(enum.IntEnum):
|
|
"""Zone types from serverinfo_zone.proto"""
|
|
PrivateZone = 0
|
|
PublicZone = 1
|
|
HiddenZone = 2
|
|
|
|
|
|
class UserLevelFlag(enum.IntFlag):
|
|
"""User level flags from serverinfo_user.proto"""
|
|
IsNothing = 0
|
|
IsUser = 1
|
|
IsRegistered = 2
|
|
IsModerator = 4
|
|
IsAdmin = 8
|
|
IsJudge = 16
|