public override int GetHashCode()
        {
            int hash = 1;

            if (EnergyPerSec != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(EnergyPerSec);
            }
            if (DodgeEnergyCost != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DodgeEnergyCost);
            }
            if (RetargetSeconds != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RetargetSeconds);
            }
            if (EnemyAttackInterval != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(EnemyAttackInterval);
            }
            if (AttackServerInterval != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AttackServerInterval);
            }
            if (RoundDurationSeconds != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RoundDurationSeconds);
            }
            if (BonusTimePerAllySeconds != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(BonusTimePerAllySeconds);
            }
            if (MaximumAttackersPerBattle != 0)
            {
                hash ^= MaximumAttackersPerBattle.GetHashCode();
            }
            if (SameTypeAttackBonusMultiplier != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(SameTypeAttackBonusMultiplier);
            }
            if (MaximumEnergy != 0)
            {
                hash ^= MaximumEnergy.GetHashCode();
            }
            if (EnergyDeltaPerHealthLost != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(EnergyDeltaPerHealthLost);
            }
            if (DodgeDurationMs != 0)
            {
                hash ^= DodgeDurationMs.GetHashCode();
            }
            if (MinimumPlayerLevel != 0)
            {
                hash ^= MinimumPlayerLevel.GetHashCode();
            }
            if (SwapDurationMs != 0)
            {
                hash ^= SwapDurationMs.GetHashCode();
            }
            if (DodgeDamageReductionPercent != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(DodgeDamageReductionPercent);
            }
            if (MinimumRaidPlayerLevel != 0)
            {
                hash ^= MinimumRaidPlayerLevel.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (EnergyPerSec != 0F)
            {
                hash ^= EnergyPerSec.GetHashCode();
            }
            if (DodgeEnergyCost != 0F)
            {
                hash ^= DodgeEnergyCost.GetHashCode();
            }
            if (RetargetSeconds != 0F)
            {
                hash ^= RetargetSeconds.GetHashCode();
            }
            if (EnemyAttackInterval != 0F)
            {
                hash ^= EnemyAttackInterval.GetHashCode();
            }
            if (AttackServerInterval != 0F)
            {
                hash ^= AttackServerInterval.GetHashCode();
            }
            if (RoundDurationSeconds != 0F)
            {
                hash ^= RoundDurationSeconds.GetHashCode();
            }
            if (BonusTimePerAllySeconds != 0F)
            {
                hash ^= BonusTimePerAllySeconds.GetHashCode();
            }
            if (MaximumAttackersPerBattle != 0)
            {
                hash ^= MaximumAttackersPerBattle.GetHashCode();
            }
            if (SameTypeAttackBonusMultiplier != 0F)
            {
                hash ^= SameTypeAttackBonusMultiplier.GetHashCode();
            }
            if (MaximumEnergy != 0)
            {
                hash ^= MaximumEnergy.GetHashCode();
            }
            if (EnergyDeltaPerHealthLost != 0F)
            {
                hash ^= EnergyDeltaPerHealthLost.GetHashCode();
            }
            if (DodgeDurationMs != 0)
            {
                hash ^= DodgeDurationMs.GetHashCode();
            }
            if (MinimumPlayerLevel != 0)
            {
                hash ^= MinimumPlayerLevel.GetHashCode();
            }
            if (SwapDurationMs != 0)
            {
                hash ^= SwapDurationMs.GetHashCode();
            }
            if (DodgeDamageReductionPercent != 0F)
            {
                hash ^= DodgeDamageReductionPercent.GetHashCode();
            }
            return(hash);
        }