// Protocol Buffers - Google's data interchange format
// Copyright 2026 Google LLC.  All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

edition = "2026";

package custom_enum_json;

import "google/protobuf/json_options.proto";

enum Armor {
  option allow_alias = true;

  ARMOR_UNKNOWN = 0;
  ARMOR_GREAT_HELM = 1 [(pb.enumvalue.json).string = "gr8 helm"];
  ARMOR_GORGET = 2;
  ARMOR_GAUNTLET = 3 [(pb.enumvalue.json).string = "a\"b"];
  ARMOR_PLATE = 4 [(pb.enumvalue.json).string = "\"plate\""];
  ARMOR_COIF = 5 [(pb.enumvalue.json).string = ""];
  ARMOR_PAULDRON = 6 [(pb.enumvalue.json).string = "p\taul\ndron"];
  ARMOR_SABATON = 7 [(pb.enumvalue.json).string = "sabaton"];
  ARMOR_SOLLERET = 7 [(pb.enumvalue.json).string = "sabaton"];
  ARMOR_HACHI_MAI_DO = 8 [(pb.enumvalue.json).string = "8"];
}

message Knight {
  Armor armor = 1;
  repeated Armor armors = 2;
  map<string, Armor> armor_map = 3;

  enum Shield {
    SHIELD_UNKNOWN = 0;
    SHIELD_BUCKLER = 1 [(pb.enumvalue.json).string = "buckler-custom"];
  }
  Shield shield = 4;
}
