package com.tiedup.remake.personality;

/**
 * Types of discipline that can be applied to NPCs.
 * Only affects mood — no relationship, fear, willpower, or resentment effects.
 */
public enum DisciplineType {
    WHIP(-15),
    PADDLE(-5),
    PRAISE(10),
    SHOCK(-20),
    HAND(-3),
    SCOLD(-5),
    THREATEN(-8);

    /** Mood modifier applied to personality state. */
    public final int moodChange;

    DisciplineType(int moodChange) {
        this.moodChange = moodChange;
    }

    /**
     * Check if this discipline type is punishment (causes pain/fear).
     *
     * @return True for all punishment types, false for PRAISE
     */
    public boolean isPunishment() {
        return this != PRAISE;
    }

    /**
     * Check if this discipline is verbal (no physical contact).
     *
     * @return True for PRAISE, SCOLD, THREATEN
     */
    public boolean isVerbal() {
        return this == PRAISE || this == SCOLD || this == THREATEN;
    }

    /**
     * Get the dialogue key for this discipline type.
     *
     * @return Key like "action.whip", "action.paddle", "action.praise"
     */
    public String getDialogueKey() {
        return "action." + name().toLowerCase();
    }
}
