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

            if (MovementId != 0)
            {
                hash ^= MovementId.GetHashCode();
            }
            if (AnimationId != 0)
            {
                hash ^= AnimationId.GetHashCode();
            }
            if (PokemonType != 0)
            {
                hash ^= PokemonType.GetHashCode();
            }
            if (Power != 0F)
            {
                hash ^= Power.GetHashCode();
            }
            if (AccuracyChance != 0F)
            {
                hash ^= AccuracyChance.GetHashCode();
            }
            if (CriticalChance != 0F)
            {
                hash ^= CriticalChance.GetHashCode();
            }
            if (HealScalar != 0F)
            {
                hash ^= HealScalar.GetHashCode();
            }
            if (StaminaLossScalar != 0F)
            {
                hash ^= StaminaLossScalar.GetHashCode();
            }
            if (TrainerLevelMin != 0)
            {
                hash ^= TrainerLevelMin.GetHashCode();
            }
            if (TrainerLevelMax != 0)
            {
                hash ^= TrainerLevelMax.GetHashCode();
            }
            if (VfxName.Length != 0)
            {
                hash ^= VfxName.GetHashCode();
            }
            if (DurationMs != 0)
            {
                hash ^= DurationMs.GetHashCode();
            }
            if (DamageWindowStartMs != 0)
            {
                hash ^= DamageWindowStartMs.GetHashCode();
            }
            if (DamageWindowEndMs != 0)
            {
                hash ^= DamageWindowEndMs.GetHashCode();
            }
            if (EnergyDelta != 0)
            {
                hash ^= EnergyDelta.GetHashCode();
            }
            return(hash);
        }
        public override int GetHashCode()
        {
            int hash = 1;

            if (MovementId != 0)
            {
                hash ^= MovementId.GetHashCode();
            }
            if (AnimationId != 0)
            {
                hash ^= AnimationId.GetHashCode();
            }
            if (PokemonType != 0)
            {
                hash ^= PokemonType.GetHashCode();
            }
            if (Power != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Power);
            }
            if (AccuracyChance != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(AccuracyChance);
            }
            if (CriticalChance != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(CriticalChance);
            }
            if (HealScalar != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(HealScalar);
            }
            if (StaminaLossScalar != 0F)
            {
                hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(StaminaLossScalar);
            }
            if (TrainerLevelMin != 0)
            {
                hash ^= TrainerLevelMin.GetHashCode();
            }
            if (TrainerLevelMax != 0)
            {
                hash ^= TrainerLevelMax.GetHashCode();
            }
            if (VfxName.Length != 0)
            {
                hash ^= VfxName.GetHashCode();
            }
            if (DurationMs != 0)
            {
                hash ^= DurationMs.GetHashCode();
            }
            if (DamageWindowStartMs != 0)
            {
                hash ^= DamageWindowStartMs.GetHashCode();
            }
            if (DamageWindowEndMs != 0)
            {
                hash ^= DamageWindowEndMs.GetHashCode();
            }
            if (EnergyDelta != 0)
            {
                hash ^= EnergyDelta.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }