package com.tiedup.remake.entities.ai.master;

/**
 * Enum defining the types of punishments a Master can inflict on their pet.
 */
public enum PunishmentType {
    /** Activate choke collar - requires pet to have a choke collar */
    CHOKE_COLLAR(80, "punishment.choke"),

    /** Apply temporary blindfold - requires blindfold slot empty */
    BLINDFOLD(2400, "punishment.blindfold"),

    /** Apply temporary gag - requires gag slot empty */
    GAG(2400, "punishment.gag"),

    /** Apply temporary mittens - requires mittens slot empty */
    MITTENS(2400, "punishment.mittens"),

    /** Apply armbinder - requires pet to not be bound */
    TIGHTEN_RESTRAINTS(0, "punishment.tighten"),

    /** Ignore pet interactions for a duration */
    COLD_SHOULDER(1200, "punishment.cold_shoulder"),

    /** Yank pet toward master with brief leash */
    LEASH_TUG(40, "punishment.leash_tug");

    private final int durationTicks;
    private final String dialogueId;

    PunishmentType(int durationTicks, String dialogueId) {
        this.durationTicks = durationTicks;
        this.dialogueId = dialogueId;
    }

    /**
     * Get the duration of this punishment in ticks.
     */
    public int getDurationTicks() {
        return durationTicks;
    }

    /**
     * Get the dialogue ID for this punishment type.
     */
    public String getDialogueId() {
        return dialogueId;
    }
}
