mage/Mage/src/main/proto/result.proto

107 lines
2.5 KiB
Protocol Buffer
Raw Normal View History

syntax = "proto2";
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;
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;
}
message MatchPlayerProto {
optional string name = 1;
optional int32 wins = 2;
optional MatchQuitStatus quit = 3;
optional bool bye = 4;
optional bool human = 5;
}
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;
optional TourneyQuitStatus quit = 4;
}
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;
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;
}