2016-11-05 16:45:05 +00:00
|
|
|
syntax = "proto2";
|
|
|
|
|
2016-01-20 03:47:58 +00:00
|
|
|
package mage.game.result;
|
|
|
|
|
|
|
|
option java_outer_classname = "ResultProtos";
|
|
|
|
|
|
|
|
message TableProto {
|
|
|
|
optional MatchProto match = 1;
|
|
|
|
optional TourneyProto tourney = 2;
|
|
|
|
optional string game_type = 3;
|
|
|
|
optional string deck_type = 4;
|
|
|
|
optional string name = 5;
|
|
|
|
optional string controller_name = 6;
|
|
|
|
optional int64 start_time_ms = 7;
|
|
|
|
optional int64 end_time_ms = 8;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MatchProto {
|
|
|
|
optional string name = 1;
|
|
|
|
optional string game_type = 2;
|
|
|
|
optional string deck_type = 3;
|
|
|
|
optional int32 games = 4;
|
|
|
|
optional int32 draws = 5;
|
|
|
|
repeated MatchPlayerProto players = 6;
|
2016-05-17 14:22:14 +00:00
|
|
|
optional MatchOptionsProto match_options = 7;
|
|
|
|
optional int64 end_time_ms = 8;
|
|
|
|
}
|
|
|
|
|
|
|
|
message MatchOptionsProto {
|
|
|
|
optional string name = 1;
|
|
|
|
optional bool limited = 2;
|
|
|
|
optional bool rated = 3;
|
|
|
|
optional SkillLevel skill_level = 4;
|
|
|
|
optional int32 wins_needed = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
enum SkillLevel {
|
|
|
|
BEGINNER = 0;
|
|
|
|
CASUAL = 1;
|
|
|
|
SERIOUS = 2;
|
2016-01-20 03:47:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
message MatchPlayerProto {
|
|
|
|
optional string name = 1;
|
|
|
|
optional int32 wins = 2;
|
|
|
|
optional MatchQuitStatus quit = 3;
|
|
|
|
optional bool bye = 4;
|
2016-05-17 14:22:14 +00:00
|
|
|
optional bool human = 5;
|
2016-01-20 03:47:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
enum MatchQuitStatus {
|
|
|
|
NO_MATCH_QUIT = 0;
|
|
|
|
IDLE_TIMEOUT = 1; // I
|
|
|
|
TIMER_TIMEOUT = 2; // T
|
|
|
|
QUIT = 3; // Q
|
|
|
|
}
|
|
|
|
|
|
|
|
message TourneyProto {
|
|
|
|
optional string booster_info = 1;
|
|
|
|
repeated TourneyPlayerProto players = 2;
|
|
|
|
repeated TourneyRoundProto rounds = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message TourneyPlayerProto {
|
|
|
|
optional string name = 1;
|
|
|
|
optional string player_type = 2;
|
|
|
|
optional string replaced_player_name = 3;
|
2016-01-20 05:39:11 +00:00
|
|
|
optional TourneyQuitStatus quit = 4;
|
2016-01-20 03:47:58 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
enum TourneyQuitStatus {
|
|
|
|
NO_TOURNEY_QUIT = 0;
|
|
|
|
DURING_ROUND = 1;
|
|
|
|
DURING_DRAFTING = 2;
|
|
|
|
DURING_CONSTRUCTION = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message TourneyRoundProto {
|
|
|
|
optional int32 round = 1;
|
|
|
|
repeated MatchProto matches = 2;
|
|
|
|
repeated string byes = 3;
|
|
|
|
}
|
|
|
|
|
|
|
|
message UserStatsProto {
|
|
|
|
optional string name = 1;
|
|
|
|
|
|
|
|
optional int32 tourneys = 2;
|
|
|
|
optional int32 tourneys_quit_during_round = 3;
|
|
|
|
optional int32 tourneys_quit_during_drafting = 4;
|
|
|
|
optional int32 tourneys_quit_during_construction = 5;
|
|
|
|
|
|
|
|
optional int32 matches = 6;
|
|
|
|
optional int32 matches_idle_timeout = 7;
|
|
|
|
optional int32 matches_timer_timeout = 8;
|
|
|
|
optional int32 matches_quit = 9;
|
2016-05-17 14:22:14 +00:00
|
|
|
|
|
|
|
optional GlickoRatingProto general_glicko_rating = 10;
|
|
|
|
optional GlickoRatingProto constructed_glicko_rating = 11;
|
|
|
|
optional GlickoRatingProto limited_glicko_rating = 12;
|
|
|
|
}
|
|
|
|
|
|
|
|
message GlickoRatingProto {
|
|
|
|
required double rating = 1;
|
|
|
|
required double rating_deviation = 2;
|
|
|
|
optional int64 last_game_time_ms = 3;
|
2016-01-20 03:47:58 +00:00
|
|
|
}
|