context: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto
  #pragma warning disable 1591, 0612, 3021
  #region Designer generated code
  
  using pb = global::Google.Protobuf;
  using pbc = global::Google.Protobuf.Collections;
  using pbr = global::Google.Protobuf.Reflection;
  using scg = global::System.Collections.Generic;
  namespace POGOProtos.Settings.Master.Pokemon {
  
    /// <summary>Holder for reflection information generated from POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto</summary>
    public static partial class EncounterAttributesReflection {
  
      #region Descriptor
      /// <summary>File descriptor for POGOProtos/Settings/Master/Pokemon/EncounterAttributes.proto</summary>
      public static pbr::FileDescriptor Descriptor {
        get { return descriptor; }
      }
      private static pbr::FileDescriptor descriptor;
  
      static EncounterAttributesReflection() {
        byte[] descriptorData = global::System.Convert.FromBase64String(
            string.Concat(
              "CjxQT0dPUHJvdG9zL1NldHRpbmdzL01hc3Rlci9Qb2tlbW9uL0VuY291bnRl",
              "ckF0dHJpYnV0ZXMucHJvdG8SIlBPR09Qcm90b3MuU2V0dGluZ3MuTWFzdGVy",
              "LlBva2Vtb24aKlBPR09Qcm90b3MvRW51bXMvUG9rZW1vbk1vdmVtZW50VHlw",
              "ZS5wcm90byLDBAoTRW5jb3VudGVyQXR0cmlidXRlcxIZChFiYXNlX2NhcHR1",
              "cmVfcmF0ZRgBIAEoAhIWCg5iYXNlX2ZsZWVfcmF0ZRgCIAEoAhIaChJjb2xs",
              "aXNpb25fcmFkaXVzX20YAyABKAISGgoSY29sbGlzaW9uX2hlaWdodF9tGAQg",
              "ASgCEh8KF2NvbGxpc2lvbl9oZWFkX3JhZGl1c19tGAUgASgCEjwKDW1vdmVt",
              "ZW50X3R5cGUYBiABKA4yJS5QT0dPUHJvdG9zLkVudW1zLlBva2Vtb25Nb3Zl",
              "bWVudFR5cGUSGAoQbW92ZW1lbnRfdGltZXJfcxgHIAEoAhITCgtqdW1wX3Rp",
              "bWVfcxgIIAEoAhIWCg5hdHRhY2tfdGltZXJfcxgJIAEoAhIiChpib251c19j",
              "YW5keV9jYXB0dXJlX3Jld2FyZBgKIAEoBRIlCh1ib251c19zdGFyZHVzdF9j",
              "YXB0dXJlX3Jld2FyZBgLIAEoBRIaChJhdHRhY2tfcHJvYmFiaWxpdHkYDCAB",
              "KAISGQoRZG9kZ2VfcHJvYmFiaWxpdHkYDSABKAISGAoQZG9kZ2VfZHVyYXRp",
              "b25fcxgOIAEoAhIWCg5kb2RnZV9kaXN0YW5jZRgPIAEoAhIXCg9jYW1lcmFf",
              "ZGlzdGFuY2UYECABKAISJgoebWluX3Bva2Vtb25fYWN0aW9uX2ZyZXF1ZW5j",
              "eV9zGBEgASgCEiYKHm1heF9wb2tlbW9uX2FjdGlvbl9mcmVxdWVuY3lfcxgS",
              "IAEoAmIGcHJvdG8z"));
        descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
            new pbr::FileDescriptor[] { global::POGOProtos.Enums.PokemonMovementTypeReflection.Descriptor, },
            new pbr::GeneratedClrTypeInfo(null, new pbr::GeneratedClrTypeInfo[] {
              new pbr::GeneratedClrTypeInfo(typeof(global::POGOProtos.Settings.Master.Pokemon.EncounterAttributes), global::POGOProtos.Settings.Master.Pokemon.EncounterAttributes.Parser, new[]{ "BaseCaptureRate", "BaseFleeRate", "CollisionRadiusM", "CollisionHeightM", "CollisionHeadRadiusM", "MovementType", "MovementTimerS", "JumpTimeS", "AttackTimerS", "BonusCandyCaptureReward", "BonusStardustCaptureReward", "AttackProbability", "DodgeProbability", "DodgeDurationS", "DodgeDistance", "CameraDistance", "MinPokemonActionFrequencyS", "MaxPokemonActionFrequencyS" }, null, null, null)
            }));
      }
      #endregion
  
    }
    #region Messages
    public sealed partial class EncounterAttributes : pb::IMessage<EncounterAttributes> {
      private static readonly pb::MessageParser<EncounterAttributes> _parser = new pb::MessageParser<EncounterAttributes>(() => new EncounterAttributes());
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pb::MessageParser<EncounterAttributes> Parser { get { return _parser; } }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public static pbr::MessageDescriptor Descriptor {
        get { return global::POGOProtos.Settings.Master.Pokemon.EncounterAttributesReflection.Descriptor.MessageTypes[0]; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      pbr::MessageDescriptor pb::IMessage.Descriptor {
        get { return Descriptor; }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public EncounterAttributes() {
        OnConstruction();
      }
  
      partial void OnConstruction();
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public EncounterAttributes(EncounterAttributes other) : this() {
        baseCaptureRate_ = other.baseCaptureRate_;
        baseFleeRate_ = other.baseFleeRate_;
        collisionRadiusM_ = other.collisionRadiusM_;
        collisionHeightM_ = other.collisionHeightM_;
        collisionHeadRadiusM_ = other.collisionHeadRadiusM_;
        movementType_ = other.movementType_;
        movementTimerS_ = other.movementTimerS_;
        jumpTimeS_ = other.jumpTimeS_;
        attackTimerS_ = other.attackTimerS_;
        bonusCandyCaptureReward_ = other.bonusCandyCaptureReward_;
        bonusStardustCaptureReward_ = other.bonusStardustCaptureReward_;
        attackProbability_ = other.attackProbability_;
        dodgeProbability_ = other.dodgeProbability_;
        dodgeDurationS_ = other.dodgeDurationS_;
        dodgeDistance_ = other.dodgeDistance_;
        cameraDistance_ = other.cameraDistance_;
        minPokemonActionFrequencyS_ = other.minPokemonActionFrequencyS_;
        maxPokemonActionFrequencyS_ = other.maxPokemonActionFrequencyS_;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public EncounterAttributes Clone() {
        return new EncounterAttributes(this);
      }
  
      /// <summary>Field number for the "base_capture_rate" field.</summary>
      public const int BaseCaptureRateFieldNumber = 1;
      private float baseCaptureRate_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float BaseCaptureRate {
        get { return baseCaptureRate_; }
        set {
          baseCaptureRate_ = value;
        }
      }
  
      /// <summary>Field number for the "base_flee_rate" field.</summary>
      public const int BaseFleeRateFieldNumber = 2;
      private float baseFleeRate_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float BaseFleeRate {
        get { return baseFleeRate_; }
        set {
          baseFleeRate_ = value;
        }
      }
  
      /// <summary>Field number for the "collision_radius_m" field.</summary>
      public const int CollisionRadiusMFieldNumber = 3;
      private float collisionRadiusM_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float CollisionRadiusM {
        get { return collisionRadiusM_; }
        set {
          collisionRadiusM_ = value;
        }
      }
  
      /// <summary>Field number for the "collision_height_m" field.</summary>
      public const int CollisionHeightMFieldNumber = 4;
      private float collisionHeightM_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float CollisionHeightM {
        get { return collisionHeightM_; }
        set {
          collisionHeightM_ = value;
        }
      }
  
      /// <summary>Field number for the "collision_head_radius_m" field.</summary>
      public const int CollisionHeadRadiusMFieldNumber = 5;
      private float collisionHeadRadiusM_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float CollisionHeadRadiusM {
        get { return collisionHeadRadiusM_; }
        set {
          collisionHeadRadiusM_ = value;
        }
      }
  
      /// <summary>Field number for the "movement_type" field.</summary>
      public const int MovementTypeFieldNumber = 6;
      private global::POGOProtos.Enums.PokemonMovementType movementType_ = 0;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public global::POGOProtos.Enums.PokemonMovementType MovementType {
        get { return movementType_; }
        set {
          movementType_ = value;
        }
      }
  
      /// <summary>Field number for the "movement_timer_s" field.</summary>
      public const int MovementTimerSFieldNumber = 7;
      private float movementTimerS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float MovementTimerS {
        get { return movementTimerS_; }
        set {
          movementTimerS_ = value;
        }
      }
  
      /// <summary>Field number for the "jump_time_s" field.</summary>
      public const int JumpTimeSFieldNumber = 8;
      private float jumpTimeS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float JumpTimeS {
        get { return jumpTimeS_; }
        set {
          jumpTimeS_ = value;
        }
      }
  
      /// <summary>Field number for the "attack_timer_s" field.</summary>
      public const int AttackTimerSFieldNumber = 9;
      private float attackTimerS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float AttackTimerS {
        get { return attackTimerS_; }
        set {
          attackTimerS_ = value;
        }
      }
  
      /// <summary>Field number for the "bonus_candy_capture_reward" field.</summary>
      public const int BonusCandyCaptureRewardFieldNumber = 10;
      private int bonusCandyCaptureReward_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int BonusCandyCaptureReward {
        get { return bonusCandyCaptureReward_; }
        set {
          bonusCandyCaptureReward_ = value;
        }
      }
  
      /// <summary>Field number for the "bonus_stardust_capture_reward" field.</summary>
      public const int BonusStardustCaptureRewardFieldNumber = 11;
      private int bonusStardustCaptureReward_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public int BonusStardustCaptureReward {
        get { return bonusStardustCaptureReward_; }
        set {
          bonusStardustCaptureReward_ = value;
        }
      }
  
      /// <summary>Field number for the "attack_probability" field.</summary>
      public const int AttackProbabilityFieldNumber = 12;
      private float attackProbability_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float AttackProbability {
        get { return attackProbability_; }
        set {
          attackProbability_ = value;
        }
      }
  
      /// <summary>Field number for the "dodge_probability" field.</summary>
      public const int DodgeProbabilityFieldNumber = 13;
      private float dodgeProbability_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float DodgeProbability {
        get { return dodgeProbability_; }
        set {
          dodgeProbability_ = value;
        }
      }
  
      /// <summary>Field number for the "dodge_duration_s" field.</summary>
      public const int DodgeDurationSFieldNumber = 14;
      private float dodgeDurationS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float DodgeDurationS {
        get { return dodgeDurationS_; }
        set {
          dodgeDurationS_ = value;
        }
      }
  
      /// <summary>Field number for the "dodge_distance" field.</summary>
      public const int DodgeDistanceFieldNumber = 15;
      private float dodgeDistance_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float DodgeDistance {
        get { return dodgeDistance_; }
        set {
          dodgeDistance_ = value;
        }
      }
  
      /// <summary>Field number for the "camera_distance" field.</summary>
      public const int CameraDistanceFieldNumber = 16;
      private float cameraDistance_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float CameraDistance {
        get { return cameraDistance_; }
        set {
          cameraDistance_ = value;
        }
      }
  
      /// <summary>Field number for the "min_pokemon_action_frequency_s" field.</summary>
      public const int MinPokemonActionFrequencySFieldNumber = 17;
      private float minPokemonActionFrequencyS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float MinPokemonActionFrequencyS {
        get { return minPokemonActionFrequencyS_; }
        set {
          minPokemonActionFrequencyS_ = value;
        }
      }
  
      /// <summary>Field number for the "max_pokemon_action_frequency_s" field.</summary>
      public const int MaxPokemonActionFrequencySFieldNumber = 18;
      private float maxPokemonActionFrequencyS_;
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public float MaxPokemonActionFrequencyS {
        get { return maxPokemonActionFrequencyS_; }
        set {
          maxPokemonActionFrequencyS_ = value;
        }
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override bool Equals(object other) {
        return Equals(other as EncounterAttributes);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public bool Equals(EncounterAttributes other) {
        if (ReferenceEquals(other, null)) {
          return false;
        }
        if (ReferenceEquals(other, this)) {
          return true;
        }
        if (BaseCaptureRate != other.BaseCaptureRate) return false;
        if (BaseFleeRate != other.BaseFleeRate) return false;
        if (CollisionRadiusM != other.CollisionRadiusM) return false;
        if (CollisionHeightM != other.CollisionHeightM) return false;
        if (CollisionHeadRadiusM != other.CollisionHeadRadiusM) return false;
        if (MovementType != other.MovementType) return false;
        if (MovementTimerS != other.MovementTimerS) return false;
        if (JumpTimeS != other.JumpTimeS) return false;
        if (AttackTimerS != other.AttackTimerS) return false;
        if (BonusCandyCaptureReward != other.BonusCandyCaptureReward) return false;
        if (BonusStardustCaptureReward != other.BonusStardustCaptureReward) return false;
        if (AttackProbability != other.AttackProbability) return false;
        if (DodgeProbability != other.DodgeProbability) return false;
        if (DodgeDurationS != other.DodgeDurationS) return false;
        if (DodgeDistance != other.DodgeDistance) return false;
        if (CameraDistance != other.CameraDistance) return false;
        if (MinPokemonActionFrequencyS != other.MinPokemonActionFrequencyS) return false;
        if (MaxPokemonActionFrequencyS != other.MaxPokemonActionFrequencyS) return false;
        return true;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override int GetHashCode() {
        int hash = 1;
        if (BaseCaptureRate != 0F) hash ^= BaseCaptureRate.GetHashCode();
        if (BaseFleeRate != 0F) hash ^= BaseFleeRate.GetHashCode();
        if (CollisionRadiusM != 0F) hash ^= CollisionRadiusM.GetHashCode();
        if (CollisionHeightM != 0F) hash ^= CollisionHeightM.GetHashCode();
        if (CollisionHeadRadiusM != 0F) hash ^= CollisionHeadRadiusM.GetHashCode();
        if (MovementType != 0) hash ^= MovementType.GetHashCode();
        if (MovementTimerS != 0F) hash ^= MovementTimerS.GetHashCode();
        if (JumpTimeS != 0F) hash ^= JumpTimeS.GetHashCode();
        if (AttackTimerS != 0F) hash ^= AttackTimerS.GetHashCode();
        if (BonusCandyCaptureReward != 0) hash ^= BonusCandyCaptureReward.GetHashCode();
        if (BonusStardustCaptureReward != 0) hash ^= BonusStardustCaptureReward.GetHashCode();
        if (AttackProbability != 0F) hash ^= AttackProbability.GetHashCode();
        if (DodgeProbability != 0F) hash ^= DodgeProbability.GetHashCode();
        if (DodgeDurationS != 0F) hash ^= DodgeDurationS.GetHashCode();
        if (DodgeDistance != 0F) hash ^= DodgeDistance.GetHashCode();
        if (CameraDistance != 0F) hash ^= CameraDistance.GetHashCode();
        if (MinPokemonActionFrequencyS != 0F) hash ^= MinPokemonActionFrequencyS.GetHashCode();
        if (MaxPokemonActionFrequencyS != 0F) hash ^= MaxPokemonActionFrequencyS.GetHashCode();
        return hash;
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public override string ToString() {
        return pb::JsonFormatter.ToDiagnosticString(this);
      }
  
      [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
      public void WriteTo(pb::CodedOutputStream output) {
        if (BaseCaptureRate != 0F) {
          output.WriteRawTag(13);
          output.WriteFloat(BaseCaptureRate);
        }
        if (BaseFleeRate != 0F) {
          output.WriteRawTag(21);
          output.WriteFloat(BaseFleeRate);
        }
        if (CollisionRadiusM != 0F) {
          output.WriteRawTag(29);
          output.WriteFloat(CollisionRadiusM);
        }
        if (CollisionHeightM != 0F) {
          output.WriteRawTag(37);
          output.WriteFloat(CollisionHeightM);
        }
        if (CollisionHeadRadiusM != 0F) {
          output.WriteRawTag(45);
          output.WriteFloat(CollisionHeadRadiusM);
        }
        if (MovementType != 0) {
          output.WriteRawTag(48);
          output.WriteEnum((int) MovementType);
        }
        if (MovementTimerS != 0F) {
          output.WriteRawTag(61);
          output.WriteFloat(MovementTimerS);
        }
        if (JumpTimeS != 0F) {
          output.WriteRawTag(69);
          output.WriteFloat(JumpTimeS);
        }
        if (AttackTimerS != 0F) {
          output.WriteRawTag(77);
          output.WriteFloat(AttackTimerS);
        }
  
gt:       if (BonusCandyCaptureReward != 0) {