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

package io.grasscutter.net.proto.define;

public interface AbilityAppliedModifierOrBuilder extends
    // @@protoc_insertion_point(interface_extends:AbilityAppliedModifier)
    com.google.protobuf.MessageOrBuilder {

  /**
   * <code>.AbilityAttachedModifier attached_instanced_modifier = 8;</code>
   * @return Whether the attachedInstancedModifier field is set.
   */
  boolean hasAttachedInstancedModifier();
  /**
   * <code>.AbilityAttachedModifier attached_instanced_modifier = 8;</code>
   * @return The attachedInstancedModifier.
   */
  io.grasscutter.net.proto.define.AbilityAttachedModifier getAttachedInstancedModifier();
  /**
   * <code>.AbilityAttachedModifier attached_instanced_modifier = 8;</code>
   */
  io.grasscutter.net.proto.define.AbilityAttachedModifierOrBuilder getAttachedInstancedModifierOrBuilder();

  /**
   * <code>.AbilityString parent_ability_name = 3;</code>
   * @return Whether the parentAbilityName field is set.
   */
  boolean hasParentAbilityName();
  /**
   * <code>.AbilityString parent_ability_name = 3;</code>
   * @return The parentAbilityName.
   */
  io.grasscutter.net.proto.define.AbilityString getParentAbilityName();
  /**
   * <code>.AbilityString parent_ability_name = 3;</code>
   */
  io.grasscutter.net.proto.define.AbilityStringOrBuilder getParentAbilityNameOrBuilder();

  /**
   * <code>.AbilityString parent_ability_override = 4;</code>
   * @return Whether the parentAbilityOverride field is set.
   */
  boolean hasParentAbilityOverride();
  /**
   * <code>.AbilityString parent_ability_override = 4;</code>
   * @return The parentAbilityOverride.
   */
  io.grasscutter.net.proto.define.AbilityString getParentAbilityOverride();
  /**
   * <code>.AbilityString parent_ability_override = 4;</code>
   */
  io.grasscutter.net.proto.define.AbilityStringOrBuilder getParentAbilityOverrideOrBuilder();

  /**
   * <code>.ModifierDurability modifier_durability = 11;</code>
   * @return Whether the modifierDurability field is set.
   */
  boolean hasModifierDurability();
  /**
   * <code>.ModifierDurability modifier_durability = 11;</code>
   * @return The modifierDurability.
   */
  io.grasscutter.net.proto.define.ModifierDurability getModifierDurability();
  /**
   * <code>.ModifierDurability modifier_durability = 11;</code>
   */
  io.grasscutter.net.proto.define.ModifierDurabilityOrBuilder getModifierDurabilityOrBuilder();

  /**
   * <code>uint32 parent_ability_entity_id = 2;</code>
   * @return The parentAbilityEntityId.
   */
  int getParentAbilityEntityId();

  /**
   * <code>uint32 instanced_ability_id = 5;</code>
   * @return The instancedAbilityId.
   */
  int getInstancedAbilityId();

  /**
   * <code>uint32 sbuff_uid = 12;</code>
   * @return The sbuffUid.
   */
  int getSbuffUid();

  /**
   * <code>float exist_duration = 7;</code>
   * @return The existDuration.
   */
  float getExistDuration();

  /**
   * <code>bool is_serverbuff_modifier = 13;</code>
   * @return The isServerbuffModifier.
   */
  boolean getIsServerbuffModifier();

  /**
   * <code>bool JHIFCHHAFBN = 14;</code>
   * @return The jHIFCHHAFBN.
   */
  boolean getJHIFCHHAFBN();

  /**
   * <code>bool is_attached_parent_ability = 10;</code>
   * @return The isAttachedParentAbility.
   */
  boolean getIsAttachedParentAbility();

  /**
   * <code>uint32 apply_entity_id = 9;</code>
   * @return The applyEntityId.
   */
  int getApplyEntityId();

  /**
   * <code>int32 modifier_local_id = 1;</code>
   * @return The modifierLocalId.
   */
  int getModifierLocalId();

  /**
   * <code>uint32 instanced_modifier_id = 6;</code>
   * @return The instancedModifierId.
   */
  int getInstancedModifierId();
}
