package com.pixelized.shared.lwa.protocol.websocket

import kotlinx.serialization.Serializable

@Serializable
data class RollEvent(
    override val timestamp: Long,
    override val characterSheetId: String,
    val uuid: String,
    val skillLabel: String,
    val rollValue: Int,
    val resultLabel: String? = null,
    val rollDifficulty: String? = null,
    val rollSuccessLimit: Int? = null,
    val critical: Critical? = null,
) : SocketMessage, CharacterSheetIdMessage {
    enum class Critical {
        CRITICAL_SUCCESS,
        SPECIAL_SUCCESS,
        SUCCESS,
        FAILURE,
        CRITICAL_FAILURE
    }
}