mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-09-24 02:13:02 -07:00
Merge 5cea39a1fc into b3c426cd43
This commit is contained in:
commit
3d235d7ff1
9 changed files with 111 additions and 0 deletions
|
|
@ -61,6 +61,7 @@ set(PROTO_FILES
|
||||||
command_set_sideboard_lock.proto
|
command_set_sideboard_lock.proto
|
||||||
command_set_sideboard_plan.proto
|
command_set_sideboard_plan.proto
|
||||||
command_shuffle.proto
|
command_shuffle.proto
|
||||||
|
command_tournament.proto
|
||||||
command_undo_draw.proto
|
command_undo_draw.proto
|
||||||
commands.proto
|
commands.proto
|
||||||
context_concede.proto
|
context_concede.proto
|
||||||
|
|
@ -119,6 +120,7 @@ set(PROTO_FILES
|
||||||
event_set_card_counter.proto
|
event_set_card_counter.proto
|
||||||
event_set_counter.proto
|
event_set_counter.proto
|
||||||
event_shuffle.proto
|
event_shuffle.proto
|
||||||
|
event_tournament_state.proto
|
||||||
event_user_joined.proto
|
event_user_joined.proto
|
||||||
event_user_left.proto
|
event_user_left.proto
|
||||||
event_user_message.proto
|
event_user_message.proto
|
||||||
|
|
@ -186,6 +188,7 @@ set(PROTO_FILES
|
||||||
serverinfo_replay_match.proto
|
serverinfo_replay_match.proto
|
||||||
serverinfo_report.proto
|
serverinfo_report.proto
|
||||||
serverinfo_room.proto
|
serverinfo_room.proto
|
||||||
|
serverinfo_tournament.proto
|
||||||
serverinfo_user.proto
|
serverinfo_user.proto
|
||||||
serverinfo_user_alt.proto
|
serverinfo_user_alt.proto
|
||||||
serverinfo_user_session.proto
|
serverinfo_user_session.proto
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
syntax = "proto2";
|
||||||
|
import "game_commands.proto";
|
||||||
|
import "serverinfo_tournament.proto";
|
||||||
|
|
||||||
|
message Command_ReportMatchResult {
|
||||||
|
extend GameCommand {
|
||||||
|
optional Command_ReportMatchResult ext = 1037;
|
||||||
|
}
|
||||||
|
|
||||||
|
optional sint32 game_id = 1 [default = -1];
|
||||||
|
// The winning player's ID. A drawn match is reported with is_draw set and
|
||||||
|
// winner_id left unset so a missing report stays distinguishable from a
|
||||||
|
// reported draw via has_winner_id().
|
||||||
|
optional sint32 winner_id = 2 [default = -1];
|
||||||
|
// Whether the match ended in a draw; winner_id is meaningless then.
|
||||||
|
optional bool is_draw = 3;
|
||||||
|
}
|
||||||
|
|
||||||
|
message Command_AdvanceTournament {
|
||||||
|
extend GameCommand {
|
||||||
|
optional Command_AdvanceTournament ext = 1038;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
message Command_TournamentSettingsSelect {
|
||||||
|
extend GameCommand {
|
||||||
|
optional Command_TournamentSettingsSelect ext = 1039;
|
||||||
|
}
|
||||||
|
|
||||||
|
optional TournamentSettings settings = 1;
|
||||||
|
}
|
||||||
|
|
@ -24,4 +24,7 @@ message Event_GameStateChanged {
|
||||||
|
|
||||||
// the amount of seconds since the game started
|
// the amount of seconds since the game started
|
||||||
optional uint32 seconds_elapsed = 5;
|
optional uint32 seconds_elapsed = 5;
|
||||||
|
|
||||||
|
// for tournament sub-games: the ID of the parent tournament game (-1 if not a sub-game)
|
||||||
|
optional sint32 parent_game_id = 10 [default = -1];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
syntax = "proto2";
|
||||||
|
import "game_event.proto";
|
||||||
|
import "serverinfo_tournament.proto";
|
||||||
|
|
||||||
|
message Event_TournamentState {
|
||||||
|
extend GameEvent {
|
||||||
|
optional Event_TournamentState ext = 2027;
|
||||||
|
}
|
||||||
|
|
||||||
|
enum TournamentPhase {
|
||||||
|
PHASE_DECK_BUILDING = 0;
|
||||||
|
PHASE_PLAYING = 1;
|
||||||
|
PHASE_FINISHED = 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
optional TournamentPhase phase = 1;
|
||||||
|
optional uint32 current_round = 2;
|
||||||
|
optional uint32 total_rounds = 3;
|
||||||
|
repeated TournamentPlayer players = 4;
|
||||||
|
repeated TournamentPairing pairings = 5;
|
||||||
|
optional TournamentSettings settings = 6;
|
||||||
|
}
|
||||||
|
|
@ -180,6 +180,15 @@ message GameCommand {
|
||||||
/// Server: Server_Player::cmdSetPlaymat
|
/// Server: Server_Player::cmdSetPlaymat
|
||||||
/// Client: reflected via player properties changed event
|
/// Client: reflected via player properties changed event
|
||||||
SET_PLAYMAT = 1035;
|
SET_PLAYMAT = 1035;
|
||||||
|
|
||||||
|
/// Report the result of a tournament match sub-game.
|
||||||
|
REPORT_MATCH_RESULT = 1037;
|
||||||
|
|
||||||
|
/// Advance the tournament to the next round.
|
||||||
|
ADVANCE_TOURNAMENT = 1038;
|
||||||
|
|
||||||
|
/// Select tournament settings.
|
||||||
|
TOURNAMENT_SETTINGS_SELECT = 1039;
|
||||||
}
|
}
|
||||||
|
|
||||||
extensions 100 to max;
|
extensions 100 to max;
|
||||||
|
|
|
||||||
|
|
@ -34,6 +34,7 @@ message GameEvent {
|
||||||
CHANGE_ZONE_PROPERTIES = 2020;
|
CHANGE_ZONE_PROPERTIES = 2020;
|
||||||
REVERSE_TURN = 2021;
|
REVERSE_TURN = 2021;
|
||||||
GAME_LOG_NOTICE = 2022;
|
GAME_LOG_NOTICE = 2022;
|
||||||
|
TOURNAMENT_STATE = 2027;
|
||||||
}
|
}
|
||||||
optional sint32 player_id = 1 [default = -1];
|
optional sint32 player_id = 1 [default = -1];
|
||||||
extensions 100 to max;
|
extensions 100 to max;
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,5 @@
|
||||||
syntax = "proto2";
|
syntax = "proto2";
|
||||||
|
import "serverinfo_tournament.proto";
|
||||||
message RoomCommand {
|
message RoomCommand {
|
||||||
enum RoomCommandType {
|
enum RoomCommandType {
|
||||||
LEAVE_ROOM = 1000;
|
LEAVE_ROOM = 1000;
|
||||||
|
|
@ -69,6 +70,12 @@ message Command_CreateGame {
|
||||||
|
|
||||||
// share decklists with all players when selected
|
// share decklists with all players when selected
|
||||||
optional bool share_decklists_on_load = 14;
|
optional bool share_decklists_on_load = 14;
|
||||||
|
|
||||||
|
// tournament settings shared by game creation and mid-game changes
|
||||||
|
optional TournamentSettings tournament_settings = 15;
|
||||||
|
|
||||||
|
// whether this is a tournament game
|
||||||
|
optional bool is_tournament = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Command_JoinGame {
|
message Command_JoinGame {
|
||||||
|
|
|
||||||
|
|
@ -65,4 +65,7 @@ message ServerInfo_Game {
|
||||||
|
|
||||||
// the current host of the game, which may differ from the creator after a host transfer
|
// the current host of the game, which may differ from the creator after a host transfer
|
||||||
optional ServerInfo_User host_info = 53;
|
optional ServerInfo_User host_info = 53;
|
||||||
|
|
||||||
|
// whether this game is a tournament game
|
||||||
|
optional bool is_tournament = 54;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,32 @@
|
||||||
|
syntax = "proto2";
|
||||||
|
|
||||||
|
// Player-entered tournament metadata as shown in the standings and bracket views.
|
||||||
|
message TournamentPlayer {
|
||||||
|
optional sint32 player_id = 1;
|
||||||
|
optional string player_name = 2;
|
||||||
|
optional uint32 wins = 3;
|
||||||
|
optional uint32 losses = 4;
|
||||||
|
optional uint32 draws = 5;
|
||||||
|
optional bool deck_submitted = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
// A single match pairing within a tournament round.
|
||||||
|
message TournamentPairing {
|
||||||
|
optional sint32 player1_id = 1;
|
||||||
|
// -1 when the pairing is a bye.
|
||||||
|
optional sint32 player2_id = 2 [default = -1];
|
||||||
|
optional sint32 game_id = 3;
|
||||||
|
// The winning player's ID, or -1 when the match ended in a draw (is_draw).
|
||||||
|
// An unset field reads back as -1 too; has_winner_id() distinguishes those.
|
||||||
|
optional sint32 winner_id = 4 [default = -1];
|
||||||
|
optional uint32 player1_match_wins = 5;
|
||||||
|
optional uint32 player2_match_wins = 6;
|
||||||
|
// Whether the match ended in a draw; winner_id is meaningless then.
|
||||||
|
optional bool is_draw = 7;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Settings governing all matches of a tournament.
|
||||||
|
message TournamentSettings {
|
||||||
|
// Number of games per match (e.g. 3 for best of 3).
|
||||||
|
optional uint32 games_per_match = 1 [default = 1];
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue