package com.tiedup.remake.v2.bondage.movement;

import org.jetbrains.annotations.Nullable;

/**
 * Optional per-item overrides for movement style defaults.
 * Parsed from the {@code "movement_modifier"} JSON object.
 *
 * <p>Null fields fall back to the style's defaults. Only the winning item's
 * modifier is used (lower-severity items' modifiers are ignored).</p>
 *
 * <p>Requires a {@code movement_style} to be set on the same item definition.
 * The parser ignores {@code movement_modifier} if {@code movement_style} is absent.</p>
 */
public record MovementModifier(
    /** Override speed multiplier, or null to use style default. */
    @Nullable Float speedMultiplier,

    /** Override jump disabled flag, or null to use style default. */
    @Nullable Boolean jumpDisabled
) {}
