feat: mode protos

This commit is contained in:
TrèsAbhi committed 2024-09-29 22:03:50 -05:00
1 parent 370ef2df65
commit 9cced11199
23 files changed
+1789 -1714

No files matched your search

@@ -0,0 +1,14 @@
syntax = "proto3";
package blitzkit;
message CamouflageDefinitions {
map<uint32, Camouflage> camouflages = 1;
}
message Camouflage {
uint32 id = 1;
string name = 2;
optional string tank_name = 3;
optional string tank_name_full = 4;
}
@@ -0,0 +1,50 @@
syntax = "proto3";
package blitzkit;
import "packages/core/src/protos/raw/tank_definitions.proto";
message ConsumableDefinitions {
map<uint32, Consumable> consumables = 1;
}
message Consumable {
uint32 id = 1;
string name = 2;
uint32 cooldown = 3;
optional uint32 duration = 4;
bool game_mode_exclusive = 5;
repeated ConsumableTankFilter include = 6;
repeated ConsumableTankFilter exclude = 7;
}
message ConsumableTankFilter {
oneof filter_type {
ConsumableTankTierFilter tier = 1;
ConsumableTankIdsFilter ids = 2;
ConsumableTankCategoryFilter category = 3;
ConsumableTankNationFilter nation = 4;
}
}
message ConsumableTankTierFilter {
Tier min = 1;
Tier max = 2;
}
message ConsumableTankIdsFilter {
repeated uint32 ids = 1;
}
message ConsumableTankCategoryFilter {
repeated ConsumableTankCategoryFilterCategory categories = 1;
}
enum ConsumableTankCategoryFilterCategory {
TANK_CATEGORY_UNSPECIFIED = 0;
TANK_CATEGORY_CLIP = 1;
}
message ConsumableTankNationFilter {
repeated string nations = 1;
}
@@ -0,0 +1,22 @@
syntax = "proto3";
package blitzkit;
message EquipmentDefinitions {
map<string, EquipmentPreset> presets = 1;
map<uint32, Equipment> equipments = 2;
}
message Equipment {
string name = 1;
string description = 2;
}
message EquipmentPreset {
repeated EquipmentSlot slots = 1;
}
message EquipmentSlot {
uint32 left = 1;
uint32 right = 2;
}
@@ -0,0 +1,19 @@
syntax = "proto3";
package blitzkit;
message GameDefinitions {
string version = 1;
repeated string nations = 2;
map<uint32, GameMode> gameModes = 3;
map<uint32, GameModeRole> roles = 4;
}
message GameMode {
string name = 1;
}
message GameModeRole {
repeated uint32 provisions = 1;
repeated uint32 consumables = 2;
}
@@ -0,0 +1,79 @@
syntax = "proto3";
package blitzkit;
message ModelDefinitions {
map<uint32, ModelDefinition> models = 1;
}
message ModelDefinition {
Armor armor = 1;
Vector3 turret_origin = 2;
optional InitialTurretRotation initial_turret_rotation = 3;
map<uint32, TurretModelDefinition> turrets = 4;
map<uint32, TrackModelDefinition> tracks = 5;
BoundingBox bounding_box = 6;
}
message Armor {
map<uint32, uint32> thickness = 1;
repeated uint32 spaced = 2;
}
message Vector3 {
float x = 1;
float y = 2;
float z = 3;
}
message InitialTurretRotation {
float yaw = 1;
float pitch = 2;
float roll = 3;
}
message TurretModelDefinition {
BoundingBox bounding_box = 1;
Armor armor = 2;
uint32 model_id = 3;
Vector3 gun_origin = 4;
map<uint32, GunModelDefinition> guns = 5;
optional YawLimits yaw = 6;
}
message YawLimits {
float min = 1;
float max = 2;
}
message BoundingBox {
Vector3 min = 1;
Vector3 max = 2;
}
message TrackModelDefinition {
uint32 thickness = 1;
Vector3 origin = 2;
}
message GunModelDefinition {
Armor armor = 1;
uint32 thickness = 2;
uint32 model_id = 3;
PitchLimits pitch = 4;
optional float mask = 5;
}
message PitchLimits {
float min = 1;
float max = 2;
optional PitchLimitsExtrema front = 3;
optional PitchLimitsExtrema back = 4;
optional float transition = 5;
}
message PitchLimitsExtrema {
float min = 1;
float max = 2;
float range = 3;
}
@@ -0,0 +1,18 @@
syntax = "proto3";
package blitzkit;
import "packages/core/src/protos/raw/consumable_definitions.proto";
message ProvisionDefinitions {
map<uint32, Provision> provisions = 1;
}
message Provision {
uint32 id = 1;
string name = 2;
optional float crew = 3;
bool game_mode_exclusive = 5;
repeated ConsumableTankFilter include = 6;
repeated ConsumableTankFilter exclude = 7;
}
@@ -0,0 +1,12 @@
syntax = "proto3";
package blitzkit;
message SkillDefinitions {
// enums are disallowed as keys so using uint32; convert run-time
map<uint32, Skill> classes = 1;
}
message Skill {
repeated string skills = 1;
}
@@ -84,7 +84,7 @@ message TurretDefinition {
float traverse_speed = 4;
optional uint32 xp = 5;
string name = 6;
uint32 tier = 7;
Tier tier = 7;
uint32 weight = 8;
repeated GunDefinition guns = 9;
repeated Unlock unlocks = 10;
@@ -135,7 +135,7 @@ message GunDefinitionBase {
optional uint32 xp = 3;
uint32 weight = 4;
string name = 5;
uint32 tier = 6;
Tier tier = 6;
repeated ShellDefinition shells = 7;
float camouflage_loss = 8;
float aim_time = 9;