syntax = "proto2"; package blitzkit; import "packages/core/src/protos/tank_definitions.proto"; message ConsumableDefinitions { map consumables = 1; } message Consumable { required uint32 id = 1; required string name = 2; required uint32 cooldown = 3; optional float duration = 4; required bool game_mode_exclusive = 5; repeated ConsumableTankFilter include = 6; repeated ConsumableTankFilter exclude = 7; } message ConsumableTankFilter { oneof filter_type { ConsumableTankTierFilter tiers = 1; ConsumableTankIdsFilter ids = 2; ConsumableTankCategoryFilter categories = 3; ConsumableTankNationFilter nations = 4; } } message ConsumableTankTierFilter { required Tier min = 1; required Tier max = 2; } message ConsumableTankIdsFilter { repeated uint32 ids = 1; } message ConsumableTankCategoryFilter { repeated ConsumableTankCategoryFilterCategory categories = 1; } enum ConsumableTankCategoryFilterCategory { CONSUMABLE_TANK_CATEGORY_FILTER_CATEGORY_CLIP = 0; } message ConsumableTankNationFilter { repeated string nations = 1; }