syntax = "proto2"; package SC2APIProtocol; message Score { enum ScoreType { Curriculum = 1; // map generated score (from curriculum maps with special scoring) Melee = 2; // summation of in-progress and current units/buildings value + minerals + vespene } optional ScoreType score_type = 6; optional int32 score = 7; // Note: check score_type to know whether this is a melee score or curriculum score optional ScoreDetails score_details = 8; } message CategoryScoreDetails { optional float none = 1; // Used when no other category is configured in game data optional float army = 2; optional float economy = 3; optional float technology = 4; optional float upgrade = 5; } message VitalScoreDetails { optional float life = 1; optional float shields = 2; optional float energy = 3; } message ScoreDetails { // Sum of time any available structure able to produce a unit is not. The time stacks, as in, three idle barracks will increase idle_production_time three times quicker than just one. optional float idle_production_time = 1; // Sum of time any worker is not mining. Note a worker building is not idle and three idle workers will increase this value three times quicker than just one. optional float idle_worker_time = 2; // Sum of minerals and vespene spent on completed units. optional float total_value_units = 3; // Sum of minerals and vespene spent on completed structures. optional float total_value_structures = 4; // Sum of minerals and vespene of units, belonging to the opponent, that the player has destroyed. optional float killed_value_units = 5; // Sum of minerals and vespene of structures, belonging to the opponent, that the player has destroyed. optional float killed_value_structures = 6; // Sum of minerals collected by the player. optional float collected_minerals = 7; // Sum of vespene collected by the player. optional float collected_vespene = 8; // Estimated income of minerals over the next minute based on the players current income. The unit is minerals per minute. optional float collection_rate_minerals = 9; // Estimated income of vespene over the next minute based on the players current income. The unit is vespene per minute. optional float collection_rate_vespene = 10; // Sum of spent minerals at the moment it is spent. For example, this number is incremented by 50 the moment an scv is queued in a command center. It is decremented by 50 if that unit is canceled. optional float spent_minerals = 11; // Sum of spent vespene at the moment it is spent. For example, this number is incremented by 50 when a reaper is queued but decremented by 50 if it is canceled. optional float spent_vespene = 12; // The following entries contains floating point values for the following catgories: // none - There is no category defined in game data. // army - This category includes all military units but not workers. // economy - This category contains town halls, supply structures, vespene buildings and workers. // technology - This category is any structure that produces units or upgrades, Barracks and Engineering Bays both fall in this category, for example. // upgrade - This category is upgrades such as warp gate or weapons upgrades. // Sum of food, or supply, utilized in the categories above. optional CategoryScoreDetails food_used = 13; // Sum of enemies catagories destroyed in minerals. optional CategoryScoreDetails killed_minerals = 14; // Sum of enemies catagories destroyed in vespene. optional CategoryScoreDetails killed_vespene = 15; // Sum of lost minerals for the player in each category. optional CategoryScoreDetails lost_minerals = 16; // Sum of lost vespene for the player in each category. optional CategoryScoreDetails lost_vespene = 17; // Sum of the lost minerals via destroying the players own units/buildings. optional CategoryScoreDetails friendly_fire_minerals = 18; // Sum of the lost vespene via destroying the players own units/buildings. optional CategoryScoreDetails friendly_fire_vespene = 19; // Sum of used minerals for the player in each category for each existing unit or upgrade. Therefore if a unit died worth 50 mierals this number will be decremented by 50. optional CategoryScoreDetails used_minerals = 20; // Sum of used vespene for the player in each category. Therefore if a unit died worth 50 vespene this number will be decremented by 50. optional CategoryScoreDetails used_vespene = 21; // Sum of used minerals throughout the entire game for each category. Unliked used_minerals, this value is never decremented. optional CategoryScoreDetails total_used_minerals = 22; // Sum of used vespene throughout the entire game for each category. Unliked used_vespene, this value is never decremented. optional CategoryScoreDetails total_used_vespene = 23; // Sum of damage dealt to the player's opponent for each category. optional VitalScoreDetails total_damage_dealt = 24; // Sum of damage taken by the player for each category. optional VitalScoreDetails total_damage_taken = 25; // Sum of health healed by the player. Note that technology can be healed (by queens) or repaired (by scvs). optional VitalScoreDetails total_healed = 26; }