mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 02:37:05 +02:00
proto3
This commit is contained in:
1 parent
593ae760e7
commit
1c382022a7
15 files changed
+209
-202
No files matched your search
@@ -0,0 +1,8 @@
|
|||||||
|
---
|
||||||
|
name: proto-workflow
|
||||||
|
description: Regenerate this repository's TypeScript protobuf outputs after editing .proto schemas.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Proto Workflow
|
||||||
|
|
||||||
|
After editing any `.proto` schema in this repository, run `bun run build-protos` from the repository root. Review the generated changes and address any schema or generator errors before finishing the task.
|
||||||
@@ -1,47 +1,47 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
message AverageDefinitions {
|
message AverageDefinitions {
|
||||||
map<uint32, AverageDefinitionsEntry> averages = 1;
|
map<uint32, AverageDefinitionsEntry> averages = 1;
|
||||||
required Samples samples = 2;
|
Samples samples = 2;
|
||||||
required uint64 time = 3;
|
uint64 time = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message AverageDefinitionsEntry {
|
message AverageDefinitionsEntry {
|
||||||
required AverageDefinitionsAllStats mu = 1;
|
AverageDefinitionsAllStats mu = 1;
|
||||||
required AverageDefinitionsAllStats sigma = 2;
|
AverageDefinitionsAllStats sigma = 2;
|
||||||
required AverageDefinitionsAllStats r = 3;
|
AverageDefinitionsAllStats r = 3;
|
||||||
required Samples samples = 4;
|
Samples samples = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message AverageDefinitionsAllStats {
|
message AverageDefinitionsAllStats {
|
||||||
required float battles = 1;
|
float battles = 1;
|
||||||
required float capture_points = 2;
|
float capture_points = 2;
|
||||||
required float damage_dealt = 3;
|
float damage_dealt = 3;
|
||||||
required float damage_received = 4;
|
float damage_received = 4;
|
||||||
required float dropped_capture_points = 5;
|
float dropped_capture_points = 5;
|
||||||
required float frags = 6;
|
float frags = 6;
|
||||||
required float frags8p = 7;
|
float frags8p = 7;
|
||||||
required float hits = 8;
|
float hits = 8;
|
||||||
required float losses = 9;
|
float losses = 9;
|
||||||
required float max_frags = 10;
|
float max_frags = 10;
|
||||||
required float max_xp = 11;
|
float max_xp = 11;
|
||||||
required float shots = 12;
|
float shots = 12;
|
||||||
required float spotted = 13;
|
float spotted = 13;
|
||||||
required float survived_battles = 14;
|
float survived_battles = 14;
|
||||||
required float win_and_survived = 15;
|
float win_and_survived = 15;
|
||||||
required float wins = 16;
|
float wins = 16;
|
||||||
required float xp = 17;
|
float xp = 17;
|
||||||
required float battle_life_time = 18;
|
float battle_life_time = 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Samples {
|
message Samples {
|
||||||
required uint32 d_1 = 1;
|
uint32 d_1 = 1;
|
||||||
required uint32 d_7 = 2;
|
uint32 d_7 = 2;
|
||||||
required uint32 d_30 = 3;
|
uint32 d_30 = 3;
|
||||||
required uint32 d_60 = 4;
|
uint32 d_60 = 4;
|
||||||
required uint32 d_90 = 5;
|
uint32 d_90 = 5;
|
||||||
required uint32 d_120 = 6;
|
uint32 d_120 = 6;
|
||||||
required uint32 total = 7;
|
uint32 total = 7;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -9,8 +9,8 @@ message CamouflageDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Camouflage {
|
message Camouflage {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
optional I18nString tank_name = 3;
|
optional I18nString tank_name = 3;
|
||||||
optional I18nString tank_name_full = 4;
|
optional I18nString tank_name_full = 4;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -9,9 +9,9 @@ message ConsumableDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Consumable {
|
message Consumable {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
required bool game_mode_exclusive = 5;
|
bool game_mode_exclusive = 5;
|
||||||
repeated TankInclusivityFilter include = 6;
|
repeated TankInclusivityFilter include = 6;
|
||||||
repeated TankInclusivityFilter exclude = 7;
|
repeated TankInclusivityFilter exclude = 7;
|
||||||
}
|
}
|
||||||
@@ -26,8 +26,8 @@ message TankInclusivityFilter {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ConsumableTankTierFilter {
|
message ConsumableTankTierFilter {
|
||||||
required uint32 min = 1;
|
uint32 min = 1;
|
||||||
required uint32 max = 2;
|
uint32 max = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ConsumableTankIdsFilter {
|
message ConsumableTankIdsFilter {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -9,7 +9,7 @@ message Gallery {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Avatar {
|
message Avatar {
|
||||||
required string id = 1;
|
string id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
required string extension = 3;
|
string extension = 3;
|
||||||
}
|
}
|
||||||
@@ -1,18 +1,18 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
import "i18n.proto";
|
import "i18n.proto";
|
||||||
|
|
||||||
message GameDefinitions {
|
message GameDefinitions {
|
||||||
required string version = 1;
|
string version = 1;
|
||||||
repeated string nations = 2;
|
repeated string nations = 2;
|
||||||
map<string, GameMode> gameModes = 3;
|
map<string, GameMode> gameModes = 3;
|
||||||
map<uint32, GameModeRole> roles = 4;
|
map<uint32, GameModeRole> roles = 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GameMode {
|
message GameMode {
|
||||||
required I18nString name = 1;
|
I18nString name = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GameModeRole {
|
message GameModeRole {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -9,6 +9,6 @@ message MapDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message MapDefinition {
|
message MapDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -7,12 +7,12 @@ message ModelDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ModelDefinition {
|
message ModelDefinition {
|
||||||
required Armor armor = 1;
|
Armor armor = 1;
|
||||||
required Vector3 turret_origin = 2;
|
Vector3 turret_origin = 2;
|
||||||
optional InitialTurretRotation initial_turret_rotation = 3;
|
optional InitialTurretRotation initial_turret_rotation = 3;
|
||||||
map<uint32, TurretModelDefinition> turrets = 4;
|
map<uint32, TurretModelDefinition> turrets = 4;
|
||||||
map<uint32, TrackModelDefinition> tracks = 5;
|
map<uint32, TrackModelDefinition> tracks = 5;
|
||||||
required BoundingBox bounding_box = 6;
|
BoundingBox bounding_box = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Armor {
|
message Armor {
|
||||||
@@ -21,59 +21,59 @@ message Armor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Vector3 {
|
message Vector3 {
|
||||||
required float x = 1;
|
float x = 1;
|
||||||
required float y = 2;
|
float y = 2;
|
||||||
required float z = 3;
|
float z = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message InitialTurretRotation {
|
message InitialTurretRotation {
|
||||||
required float yaw = 1;
|
float yaw = 1;
|
||||||
required float pitch = 2;
|
float pitch = 2;
|
||||||
required float roll = 3;
|
float roll = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TurretModelDefinition {
|
message TurretModelDefinition {
|
||||||
required BoundingBox bounding_box = 1;
|
BoundingBox bounding_box = 1;
|
||||||
required Armor armor = 2;
|
Armor armor = 2;
|
||||||
required uint32 model_id = 3;
|
uint32 model_id = 3;
|
||||||
required Vector3 gun_origin = 4;
|
Vector3 gun_origin = 4;
|
||||||
map<uint32, GunModelDefinition> guns = 5;
|
map<uint32, GunModelDefinition> guns = 5;
|
||||||
optional YawLimits yaw = 6;
|
optional YawLimits yaw = 6;
|
||||||
}
|
}
|
||||||
|
|
||||||
message YawLimits {
|
message YawLimits {
|
||||||
required float min = 1;
|
float min = 1;
|
||||||
required float max = 2;
|
float max = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message BoundingBox {
|
message BoundingBox {
|
||||||
required Vector3 min = 1;
|
Vector3 min = 1;
|
||||||
required Vector3 max = 2;
|
Vector3 max = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TrackModelDefinition {
|
message TrackModelDefinition {
|
||||||
required float thickness = 1;
|
float thickness = 1;
|
||||||
required Vector3 origin = 2;
|
Vector3 origin = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GunModelDefinition {
|
message GunModelDefinition {
|
||||||
required Armor armor = 1;
|
Armor armor = 1;
|
||||||
required float thickness = 2;
|
float thickness = 2;
|
||||||
required uint32 model_id = 3;
|
uint32 model_id = 3;
|
||||||
required PitchLimits pitch = 4;
|
PitchLimits pitch = 4;
|
||||||
optional float mask = 5;
|
optional float mask = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PitchLimits {
|
message PitchLimits {
|
||||||
required float min = 1;
|
float min = 1;
|
||||||
required float max = 2;
|
float max = 2;
|
||||||
optional PitchLimitsExtrema front = 3;
|
optional PitchLimitsExtrema front = 3;
|
||||||
optional PitchLimitsExtrema back = 4;
|
optional PitchLimitsExtrema back = 4;
|
||||||
optional float transition = 5;
|
optional float transition = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message PitchLimitsExtrema {
|
message PitchLimitsExtrema {
|
||||||
required float min = 1;
|
float min = 1;
|
||||||
required float max = 2;
|
float max = 2;
|
||||||
required float range = 3;
|
float range = 3;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -7,6 +7,6 @@ message PopularTanks {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message PopularTank {
|
message PopularTank {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required uint32 views = 2; // views in the last 7 days
|
uint32 views = 2; // views in the last 7 days
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -10,11 +10,10 @@ message ProvisionDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Provision {
|
message Provision {
|
||||||
reserved 3; // crew
|
|
||||||
|
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
required bool game_mode_exclusive = 5;
|
bool game_mode_exclusive = 3;
|
||||||
repeated TankInclusivityFilter include = 6;
|
repeated TankInclusivityFilter include = 4;
|
||||||
repeated TankInclusivityFilter exclude = 7;
|
repeated TankInclusivityFilter exclude = 5;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -14,8 +14,8 @@ message RatingLeaderboardV1 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message RatingLeaderboardEntryV1 {
|
message RatingLeaderboardEntryV1 {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required uint32 score = 2;
|
uint32 score = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RatingLeaderboardV2 {
|
message RatingLeaderboardV2 {
|
||||||
@@ -23,11 +23,11 @@ message RatingLeaderboardV2 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message RatingLeaderboardEntryV2 {
|
message RatingLeaderboardEntryV2 {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required uint32 score = 2;
|
uint32 score = 2;
|
||||||
required uint32 battles = 3;
|
uint32 battles = 3;
|
||||||
required uint32 wins = 4;
|
uint32 wins = 4;
|
||||||
required uint32 survived = 5;
|
uint32 survived = 5;
|
||||||
required uint32 damage = 6;
|
uint32 damage = 6;
|
||||||
required uint32 kills = 7;
|
uint32 kills = 7;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -7,11 +7,11 @@ message Reviews {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Review {
|
message Review {
|
||||||
required float last_updated = 1;
|
float last_updated = 1;
|
||||||
repeated Video videos = 2;
|
repeated Video videos = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Video {
|
message Video {
|
||||||
required string id = 1;
|
string id = 1;
|
||||||
required string author = 2;
|
string author = 2;
|
||||||
}
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
syntax = "proto2";
|
syntax = "proto3";
|
||||||
|
|
||||||
package blitzkit;
|
package blitzkit;
|
||||||
|
|
||||||
@@ -9,46 +9,46 @@ message TankDefinitions {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message TankDefinition {
|
message TankDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required string slug = 2;
|
string slug = 2;
|
||||||
map<string, uint32> roles = 3;
|
map<string, uint32> roles = 3;
|
||||||
required bool fixed_camouflage = 5;
|
bool fixed_camouflage = 5;
|
||||||
repeated int32 camouflages = 6;
|
repeated int32 camouflages = 6;
|
||||||
repeated int32 ancestors = 7;
|
repeated int32 ancestors = 7;
|
||||||
repeated int32 successors = 8;
|
repeated int32 successors = 8;
|
||||||
repeated Crew crew = 9;
|
repeated Crew crew = 9;
|
||||||
required uint32 health = 10;
|
uint32 health = 10;
|
||||||
required string nation = 11;
|
string nation = 11;
|
||||||
required I18nString name = 12;
|
I18nString name = 12;
|
||||||
required TankType type = 13;
|
TankType type = 13;
|
||||||
required uint32 max_consumables = 14;
|
uint32 max_consumables = 14;
|
||||||
required uint32 max_provisions = 15;
|
uint32 max_provisions = 15;
|
||||||
required uint32 tier = 16;
|
uint32 tier = 16;
|
||||||
required TankClass class = 17;
|
TankClass class = 17;
|
||||||
required bool testing = 18;
|
bool testing = 18;
|
||||||
required bool deprecated = 19;
|
bool deprecated = 19;
|
||||||
repeated TurretDefinition turrets = 20;
|
repeated TurretDefinition turrets = 20;
|
||||||
repeated EngineDefinition engines = 21;
|
repeated EngineDefinition engines = 21;
|
||||||
repeated TrackDefinition tracks = 22;
|
repeated TrackDefinition tracks = 22;
|
||||||
required TankPrice price = 23;
|
TankPrice price = 23;
|
||||||
optional ResearchCost research_cost = 24;
|
optional ResearchCost research_cost = 24;
|
||||||
required float speed_forwards = 25;
|
float speed_forwards = 25;
|
||||||
required float speed_backwards = 26;
|
float speed_backwards = 26;
|
||||||
required float camouflage_still = 27;
|
float camouflage_still = 27;
|
||||||
required float camouflage_moving = 28;
|
float camouflage_moving = 28;
|
||||||
required float camouflage_on_fire = 29;
|
float camouflage_on_fire = 29;
|
||||||
required string equipment_preset = 30;
|
string equipment_preset = 30;
|
||||||
required uint32 weight = 31;
|
uint32 weight = 31;
|
||||||
required string dev_name = 32;
|
string dev_name = 32;
|
||||||
optional Equalizer equalizer = 33;
|
optional Equalizer equalizer = 33;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Equalizer {
|
message Equalizer {
|
||||||
required float health = 1;
|
float health = 1;
|
||||||
required float penetration = 2;
|
float penetration = 2;
|
||||||
required float module_health = 3;
|
float module_health = 3;
|
||||||
required float damage = 4;
|
float damage = 4;
|
||||||
required float armor = 5;
|
float armor = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ResearchCost {
|
message ResearchCost {
|
||||||
@@ -59,8 +59,8 @@ message ResearchCost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ResearchCostSeasonalTokens {
|
message ResearchCostSeasonalTokens {
|
||||||
required uint32 season = 1;
|
uint32 season = 1;
|
||||||
required uint32 tokens = 2;
|
uint32 tokens = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum TankPriceType {
|
enum TankPriceType {
|
||||||
@@ -69,45 +69,45 @@ enum TankPriceType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message TankPrice {
|
message TankPrice {
|
||||||
required TankPriceType type = 1;
|
TankPriceType type = 1;
|
||||||
required uint32 value = 2;
|
uint32 value = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TrackDefinition {
|
message TrackDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required uint32 tier = 2;
|
uint32 tier = 2;
|
||||||
required I18nString name = 3;
|
I18nString name = 3;
|
||||||
required uint32 weight = 4;
|
uint32 weight = 4;
|
||||||
required float traverse_speed = 5;
|
float traverse_speed = 5;
|
||||||
optional ResearchCost research_cost = 6;
|
optional ResearchCost research_cost = 6;
|
||||||
required float dispersion_move = 7;
|
float dispersion_move = 7;
|
||||||
required float dispersion_traverse = 8;
|
float dispersion_traverse = 8;
|
||||||
required float resistance_hard = 9;
|
float resistance_hard = 9;
|
||||||
required float resistance_medium = 10;
|
float resistance_medium = 10;
|
||||||
required float resistance_soft = 11;
|
float resistance_soft = 11;
|
||||||
repeated Unlock unlocks = 12;
|
repeated Unlock unlocks = 12;
|
||||||
}
|
}
|
||||||
|
|
||||||
message EngineDefinition {
|
message EngineDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
optional ResearchCost research_cost = 3;
|
optional ResearchCost research_cost = 3;
|
||||||
required uint32 tier = 4;
|
uint32 tier = 4;
|
||||||
required float fire_chance = 5;
|
float fire_chance = 5;
|
||||||
required uint32 power = 6;
|
uint32 power = 6;
|
||||||
required uint32 weight = 7;
|
uint32 weight = 7;
|
||||||
repeated Unlock unlocks = 8;
|
repeated Unlock unlocks = 8;
|
||||||
}
|
}
|
||||||
|
|
||||||
message TurretDefinition {
|
message TurretDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required uint32 health = 2;
|
uint32 health = 2;
|
||||||
required uint32 view_range = 3;
|
uint32 view_range = 3;
|
||||||
required float traverse_speed = 4;
|
float traverse_speed = 4;
|
||||||
optional ResearchCost research_cost = 5;
|
optional ResearchCost research_cost = 5;
|
||||||
required I18nString name = 6;
|
I18nString name = 6;
|
||||||
required uint32 tier = 7;
|
uint32 tier = 7;
|
||||||
required uint32 weight = 8;
|
uint32 weight = 8;
|
||||||
repeated GunDefinition guns = 9;
|
repeated GunDefinition guns = 9;
|
||||||
repeated Unlock unlocks = 10;
|
repeated Unlock unlocks = 10;
|
||||||
}
|
}
|
||||||
@@ -119,44 +119,44 @@ message GunDefinition {
|
|||||||
GunDefinitionAutoReloader auto_reloader = 3;
|
GunDefinitionAutoReloader auto_reloader = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
required uint32 id = 4;
|
uint32 id = 4;
|
||||||
required float rotation_speed = 5;
|
float rotation_speed = 5;
|
||||||
optional ResearchCost research_cost = 6;
|
optional ResearchCost research_cost = 6;
|
||||||
required uint32 weight = 7;
|
uint32 weight = 7;
|
||||||
required I18nString name = 8;
|
I18nString name = 8;
|
||||||
required uint32 tier = 9;
|
uint32 tier = 9;
|
||||||
repeated ShellDefinition shells = 10;
|
repeated ShellDefinition shells = 10;
|
||||||
required float camouflage_loss = 11;
|
float camouflage_loss = 11;
|
||||||
required float aim_time = 12;
|
float aim_time = 12;
|
||||||
required float dispersion_base = 13;
|
float dispersion_base = 13;
|
||||||
required float dispersion_traverse = 14;
|
float dispersion_traverse = 14;
|
||||||
required float dispersion_shot = 15;
|
float dispersion_shot = 15;
|
||||||
required float dispersion_damaged = 16;
|
float dispersion_damaged = 16;
|
||||||
repeated Unlock unlocks = 17;
|
repeated Unlock unlocks = 17;
|
||||||
required uint32 shell_capacity = 18;
|
uint32 shell_capacity = 18;
|
||||||
optional AssaultRanges assault_ranges = 19;
|
optional AssaultRanges assault_ranges = 19;
|
||||||
optional Burst burst = 20;
|
optional Burst burst = 20;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GunDefinitionRegular {
|
message GunDefinitionRegular {
|
||||||
required float reload = 1;
|
float reload = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GunDefinitionAutoLoader {
|
message GunDefinitionAutoLoader {
|
||||||
required float clip_reload = 1;
|
float clip_reload = 1;
|
||||||
required float intra_clip = 2;
|
float intra_clip = 2;
|
||||||
required float shell_count = 3;
|
float shell_count = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Burst {
|
message Burst {
|
||||||
required uint32 count = 1;
|
uint32 count = 1;
|
||||||
required float interval = 2;
|
float interval = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message GunDefinitionAutoReloader {
|
message GunDefinitionAutoReloader {
|
||||||
repeated float shell_reloads = 1;
|
repeated float shell_reloads = 1;
|
||||||
required float intra_clip = 2;
|
float intra_clip = 2;
|
||||||
required float shell_count = 3;
|
float shell_count = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message AssaultRanges {
|
message AssaultRanges {
|
||||||
@@ -165,24 +165,24 @@ message AssaultRanges {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message AssaultRange {
|
message AssaultRange {
|
||||||
required float distance = 1;
|
float distance = 1;
|
||||||
required float factor = 2;
|
float factor = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message ShellDefinition {
|
message ShellDefinition {
|
||||||
required uint32 id = 1;
|
uint32 id = 1;
|
||||||
required I18nString name = 2;
|
I18nString name = 2;
|
||||||
required uint32 velocity = 3;
|
uint32 velocity = 3;
|
||||||
required uint32 armor_damage = 4;
|
uint32 armor_damage = 4;
|
||||||
required uint32 module_damage = 5;
|
uint32 module_damage = 5;
|
||||||
required float caliber = 6;
|
float caliber = 6;
|
||||||
required string icon = 7;
|
string icon = 7;
|
||||||
required ShellPenetration penetration = 8;
|
ShellPenetration penetration = 8;
|
||||||
required ShellType type = 9;
|
ShellType type = 9;
|
||||||
optional float normalization = 10;
|
optional float normalization = 10;
|
||||||
optional float ricochet = 11;
|
optional float ricochet = 11;
|
||||||
optional float explosion_radius = 12;
|
optional float explosion_radius = 12;
|
||||||
required uint32 range = 13;
|
uint32 range = 13;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ShellType {
|
enum ShellType {
|
||||||
@@ -193,19 +193,19 @@ enum ShellType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message ShellPenetration {
|
message ShellPenetration {
|
||||||
required float near = 1;
|
float near = 1;
|
||||||
required float far = 2;
|
float far = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message Unlock {
|
message Unlock {
|
||||||
required int32 id = 1;
|
int32 id = 1;
|
||||||
required ModuleType type = 2;
|
ModuleType type = 2;
|
||||||
required UnlockCost cost = 3;
|
UnlockCost cost = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
message UnlockCost {
|
message UnlockCost {
|
||||||
required string type = 1;
|
string type = 1;
|
||||||
required int32 value = 2;
|
int32 value = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
enum ModuleType {
|
enum ModuleType {
|
||||||
@@ -230,8 +230,8 @@ enum TankType {
|
|||||||
}
|
}
|
||||||
|
|
||||||
message Crew {
|
message Crew {
|
||||||
required CrewType type = 1;
|
CrewType type = 1;
|
||||||
required uint32 count = 2;
|
uint32 count = 2;
|
||||||
repeated CrewType substitute = 3;
|
repeated CrewType substitute = 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user