// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: fight.proto

package io.grasscutter.net.proto.fight;

/**
 * Protobuf type {@code AttackResult}
 */
public final class AttackResult extends
    com.google.protobuf.GeneratedMessageV3 implements
    // @@protoc_insertion_point(message_implements:AttackResult)
    AttackResultOrBuilder {
private static final long serialVersionUID = 0L;
  // Use AttackResult.newBuilder() to construct.
  private AttackResult(com.google.protobuf.GeneratedMessageV3.Builder<?> builder) {
    super(builder);
  }
  private AttackResult() {
    animEventId_ = "";
  }

  @java.lang.Override
  @SuppressWarnings({"unused"})
  protected java.lang.Object newInstance(
      UnusedPrivateParameter unused) {
    return new AttackResult();
  }

  @java.lang.Override
  public final com.google.protobuf.UnknownFieldSet
  getUnknownFields() {
    return this.unknownFields;
  }
  private AttackResult(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    this();
    if (extensionRegistry == null) {
      throw new java.lang.NullPointerException();
    }
    com.google.protobuf.UnknownFieldSet.Builder unknownFields =
        com.google.protobuf.UnknownFieldSet.newBuilder();
    try {
      boolean done = false;
      while (!done) {
        int tag = input.readTag();
        switch (tag) {
          case 0:
            done = true;
            break;
          case 10: {
            io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder subBuilder = null;
            if (hitEffResult_ != null) {
              subBuilder = hitEffResult_.toBuilder();
            }
            hitEffResult_ = input.readMessage(io.grasscutter.net.proto.fight.AttackHitEffectResult.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(hitEffResult_);
              hitEffResult_ = subBuilder.buildPartial();
            }

            break;
          }
          case 21: {

            iEMNNDFMMKJ_ = input.readFloat();
            break;
          }
          case 32: {

            nMPPBNABHBN_ = input.readUInt32();
            break;
          }
          case 40: {

            hMJEKDGKLPG_ = input.readUInt32();
            break;
          }
          case 48: {

            bNPHIDCMPGP_ = input.readBool();
            break;
          }
          case 56: {

            hitRetreatAngleCompat_ = input.readInt32();
            break;
          }
          case 66: {
            io.grasscutter.net.proto.define.Vector.Builder subBuilder = null;
            if (resolvedDir_ != null) {
              subBuilder = resolvedDir_.toBuilder();
            }
            resolvedDir_ = input.readMessage(io.grasscutter.net.proto.define.Vector.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(resolvedDir_);
              resolvedDir_ = subBuilder.buildPartial();
            }

            break;
          }
          case 72: {

            elementType_ = input.readUInt32();
            break;
          }
          case 82: {
            io.grasscutter.net.proto.fight.AbilityIdentifier.Builder subBuilder = null;
            if (abilityIdentifier_ != null) {
              subBuilder = abilityIdentifier_.toBuilder();
            }
            abilityIdentifier_ = input.readMessage(io.grasscutter.net.proto.fight.AbilityIdentifier.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(abilityIdentifier_);
              abilityIdentifier_ = subBuilder.buildPartial();
            }

            break;
          }
          case 96: {

            lFCJFGOIEEK_ = input.readUInt32();
            break;
          }
          case 106: {
            java.lang.String s = input.readStringRequireUtf8();

            animEventId_ = s;
            break;
          }
          case 112: {

            lPOLKGJGLBL_ = input.readUInt32();
            break;
          }
          case 122: {
            io.grasscutter.net.proto.fight.HitCollision.Builder subBuilder = null;
            if (hitCollision_ != null) {
              subBuilder = hitCollision_.toBuilder();
            }
            hitCollision_ = input.readMessage(io.grasscutter.net.proto.fight.HitCollision.parser(), extensionRegistry);
            if (subBuilder != null) {
              subBuilder.mergeFrom(hitCollision_);
              hitCollision_ = subBuilder.buildPartial();
            }

            break;
          }
          case 368: {

            cEJKBIKGFBO_ = input.readUInt32();
            break;
          }
          case 824: {

            kHLFCFFEPEH_ = input.readUInt32();
            break;
          }
          case 960: {

            hGNFGAKLECA_ = input.readUInt32();
            break;
          }
          case 2024: {

            oOFACPBGHOH_ = input.readUInt32();
            break;
          }
          case 3696: {

            lJJGOCDLHIN_ = input.readUInt32();
            break;
          }
          case 4128: {

            fHKMMEICPBK_ = input.readUInt32();
            break;
          }
          case 5272: {

            pLNMALBAEGN_ = input.readUInt32();
            break;
          }
          case 6853: {

            iEFBEIFLHNP_ = input.readFloat();
            break;
          }
          case 7272: {

            aMEPNAJAJIE_ = input.readBool();
            break;
          }
          case 8104: {

            fKIJJKCGMMG_ = input.readBool();
            break;
          }
          case 8157: {

            kAIMMLBNDMK_ = input.readFloat();
            break;
          }
          case 8472: {

            pHMKCGJJDCF_ = input.readUInt32();
            break;
          }
          case 9912: {

            iAHCFCKFIIF_ = input.readUInt32();
            break;
          }
          case 11896: {

            oICOFCIBCEL_ = input.readBool();
            break;
          }
          case 12109: {

            iJEBKONHNJP_ = input.readFloat();
            break;
          }
          case 12301: {

            bINCCAFDHCL_ = input.readFloat();
            break;
          }
          case 13448: {

            dGGNPABBMIJ_ = input.readUInt32();
            break;
          }
          case 15280: {

            fJODCEJNNHE_ = input.readUInt32();
            break;
          }
          default: {
            if (!parseUnknownField(
                input, unknownFields, extensionRegistry, tag)) {
              done = true;
            }
            break;
          }
        }
      }
    } catch (com.google.protobuf.InvalidProtocolBufferException e) {
      throw e.setUnfinishedMessage(this);
    } catch (java.io.IOException e) {
      throw new com.google.protobuf.InvalidProtocolBufferException(
          e).setUnfinishedMessage(this);
    } finally {
      this.unknownFields = unknownFields.build();
      makeExtensionsImmutable();
    }
  }
  public static final com.google.protobuf.Descriptors.Descriptor
      getDescriptor() {
    return io.grasscutter.net.proto.fight.Fight.internal_static_AttackResult_descriptor;
  }

  @java.lang.Override
  protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
      internalGetFieldAccessorTable() {
    return io.grasscutter.net.proto.fight.Fight.internal_static_AttackResult_fieldAccessorTable
        .ensureFieldAccessorsInitialized(
            io.grasscutter.net.proto.fight.AttackResult.class, io.grasscutter.net.proto.fight.AttackResult.Builder.class);
  }

  public static final int ANIM_EVENT_ID_FIELD_NUMBER = 13;
  private volatile java.lang.Object animEventId_;
  /**
   * <code>string anim_event_id = 13;</code>
   * @return The animEventId.
   */
  @java.lang.Override
  public java.lang.String getAnimEventId() {
    java.lang.Object ref = animEventId_;
    if (ref instanceof java.lang.String) {
      return (java.lang.String) ref;
    } else {
      com.google.protobuf.ByteString bs = 
          (com.google.protobuf.ByteString) ref;
      java.lang.String s = bs.toStringUtf8();
      animEventId_ = s;
      return s;
    }
  }
  /**
   * <code>string anim_event_id = 13;</code>
   * @return The bytes for animEventId.
   */
  @java.lang.Override
  public com.google.protobuf.ByteString
      getAnimEventIdBytes() {
    java.lang.Object ref = animEventId_;
    if (ref instanceof java.lang.String) {
      com.google.protobuf.ByteString b = 
          com.google.protobuf.ByteString.copyFromUtf8(
              (java.lang.String) ref);
      animEventId_ = b;
      return b;
    } else {
      return (com.google.protobuf.ByteString) ref;
    }
  }

  public static final int HIT_COLLISION_FIELD_NUMBER = 15;
  private io.grasscutter.net.proto.fight.HitCollision hitCollision_;
  /**
   * <code>.HitCollision hit_collision = 15;</code>
   * @return Whether the hitCollision field is set.
   */
  @java.lang.Override
  public boolean hasHitCollision() {
    return hitCollision_ != null;
  }
  /**
   * <code>.HitCollision hit_collision = 15;</code>
   * @return The hitCollision.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.HitCollision getHitCollision() {
    return hitCollision_ == null ? io.grasscutter.net.proto.fight.HitCollision.getDefaultInstance() : hitCollision_;
  }
  /**
   * <code>.HitCollision hit_collision = 15;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.HitCollisionOrBuilder getHitCollisionOrBuilder() {
    return getHitCollision();
  }

  public static final int ABILITY_IDENTIFIER_FIELD_NUMBER = 10;
  private io.grasscutter.net.proto.fight.AbilityIdentifier abilityIdentifier_;
  /**
   * <code>.AbilityIdentifier ability_identifier = 10;</code>
   * @return Whether the abilityIdentifier field is set.
   */
  @java.lang.Override
  public boolean hasAbilityIdentifier() {
    return abilityIdentifier_ != null;
  }
  /**
   * <code>.AbilityIdentifier ability_identifier = 10;</code>
   * @return The abilityIdentifier.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.AbilityIdentifier getAbilityIdentifier() {
    return abilityIdentifier_ == null ? io.grasscutter.net.proto.fight.AbilityIdentifier.getDefaultInstance() : abilityIdentifier_;
  }
  /**
   * <code>.AbilityIdentifier ability_identifier = 10;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.AbilityIdentifierOrBuilder getAbilityIdentifierOrBuilder() {
    return getAbilityIdentifier();
  }

  public static final int RESOLVED_DIR_FIELD_NUMBER = 8;
  private io.grasscutter.net.proto.define.Vector resolvedDir_;
  /**
   * <code>.Vector resolved_dir = 8;</code>
   * @return Whether the resolvedDir field is set.
   */
  @java.lang.Override
  public boolean hasResolvedDir() {
    return resolvedDir_ != null;
  }
  /**
   * <code>.Vector resolved_dir = 8;</code>
   * @return The resolvedDir.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.Vector getResolvedDir() {
    return resolvedDir_ == null ? io.grasscutter.net.proto.define.Vector.getDefaultInstance() : resolvedDir_;
  }
  /**
   * <code>.Vector resolved_dir = 8;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.define.VectorOrBuilder getResolvedDirOrBuilder() {
    return getResolvedDir();
  }

  public static final int HIT_EFF_RESULT_FIELD_NUMBER = 1;
  private io.grasscutter.net.proto.fight.AttackHitEffectResult hitEffResult_;
  /**
   * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
   * @return Whether the hitEffResult field is set.
   */
  @java.lang.Override
  public boolean hasHitEffResult() {
    return hitEffResult_ != null;
  }
  /**
   * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
   * @return The hitEffResult.
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.AttackHitEffectResult getHitEffResult() {
    return hitEffResult_ == null ? io.grasscutter.net.proto.fight.AttackHitEffectResult.getDefaultInstance() : hitEffResult_;
  }
  /**
   * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
   */
  @java.lang.Override
  public io.grasscutter.net.proto.fight.AttackHitEffectResultOrBuilder getHitEffResultOrBuilder() {
    return getHitEffResult();
  }

  public static final int HMJEKDGKLPG_FIELD_NUMBER = 5;
  private int hMJEKDGKLPG_;
  /**
   * <code>uint32 HMJEKDGKLPG = 5;</code>
   * @return The hMJEKDGKLPG.
   */
  @java.lang.Override
  public int getHMJEKDGKLPG() {
    return hMJEKDGKLPG_;
  }

  public static final int IJEBKONHNJP_FIELD_NUMBER = 1513;
  private float iJEBKONHNJP_;
  /**
   * <code>float IJEBKONHNJP = 1513;</code>
   * @return The iJEBKONHNJP.
   */
  @java.lang.Override
  public float getIJEBKONHNJP() {
    return iJEBKONHNJP_;
  }

  public static final int HIT_RETREAT_ANGLE_COMPAT_FIELD_NUMBER = 7;
  private int hitRetreatAngleCompat_;
  /**
   * <code>int32 hit_retreat_angle_compat = 7;</code>
   * @return The hitRetreatAngleCompat.
   */
  @java.lang.Override
  public int getHitRetreatAngleCompat() {
    return hitRetreatAngleCompat_;
  }

  public static final int FKIJJKCGMMG_FIELD_NUMBER = 1013;
  private boolean fKIJJKCGMMG_;
  /**
   * <code>bool FKIJJKCGMMG = 1013;</code>
   * @return The fKIJJKCGMMG.
   */
  @java.lang.Override
  public boolean getFKIJJKCGMMG() {
    return fKIJJKCGMMG_;
  }

  public static final int OICOFCIBCEL_FIELD_NUMBER = 1487;
  private boolean oICOFCIBCEL_;
  /**
   * <code>bool OICOFCIBCEL = 1487;</code>
   * @return The oICOFCIBCEL.
   */
  @java.lang.Override
  public boolean getOICOFCIBCEL() {
    return oICOFCIBCEL_;
  }

  public static final int AMEPNAJAJIE_FIELD_NUMBER = 909;
  private boolean aMEPNAJAJIE_;
  /**
   * <code>bool AMEPNAJAJIE = 909;</code>
   * @return The aMEPNAJAJIE.
   */
  @java.lang.Override
  public boolean getAMEPNAJAJIE() {
    return aMEPNAJAJIE_;
  }

  public static final int BNPHIDCMPGP_FIELD_NUMBER = 6;
  private boolean bNPHIDCMPGP_;
  /**
   * <code>bool BNPHIDCMPGP = 6;</code>
   * @return The bNPHIDCMPGP.
   */
  @java.lang.Override
  public boolean getBNPHIDCMPGP() {
    return bNPHIDCMPGP_;
  }

  public static final int FHKMMEICPBK_FIELD_NUMBER = 516;
  private int fHKMMEICPBK_;
  /**
   * <code>uint32 FHKMMEICPBK = 516;</code>
   * @return The fHKMMEICPBK.
   */
  @java.lang.Override
  public int getFHKMMEICPBK() {
    return fHKMMEICPBK_;
  }

  public static final int LFCJFGOIEEK_FIELD_NUMBER = 12;
  private int lFCJFGOIEEK_;
  /**
   * <code>uint32 LFCJFGOIEEK = 12;</code>
   * @return The lFCJFGOIEEK.
   */
  @java.lang.Override
  public int getLFCJFGOIEEK() {
    return lFCJFGOIEEK_;
  }

  public static final int PLNMALBAEGN_FIELD_NUMBER = 659;
  private int pLNMALBAEGN_;
  /**
   * <code>uint32 PLNMALBAEGN = 659;</code>
   * @return The pLNMALBAEGN.
   */
  @java.lang.Override
  public int getPLNMALBAEGN() {
    return pLNMALBAEGN_;
  }

  public static final int IAHCFCKFIIF_FIELD_NUMBER = 1239;
  private int iAHCFCKFIIF_;
  /**
   * <code>uint32 IAHCFCKFIIF = 1239;</code>
   * @return The iAHCFCKFIIF.
   */
  @java.lang.Override
  public int getIAHCFCKFIIF() {
    return iAHCFCKFIIF_;
  }

  public static final int CEJKBIKGFBO_FIELD_NUMBER = 46;
  private int cEJKBIKGFBO_;
  /**
   * <code>uint32 CEJKBIKGFBO = 46;</code>
   * @return The cEJKBIKGFBO.
   */
  @java.lang.Override
  public int getCEJKBIKGFBO() {
    return cEJKBIKGFBO_;
  }

  public static final int KAIMMLBNDMK_FIELD_NUMBER = 1019;
  private float kAIMMLBNDMK_;
  /**
   * <code>float KAIMMLBNDMK = 1019;</code>
   * @return The kAIMMLBNDMK.
   */
  @java.lang.Override
  public float getKAIMMLBNDMK() {
    return kAIMMLBNDMK_;
  }

  public static final int PHMKCGJJDCF_FIELD_NUMBER = 1059;
  private int pHMKCGJJDCF_;
  /**
   * <code>uint32 PHMKCGJJDCF = 1059;</code>
   * @return The pHMKCGJJDCF.
   */
  @java.lang.Override
  public int getPHMKCGJJDCF() {
    return pHMKCGJJDCF_;
  }

  public static final int LJJGOCDLHIN_FIELD_NUMBER = 462;
  private int lJJGOCDLHIN_;
  /**
   * <code>uint32 LJJGOCDLHIN = 462;</code>
   * @return The lJJGOCDLHIN.
   */
  @java.lang.Override
  public int getLJJGOCDLHIN() {
    return lJJGOCDLHIN_;
  }

  public static final int KHLFCFFEPEH_FIELD_NUMBER = 103;
  private int kHLFCFFEPEH_;
  /**
   * <code>uint32 KHLFCFFEPEH = 103;</code>
   * @return The kHLFCFFEPEH.
   */
  @java.lang.Override
  public int getKHLFCFFEPEH() {
    return kHLFCFFEPEH_;
  }

  public static final int DGGNPABBMIJ_FIELD_NUMBER = 1681;
  private int dGGNPABBMIJ_;
  /**
   * <code>uint32 DGGNPABBMIJ = 1681;</code>
   * @return The dGGNPABBMIJ.
   */
  @java.lang.Override
  public int getDGGNPABBMIJ() {
    return dGGNPABBMIJ_;
  }

  public static final int ELEMENT_TYPE_FIELD_NUMBER = 9;
  private int elementType_;
  /**
   * <code>uint32 element_type = 9;</code>
   * @return The elementType.
   */
  @java.lang.Override
  public int getElementType() {
    return elementType_;
  }

  public static final int NMPPBNABHBN_FIELD_NUMBER = 4;
  private int nMPPBNABHBN_;
  /**
   * <code>uint32 NMPPBNABHBN = 4;</code>
   * @return The nMPPBNABHBN.
   */
  @java.lang.Override
  public int getNMPPBNABHBN() {
    return nMPPBNABHBN_;
  }

  public static final int OOFACPBGHOH_FIELD_NUMBER = 253;
  private int oOFACPBGHOH_;
  /**
   * <code>uint32 OOFACPBGHOH = 253;</code>
   * @return The oOFACPBGHOH.
   */
  @java.lang.Override
  public int getOOFACPBGHOH() {
    return oOFACPBGHOH_;
  }

  public static final int BINCCAFDHCL_FIELD_NUMBER = 1537;
  private float bINCCAFDHCL_;
  /**
   * <code>float BINCCAFDHCL = 1537;</code>
   * @return The bINCCAFDHCL.
   */
  @java.lang.Override
  public float getBINCCAFDHCL() {
    return bINCCAFDHCL_;
  }

  public static final int IEMNNDFMMKJ_FIELD_NUMBER = 2;
  private float iEMNNDFMMKJ_;
  /**
   * <code>float IEMNNDFMMKJ = 2;</code>
   * @return The iEMNNDFMMKJ.
   */
  @java.lang.Override
  public float getIEMNNDFMMKJ() {
    return iEMNNDFMMKJ_;
  }

  public static final int FJODCEJNNHE_FIELD_NUMBER = 1910;
  private int fJODCEJNNHE_;
  /**
   * <code>uint32 FJODCEJNNHE = 1910;</code>
   * @return The fJODCEJNNHE.
   */
  @java.lang.Override
  public int getFJODCEJNNHE() {
    return fJODCEJNNHE_;
  }

  public static final int LPOLKGJGLBL_FIELD_NUMBER = 14;
  private int lPOLKGJGLBL_;
  /**
   * <code>uint32 LPOLKGJGLBL = 14;</code>
   * @return The lPOLKGJGLBL.
   */
  @java.lang.Override
  public int getLPOLKGJGLBL() {
    return lPOLKGJGLBL_;
  }

  public static final int IEFBEIFLHNP_FIELD_NUMBER = 856;
  private float iEFBEIFLHNP_;
  /**
   * <code>float IEFBEIFLHNP = 856;</code>
   * @return The iEFBEIFLHNP.
   */
  @java.lang.Override
  public float getIEFBEIFLHNP() {
    return iEFBEIFLHNP_;
  }

  public static final int HGNFGAKLECA_FIELD_NUMBER = 120;
  private int hGNFGAKLECA_;
  /**
   * <code>uint32 HGNFGAKLECA = 120;</code>
   * @return The hGNFGAKLECA.
   */
  @java.lang.Override
  public int getHGNFGAKLECA() {
    return hGNFGAKLECA_;
  }

  private byte memoizedIsInitialized = -1;
  @java.lang.Override
  public final boolean isInitialized() {
    byte isInitialized = memoizedIsInitialized;
    if (isInitialized == 1) return true;
    if (isInitialized == 0) return false;

    memoizedIsInitialized = 1;
    return true;
  }

  @java.lang.Override
  public void writeTo(com.google.protobuf.CodedOutputStream output)
                      throws java.io.IOException {
    if (hitEffResult_ != null) {
      output.writeMessage(1, getHitEffResult());
    }
    if (iEMNNDFMMKJ_ != 0F) {
      output.writeFloat(2, iEMNNDFMMKJ_);
    }
    if (nMPPBNABHBN_ != 0) {
      output.writeUInt32(4, nMPPBNABHBN_);
    }
    if (hMJEKDGKLPG_ != 0) {
      output.writeUInt32(5, hMJEKDGKLPG_);
    }
    if (bNPHIDCMPGP_ != false) {
      output.writeBool(6, bNPHIDCMPGP_);
    }
    if (hitRetreatAngleCompat_ != 0) {
      output.writeInt32(7, hitRetreatAngleCompat_);
    }
    if (resolvedDir_ != null) {
      output.writeMessage(8, getResolvedDir());
    }
    if (elementType_ != 0) {
      output.writeUInt32(9, elementType_);
    }
    if (abilityIdentifier_ != null) {
      output.writeMessage(10, getAbilityIdentifier());
    }
    if (lFCJFGOIEEK_ != 0) {
      output.writeUInt32(12, lFCJFGOIEEK_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(animEventId_)) {
      com.google.protobuf.GeneratedMessageV3.writeString(output, 13, animEventId_);
    }
    if (lPOLKGJGLBL_ != 0) {
      output.writeUInt32(14, lPOLKGJGLBL_);
    }
    if (hitCollision_ != null) {
      output.writeMessage(15, getHitCollision());
    }
    if (cEJKBIKGFBO_ != 0) {
      output.writeUInt32(46, cEJKBIKGFBO_);
    }
    if (kHLFCFFEPEH_ != 0) {
      output.writeUInt32(103, kHLFCFFEPEH_);
    }
    if (hGNFGAKLECA_ != 0) {
      output.writeUInt32(120, hGNFGAKLECA_);
    }
    if (oOFACPBGHOH_ != 0) {
      output.writeUInt32(253, oOFACPBGHOH_);
    }
    if (lJJGOCDLHIN_ != 0) {
      output.writeUInt32(462, lJJGOCDLHIN_);
    }
    if (fHKMMEICPBK_ != 0) {
      output.writeUInt32(516, fHKMMEICPBK_);
    }
    if (pLNMALBAEGN_ != 0) {
      output.writeUInt32(659, pLNMALBAEGN_);
    }
    if (iEFBEIFLHNP_ != 0F) {
      output.writeFloat(856, iEFBEIFLHNP_);
    }
    if (aMEPNAJAJIE_ != false) {
      output.writeBool(909, aMEPNAJAJIE_);
    }
    if (fKIJJKCGMMG_ != false) {
      output.writeBool(1013, fKIJJKCGMMG_);
    }
    if (kAIMMLBNDMK_ != 0F) {
      output.writeFloat(1019, kAIMMLBNDMK_);
    }
    if (pHMKCGJJDCF_ != 0) {
      output.writeUInt32(1059, pHMKCGJJDCF_);
    }
    if (iAHCFCKFIIF_ != 0) {
      output.writeUInt32(1239, iAHCFCKFIIF_);
    }
    if (oICOFCIBCEL_ != false) {
      output.writeBool(1487, oICOFCIBCEL_);
    }
    if (iJEBKONHNJP_ != 0F) {
      output.writeFloat(1513, iJEBKONHNJP_);
    }
    if (bINCCAFDHCL_ != 0F) {
      output.writeFloat(1537, bINCCAFDHCL_);
    }
    if (dGGNPABBMIJ_ != 0) {
      output.writeUInt32(1681, dGGNPABBMIJ_);
    }
    if (fJODCEJNNHE_ != 0) {
      output.writeUInt32(1910, fJODCEJNNHE_);
    }
    unknownFields.writeTo(output);
  }

  @java.lang.Override
  public int getSerializedSize() {
    int size = memoizedSize;
    if (size != -1) return size;

    size = 0;
    if (hitEffResult_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(1, getHitEffResult());
    }
    if (iEMNNDFMMKJ_ != 0F) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(2, iEMNNDFMMKJ_);
    }
    if (nMPPBNABHBN_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(4, nMPPBNABHBN_);
    }
    if (hMJEKDGKLPG_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(5, hMJEKDGKLPG_);
    }
    if (bNPHIDCMPGP_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(6, bNPHIDCMPGP_);
    }
    if (hitRetreatAngleCompat_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeInt32Size(7, hitRetreatAngleCompat_);
    }
    if (resolvedDir_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(8, getResolvedDir());
    }
    if (elementType_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(9, elementType_);
    }
    if (abilityIdentifier_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(10, getAbilityIdentifier());
    }
    if (lFCJFGOIEEK_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(12, lFCJFGOIEEK_);
    }
    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(animEventId_)) {
      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(13, animEventId_);
    }
    if (lPOLKGJGLBL_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(14, lPOLKGJGLBL_);
    }
    if (hitCollision_ != null) {
      size += com.google.protobuf.CodedOutputStream
        .computeMessageSize(15, getHitCollision());
    }
    if (cEJKBIKGFBO_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(46, cEJKBIKGFBO_);
    }
    if (kHLFCFFEPEH_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(103, kHLFCFFEPEH_);
    }
    if (hGNFGAKLECA_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(120, hGNFGAKLECA_);
    }
    if (oOFACPBGHOH_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(253, oOFACPBGHOH_);
    }
    if (lJJGOCDLHIN_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(462, lJJGOCDLHIN_);
    }
    if (fHKMMEICPBK_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(516, fHKMMEICPBK_);
    }
    if (pLNMALBAEGN_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(659, pLNMALBAEGN_);
    }
    if (iEFBEIFLHNP_ != 0F) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(856, iEFBEIFLHNP_);
    }
    if (aMEPNAJAJIE_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(909, aMEPNAJAJIE_);
    }
    if (fKIJJKCGMMG_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(1013, fKIJJKCGMMG_);
    }
    if (kAIMMLBNDMK_ != 0F) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(1019, kAIMMLBNDMK_);
    }
    if (pHMKCGJJDCF_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1059, pHMKCGJJDCF_);
    }
    if (iAHCFCKFIIF_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1239, iAHCFCKFIIF_);
    }
    if (oICOFCIBCEL_ != false) {
      size += com.google.protobuf.CodedOutputStream
        .computeBoolSize(1487, oICOFCIBCEL_);
    }
    if (iJEBKONHNJP_ != 0F) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(1513, iJEBKONHNJP_);
    }
    if (bINCCAFDHCL_ != 0F) {
      size += com.google.protobuf.CodedOutputStream
        .computeFloatSize(1537, bINCCAFDHCL_);
    }
    if (dGGNPABBMIJ_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1681, dGGNPABBMIJ_);
    }
    if (fJODCEJNNHE_ != 0) {
      size += com.google.protobuf.CodedOutputStream
        .computeUInt32Size(1910, fJODCEJNNHE_);
    }
    size += unknownFields.getSerializedSize();
    memoizedSize = size;
    return size;
  }

  @java.lang.Override
  public boolean equals(final java.lang.Object obj) {
    if (obj == this) {
     return true;
    }
    if (!(obj instanceof io.grasscutter.net.proto.fight.AttackResult)) {
      return super.equals(obj);
    }
    io.grasscutter.net.proto.fight.AttackResult other = (io.grasscutter.net.proto.fight.AttackResult) obj;

    if (!getAnimEventId()
        .equals(other.getAnimEventId())) return false;
    if (hasHitCollision() != other.hasHitCollision()) return false;
    if (hasHitCollision()) {
      if (!getHitCollision()
          .equals(other.getHitCollision())) return false;
    }
    if (hasAbilityIdentifier() != other.hasAbilityIdentifier()) return false;
    if (hasAbilityIdentifier()) {
      if (!getAbilityIdentifier()
          .equals(other.getAbilityIdentifier())) return false;
    }
    if (hasResolvedDir() != other.hasResolvedDir()) return false;
    if (hasResolvedDir()) {
      if (!getResolvedDir()
          .equals(other.getResolvedDir())) return false;
    }
    if (hasHitEffResult() != other.hasHitEffResult()) return false;
    if (hasHitEffResult()) {
      if (!getHitEffResult()
          .equals(other.getHitEffResult())) return false;
    }
    if (getHMJEKDGKLPG()
        != other.getHMJEKDGKLPG()) return false;
    if (java.lang.Float.floatToIntBits(getIJEBKONHNJP())
        != java.lang.Float.floatToIntBits(
            other.getIJEBKONHNJP())) return false;
    if (getHitRetreatAngleCompat()
        != other.getHitRetreatAngleCompat()) return false;
    if (getFKIJJKCGMMG()
        != other.getFKIJJKCGMMG()) return false;
    if (getOICOFCIBCEL()
        != other.getOICOFCIBCEL()) return false;
    if (getAMEPNAJAJIE()
        != other.getAMEPNAJAJIE()) return false;
    if (getBNPHIDCMPGP()
        != other.getBNPHIDCMPGP()) return false;
    if (getFHKMMEICPBK()
        != other.getFHKMMEICPBK()) return false;
    if (getLFCJFGOIEEK()
        != other.getLFCJFGOIEEK()) return false;
    if (getPLNMALBAEGN()
        != other.getPLNMALBAEGN()) return false;
    if (getIAHCFCKFIIF()
        != other.getIAHCFCKFIIF()) return false;
    if (getCEJKBIKGFBO()
        != other.getCEJKBIKGFBO()) return false;
    if (java.lang.Float.floatToIntBits(getKAIMMLBNDMK())
        != java.lang.Float.floatToIntBits(
            other.getKAIMMLBNDMK())) return false;
    if (getPHMKCGJJDCF()
        != other.getPHMKCGJJDCF()) return false;
    if (getLJJGOCDLHIN()
        != other.getLJJGOCDLHIN()) return false;
    if (getKHLFCFFEPEH()
        != other.getKHLFCFFEPEH()) return false;
    if (getDGGNPABBMIJ()
        != other.getDGGNPABBMIJ()) return false;
    if (getElementType()
        != other.getElementType()) return false;
    if (getNMPPBNABHBN()
        != other.getNMPPBNABHBN()) return false;
    if (getOOFACPBGHOH()
        != other.getOOFACPBGHOH()) return false;
    if (java.lang.Float.floatToIntBits(getBINCCAFDHCL())
        != java.lang.Float.floatToIntBits(
            other.getBINCCAFDHCL())) return false;
    if (java.lang.Float.floatToIntBits(getIEMNNDFMMKJ())
        != java.lang.Float.floatToIntBits(
            other.getIEMNNDFMMKJ())) return false;
    if (getFJODCEJNNHE()
        != other.getFJODCEJNNHE()) return false;
    if (getLPOLKGJGLBL()
        != other.getLPOLKGJGLBL()) return false;
    if (java.lang.Float.floatToIntBits(getIEFBEIFLHNP())
        != java.lang.Float.floatToIntBits(
            other.getIEFBEIFLHNP())) return false;
    if (getHGNFGAKLECA()
        != other.getHGNFGAKLECA()) return false;
    if (!unknownFields.equals(other.unknownFields)) return false;
    return true;
  }

  @java.lang.Override
  public int hashCode() {
    if (memoizedHashCode != 0) {
      return memoizedHashCode;
    }
    int hash = 41;
    hash = (19 * hash) + getDescriptor().hashCode();
    hash = (37 * hash) + ANIM_EVENT_ID_FIELD_NUMBER;
    hash = (53 * hash) + getAnimEventId().hashCode();
    if (hasHitCollision()) {
      hash = (37 * hash) + HIT_COLLISION_FIELD_NUMBER;
      hash = (53 * hash) + getHitCollision().hashCode();
    }
    if (hasAbilityIdentifier()) {
      hash = (37 * hash) + ABILITY_IDENTIFIER_FIELD_NUMBER;
      hash = (53 * hash) + getAbilityIdentifier().hashCode();
    }
    if (hasResolvedDir()) {
      hash = (37 * hash) + RESOLVED_DIR_FIELD_NUMBER;
      hash = (53 * hash) + getResolvedDir().hashCode();
    }
    if (hasHitEffResult()) {
      hash = (37 * hash) + HIT_EFF_RESULT_FIELD_NUMBER;
      hash = (53 * hash) + getHitEffResult().hashCode();
    }
    hash = (37 * hash) + HMJEKDGKLPG_FIELD_NUMBER;
    hash = (53 * hash) + getHMJEKDGKLPG();
    hash = (37 * hash) + IJEBKONHNJP_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getIJEBKONHNJP());
    hash = (37 * hash) + HIT_RETREAT_ANGLE_COMPAT_FIELD_NUMBER;
    hash = (53 * hash) + getHitRetreatAngleCompat();
    hash = (37 * hash) + FKIJJKCGMMG_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getFKIJJKCGMMG());
    hash = (37 * hash) + OICOFCIBCEL_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getOICOFCIBCEL());
    hash = (37 * hash) + AMEPNAJAJIE_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getAMEPNAJAJIE());
    hash = (37 * hash) + BNPHIDCMPGP_FIELD_NUMBER;
    hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(
        getBNPHIDCMPGP());
    hash = (37 * hash) + FHKMMEICPBK_FIELD_NUMBER;
    hash = (53 * hash) + getFHKMMEICPBK();
    hash = (37 * hash) + LFCJFGOIEEK_FIELD_NUMBER;
    hash = (53 * hash) + getLFCJFGOIEEK();
    hash = (37 * hash) + PLNMALBAEGN_FIELD_NUMBER;
    hash = (53 * hash) + getPLNMALBAEGN();
    hash = (37 * hash) + IAHCFCKFIIF_FIELD_NUMBER;
    hash = (53 * hash) + getIAHCFCKFIIF();
    hash = (37 * hash) + CEJKBIKGFBO_FIELD_NUMBER;
    hash = (53 * hash) + getCEJKBIKGFBO();
    hash = (37 * hash) + KAIMMLBNDMK_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getKAIMMLBNDMK());
    hash = (37 * hash) + PHMKCGJJDCF_FIELD_NUMBER;
    hash = (53 * hash) + getPHMKCGJJDCF();
    hash = (37 * hash) + LJJGOCDLHIN_FIELD_NUMBER;
    hash = (53 * hash) + getLJJGOCDLHIN();
    hash = (37 * hash) + KHLFCFFEPEH_FIELD_NUMBER;
    hash = (53 * hash) + getKHLFCFFEPEH();
    hash = (37 * hash) + DGGNPABBMIJ_FIELD_NUMBER;
    hash = (53 * hash) + getDGGNPABBMIJ();
    hash = (37 * hash) + ELEMENT_TYPE_FIELD_NUMBER;
    hash = (53 * hash) + getElementType();
    hash = (37 * hash) + NMPPBNABHBN_FIELD_NUMBER;
    hash = (53 * hash) + getNMPPBNABHBN();
    hash = (37 * hash) + OOFACPBGHOH_FIELD_NUMBER;
    hash = (53 * hash) + getOOFACPBGHOH();
    hash = (37 * hash) + BINCCAFDHCL_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getBINCCAFDHCL());
    hash = (37 * hash) + IEMNNDFMMKJ_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getIEMNNDFMMKJ());
    hash = (37 * hash) + FJODCEJNNHE_FIELD_NUMBER;
    hash = (53 * hash) + getFJODCEJNNHE();
    hash = (37 * hash) + LPOLKGJGLBL_FIELD_NUMBER;
    hash = (53 * hash) + getLPOLKGJGLBL();
    hash = (37 * hash) + IEFBEIFLHNP_FIELD_NUMBER;
    hash = (53 * hash) + java.lang.Float.floatToIntBits(
        getIEFBEIFLHNP());
    hash = (37 * hash) + HGNFGAKLECA_FIELD_NUMBER;
    hash = (53 * hash) + getHGNFGAKLECA();
    hash = (29 * hash) + unknownFields.hashCode();
    memoizedHashCode = hash;
    return hash;
  }

  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      java.nio.ByteBuffer data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      java.nio.ByteBuffer data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      com.google.protobuf.ByteString data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      com.google.protobuf.ByteString data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(byte[] data)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      byte[] data,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws com.google.protobuf.InvalidProtocolBufferException {
    return PARSER.parseFrom(data, extensionRegistry);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseDelimitedFrom(java.io.InputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseDelimitedFrom(
      java.io.InputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      com.google.protobuf.CodedInputStream input)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input);
  }
  public static io.grasscutter.net.proto.fight.AttackResult parseFrom(
      com.google.protobuf.CodedInputStream input,
      com.google.protobuf.ExtensionRegistryLite extensionRegistry)
      throws java.io.IOException {
    return com.google.protobuf.GeneratedMessageV3
        .parseWithIOException(PARSER, input, extensionRegistry);
  }

  @java.lang.Override
  public Builder newBuilderForType() { return newBuilder(); }
  public static Builder newBuilder() {
    return DEFAULT_INSTANCE.toBuilder();
  }
  public static Builder newBuilder(io.grasscutter.net.proto.fight.AttackResult prototype) {
    return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
  }
  @java.lang.Override
  public Builder toBuilder() {
    return this == DEFAULT_INSTANCE
        ? new Builder() : new Builder().mergeFrom(this);
  }

  @java.lang.Override
  protected Builder newBuilderForType(
      com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
    Builder builder = new Builder(parent);
    return builder;
  }
  /**
   * Protobuf type {@code AttackResult}
   */
  public static final class Builder extends
      com.google.protobuf.GeneratedMessageV3.Builder<Builder> implements
      // @@protoc_insertion_point(builder_implements:AttackResult)
      io.grasscutter.net.proto.fight.AttackResultOrBuilder {
    public static final com.google.protobuf.Descriptors.Descriptor
        getDescriptor() {
      return io.grasscutter.net.proto.fight.Fight.internal_static_AttackResult_descriptor;
    }

    @java.lang.Override
    protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
        internalGetFieldAccessorTable() {
      return io.grasscutter.net.proto.fight.Fight.internal_static_AttackResult_fieldAccessorTable
          .ensureFieldAccessorsInitialized(
              io.grasscutter.net.proto.fight.AttackResult.class, io.grasscutter.net.proto.fight.AttackResult.Builder.class);
    }

    // Construct using io.grasscutter.net.proto.fight.AttackResult.newBuilder()
    private Builder() {
      maybeForceBuilderInitialization();
    }

    private Builder(
        com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
      super(parent);
      maybeForceBuilderInitialization();
    }
    private void maybeForceBuilderInitialization() {
      if (com.google.protobuf.GeneratedMessageV3
              .alwaysUseFieldBuilders) {
      }
    }
    @java.lang.Override
    public Builder clear() {
      super.clear();
      animEventId_ = "";

      if (hitCollisionBuilder_ == null) {
        hitCollision_ = null;
      } else {
        hitCollision_ = null;
        hitCollisionBuilder_ = null;
      }
      if (abilityIdentifierBuilder_ == null) {
        abilityIdentifier_ = null;
      } else {
        abilityIdentifier_ = null;
        abilityIdentifierBuilder_ = null;
      }
      if (resolvedDirBuilder_ == null) {
        resolvedDir_ = null;
      } else {
        resolvedDir_ = null;
        resolvedDirBuilder_ = null;
      }
      if (hitEffResultBuilder_ == null) {
        hitEffResult_ = null;
      } else {
        hitEffResult_ = null;
        hitEffResultBuilder_ = null;
      }
      hMJEKDGKLPG_ = 0;

      iJEBKONHNJP_ = 0F;

      hitRetreatAngleCompat_ = 0;

      fKIJJKCGMMG_ = false;

      oICOFCIBCEL_ = false;

      aMEPNAJAJIE_ = false;

      bNPHIDCMPGP_ = false;

      fHKMMEICPBK_ = 0;

      lFCJFGOIEEK_ = 0;

      pLNMALBAEGN_ = 0;

      iAHCFCKFIIF_ = 0;

      cEJKBIKGFBO_ = 0;

      kAIMMLBNDMK_ = 0F;

      pHMKCGJJDCF_ = 0;

      lJJGOCDLHIN_ = 0;

      kHLFCFFEPEH_ = 0;

      dGGNPABBMIJ_ = 0;

      elementType_ = 0;

      nMPPBNABHBN_ = 0;

      oOFACPBGHOH_ = 0;

      bINCCAFDHCL_ = 0F;

      iEMNNDFMMKJ_ = 0F;

      fJODCEJNNHE_ = 0;

      lPOLKGJGLBL_ = 0;

      iEFBEIFLHNP_ = 0F;

      hGNFGAKLECA_ = 0;

      return this;
    }

    @java.lang.Override
    public com.google.protobuf.Descriptors.Descriptor
        getDescriptorForType() {
      return io.grasscutter.net.proto.fight.Fight.internal_static_AttackResult_descriptor;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.fight.AttackResult getDefaultInstanceForType() {
      return io.grasscutter.net.proto.fight.AttackResult.getDefaultInstance();
    }

    @java.lang.Override
    public io.grasscutter.net.proto.fight.AttackResult build() {
      io.grasscutter.net.proto.fight.AttackResult result = buildPartial();
      if (!result.isInitialized()) {
        throw newUninitializedMessageException(result);
      }
      return result;
    }

    @java.lang.Override
    public io.grasscutter.net.proto.fight.AttackResult buildPartial() {
      io.grasscutter.net.proto.fight.AttackResult result = new io.grasscutter.net.proto.fight.AttackResult(this);
      result.animEventId_ = animEventId_;
      if (hitCollisionBuilder_ == null) {
        result.hitCollision_ = hitCollision_;
      } else {
        result.hitCollision_ = hitCollisionBuilder_.build();
      }
      if (abilityIdentifierBuilder_ == null) {
        result.abilityIdentifier_ = abilityIdentifier_;
      } else {
        result.abilityIdentifier_ = abilityIdentifierBuilder_.build();
      }
      if (resolvedDirBuilder_ == null) {
        result.resolvedDir_ = resolvedDir_;
      } else {
        result.resolvedDir_ = resolvedDirBuilder_.build();
      }
      if (hitEffResultBuilder_ == null) {
        result.hitEffResult_ = hitEffResult_;
      } else {
        result.hitEffResult_ = hitEffResultBuilder_.build();
      }
      result.hMJEKDGKLPG_ = hMJEKDGKLPG_;
      result.iJEBKONHNJP_ = iJEBKONHNJP_;
      result.hitRetreatAngleCompat_ = hitRetreatAngleCompat_;
      result.fKIJJKCGMMG_ = fKIJJKCGMMG_;
      result.oICOFCIBCEL_ = oICOFCIBCEL_;
      result.aMEPNAJAJIE_ = aMEPNAJAJIE_;
      result.bNPHIDCMPGP_ = bNPHIDCMPGP_;
      result.fHKMMEICPBK_ = fHKMMEICPBK_;
      result.lFCJFGOIEEK_ = lFCJFGOIEEK_;
      result.pLNMALBAEGN_ = pLNMALBAEGN_;
      result.iAHCFCKFIIF_ = iAHCFCKFIIF_;
      result.cEJKBIKGFBO_ = cEJKBIKGFBO_;
      result.kAIMMLBNDMK_ = kAIMMLBNDMK_;
      result.pHMKCGJJDCF_ = pHMKCGJJDCF_;
      result.lJJGOCDLHIN_ = lJJGOCDLHIN_;
      result.kHLFCFFEPEH_ = kHLFCFFEPEH_;
      result.dGGNPABBMIJ_ = dGGNPABBMIJ_;
      result.elementType_ = elementType_;
      result.nMPPBNABHBN_ = nMPPBNABHBN_;
      result.oOFACPBGHOH_ = oOFACPBGHOH_;
      result.bINCCAFDHCL_ = bINCCAFDHCL_;
      result.iEMNNDFMMKJ_ = iEMNNDFMMKJ_;
      result.fJODCEJNNHE_ = fJODCEJNNHE_;
      result.lPOLKGJGLBL_ = lPOLKGJGLBL_;
      result.iEFBEIFLHNP_ = iEFBEIFLHNP_;
      result.hGNFGAKLECA_ = hGNFGAKLECA_;
      onBuilt();
      return result;
    }

    @java.lang.Override
    public Builder clone() {
      return super.clone();
    }
    @java.lang.Override
    public Builder setField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.setField(field, value);
    }
    @java.lang.Override
    public Builder clearField(
        com.google.protobuf.Descriptors.FieldDescriptor field) {
      return super.clearField(field);
    }
    @java.lang.Override
    public Builder clearOneof(
        com.google.protobuf.Descriptors.OneofDescriptor oneof) {
      return super.clearOneof(oneof);
    }
    @java.lang.Override
    public Builder setRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        int index, java.lang.Object value) {
      return super.setRepeatedField(field, index, value);
    }
    @java.lang.Override
    public Builder addRepeatedField(
        com.google.protobuf.Descriptors.FieldDescriptor field,
        java.lang.Object value) {
      return super.addRepeatedField(field, value);
    }
    @java.lang.Override
    public Builder mergeFrom(com.google.protobuf.Message other) {
      if (other instanceof io.grasscutter.net.proto.fight.AttackResult) {
        return mergeFrom((io.grasscutter.net.proto.fight.AttackResult)other);
      } else {
        super.mergeFrom(other);
        return this;
      }
    }

    public Builder mergeFrom(io.grasscutter.net.proto.fight.AttackResult other) {
      if (other == io.grasscutter.net.proto.fight.AttackResult.getDefaultInstance()) return this;
      if (!other.getAnimEventId().isEmpty()) {
        animEventId_ = other.animEventId_;
        onChanged();
      }
      if (other.hasHitCollision()) {
        mergeHitCollision(other.getHitCollision());
      }
      if (other.hasAbilityIdentifier()) {
        mergeAbilityIdentifier(other.getAbilityIdentifier());
      }
      if (other.hasResolvedDir()) {
        mergeResolvedDir(other.getResolvedDir());
      }
      if (other.hasHitEffResult()) {
        mergeHitEffResult(other.getHitEffResult());
      }
      if (other.getHMJEKDGKLPG() != 0) {
        setHMJEKDGKLPG(other.getHMJEKDGKLPG());
      }
      if (other.getIJEBKONHNJP() != 0F) {
        setIJEBKONHNJP(other.getIJEBKONHNJP());
      }
      if (other.getHitRetreatAngleCompat() != 0) {
        setHitRetreatAngleCompat(other.getHitRetreatAngleCompat());
      }
      if (other.getFKIJJKCGMMG() != false) {
        setFKIJJKCGMMG(other.getFKIJJKCGMMG());
      }
      if (other.getOICOFCIBCEL() != false) {
        setOICOFCIBCEL(other.getOICOFCIBCEL());
      }
      if (other.getAMEPNAJAJIE() != false) {
        setAMEPNAJAJIE(other.getAMEPNAJAJIE());
      }
      if (other.getBNPHIDCMPGP() != false) {
        setBNPHIDCMPGP(other.getBNPHIDCMPGP());
      }
      if (other.getFHKMMEICPBK() != 0) {
        setFHKMMEICPBK(other.getFHKMMEICPBK());
      }
      if (other.getLFCJFGOIEEK() != 0) {
        setLFCJFGOIEEK(other.getLFCJFGOIEEK());
      }
      if (other.getPLNMALBAEGN() != 0) {
        setPLNMALBAEGN(other.getPLNMALBAEGN());
      }
      if (other.getIAHCFCKFIIF() != 0) {
        setIAHCFCKFIIF(other.getIAHCFCKFIIF());
      }
      if (other.getCEJKBIKGFBO() != 0) {
        setCEJKBIKGFBO(other.getCEJKBIKGFBO());
      }
      if (other.getKAIMMLBNDMK() != 0F) {
        setKAIMMLBNDMK(other.getKAIMMLBNDMK());
      }
      if (other.getPHMKCGJJDCF() != 0) {
        setPHMKCGJJDCF(other.getPHMKCGJJDCF());
      }
      if (other.getLJJGOCDLHIN() != 0) {
        setLJJGOCDLHIN(other.getLJJGOCDLHIN());
      }
      if (other.getKHLFCFFEPEH() != 0) {
        setKHLFCFFEPEH(other.getKHLFCFFEPEH());
      }
      if (other.getDGGNPABBMIJ() != 0) {
        setDGGNPABBMIJ(other.getDGGNPABBMIJ());
      }
      if (other.getElementType() != 0) {
        setElementType(other.getElementType());
      }
      if (other.getNMPPBNABHBN() != 0) {
        setNMPPBNABHBN(other.getNMPPBNABHBN());
      }
      if (other.getOOFACPBGHOH() != 0) {
        setOOFACPBGHOH(other.getOOFACPBGHOH());
      }
      if (other.getBINCCAFDHCL() != 0F) {
        setBINCCAFDHCL(other.getBINCCAFDHCL());
      }
      if (other.getIEMNNDFMMKJ() != 0F) {
        setIEMNNDFMMKJ(other.getIEMNNDFMMKJ());
      }
      if (other.getFJODCEJNNHE() != 0) {
        setFJODCEJNNHE(other.getFJODCEJNNHE());
      }
      if (other.getLPOLKGJGLBL() != 0) {
        setLPOLKGJGLBL(other.getLPOLKGJGLBL());
      }
      if (other.getIEFBEIFLHNP() != 0F) {
        setIEFBEIFLHNP(other.getIEFBEIFLHNP());
      }
      if (other.getHGNFGAKLECA() != 0) {
        setHGNFGAKLECA(other.getHGNFGAKLECA());
      }
      this.mergeUnknownFields(other.unknownFields);
      onChanged();
      return this;
    }

    @java.lang.Override
    public final boolean isInitialized() {
      return true;
    }

    @java.lang.Override
    public Builder mergeFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws java.io.IOException {
      io.grasscutter.net.proto.fight.AttackResult parsedMessage = null;
      try {
        parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry);
      } catch (com.google.protobuf.InvalidProtocolBufferException e) {
        parsedMessage = (io.grasscutter.net.proto.fight.AttackResult) e.getUnfinishedMessage();
        throw e.unwrapIOException();
      } finally {
        if (parsedMessage != null) {
          mergeFrom(parsedMessage);
        }
      }
      return this;
    }

    private java.lang.Object animEventId_ = "";
    /**
     * <code>string anim_event_id = 13;</code>
     * @return The animEventId.
     */
    public java.lang.String getAnimEventId() {
      java.lang.Object ref = animEventId_;
      if (!(ref instanceof java.lang.String)) {
        com.google.protobuf.ByteString bs =
            (com.google.protobuf.ByteString) ref;
        java.lang.String s = bs.toStringUtf8();
        animEventId_ = s;
        return s;
      } else {
        return (java.lang.String) ref;
      }
    }
    /**
     * <code>string anim_event_id = 13;</code>
     * @return The bytes for animEventId.
     */
    public com.google.protobuf.ByteString
        getAnimEventIdBytes() {
      java.lang.Object ref = animEventId_;
      if (ref instanceof String) {
        com.google.protobuf.ByteString b = 
            com.google.protobuf.ByteString.copyFromUtf8(
                (java.lang.String) ref);
        animEventId_ = b;
        return b;
      } else {
        return (com.google.protobuf.ByteString) ref;
      }
    }
    /**
     * <code>string anim_event_id = 13;</code>
     * @param value The animEventId to set.
     * @return This builder for chaining.
     */
    public Builder setAnimEventId(
        java.lang.String value) {
      if (value == null) {
    throw new NullPointerException();
  }
  
      animEventId_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>string anim_event_id = 13;</code>
     * @return This builder for chaining.
     */
    public Builder clearAnimEventId() {
      
      animEventId_ = getDefaultInstance().getAnimEventId();
      onChanged();
      return this;
    }
    /**
     * <code>string anim_event_id = 13;</code>
     * @param value The bytes for animEventId to set.
     * @return This builder for chaining.
     */
    public Builder setAnimEventIdBytes(
        com.google.protobuf.ByteString value) {
      if (value == null) {
    throw new NullPointerException();
  }
  checkByteStringIsUtf8(value);
      
      animEventId_ = value;
      onChanged();
      return this;
    }

    private io.grasscutter.net.proto.fight.HitCollision hitCollision_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.HitCollision, io.grasscutter.net.proto.fight.HitCollision.Builder, io.grasscutter.net.proto.fight.HitCollisionOrBuilder> hitCollisionBuilder_;
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     * @return Whether the hitCollision field is set.
     */
    public boolean hasHitCollision() {
      return hitCollisionBuilder_ != null || hitCollision_ != null;
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     * @return The hitCollision.
     */
    public io.grasscutter.net.proto.fight.HitCollision getHitCollision() {
      if (hitCollisionBuilder_ == null) {
        return hitCollision_ == null ? io.grasscutter.net.proto.fight.HitCollision.getDefaultInstance() : hitCollision_;
      } else {
        return hitCollisionBuilder_.getMessage();
      }
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public Builder setHitCollision(io.grasscutter.net.proto.fight.HitCollision value) {
      if (hitCollisionBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        hitCollision_ = value;
        onChanged();
      } else {
        hitCollisionBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public Builder setHitCollision(
        io.grasscutter.net.proto.fight.HitCollision.Builder builderForValue) {
      if (hitCollisionBuilder_ == null) {
        hitCollision_ = builderForValue.build();
        onChanged();
      } else {
        hitCollisionBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public Builder mergeHitCollision(io.grasscutter.net.proto.fight.HitCollision value) {
      if (hitCollisionBuilder_ == null) {
        if (hitCollision_ != null) {
          hitCollision_ =
            io.grasscutter.net.proto.fight.HitCollision.newBuilder(hitCollision_).mergeFrom(value).buildPartial();
        } else {
          hitCollision_ = value;
        }
        onChanged();
      } else {
        hitCollisionBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public Builder clearHitCollision() {
      if (hitCollisionBuilder_ == null) {
        hitCollision_ = null;
        onChanged();
      } else {
        hitCollision_ = null;
        hitCollisionBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public io.grasscutter.net.proto.fight.HitCollision.Builder getHitCollisionBuilder() {
      
      onChanged();
      return getHitCollisionFieldBuilder().getBuilder();
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    public io.grasscutter.net.proto.fight.HitCollisionOrBuilder getHitCollisionOrBuilder() {
      if (hitCollisionBuilder_ != null) {
        return hitCollisionBuilder_.getMessageOrBuilder();
      } else {
        return hitCollision_ == null ?
            io.grasscutter.net.proto.fight.HitCollision.getDefaultInstance() : hitCollision_;
      }
    }
    /**
     * <code>.HitCollision hit_collision = 15;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.HitCollision, io.grasscutter.net.proto.fight.HitCollision.Builder, io.grasscutter.net.proto.fight.HitCollisionOrBuilder> 
        getHitCollisionFieldBuilder() {
      if (hitCollisionBuilder_ == null) {
        hitCollisionBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.fight.HitCollision, io.grasscutter.net.proto.fight.HitCollision.Builder, io.grasscutter.net.proto.fight.HitCollisionOrBuilder>(
                getHitCollision(),
                getParentForChildren(),
                isClean());
        hitCollision_ = null;
      }
      return hitCollisionBuilder_;
    }

    private io.grasscutter.net.proto.fight.AbilityIdentifier abilityIdentifier_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.AbilityIdentifier, io.grasscutter.net.proto.fight.AbilityIdentifier.Builder, io.grasscutter.net.proto.fight.AbilityIdentifierOrBuilder> abilityIdentifierBuilder_;
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     * @return Whether the abilityIdentifier field is set.
     */
    public boolean hasAbilityIdentifier() {
      return abilityIdentifierBuilder_ != null || abilityIdentifier_ != null;
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     * @return The abilityIdentifier.
     */
    public io.grasscutter.net.proto.fight.AbilityIdentifier getAbilityIdentifier() {
      if (abilityIdentifierBuilder_ == null) {
        return abilityIdentifier_ == null ? io.grasscutter.net.proto.fight.AbilityIdentifier.getDefaultInstance() : abilityIdentifier_;
      } else {
        return abilityIdentifierBuilder_.getMessage();
      }
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public Builder setAbilityIdentifier(io.grasscutter.net.proto.fight.AbilityIdentifier value) {
      if (abilityIdentifierBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        abilityIdentifier_ = value;
        onChanged();
      } else {
        abilityIdentifierBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public Builder setAbilityIdentifier(
        io.grasscutter.net.proto.fight.AbilityIdentifier.Builder builderForValue) {
      if (abilityIdentifierBuilder_ == null) {
        abilityIdentifier_ = builderForValue.build();
        onChanged();
      } else {
        abilityIdentifierBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public Builder mergeAbilityIdentifier(io.grasscutter.net.proto.fight.AbilityIdentifier value) {
      if (abilityIdentifierBuilder_ == null) {
        if (abilityIdentifier_ != null) {
          abilityIdentifier_ =
            io.grasscutter.net.proto.fight.AbilityIdentifier.newBuilder(abilityIdentifier_).mergeFrom(value).buildPartial();
        } else {
          abilityIdentifier_ = value;
        }
        onChanged();
      } else {
        abilityIdentifierBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public Builder clearAbilityIdentifier() {
      if (abilityIdentifierBuilder_ == null) {
        abilityIdentifier_ = null;
        onChanged();
      } else {
        abilityIdentifier_ = null;
        abilityIdentifierBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public io.grasscutter.net.proto.fight.AbilityIdentifier.Builder getAbilityIdentifierBuilder() {
      
      onChanged();
      return getAbilityIdentifierFieldBuilder().getBuilder();
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    public io.grasscutter.net.proto.fight.AbilityIdentifierOrBuilder getAbilityIdentifierOrBuilder() {
      if (abilityIdentifierBuilder_ != null) {
        return abilityIdentifierBuilder_.getMessageOrBuilder();
      } else {
        return abilityIdentifier_ == null ?
            io.grasscutter.net.proto.fight.AbilityIdentifier.getDefaultInstance() : abilityIdentifier_;
      }
    }
    /**
     * <code>.AbilityIdentifier ability_identifier = 10;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.AbilityIdentifier, io.grasscutter.net.proto.fight.AbilityIdentifier.Builder, io.grasscutter.net.proto.fight.AbilityIdentifierOrBuilder> 
        getAbilityIdentifierFieldBuilder() {
      if (abilityIdentifierBuilder_ == null) {
        abilityIdentifierBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.fight.AbilityIdentifier, io.grasscutter.net.proto.fight.AbilityIdentifier.Builder, io.grasscutter.net.proto.fight.AbilityIdentifierOrBuilder>(
                getAbilityIdentifier(),
                getParentForChildren(),
                isClean());
        abilityIdentifier_ = null;
      }
      return abilityIdentifierBuilder_;
    }

    private io.grasscutter.net.proto.define.Vector resolvedDir_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.Vector, io.grasscutter.net.proto.define.Vector.Builder, io.grasscutter.net.proto.define.VectorOrBuilder> resolvedDirBuilder_;
    /**
     * <code>.Vector resolved_dir = 8;</code>
     * @return Whether the resolvedDir field is set.
     */
    public boolean hasResolvedDir() {
      return resolvedDirBuilder_ != null || resolvedDir_ != null;
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     * @return The resolvedDir.
     */
    public io.grasscutter.net.proto.define.Vector getResolvedDir() {
      if (resolvedDirBuilder_ == null) {
        return resolvedDir_ == null ? io.grasscutter.net.proto.define.Vector.getDefaultInstance() : resolvedDir_;
      } else {
        return resolvedDirBuilder_.getMessage();
      }
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public Builder setResolvedDir(io.grasscutter.net.proto.define.Vector value) {
      if (resolvedDirBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        resolvedDir_ = value;
        onChanged();
      } else {
        resolvedDirBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public Builder setResolvedDir(
        io.grasscutter.net.proto.define.Vector.Builder builderForValue) {
      if (resolvedDirBuilder_ == null) {
        resolvedDir_ = builderForValue.build();
        onChanged();
      } else {
        resolvedDirBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public Builder mergeResolvedDir(io.grasscutter.net.proto.define.Vector value) {
      if (resolvedDirBuilder_ == null) {
        if (resolvedDir_ != null) {
          resolvedDir_ =
            io.grasscutter.net.proto.define.Vector.newBuilder(resolvedDir_).mergeFrom(value).buildPartial();
        } else {
          resolvedDir_ = value;
        }
        onChanged();
      } else {
        resolvedDirBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public Builder clearResolvedDir() {
      if (resolvedDirBuilder_ == null) {
        resolvedDir_ = null;
        onChanged();
      } else {
        resolvedDir_ = null;
        resolvedDirBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public io.grasscutter.net.proto.define.Vector.Builder getResolvedDirBuilder() {
      
      onChanged();
      return getResolvedDirFieldBuilder().getBuilder();
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    public io.grasscutter.net.proto.define.VectorOrBuilder getResolvedDirOrBuilder() {
      if (resolvedDirBuilder_ != null) {
        return resolvedDirBuilder_.getMessageOrBuilder();
      } else {
        return resolvedDir_ == null ?
            io.grasscutter.net.proto.define.Vector.getDefaultInstance() : resolvedDir_;
      }
    }
    /**
     * <code>.Vector resolved_dir = 8;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.define.Vector, io.grasscutter.net.proto.define.Vector.Builder, io.grasscutter.net.proto.define.VectorOrBuilder> 
        getResolvedDirFieldBuilder() {
      if (resolvedDirBuilder_ == null) {
        resolvedDirBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.define.Vector, io.grasscutter.net.proto.define.Vector.Builder, io.grasscutter.net.proto.define.VectorOrBuilder>(
                getResolvedDir(),
                getParentForChildren(),
                isClean());
        resolvedDir_ = null;
      }
      return resolvedDirBuilder_;
    }

    private io.grasscutter.net.proto.fight.AttackHitEffectResult hitEffResult_;
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.AttackHitEffectResult, io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder, io.grasscutter.net.proto.fight.AttackHitEffectResultOrBuilder> hitEffResultBuilder_;
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     * @return Whether the hitEffResult field is set.
     */
    public boolean hasHitEffResult() {
      return hitEffResultBuilder_ != null || hitEffResult_ != null;
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     * @return The hitEffResult.
     */
    public io.grasscutter.net.proto.fight.AttackHitEffectResult getHitEffResult() {
      if (hitEffResultBuilder_ == null) {
        return hitEffResult_ == null ? io.grasscutter.net.proto.fight.AttackHitEffectResult.getDefaultInstance() : hitEffResult_;
      } else {
        return hitEffResultBuilder_.getMessage();
      }
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public Builder setHitEffResult(io.grasscutter.net.proto.fight.AttackHitEffectResult value) {
      if (hitEffResultBuilder_ == null) {
        if (value == null) {
          throw new NullPointerException();
        }
        hitEffResult_ = value;
        onChanged();
      } else {
        hitEffResultBuilder_.setMessage(value);
      }

      return this;
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public Builder setHitEffResult(
        io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder builderForValue) {
      if (hitEffResultBuilder_ == null) {
        hitEffResult_ = builderForValue.build();
        onChanged();
      } else {
        hitEffResultBuilder_.setMessage(builderForValue.build());
      }

      return this;
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public Builder mergeHitEffResult(io.grasscutter.net.proto.fight.AttackHitEffectResult value) {
      if (hitEffResultBuilder_ == null) {
        if (hitEffResult_ != null) {
          hitEffResult_ =
            io.grasscutter.net.proto.fight.AttackHitEffectResult.newBuilder(hitEffResult_).mergeFrom(value).buildPartial();
        } else {
          hitEffResult_ = value;
        }
        onChanged();
      } else {
        hitEffResultBuilder_.mergeFrom(value);
      }

      return this;
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public Builder clearHitEffResult() {
      if (hitEffResultBuilder_ == null) {
        hitEffResult_ = null;
        onChanged();
      } else {
        hitEffResult_ = null;
        hitEffResultBuilder_ = null;
      }

      return this;
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder getHitEffResultBuilder() {
      
      onChanged();
      return getHitEffResultFieldBuilder().getBuilder();
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    public io.grasscutter.net.proto.fight.AttackHitEffectResultOrBuilder getHitEffResultOrBuilder() {
      if (hitEffResultBuilder_ != null) {
        return hitEffResultBuilder_.getMessageOrBuilder();
      } else {
        return hitEffResult_ == null ?
            io.grasscutter.net.proto.fight.AttackHitEffectResult.getDefaultInstance() : hitEffResult_;
      }
    }
    /**
     * <code>.AttackHitEffectResult hit_eff_result = 1;</code>
     */
    private com.google.protobuf.SingleFieldBuilderV3<
        io.grasscutter.net.proto.fight.AttackHitEffectResult, io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder, io.grasscutter.net.proto.fight.AttackHitEffectResultOrBuilder> 
        getHitEffResultFieldBuilder() {
      if (hitEffResultBuilder_ == null) {
        hitEffResultBuilder_ = new com.google.protobuf.SingleFieldBuilderV3<
            io.grasscutter.net.proto.fight.AttackHitEffectResult, io.grasscutter.net.proto.fight.AttackHitEffectResult.Builder, io.grasscutter.net.proto.fight.AttackHitEffectResultOrBuilder>(
                getHitEffResult(),
                getParentForChildren(),
                isClean());
        hitEffResult_ = null;
      }
      return hitEffResultBuilder_;
    }

    private int hMJEKDGKLPG_ ;
    /**
     * <code>uint32 HMJEKDGKLPG = 5;</code>
     * @return The hMJEKDGKLPG.
     */
    @java.lang.Override
    public int getHMJEKDGKLPG() {
      return hMJEKDGKLPG_;
    }
    /**
     * <code>uint32 HMJEKDGKLPG = 5;</code>
     * @param value The hMJEKDGKLPG to set.
     * @return This builder for chaining.
     */
    public Builder setHMJEKDGKLPG(int value) {
      
      hMJEKDGKLPG_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 HMJEKDGKLPG = 5;</code>
     * @return This builder for chaining.
     */
    public Builder clearHMJEKDGKLPG() {
      
      hMJEKDGKLPG_ = 0;
      onChanged();
      return this;
    }

    private float iJEBKONHNJP_ ;
    /**
     * <code>float IJEBKONHNJP = 1513;</code>
     * @return The iJEBKONHNJP.
     */
    @java.lang.Override
    public float getIJEBKONHNJP() {
      return iJEBKONHNJP_;
    }
    /**
     * <code>float IJEBKONHNJP = 1513;</code>
     * @param value The iJEBKONHNJP to set.
     * @return This builder for chaining.
     */
    public Builder setIJEBKONHNJP(float value) {
      
      iJEBKONHNJP_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>float IJEBKONHNJP = 1513;</code>
     * @return This builder for chaining.
     */
    public Builder clearIJEBKONHNJP() {
      
      iJEBKONHNJP_ = 0F;
      onChanged();
      return this;
    }

    private int hitRetreatAngleCompat_ ;
    /**
     * <code>int32 hit_retreat_angle_compat = 7;</code>
     * @return The hitRetreatAngleCompat.
     */
    @java.lang.Override
    public int getHitRetreatAngleCompat() {
      return hitRetreatAngleCompat_;
    }
    /**
     * <code>int32 hit_retreat_angle_compat = 7;</code>
     * @param value The hitRetreatAngleCompat to set.
     * @return This builder for chaining.
     */
    public Builder setHitRetreatAngleCompat(int value) {
      
      hitRetreatAngleCompat_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>int32 hit_retreat_angle_compat = 7;</code>
     * @return This builder for chaining.
     */
    public Builder clearHitRetreatAngleCompat() {
      
      hitRetreatAngleCompat_ = 0;
      onChanged();
      return this;
    }

    private boolean fKIJJKCGMMG_ ;
    /**
     * <code>bool FKIJJKCGMMG = 1013;</code>
     * @return The fKIJJKCGMMG.
     */
    @java.lang.Override
    public boolean getFKIJJKCGMMG() {
      return fKIJJKCGMMG_;
    }
    /**
     * <code>bool FKIJJKCGMMG = 1013;</code>
     * @param value The fKIJJKCGMMG to set.
     * @return This builder for chaining.
     */
    public Builder setFKIJJKCGMMG(boolean value) {
      
      fKIJJKCGMMG_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool FKIJJKCGMMG = 1013;</code>
     * @return This builder for chaining.
     */
    public Builder clearFKIJJKCGMMG() {
      
      fKIJJKCGMMG_ = false;
      onChanged();
      return this;
    }

    private boolean oICOFCIBCEL_ ;
    /**
     * <code>bool OICOFCIBCEL = 1487;</code>
     * @return The oICOFCIBCEL.
     */
    @java.lang.Override
    public boolean getOICOFCIBCEL() {
      return oICOFCIBCEL_;
    }
    /**
     * <code>bool OICOFCIBCEL = 1487;</code>
     * @param value The oICOFCIBCEL to set.
     * @return This builder for chaining.
     */
    public Builder setOICOFCIBCEL(boolean value) {
      
      oICOFCIBCEL_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool OICOFCIBCEL = 1487;</code>
     * @return This builder for chaining.
     */
    public Builder clearOICOFCIBCEL() {
      
      oICOFCIBCEL_ = false;
      onChanged();
      return this;
    }

    private boolean aMEPNAJAJIE_ ;
    /**
     * <code>bool AMEPNAJAJIE = 909;</code>
     * @return The aMEPNAJAJIE.
     */
    @java.lang.Override
    public boolean getAMEPNAJAJIE() {
      return aMEPNAJAJIE_;
    }
    /**
     * <code>bool AMEPNAJAJIE = 909;</code>
     * @param value The aMEPNAJAJIE to set.
     * @return This builder for chaining.
     */
    public Builder setAMEPNAJAJIE(boolean value) {
      
      aMEPNAJAJIE_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool AMEPNAJAJIE = 909;</code>
     * @return This builder for chaining.
     */
    public Builder clearAMEPNAJAJIE() {
      
      aMEPNAJAJIE_ = false;
      onChanged();
      return this;
    }

    private boolean bNPHIDCMPGP_ ;
    /**
     * <code>bool BNPHIDCMPGP = 6;</code>
     * @return The bNPHIDCMPGP.
     */
    @java.lang.Override
    public boolean getBNPHIDCMPGP() {
      return bNPHIDCMPGP_;
    }
    /**
     * <code>bool BNPHIDCMPGP = 6;</code>
     * @param value The bNPHIDCMPGP to set.
     * @return This builder for chaining.
     */
    public Builder setBNPHIDCMPGP(boolean value) {
      
      bNPHIDCMPGP_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>bool BNPHIDCMPGP = 6;</code>
     * @return This builder for chaining.
     */
    public Builder clearBNPHIDCMPGP() {
      
      bNPHIDCMPGP_ = false;
      onChanged();
      return this;
    }

    private int fHKMMEICPBK_ ;
    /**
     * <code>uint32 FHKMMEICPBK = 516;</code>
     * @return The fHKMMEICPBK.
     */
    @java.lang.Override
    public int getFHKMMEICPBK() {
      return fHKMMEICPBK_;
    }
    /**
     * <code>uint32 FHKMMEICPBK = 516;</code>
     * @param value The fHKMMEICPBK to set.
     * @return This builder for chaining.
     */
    public Builder setFHKMMEICPBK(int value) {
      
      fHKMMEICPBK_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 FHKMMEICPBK = 516;</code>
     * @return This builder for chaining.
     */
    public Builder clearFHKMMEICPBK() {
      
      fHKMMEICPBK_ = 0;
      onChanged();
      return this;
    }

    private int lFCJFGOIEEK_ ;
    /**
     * <code>uint32 LFCJFGOIEEK = 12;</code>
     * @return The lFCJFGOIEEK.
     */
    @java.lang.Override
    public int getLFCJFGOIEEK() {
      return lFCJFGOIEEK_;
    }
    /**
     * <code>uint32 LFCJFGOIEEK = 12;</code>
     * @param value The lFCJFGOIEEK to set.
     * @return This builder for chaining.
     */
    public Builder setLFCJFGOIEEK(int value) {
      
      lFCJFGOIEEK_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 LFCJFGOIEEK = 12;</code>
     * @return This builder for chaining.
     */
    public Builder clearLFCJFGOIEEK() {
      
      lFCJFGOIEEK_ = 0;
      onChanged();
      return this;
    }

    private int pLNMALBAEGN_ ;
    /**
     * <code>uint32 PLNMALBAEGN = 659;</code>
     * @return The pLNMALBAEGN.
     */
    @java.lang.Override
    public int getPLNMALBAEGN() {
      return pLNMALBAEGN_;
    }
    /**
     * <code>uint32 PLNMALBAEGN = 659;</code>
     * @param value The pLNMALBAEGN to set.
     * @return This builder for chaining.
     */
    public Builder setPLNMALBAEGN(int value) {
      
      pLNMALBAEGN_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 PLNMALBAEGN = 659;</code>
     * @return This builder for chaining.
     */
    public Builder clearPLNMALBAEGN() {
      
      pLNMALBAEGN_ = 0;
      onChanged();
      return this;
    }

    private int iAHCFCKFIIF_ ;
    /**
     * <code>uint32 IAHCFCKFIIF = 1239;</code>
     * @return The iAHCFCKFIIF.
     */
    @java.lang.Override
    public int getIAHCFCKFIIF() {
      return iAHCFCKFIIF_;
    }
    /**
     * <code>uint32 IAHCFCKFIIF = 1239;</code>
     * @param value The iAHCFCKFIIF to set.
     * @return This builder for chaining.
     */
    public Builder setIAHCFCKFIIF(int value) {
      
      iAHCFCKFIIF_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 IAHCFCKFIIF = 1239;</code>
     * @return This builder for chaining.
     */
    public Builder clearIAHCFCKFIIF() {
      
      iAHCFCKFIIF_ = 0;
      onChanged();
      return this;
    }

    private int cEJKBIKGFBO_ ;
    /**
     * <code>uint32 CEJKBIKGFBO = 46;</code>
     * @return The cEJKBIKGFBO.
     */
    @java.lang.Override
    public int getCEJKBIKGFBO() {
      return cEJKBIKGFBO_;
    }
    /**
     * <code>uint32 CEJKBIKGFBO = 46;</code>
     * @param value The cEJKBIKGFBO to set.
     * @return This builder for chaining.
     */
    public Builder setCEJKBIKGFBO(int value) {
      
      cEJKBIKGFBO_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 CEJKBIKGFBO = 46;</code>
     * @return This builder for chaining.
     */
    public Builder clearCEJKBIKGFBO() {
      
      cEJKBIKGFBO_ = 0;
      onChanged();
      return this;
    }

    private float kAIMMLBNDMK_ ;
    /**
     * <code>float KAIMMLBNDMK = 1019;</code>
     * @return The kAIMMLBNDMK.
     */
    @java.lang.Override
    public float getKAIMMLBNDMK() {
      return kAIMMLBNDMK_;
    }
    /**
     * <code>float KAIMMLBNDMK = 1019;</code>
     * @param value The kAIMMLBNDMK to set.
     * @return This builder for chaining.
     */
    public Builder setKAIMMLBNDMK(float value) {
      
      kAIMMLBNDMK_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>float KAIMMLBNDMK = 1019;</code>
     * @return This builder for chaining.
     */
    public Builder clearKAIMMLBNDMK() {
      
      kAIMMLBNDMK_ = 0F;
      onChanged();
      return this;
    }

    private int pHMKCGJJDCF_ ;
    /**
     * <code>uint32 PHMKCGJJDCF = 1059;</code>
     * @return The pHMKCGJJDCF.
     */
    @java.lang.Override
    public int getPHMKCGJJDCF() {
      return pHMKCGJJDCF_;
    }
    /**
     * <code>uint32 PHMKCGJJDCF = 1059;</code>
     * @param value The pHMKCGJJDCF to set.
     * @return This builder for chaining.
     */
    public Builder setPHMKCGJJDCF(int value) {
      
      pHMKCGJJDCF_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 PHMKCGJJDCF = 1059;</code>
     * @return This builder for chaining.
     */
    public Builder clearPHMKCGJJDCF() {
      
      pHMKCGJJDCF_ = 0;
      onChanged();
      return this;
    }

    private int lJJGOCDLHIN_ ;
    /**
     * <code>uint32 LJJGOCDLHIN = 462;</code>
     * @return The lJJGOCDLHIN.
     */
    @java.lang.Override
    public int getLJJGOCDLHIN() {
      return lJJGOCDLHIN_;
    }
    /**
     * <code>uint32 LJJGOCDLHIN = 462;</code>
     * @param value The lJJGOCDLHIN to set.
     * @return This builder for chaining.
     */
    public Builder setLJJGOCDLHIN(int value) {
      
      lJJGOCDLHIN_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 LJJGOCDLHIN = 462;</code>
     * @return This builder for chaining.
     */
    public Builder clearLJJGOCDLHIN() {
      
      lJJGOCDLHIN_ = 0;
      onChanged();
      return this;
    }

    private int kHLFCFFEPEH_ ;
    /**
     * <code>uint32 KHLFCFFEPEH = 103;</code>
     * @return The kHLFCFFEPEH.
     */
    @java.lang.Override
    public int getKHLFCFFEPEH() {
      return kHLFCFFEPEH_;
    }
    /**
     * <code>uint32 KHLFCFFEPEH = 103;</code>
     * @param value The kHLFCFFEPEH to set.
     * @return This builder for chaining.
     */
    public Builder setKHLFCFFEPEH(int value) {
      
      kHLFCFFEPEH_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 KHLFCFFEPEH = 103;</code>
     * @return This builder for chaining.
     */
    public Builder clearKHLFCFFEPEH() {
      
      kHLFCFFEPEH_ = 0;
      onChanged();
      return this;
    }

    private int dGGNPABBMIJ_ ;
    /**
     * <code>uint32 DGGNPABBMIJ = 1681;</code>
     * @return The dGGNPABBMIJ.
     */
    @java.lang.Override
    public int getDGGNPABBMIJ() {
      return dGGNPABBMIJ_;
    }
    /**
     * <code>uint32 DGGNPABBMIJ = 1681;</code>
     * @param value The dGGNPABBMIJ to set.
     * @return This builder for chaining.
     */
    public Builder setDGGNPABBMIJ(int value) {
      
      dGGNPABBMIJ_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 DGGNPABBMIJ = 1681;</code>
     * @return This builder for chaining.
     */
    public Builder clearDGGNPABBMIJ() {
      
      dGGNPABBMIJ_ = 0;
      onChanged();
      return this;
    }

    private int elementType_ ;
    /**
     * <code>uint32 element_type = 9;</code>
     * @return The elementType.
     */
    @java.lang.Override
    public int getElementType() {
      return elementType_;
    }
    /**
     * <code>uint32 element_type = 9;</code>
     * @param value The elementType to set.
     * @return This builder for chaining.
     */
    public Builder setElementType(int value) {
      
      elementType_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 element_type = 9;</code>
     * @return This builder for chaining.
     */
    public Builder clearElementType() {
      
      elementType_ = 0;
      onChanged();
      return this;
    }

    private int nMPPBNABHBN_ ;
    /**
     * <code>uint32 NMPPBNABHBN = 4;</code>
     * @return The nMPPBNABHBN.
     */
    @java.lang.Override
    public int getNMPPBNABHBN() {
      return nMPPBNABHBN_;
    }
    /**
     * <code>uint32 NMPPBNABHBN = 4;</code>
     * @param value The nMPPBNABHBN to set.
     * @return This builder for chaining.
     */
    public Builder setNMPPBNABHBN(int value) {
      
      nMPPBNABHBN_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 NMPPBNABHBN = 4;</code>
     * @return This builder for chaining.
     */
    public Builder clearNMPPBNABHBN() {
      
      nMPPBNABHBN_ = 0;
      onChanged();
      return this;
    }

    private int oOFACPBGHOH_ ;
    /**
     * <code>uint32 OOFACPBGHOH = 253;</code>
     * @return The oOFACPBGHOH.
     */
    @java.lang.Override
    public int getOOFACPBGHOH() {
      return oOFACPBGHOH_;
    }
    /**
     * <code>uint32 OOFACPBGHOH = 253;</code>
     * @param value The oOFACPBGHOH to set.
     * @return This builder for chaining.
     */
    public Builder setOOFACPBGHOH(int value) {
      
      oOFACPBGHOH_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 OOFACPBGHOH = 253;</code>
     * @return This builder for chaining.
     */
    public Builder clearOOFACPBGHOH() {
      
      oOFACPBGHOH_ = 0;
      onChanged();
      return this;
    }

    private float bINCCAFDHCL_ ;
    /**
     * <code>float BINCCAFDHCL = 1537;</code>
     * @return The bINCCAFDHCL.
     */
    @java.lang.Override
    public float getBINCCAFDHCL() {
      return bINCCAFDHCL_;
    }
    /**
     * <code>float BINCCAFDHCL = 1537;</code>
     * @param value The bINCCAFDHCL to set.
     * @return This builder for chaining.
     */
    public Builder setBINCCAFDHCL(float value) {
      
      bINCCAFDHCL_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>float BINCCAFDHCL = 1537;</code>
     * @return This builder for chaining.
     */
    public Builder clearBINCCAFDHCL() {
      
      bINCCAFDHCL_ = 0F;
      onChanged();
      return this;
    }

    private float iEMNNDFMMKJ_ ;
    /**
     * <code>float IEMNNDFMMKJ = 2;</code>
     * @return The iEMNNDFMMKJ.
     */
    @java.lang.Override
    public float getIEMNNDFMMKJ() {
      return iEMNNDFMMKJ_;
    }
    /**
     * <code>float IEMNNDFMMKJ = 2;</code>
     * @param value The iEMNNDFMMKJ to set.
     * @return This builder for chaining.
     */
    public Builder setIEMNNDFMMKJ(float value) {
      
      iEMNNDFMMKJ_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>float IEMNNDFMMKJ = 2;</code>
     * @return This builder for chaining.
     */
    public Builder clearIEMNNDFMMKJ() {
      
      iEMNNDFMMKJ_ = 0F;
      onChanged();
      return this;
    }

    private int fJODCEJNNHE_ ;
    /**
     * <code>uint32 FJODCEJNNHE = 1910;</code>
     * @return The fJODCEJNNHE.
     */
    @java.lang.Override
    public int getFJODCEJNNHE() {
      return fJODCEJNNHE_;
    }
    /**
     * <code>uint32 FJODCEJNNHE = 1910;</code>
     * @param value The fJODCEJNNHE to set.
     * @return This builder for chaining.
     */
    public Builder setFJODCEJNNHE(int value) {
      
      fJODCEJNNHE_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 FJODCEJNNHE = 1910;</code>
     * @return This builder for chaining.
     */
    public Builder clearFJODCEJNNHE() {
      
      fJODCEJNNHE_ = 0;
      onChanged();
      return this;
    }

    private int lPOLKGJGLBL_ ;
    /**
     * <code>uint32 LPOLKGJGLBL = 14;</code>
     * @return The lPOLKGJGLBL.
     */
    @java.lang.Override
    public int getLPOLKGJGLBL() {
      return lPOLKGJGLBL_;
    }
    /**
     * <code>uint32 LPOLKGJGLBL = 14;</code>
     * @param value The lPOLKGJGLBL to set.
     * @return This builder for chaining.
     */
    public Builder setLPOLKGJGLBL(int value) {
      
      lPOLKGJGLBL_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 LPOLKGJGLBL = 14;</code>
     * @return This builder for chaining.
     */
    public Builder clearLPOLKGJGLBL() {
      
      lPOLKGJGLBL_ = 0;
      onChanged();
      return this;
    }

    private float iEFBEIFLHNP_ ;
    /**
     * <code>float IEFBEIFLHNP = 856;</code>
     * @return The iEFBEIFLHNP.
     */
    @java.lang.Override
    public float getIEFBEIFLHNP() {
      return iEFBEIFLHNP_;
    }
    /**
     * <code>float IEFBEIFLHNP = 856;</code>
     * @param value The iEFBEIFLHNP to set.
     * @return This builder for chaining.
     */
    public Builder setIEFBEIFLHNP(float value) {
      
      iEFBEIFLHNP_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>float IEFBEIFLHNP = 856;</code>
     * @return This builder for chaining.
     */
    public Builder clearIEFBEIFLHNP() {
      
      iEFBEIFLHNP_ = 0F;
      onChanged();
      return this;
    }

    private int hGNFGAKLECA_ ;
    /**
     * <code>uint32 HGNFGAKLECA = 120;</code>
     * @return The hGNFGAKLECA.
     */
    @java.lang.Override
    public int getHGNFGAKLECA() {
      return hGNFGAKLECA_;
    }
    /**
     * <code>uint32 HGNFGAKLECA = 120;</code>
     * @param value The hGNFGAKLECA to set.
     * @return This builder for chaining.
     */
    public Builder setHGNFGAKLECA(int value) {
      
      hGNFGAKLECA_ = value;
      onChanged();
      return this;
    }
    /**
     * <code>uint32 HGNFGAKLECA = 120;</code>
     * @return This builder for chaining.
     */
    public Builder clearHGNFGAKLECA() {
      
      hGNFGAKLECA_ = 0;
      onChanged();
      return this;
    }
    @java.lang.Override
    public final Builder setUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.setUnknownFields(unknownFields);
    }

    @java.lang.Override
    public final Builder mergeUnknownFields(
        final com.google.protobuf.UnknownFieldSet unknownFields) {
      return super.mergeUnknownFields(unknownFields);
    }


    // @@protoc_insertion_point(builder_scope:AttackResult)
  }

  // @@protoc_insertion_point(class_scope:AttackResult)
  private static final io.grasscutter.net.proto.fight.AttackResult DEFAULT_INSTANCE;
  static {
    DEFAULT_INSTANCE = new io.grasscutter.net.proto.fight.AttackResult();
  }

  public static io.grasscutter.net.proto.fight.AttackResult getDefaultInstance() {
    return DEFAULT_INSTANCE;
  }

  private static final com.google.protobuf.Parser<AttackResult>
      PARSER = new com.google.protobuf.AbstractParser<AttackResult>() {
    @java.lang.Override
    public AttackResult parsePartialFrom(
        com.google.protobuf.CodedInputStream input,
        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
        throws com.google.protobuf.InvalidProtocolBufferException {
      return new AttackResult(input, extensionRegistry);
    }
  };

  public static com.google.protobuf.Parser<AttackResult> parser() {
    return PARSER;
  }

  @java.lang.Override
  public com.google.protobuf.Parser<AttackResult> getParserForType() {
    return PARSER;
  }

  @java.lang.Override
  public io.grasscutter.net.proto.fight.AttackResult getDefaultInstanceForType() {
    return DEFAULT_INSTANCE;
  }

}

